ETH Price: $3,448.43 (-0.20%)
Gas: 4 Gwei

Contract

0x1a4c2Ac5d97F4f4dDa2b880342b298eA58F2b808
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x61087361143996102022-03-16 19:56:40860 days ago1647460600IN
 Create: PineLendingLibrary
0 ETH0.0207873440.05692478

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PineLendingLibrary

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-06-30
*/

pragma solidity 0.8.3;

library PineLendingLibrary {
  struct LoanTerms {
    uint256 loanStartBlock;
    uint256 loanExpireTimestamp;
    uint32 interestBPS1000000XBlock;
    uint32 maxLTVBPS;
    uint256 borrowedWei;
    uint256 returnedWei;
    uint256 accuredInterestWei;
    uint256 repaidInterestWei;
    address borrower;
    }

  function outstanding(LoanTerms calldata loanTerms, uint txSpeedBlocks) public view returns (uint256) {
    // do not lump the interest
    if (loanTerms.borrowedWei <= loanTerms.returnedWei) return 0;
    uint256 newAccuredInterestWei = ((block.number + txSpeedBlocks -
        loanTerms.loanStartBlock) *
        (loanTerms.borrowedWei - loanTerms.returnedWei) *
        loanTerms.interestBPS1000000XBlock) / 10000000000;
    return
        (loanTerms.borrowedWei - loanTerms.returnedWei) +
        (loanTerms.accuredInterestWei -
            loanTerms.repaidInterestWei) +
        newAccuredInterestWei;
  }

  function outstanding(LoanTerms calldata loanTerms) public view returns (uint256) {
    return outstanding(loanTerms, 0);
  }

  function nftHasLoan(LoanTerms memory loanTerms) public pure returns (bool) {
      return loanTerms.borrowedWei > loanTerms.returnedWei;
  }


  function isUnHealthyLoan(LoanTerms calldata loanTerms)
      public
      view
      returns (bool, uint32)
  {
      require(nftHasLoan(loanTerms), "nft does not have active loan");
      bool isExpired = block.timestamp > loanTerms.loanExpireTimestamp &&
          outstanding(loanTerms) > 0;
      return (isExpired, 0);
  }

  event LoanInitiated(
      address indexed user,
      address indexed erc721,
      uint256 indexed nftID,
      LoanTerms loan
  );
  event LoanTermsChanged(
      address indexed user,
      address indexed erc721,
      uint256 indexed nftID,
      LoanTerms oldTerms,
      LoanTerms newTerms
  );
  event Liquidation(
      address indexed user,
      address indexed erc721,
      uint256 indexed nftID,
      uint256 liquidated_at,
      address liquidator
  );
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"erc721","type":"address"},{"indexed":true,"internalType":"uint256","name":"nftID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidated_at","type":"uint256"},{"indexed":false,"internalType":"address","name":"liquidator","type":"address"}],"name":"Liquidation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"erc721","type":"address"},{"indexed":true,"internalType":"uint256","name":"nftID","type":"uint256"},{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"indexed":false,"internalType":"struct PineLendingLibrary.LoanTerms","name":"loan","type":"tuple"}],"name":"LoanInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"erc721","type":"address"},{"indexed":true,"internalType":"uint256","name":"nftID","type":"uint256"},{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"indexed":false,"internalType":"struct PineLendingLibrary.LoanTerms","name":"oldTerms","type":"tuple"},{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"indexed":false,"internalType":"struct PineLendingLibrary.LoanTerms","name":"newTerms","type":"tuple"}],"name":"LoanTermsChanged","type":"event"},{"inputs":[{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"internalType":"struct PineLendingLibrary.LoanTerms","name":"loanTerms","type":"tuple"}],"name":"isUnHealthyLoan","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"internalType":"struct PineLendingLibrary.LoanTerms","name":"loanTerms","type":"tuple"}],"name":"nftHasLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"internalType":"struct PineLendingLibrary.LoanTerms","name":"loanTerms","type":"tuple"},{"internalType":"uint256","name":"txSpeedBlocks","type":"uint256"}],"name":"outstanding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"loanStartBlock","type":"uint256"},{"internalType":"uint256","name":"loanExpireTimestamp","type":"uint256"},{"internalType":"uint32","name":"interestBPS1000000XBlock","type":"uint32"},{"internalType":"uint32","name":"maxLTVBPS","type":"uint32"},{"internalType":"uint256","name":"borrowedWei","type":"uint256"},{"internalType":"uint256","name":"returnedWei","type":"uint256"},{"internalType":"uint256","name":"accuredInterestWei","type":"uint256"},{"internalType":"uint256","name":"repaidInterestWei","type":"uint256"},{"internalType":"address","name":"borrower","type":"address"}],"internalType":"struct PineLendingLibrary.LoanTerms","name":"loanTerms","type":"tuple"}],"name":"outstanding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

610873610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063a3d24fe41461005b578063d359b9761461008b578063d4d30063146100bc578063df9a33b7146100ec575b600080fd5b610075600480360381019061007091906103fd565b61011c565b6040516100829190610542565b60405180910390f35b6100a560048036038101906100a091906103d3565b6101ed565b6040516100b39291906104f9565b60405180910390f35b6100d660048036038101906100d1919061043b565b610274565b6040516100e391906104de565b60405180910390f35b610106600480360381019061010191906103d3565b610288565b6040516101139190610542565b60405180910390f35b60008260a0013583608001351161013657600090506101e7565b60006402540be4008460400160208101906101519190610465565b63ffffffff168560a00135866080013561016b9190610674565b8660000135864361017c9190610593565b6101869190610674565b610190919061061a565b61019a919061061a565b6101a491906105e9565b9050808460e001358560c001356101bb9190610674565b8560a0013586608001356101cf9190610674565b6101d99190610593565b6101e39190610593565b9150505b92915050565b60008061020983803603810190610204919061043b565b610274565b610248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023f90610522565b60405180910390fd5b60008360200135421180156102655750600061026385610288565b115b90508060009250925050915091565b60008160a001518260800151119050919050565b600061029582600061011c565b9050919050565b6000813590506102ab816107f8565b92915050565b600061012082840312156102c457600080fd5b81905092915050565b600061012082840312156102e057600080fd5b6102eb61012061055d565b905060006102fb848285016103a9565b600083015250602061030f848285016103a9565b6020830152506040610323848285016103be565b6040830152506060610337848285016103be565b606083015250608061034b848285016103a9565b60808301525060a061035f848285016103a9565b60a08301525060c0610373848285016103a9565b60c08301525060e0610387848285016103a9565b60e08301525061010061039c8482850161029c565b6101008301525092915050565b6000813590506103b88161080f565b92915050565b6000813590506103cd81610826565b92915050565b600061012082840312156103e657600080fd5b60006103f4848285016102b1565b91505092915050565b600080610140838503121561041157600080fd5b600061041f858286016102b1565b925050610120610431858286016103a9565b9150509250929050565b6000610120828403121561044e57600080fd5b600061045c848285016102cd565b91505092915050565b60006020828403121561047757600080fd5b6000610485848285016103be565b91505092915050565b610497816106ba565b82525050565b60006104aa601d83610582565b91506104b5826107cf565b602082019050919050565b6104c9816106e6565b82525050565b6104d8816106f0565b82525050565b60006020820190506104f3600083018461048e565b92915050565b600060408201905061050e600083018561048e565b61051b60208301846104cf565b9392505050565b6000602082019050818103600083015261053b8161049d565b9050919050565b600060208201905061055760008301846104c0565b92915050565b6000610567610578565b90506105738282610700565b919050565b6000604051905090565b600082825260208201905092915050565b600061059e826106e6565b91506105a9836106e6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156105de576105dd610731565b5b828201905092915050565b60006105f4826106e6565b91506105ff836106e6565b92508261060f5761060e610760565b5b828204905092915050565b6000610625826106e6565b9150610630836106e6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561066957610668610731565b5b828202905092915050565b600061067f826106e6565b915061068a836106e6565b92508282101561069d5761069c610731565b5b828203905092915050565b60006106b3826106c6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b610709826107be565b810181811067ffffffffffffffff821117156107285761072761078f565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f6e667420646f6573206e6f74206861766520616374697665206c6f616e000000600082015250565b610801816106a8565b811461080c57600080fd5b50565b610818816106e6565b811461082357600080fd5b50565b61082f816106f0565b811461083a57600080fd5b5056fea2646970667358221220aa0acd8e777afa75859b3a6b9714d318d208583b2f950d7f394c0c2ae9709d8a64736f6c63430008030033

Deployed Bytecode

0x731a4c2ac5d97f4f4dda2b880342b298ea58f2b80830146080604052600436106100565760003560e01c8063a3d24fe41461005b578063d359b9761461008b578063d4d30063146100bc578063df9a33b7146100ec575b600080fd5b610075600480360381019061007091906103fd565b61011c565b6040516100829190610542565b60405180910390f35b6100a560048036038101906100a091906103d3565b6101ed565b6040516100b39291906104f9565b60405180910390f35b6100d660048036038101906100d1919061043b565b610274565b6040516100e391906104de565b60405180910390f35b610106600480360381019061010191906103d3565b610288565b6040516101139190610542565b60405180910390f35b60008260a0013583608001351161013657600090506101e7565b60006402540be4008460400160208101906101519190610465565b63ffffffff168560a00135866080013561016b9190610674565b8660000135864361017c9190610593565b6101869190610674565b610190919061061a565b61019a919061061a565b6101a491906105e9565b9050808460e001358560c001356101bb9190610674565b8560a0013586608001356101cf9190610674565b6101d99190610593565b6101e39190610593565b9150505b92915050565b60008061020983803603810190610204919061043b565b610274565b610248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023f90610522565b60405180910390fd5b60008360200135421180156102655750600061026385610288565b115b90508060009250925050915091565b60008160a001518260800151119050919050565b600061029582600061011c565b9050919050565b6000813590506102ab816107f8565b92915050565b600061012082840312156102c457600080fd5b81905092915050565b600061012082840312156102e057600080fd5b6102eb61012061055d565b905060006102fb848285016103a9565b600083015250602061030f848285016103a9565b6020830152506040610323848285016103be565b6040830152506060610337848285016103be565b606083015250608061034b848285016103a9565b60808301525060a061035f848285016103a9565b60a08301525060c0610373848285016103a9565b60c08301525060e0610387848285016103a9565b60e08301525061010061039c8482850161029c565b6101008301525092915050565b6000813590506103b88161080f565b92915050565b6000813590506103cd81610826565b92915050565b600061012082840312156103e657600080fd5b60006103f4848285016102b1565b91505092915050565b600080610140838503121561041157600080fd5b600061041f858286016102b1565b925050610120610431858286016103a9565b9150509250929050565b6000610120828403121561044e57600080fd5b600061045c848285016102cd565b91505092915050565b60006020828403121561047757600080fd5b6000610485848285016103be565b91505092915050565b610497816106ba565b82525050565b60006104aa601d83610582565b91506104b5826107cf565b602082019050919050565b6104c9816106e6565b82525050565b6104d8816106f0565b82525050565b60006020820190506104f3600083018461048e565b92915050565b600060408201905061050e600083018561048e565b61051b60208301846104cf565b9392505050565b6000602082019050818103600083015261053b8161049d565b9050919050565b600060208201905061055760008301846104c0565b92915050565b6000610567610578565b90506105738282610700565b919050565b6000604051905090565b600082825260208201905092915050565b600061059e826106e6565b91506105a9836106e6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156105de576105dd610731565b5b828201905092915050565b60006105f4826106e6565b91506105ff836106e6565b92508261060f5761060e610760565b5b828204905092915050565b6000610625826106e6565b9150610630836106e6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561066957610668610731565b5b828202905092915050565b600061067f826106e6565b915061068a836106e6565b92508282101561069d5761069c610731565b5b828203905092915050565b60006106b3826106c6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b610709826107be565b810181811067ffffffffffffffff821117156107285761072761078f565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f6e667420646f6573206e6f74206861766520616374697665206c6f616e000000600082015250565b610801816106a8565b811461080c57600080fd5b50565b610818816106e6565b811461082357600080fd5b50565b61082f816106f0565b811461083a57600080fd5b5056fea2646970667358221220aa0acd8e777afa75859b3a6b9714d318d208583b2f950d7f394c0c2ae9709d8a64736f6c63430008030033

Deployed Bytecode Sourcemap

26:2069:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:621;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1262:336;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1112:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;980:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;353:621;445:7;523:9;:21;;;498:9;:21;;;:46;494:60;;553:1;546:8;;;;494:60;561:29;769:11;731:9;:34;;;;;;;;;;:::i;:::-;594:171;;697:9;:21;;;673:9;:21;;;:45;;;;:::i;:::-;635:9;:24;;;610:13;595:12;:28;;;;:::i;:::-;:64;;;;:::i;:::-;594:125;;;;:::i;:::-;:171;;;;:::i;:::-;593:187;;;;:::i;:::-;561:219;;947:21;907:9;:27;;;863:9;:28;;;:71;;;;:::i;:::-;828:9;:21;;;804:9;:21;;;:45;;;;:::i;:::-;803:132;;;;:::i;:::-;:165;;;;:::i;:::-;787:181;;;353:621;;;;;:::o;1262:336::-;1359:4;1365:6;1393:21;1404:9;1393:21;;;;;;;;;;:::i;:::-;:10;:21::i;:::-;1385:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1457:14;1492:9;:29;;;1474:15;:47;:88;;;;;1561:1;1536:22;1548:9;1536:11;:22::i;:::-;:26;1474:88;1457:105;;1579:9;1590:1;1571:21;;;;;1262:336;;;:::o;1112:142::-;1181:4;1227:9;:21;;;1203:9;:21;;;:45;1196:52;;1112:142;;;:::o;980:126::-;1052:7;1075:25;1087:9;1098:1;1075:11;:25::i;:::-;1068:32;;980:126;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;195:165::-;;309:3;300:6;295:3;291:16;287:26;284:2;;;326:1;323;316:12;284:2;348:6;339:15;;274:86;;;;:::o;409:1738::-;;527:6;515:9;510:3;506:19;502:32;499:2;;;547:1;544;537:12;499:2;569:23;585:6;569:23;:::i;:::-;560:32;;661:1;701:49;746:3;737:6;726:9;722:22;701:49;:::i;:::-;694:4;687:5;683:16;676:75;602:160;836:2;877:49;922:3;913:6;902:9;898:22;877:49;:::i;:::-;870:4;863:5;859:16;852:75;772:166;1017:2;1058:48;1102:3;1093:6;1082:9;1078:22;1058:48;:::i;:::-;1051:4;1044:5;1040:16;1033:74;948:170;1182:2;1223:48;1267:3;1258:6;1247:9;1243:22;1223:48;:::i;:::-;1216:4;1209:5;1205:16;1198:74;1128:155;1349:3;1391:49;1436:3;1427:6;1416:9;1412:22;1391:49;:::i;:::-;1384:4;1377:5;1373:16;1366:75;1293:159;1518:3;1560:49;1605:3;1596:6;1585:9;1581:22;1560:49;:::i;:::-;1553:4;1546:5;1542:16;1535:75;1462:159;1694:3;1736:49;1781:3;1772:6;1761:9;1757:22;1736:49;:::i;:::-;1729:4;1722:5;1718:16;1711:75;1631:166;1869:3;1911:49;1956:3;1947:6;1936:9;1932:22;1911:49;:::i;:::-;1904:4;1897:5;1893:16;1886:75;1807:165;2035:3;2079:49;2124:3;2115:6;2104:9;2100:22;2079:49;:::i;:::-;2070:6;2063:5;2059:18;2052:77;1982:158;489:1658;;;;:::o;2153:139::-;;2237:6;2224:20;2215:29;;2253:33;2280:5;2253:33;:::i;:::-;2205:87;;;;:::o;2298:137::-;;2381:6;2368:20;2359:29;;2397:32;2423:5;2397:32;:::i;:::-;2349:86;;;;:::o;2441:317::-;;2576:3;2564:9;2555:7;2551:23;2547:33;2544:2;;;2593:1;2590;2583:12;2544:2;2636:1;2661:80;2733:7;2724:6;2713:9;2709:22;2661:80;:::i;:::-;2651:90;;2607:144;2534:224;;;;:::o;2764:463::-;;;2916:3;2904:9;2895:7;2891:23;2887:33;2884:2;;;2933:1;2930;2923:12;2884:2;2976:1;3001:80;3073:7;3064:6;3053:9;3049:22;3001:80;:::i;:::-;2991:90;;2947:144;3130:3;3157:53;3202:7;3193:6;3182:9;3178:22;3157:53;:::i;:::-;3147:63;;3101:119;2874:353;;;;;:::o;3233:313::-;;3366:3;3354:9;3345:7;3341:23;3337:33;3334:2;;;3383:1;3380;3373:12;3334:2;3426:1;3451:78;3521:7;3512:6;3501:9;3497:22;3451:78;:::i;:::-;3441:88;;3397:142;3324:222;;;;:::o;3552:260::-;;3659:2;3647:9;3638:7;3634:23;3630:32;3627:2;;;3675:1;3672;3665:12;3627:2;3718:1;3743:52;3787:7;3778:6;3767:9;3763:22;3743:52;:::i;:::-;3733:62;;3689:116;3617:195;;;;:::o;3818:117::-;3907:21;3922:5;3907:21;:::i;:::-;3902:3;3895:34;3885:50;;:::o;3941:366::-;;4104:67;4168:2;4163:3;4104:67;:::i;:::-;4097:74;;4180:93;4269:3;4180:93;:::i;:::-;4298:2;4293:3;4289:12;4282:19;;4087:220;;;:::o;4313:126::-;4408:24;4426:5;4408:24;:::i;:::-;4403:3;4396:37;4386:53;;:::o;4445:123::-;4538:23;4555:5;4538:23;:::i;:::-;4533:3;4526:36;4516:52;;:::o;4574:226::-;;4707:2;4696:9;4692:18;4684:26;;4720:73;4790:1;4779:9;4775:17;4766:6;4720:73;:::i;:::-;4674:126;;;;:::o;4806:340::-;;4965:2;4954:9;4950:18;4942:26;;4978:73;5048:1;5037:9;5033:17;5024:6;4978:73;:::i;:::-;5061:78;5135:2;5124:9;5120:18;5111:6;5061:78;:::i;:::-;4932:214;;;;;:::o;5152:419::-;;5356:2;5345:9;5341:18;5333:26;;5405:9;5399:4;5395:20;5391:1;5380:9;5376:17;5369:47;5433:131;5559:4;5433:131;:::i;:::-;5425:139;;5323:248;;;:::o;5577:238::-;;5716:2;5705:9;5701:18;5693:26;;5729:79;5805:1;5794:9;5790:17;5781:6;5729:79;:::i;:::-;5683:132;;;;:::o;5821:129::-;;5882:20;;:::i;:::-;5872:30;;5911:33;5939:4;5931:6;5911:33;:::i;:::-;5862:88;;;:::o;5956:75::-;;6022:2;6016:9;6006:19;;5996:35;:::o;6037:169::-;;6155:6;6150:3;6143:19;6195:4;6190:3;6186:14;6171:29;;6133:73;;;;:::o;6212:305::-;;6271:20;6289:1;6271:20;:::i;:::-;6266:25;;6305:20;6323:1;6305:20;:::i;:::-;6300:25;;6459:1;6391:66;6387:74;6384:1;6381:81;6378:2;;;6465:18;;:::i;:::-;6378:2;6509:1;6506;6502:9;6495:16;;6256:261;;;;:::o;6523:185::-;;6580:20;6598:1;6580:20;:::i;:::-;6575:25;;6614:20;6632:1;6614:20;:::i;:::-;6609:25;;6653:1;6643:2;;6658:18;;:::i;:::-;6643:2;6700:1;6697;6693:9;6688:14;;6565:143;;;;:::o;6714:348::-;;6777:20;6795:1;6777:20;:::i;:::-;6772:25;;6811:20;6829:1;6811:20;:::i;:::-;6806:25;;6999:1;6931:66;6927:74;6924:1;6921:81;6916:1;6909:9;6902:17;6898:105;6895:2;;;7006:18;;:::i;:::-;6895:2;7054:1;7051;7047:9;7036:20;;6762:300;;;;:::o;7068:191::-;;7128:20;7146:1;7128:20;:::i;:::-;7123:25;;7162:20;7180:1;7162:20;:::i;:::-;7157:25;;7201:1;7198;7195:8;7192:2;;;7206:18;;:::i;:::-;7192:2;7251:1;7248;7244:9;7236:17;;7113:146;;;;:::o;7265:96::-;;7331:24;7349:5;7331:24;:::i;:::-;7320:35;;7310:51;;;:::o;7367:90::-;;7444:5;7437:13;7430:21;7419:32;;7409:48;;;:::o;7463:126::-;;7540:42;7533:5;7529:54;7518:65;;7508:81;;;:::o;7595:77::-;;7661:5;7650:16;;7640:32;;;:::o;7678:93::-;;7754:10;7747:5;7743:22;7732:33;;7722:49;;;:::o;7777:281::-;7860:27;7882:4;7860:27;:::i;:::-;7852:6;7848:40;7990:6;7978:10;7975:22;7954:18;7942:10;7939:34;7936:62;7933:2;;;8001:18;;:::i;:::-;7933:2;8041:10;8037:2;8030:22;7820:238;;;:::o;8064:180::-;8112:77;8109:1;8102:88;8209:4;8206:1;8199:15;8233:4;8230:1;8223:15;8250:180;8298:77;8295:1;8288:88;8395:4;8392:1;8385:15;8419:4;8416:1;8409:15;8436:180;8484:77;8481:1;8474:88;8581:4;8578:1;8571:15;8605:4;8602:1;8595:15;8622:102;;8714:2;8710:7;8705:2;8698:5;8694:14;8690:28;8680:38;;8670:54;;;:::o;8730:179::-;8870:31;8866:1;8858:6;8854:14;8847:55;8836:73;:::o;8915:122::-;8988:24;9006:5;8988:24;:::i;:::-;8981:5;8978:35;8968:2;;9027:1;9024;9017:12;8968:2;8958:79;:::o;9043:122::-;9116:24;9134:5;9116:24;:::i;:::-;9109:5;9106:35;9096:2;;9155:1;9152;9145:12;9096:2;9086:79;:::o;9171:120::-;9243:23;9260:5;9243:23;:::i;:::-;9236:5;9233:34;9223:2;;9281:1;9278;9271:12;9223:2;9213:78;:::o

Swarm Source

ipfs://aa0acd8e777afa75859b3a6b9714d318d208583b2f950d7f394c0c2ae9709d8a

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  ]

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.