ETH Price: $1,548.55 (-4.73%)

Contract

0x4c9b31eeca8dA5A63237097176691bEf68e8B8C5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer81181572019-07-09 16:31:492099 days ago1562689909IN
0x4c9b31ee...f68e8B8C5
0.51 ETH0.0012352210
Transfer81181212019-07-09 16:23:412099 days ago1562689421IN
0x4c9b31ee...f68e8B8C5
0.55 ETH0.0016774820
Set Terms81181172019-07-09 16:22:062099 days ago1562689326IN
0x4c9b31ee...f68e8B8C5
0 ETH0.000436644.1

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-81181572019-07-09 16:31:492099 days ago1562689909
0x4c9b31ee...f68e8B8C5
0.00999922 ETH
-81181572019-07-09 16:31:492099 days ago1562689909
0x4c9b31ee...f68e8B8C5
0.50000077 ETH
-81181212019-07-09 16:23:412099 days ago1562689421
0x4c9b31ee...f68e8B8C5
0.5 ETH
-81181212019-07-09 16:23:412099 days ago1562689421
0x4c9b31ee...f68e8B8C5
0.05 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PunkLombard

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-07-09
*/

pragma solidity ^0.4.24;

contract CryptoPunk
{
  function punkIndexToAddress(uint256 punkIndex) public view returns (address ownerAddress);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function transferPunk(address to, uint punkIndex) public;
}

contract ERC20
{
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function transfer(address to, uint tokens) public returns (bool success);
}

contract PunkLombard
{
  address public CryptoPunksContract;

  uint256 public loanAmount; //amount of loan in wei
  uint256 public punkIndex; //punk identifier
  uint256 public annualInterestRate; // 10% = 100000000000000000
  uint256 public loanTenor; //loan term; seconds after start of loan when default occurs and punk can be claimed
  uint256 public loanPeriod; //effective number of seconds until loan was repaid
  address public lender; //address providing loan proceeds
  address public borrower; //address putting the CryptoPunk up as collateral
  uint256 public loanStart; //time when lender sent ETH
  uint256 public loanEnd; //time when borrower repaid loan + interest
  uint256 public interest; //effective interest amount in ETH

  address public contractOwner;

  modifier onlyOwner
  {
    if (msg.sender != contractOwner) revert();
    _;
  }

  modifier onlyLender
  {
    if (msg.sender != lender) revert();
    _;
  }

  constructor () public
  {
    CryptoPunksContract = 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB; //MainNet
    contractOwner = msg.sender;
    borrower = msg.sender;
  }

  function transferContractOwnership(address newContractOwner) public onlyOwner
  {
    contractOwner = newContractOwner;
  }

  function setTerms(uint256 _loanAmount, uint256 _annualInterestRate, uint256 _loanTenor, uint256 _punkIndex) public onlyOwner
  {
    require(CryptoPunk(CryptoPunksContract).balanceOf(address(this)) == 1);
    loanAmount = _loanAmount;
    annualInterestRate = _annualInterestRate;
    loanTenor = _loanTenor;
    punkIndex = _punkIndex;
  }


  function claimCollateral() public onlyLender //in case of default
  {
    require(now > (loanStart + loanTenor));
    CryptoPunk(CryptoPunksContract).transferPunk(lender, punkIndex); //lender now gets ownership of punk
  }

  function () payable public
  {

    if(msg.sender == borrower) //repaying loan
    {
      require(now <= (loanStart + loanTenor)); //if loan tenor lapses, loan defaults and repayment no longer possible
      uint256 loanPeriodCheck = (now - loanStart);
      interest = (((loanAmount * annualInterestRate) / 10 ** 18) * loanPeriodCheck) / 365 days;
      require(msg.value >= loanAmount + interest);
      loanPeriod = loanPeriodCheck;
      loanEnd = now;
      uint256 change = msg.value - (loanAmount + interest);
      lender.transfer(loanAmount + interest);
      if(change > 0)
      {
        borrower.transfer(change);
      }
      CryptoPunk(CryptoPunksContract).transferPunk(borrower, punkIndex); //transfer punk ownership back to borrower after successful repayment
    }

    if(msg.sender != borrower) // lender sending loan principal
    {
      require(loanStart == 0); //Loan proceeds can only be sent once
      require(CryptoPunk(CryptoPunksContract).balanceOf(address(this)) == 1); //lombard contract should only own 1 punk
      require(CryptoPunk(CryptoPunksContract).punkIndexToAddress(punkIndex) == address(this));  //ensure the lombard contract owns the punk specified
      require(msg.value >= loanAmount); //primitive interest
      lender = msg.sender;
      loanStart = now;
      if(msg.value > loanAmount) //lender sent amount in excess of loanAmount
      {
        msg.sender.transfer(msg.value-loanAmount); //return excess amount
      }
      borrower.transfer(loanAmount); //send loan proceeds through to borrower
    }

  }

  //to rescue trapped tokens
  function transfer_targetToken(address target, address to, uint256 quantity) public onlyOwner
  {
    ERC20(target).transfer(to, quantity);
  }

  //abiltiy to reclaim pumk before loan has begun
  function reclaimPunkBeforeLoan(address _to, uint256 _punkIndex) public onlyOwner
  {
    require(loanStart == 0);
    CryptoPunk(CryptoPunksContract).transferPunk(_to, _punkIndex);
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"loanPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"to","type":"address"},{"name":"quantity","type":"uint256"}],"name":"transfer_targetToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"annualInterestRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_punkIndex","type":"uint256"}],"name":"reclaimPunkBeforeLoan","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"loanTenor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimCollateral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"borrower","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loanAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newContractOwner","type":"address"}],"name":"transferContractOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lender","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"interest","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"punkIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_loanAmount","type":"uint256"},{"name":"_annualInterestRate","type":"uint256"},{"name":"_loanTenor","type":"uint256"},{"name":"_punkIndex","type":"uint256"}],"name":"setTerms","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"loanStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loanEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CryptoPunksContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b5073b47e3cd837ddf8e4c57f05d70ab865de6e193bbb6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611262806100f66000396000f3006080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318b4dd3c1461073a57806319059931146107655780631a9703da146107d2578063239feb11146107fd578063417cd4b61461084a5780636f0b0c1c146108755780637df1f1b91461088c5780639d585f7f146108e3578063a843c51f1461090e578063bcead63e14610951578063c392f766146109a8578063cde8ce0e146109d3578063ce606ee0146109fe578063d57cf90614610a55578063e123177614610aa0578063ef2d7d5014610acb578063f09e434c14610af6575b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103a85760045460085401421115151561015f57600080fd5b600854420391506301e1338082670de0b6b3a76400006003546001540281151561018557fe5b040281151561019057fe5b04600a81905550600a546001540134101515156101ac57600080fd5b8160058190555042600981905550600a546001540134039050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a54600154019081150290604051600060405180830381858888f19350505050158015610233573d6000803e3d6000fd5b5060008111156102a757600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156102a5573d6000803e3d6000fd5b505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b505050505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561073657600060085414151561041057600080fd5b60016000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b810190808051906020019092919050505014151561051557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663581781686002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156105be57600080fd5b505af11580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561061b57600080fd5b600154341015151561062c57600080fd5b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426008819055506001543411156106ca573373ffffffffffffffffffffffffffffffffffffffff166108fc60015434039081150290604051600060405180830381858888f193505050501580156106c8573d6000803e3d6000fd5b505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6001549081150290604051600060405180830381858888f19350505050158015610734573d6000803e3d6000fd5b505b5050005b34801561074657600080fd5b5061074f610b4d565b6040518082815260200191505060405180910390f35b34801561077157600080fd5b506107d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b53565b005b3480156107de57600080fd5b506107e7610c93565b6040518082815260200191505060405180910390f35b34801561080957600080fd5b50610848600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c99565b005b34801561085657600080fd5b5061085f610de6565b6040518082815260200191505060405180910390f35b34801561088157600080fd5b5061088a610dec565b005b34801561089857600080fd5b506108a1610f5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108ef57600080fd5b506108f8610f84565b6040518082815260200191505060405180910390f35b34801561091a57600080fd5b5061094f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8a565b005b34801561095d57600080fd5b5061096661102a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109b457600080fd5b506109bd611050565b6040518082815260200191505060405180910390f35b3480156109df57600080fd5b506109e8611056565b6040518082815260200191505060405180910390f35b348015610a0a57600080fd5b50610a1361105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6157600080fd5b50610a9e60048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611082565b005b348015610aac57600080fd5b50610ab5611205565b6040518082815260200191505060405180910390f35b348015610ad757600080fd5b50610ae061120b565b6040518082815260200191505060405180910390f35b348015610b0257600080fd5b50610b0b611211565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610baf57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c5257600080fd5b505af1158015610c66573d6000803e3d6000fd5b505050506040513d6020811015610c7c57600080fd5b810190808051906020019092919050505050505050565b60035481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf557600080fd5b6000600854141515610d0657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050505050565b60045481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4857600080fd5b6004546008540142111515610e5c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe657600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60025481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de57600080fd5b60016000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561119c57600080fd5b505af11580156111b0573d6000803e3d6000fd5b505050506040513d60208110156111c657600080fd5b81019080805190602001909291905050501415156111e357600080fd5b8360018190555082600381905550816004819055508060028190555050505050565b60085481565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058206f5fe157fe5b927d6dd2fc70e376042c5214753893bef485b445373493247dfa0029

Deployed Bytecode

0x6080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318b4dd3c1461073a57806319059931146107655780631a9703da146107d2578063239feb11146107fd578063417cd4b61461084a5780636f0b0c1c146108755780637df1f1b91461088c5780639d585f7f146108e3578063a843c51f1461090e578063bcead63e14610951578063c392f766146109a8578063cde8ce0e146109d3578063ce606ee0146109fe578063d57cf90614610a55578063e123177614610aa0578063ef2d7d5014610acb578063f09e434c14610af6575b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103a85760045460085401421115151561015f57600080fd5b600854420391506301e1338082670de0b6b3a76400006003546001540281151561018557fe5b040281151561019057fe5b04600a81905550600a546001540134101515156101ac57600080fd5b8160058190555042600981905550600a546001540134039050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a54600154019081150290604051600060405180830381858888f19350505050158015610233573d6000803e3d6000fd5b5060008111156102a757600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156102a5573d6000803e3d6000fd5b505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b505050505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561073657600060085414151561041057600080fd5b60016000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b810190808051906020019092919050505014151561051557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663581781686002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156105be57600080fd5b505af11580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614151561061b57600080fd5b600154341015151561062c57600080fd5b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426008819055506001543411156106ca573373ffffffffffffffffffffffffffffffffffffffff166108fc60015434039081150290604051600060405180830381858888f193505050501580156106c8573d6000803e3d6000fd5b505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6001549081150290604051600060405180830381858888f19350505050158015610734573d6000803e3d6000fd5b505b5050005b34801561074657600080fd5b5061074f610b4d565b6040518082815260200191505060405180910390f35b34801561077157600080fd5b506107d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b53565b005b3480156107de57600080fd5b506107e7610c93565b6040518082815260200191505060405180910390f35b34801561080957600080fd5b50610848600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c99565b005b34801561085657600080fd5b5061085f610de6565b6040518082815260200191505060405180910390f35b34801561088157600080fd5b5061088a610dec565b005b34801561089857600080fd5b506108a1610f5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108ef57600080fd5b506108f8610f84565b6040518082815260200191505060405180910390f35b34801561091a57600080fd5b5061094f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8a565b005b34801561095d57600080fd5b5061096661102a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109b457600080fd5b506109bd611050565b6040518082815260200191505060405180910390f35b3480156109df57600080fd5b506109e8611056565b6040518082815260200191505060405180910390f35b348015610a0a57600080fd5b50610a1361105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6157600080fd5b50610a9e60048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611082565b005b348015610aac57600080fd5b50610ab5611205565b6040518082815260200191505060405180910390f35b348015610ad757600080fd5b50610ae061120b565b6040518082815260200191505060405180910390f35b348015610b0257600080fd5b50610b0b611211565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610baf57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c5257600080fd5b505af1158015610c66573d6000803e3d6000fd5b505050506040513d6020811015610c7c57600080fd5b810190808051906020019092919050505050505050565b60035481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf557600080fd5b6000600854141515610d0657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050505050565b60045481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4857600080fd5b6004546008540142111515610e5c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b72a2ec600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe657600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60025481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de57600080fd5b60016000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561119c57600080fd5b505af11580156111b0573d6000803e3d6000fd5b505050506040513d60208110156111c657600080fd5b81019080805190602001909291905050501415156111e357600080fd5b8360018190555082600381905550816004819055508060028190555050505050565b60085481565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058206f5fe157fe5b927d6dd2fc70e376042c5214753893bef485b445373493247dfa0029

Deployed Bytecode Sourcemap

469:3895:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2553:23;2813:14;2394:8;;;;;;;;;;;2380:22;;:10;:22;;;2377:763;;;2462:9;;2450;;:21;2442:3;:30;;2434:39;;;;;;;;2586:9;;2580:3;:15;2553:43;;2685:8;2666:15;2654:8;2632:18;;2619:10;;:31;2618:44;;;;;;;;2617:64;2616:77;;;;;;;;2605:8;:88;;;;2736:8;;2723:10;;:21;2710:9;:34;;2702:43;;;;;;;;2767:15;2754:10;:28;;;;2801:3;2791:7;:13;;;;2856:8;;2843:10;;:21;2830:9;:35;2813:52;;2874:6;;;;;;;;;;;:15;;:38;2903:8;;2890:10;;:21;2874:38;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2874:38:0;2933:1;2924:6;:10;2921:68;;;2954:8;;;;;;;;;;;:17;;:25;2972:6;2954:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2954:25:0;2921:68;3008:19;;;;;;;;;;;2997:44;;;3042:8;;;;;;;;;;;3052:9;;2997:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2997:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2997:65:0;;;;2377:763;3165:8;;;;;;;;;;;3151:22;;:10;:22;;;;3148:780;;;3243:1;3230:9;;:14;3222:23;;;;;;;;3360:1;3311:19;;;;;;;;;;;3300:41;;;3350:4;3300:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3300:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3300:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3300:56:0;;;;;;;;;;;;;;;;:61;3292:70;;;;;;;;3494:4;3421:78;;3432:19;;;;;;;;;;;3421:50;;;3472:9;;3421:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3421:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3421:61:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3421:61:0;;;;;;;;;;;;;;;;:78;;;3413:87;;;;;;;;3585:10;;3572:9;:23;;3564:32;;;;;;;;3635:10;3626:6;;:19;;;;;;;;;;;;;;;;;;3666:3;3654:9;:15;;;;3693:10;;3681:9;:22;3678:164;;;3768:10;:19;;:41;3798:10;;3788:9;:20;3768:41;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3768:41:0;3678:164;3850:8;;;;;;;;;;;:17;;:29;3868:10;;3850:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3850:29:0;3148:780;2338:1597;;469:3895;818:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;818:25:0;;;;;;;;;;;;;;;;;;;;;;;3971:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3971:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;638:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;638:33:0;;;;;;;;;;;;;;;;;;;;;;;4173:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4173:188:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;704:24:0;;;;;;;;;;;;;;;;;;;;;;;2106:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2106:226:0;;;;;;960:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;537:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:25:0;;;;;;;;;;;;;;;;;;;;;;;1619:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1166:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1166:23:0;;;;;;;;;;;;;;;;;;;;;;;591:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;591:24:0;;;;;;;;;;;;;;;;;;;;;;;1231:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1231:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1751:347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1751:347:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1038:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1038:24:0;;;;;;;;;;;;;;;;;;;;;;;1095:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1095:22:0;;;;;;;;;;;;;;;;;;;;;;;496:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;496:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;818:25;;;;:::o;3971:145::-;1313:13;;;;;;;;;;;1299:27;;:10;:27;;;;1295:41;;;1328:8;;;1295:41;4080:6;4074:22;;;4097:2;4101:8;4074:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4074:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4074:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4074:36:0;;;;;;;;;;;;;;;;;3971:145;;;:::o;638:33::-;;;;:::o;4173:188::-;1313:13;;;;;;;;;;;1299:27;;:10;:27;;;;1295:41;;;1328:8;;;1295:41;4285:1;4272:9;;:14;4264:23;;;;;;;;4305:19;;;;;;;;;;;4294:44;;;4339:3;4344:10;4294:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4294:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4294:61:0;;;;4173:188;;:::o;704:24::-;;;;:::o;2106:226::-;1404:6;;;;;;;;;;;1390:20;;:10;:20;;;;1386:34;;;1412:8;;;1386:34;2209:9;;2197;;:21;2190:3;:29;2182:38;;;;;;;;2238:19;;;;;;;;;;;2227:44;;;2272:6;;;;;;;;;;;2280:9;;2227:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2227:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2227:63:0;;;;2106:226::o;960:23::-;;;;;;;;;;;;;:::o;537:25::-;;;;:::o;1619:126::-;1313:13;;;;;;;;;;;1299:27;;:10;:27;;;;1295:41;;;1328:8;;;1295:41;1723:16;1707:13;;:32;;;;;;;;;;;;;;;;;;1619:126;:::o;900:21::-;;;;;;;;;;;;;:::o;1166:23::-;;;;:::o;591:24::-;;;;:::o;1231:28::-;;;;;;;;;;;;;:::o;1751:347::-;1313:13;;;;;;;;;;;1299:27;;:10;:27;;;;1295:41;;;1328:8;;;1295:41;1954:1;1905:19;;;;;;;;;;;1894:41;;;1944:4;1894:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1894:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1894:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1894:56:0;;;;;;;;;;;;;;;;:61;1886:70;;;;;;;;1976:11;1963:10;:24;;;;2015:19;1994:18;:40;;;;2053:10;2041:9;:22;;;;2082:10;2070:9;:22;;;;1751:347;;;;:::o;1038:24::-;;;;:::o;1095:22::-;;;;:::o;496:34::-;;;;;;;;;;;;;:::o

Swarm Source

bzzr://6f5fe157fe5b927d6dd2fc70e376042c5214753893bef485b445373493247dfa

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.