Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Multi Chain
Multichain Addresses
0 address found via
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
CDPRegistry
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-07 */ // File: localhost/contracts/interfaces/ICollateralRegistry.sol // SPDX-License-Identifier: bsl-1.1 interface ICollateralRegistry { function addCollateral ( address asset ) external; function collateralId ( address ) external view returns ( uint256 ); function collaterals ( ) external view returns ( address[] memory ); function removeCollateral ( address asset ) external; function vaultParameters ( ) external view returns ( address ); function isCollateral ( address asset ) external view returns ( bool ); function collateralList ( uint id ) external view returns ( address ); function collateralsCount ( ) external view returns ( uint ); } // File: localhost/contracts/interfaces/IVault.sol interface IVault { function DENOMINATOR_1E2 ( ) external view returns ( uint256 ); function DENOMINATOR_1E5 ( ) external view returns ( uint256 ); function borrow ( address asset, address user, uint256 amount ) external returns ( uint256 ); function calculateFee ( address asset, address user, uint256 amount ) external view returns ( uint256 ); function changeOracleType ( address asset, address user, uint256 newOracleType ) external; function chargeFee ( address asset, address user, uint256 amount ) external; function col ( ) external view returns ( address ); function colToken ( address, address ) external view returns ( uint256 ); function collaterals ( address, address ) external view returns ( uint256 ); function debts ( address, address ) external view returns ( uint256 ); function depositCol ( address asset, address user, uint256 amount ) external; function depositEth ( address user ) external payable; function depositMain ( address asset, address user, uint256 amount ) external; function destroy ( address asset, address user ) external; function getTotalDebt ( address asset, address user ) external view returns ( uint256 ); function lastUpdate ( address, address ) external view returns ( uint256 ); function liquidate ( address asset, address positionOwner, uint256 mainAssetToLiquidator, uint256 colToLiquidator, uint256 mainAssetToPositionOwner, uint256 colToPositionOwner, uint256 repayment, uint256 penalty, address liquidator ) external; function liquidationBlock ( address, address ) external view returns ( uint256 ); function liquidationFee ( address, address ) external view returns ( uint256 ); function liquidationPrice ( address, address ) external view returns ( uint256 ); function oracleType ( address, address ) external view returns ( uint256 ); function repay ( address asset, address user, uint256 amount ) external returns ( uint256 ); function spawn ( address asset, address user, uint256 _oracleType ) external; function stabilityFee ( address, address ) external view returns ( uint256 ); function tokenDebts ( address ) external view returns ( uint256 ); function triggerLiquidation ( address asset, address positionOwner, uint256 initialPrice ) external; function update ( address asset, address user ) external; function usdp ( ) external view returns ( address ); function vaultParameters ( ) external view returns ( address ); function weth ( ) external view returns ( address payable ); function withdrawCol ( address asset, address user, uint256 amount ) external; function withdrawEth ( address user, uint256 amount ) external; function withdrawMain ( address asset, address user, uint256 amount ) external; } // File: localhost/contracts/CDPRegistry.sol /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity ^0.7.1; pragma experimental ABIEncoderV2; contract CDPRegistry { struct CDP { address asset; address owner; } mapping (address => address[]) cdpList; mapping (address => mapping (address => uint)) cdpIndex; IVault public immutable vault; ICollateralRegistry public immutable cr; event Added(address indexed asset, address indexed owner); event Removed(address indexed asset, address indexed owner); constructor (address _vault, address _collateralRegistry) { require(_vault != address(0) && _collateralRegistry != address(0), "Unit Protocol: ZERO_ADDRESS"); vault = IVault(_vault); cr = ICollateralRegistry(_collateralRegistry); } function checkpoint(address asset, address owner) public { require(asset != address(0) && owner != address(0), "Unit Protocol: ZERO_ADDRESS"); bool listed = isListed(asset, owner); bool alive = isAlive(asset, owner); if (alive && !listed) { _addCdp(asset, owner); } else if (listed && !alive) { _removeCdp(asset, owner); } } function batchCheckpointForAsset(address asset, address[] calldata owners) external { for (uint i = 0; i < owners.length; i++) { checkpoint(asset, owners[i]); } } function batchCheckpoint(address[] calldata assets, address[] calldata owners) external { require(assets.length == owners.length, "Unit Protocol: ARGUMENTS_LENGTH_MISMATCH"); for (uint i = 0; i < owners.length; i++) { checkpoint(assets[i], owners[i]); } } function isAlive(address asset, address owner) public view returns (bool) { return vault.debts(asset, owner) != 0; } function isListed(address asset, address owner) public view returns (bool) { if (cdpList[asset].length == 0) { return false; } return cdpIndex[asset][owner] != 0 || cdpList[asset][0] == owner; } function _removeCdp(address asset, address owner) internal { uint id = cdpIndex[asset][owner]; delete cdpIndex[asset][owner]; uint lastId = cdpList[asset].length - 1; if (id != lastId) { address lastOwner = cdpList[asset][lastId]; cdpList[asset][id] = lastOwner; cdpIndex[asset][lastOwner] = id; } cdpList[asset].pop(); emit Removed(asset, owner); } function _addCdp(address asset, address owner) internal { cdpIndex[asset][owner] = cdpList[asset].length; cdpList[asset].push(owner); emit Added(asset, owner); } function getCdpsByCollateral(address asset) external view returns (CDP[] memory cdps) { address[] memory owners = cdpList[asset]; cdps = new CDP[](owners.length); for (uint i = 0; i < owners.length; i++) { cdps[i] = CDP(asset, owners[i]); } } function getCdpsByOwner(address owner) external view returns (CDP[] memory r) { address[] memory assets = cr.collaterals(); CDP[] memory cdps = new CDP[](assets.length); uint actualCdpsCount; for (uint i = 0; i < assets.length; i++) { if (isListed(assets[i], owner)) { cdps[actualCdpsCount++] = CDP(assets[i], owner); } } r = new CDP[](actualCdpsCount); for (uint i = 0; i < actualCdpsCount; i++) { r[i] = cdps[i]; } } function getAllCdps() external view returns (CDP[] memory r) { uint totalCdpCount = getCdpsCount(); uint cdpCount; r = new CDP[](totalCdpCount); address[] memory assets = cr.collaterals(); for (uint i = 0; i < assets.length; i++) { address[] memory owners = cdpList[assets[i]]; for (uint j = 0; j < owners.length; j++) { r[cdpCount++] = CDP(assets[i], owners[j]); } } } function getCdpsCount() public view returns (uint totalCdpCount) { address[] memory assets = cr.collaterals(); for (uint i = 0; i < assets.length; i++) { totalCdpCount += cdpList[assets[i]].length; } } function getCdpsCountForCollateral(address asset) public view returns (uint) { return cdpList[asset].length; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_collateralRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"Added","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"Removed","type":"event"},{"inputs":[{"internalType":"address[]","name":"assets","type":"address[]"},{"internalType":"address[]","name":"owners","type":"address[]"}],"name":"batchCheckpoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address[]","name":"owners","type":"address[]"}],"name":"batchCheckpointForAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"checkpoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cr","outputs":[{"internalType":"contract ICollateralRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllCdps","outputs":[{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"internalType":"struct CDPRegistry.CDP[]","name":"r","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getCdpsByCollateral","outputs":[{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"internalType":"struct CDPRegistry.CDP[]","name":"cdps","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getCdpsByOwner","outputs":[{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"internalType":"struct CDPRegistry.CDP[]","name":"r","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCdpsCount","outputs":[{"internalType":"uint256","name":"totalCdpCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getCdpsCountForCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"isAlive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"isListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516200120838038062001208833981016040819052610031916100b0565b6001600160a01b0382161580159061005157506001600160a01b03811615155b6100765760405162461bcd60e51b815260040161006d906100e2565b60405180910390fd5b6001600160601b0319606092831b8116608052911b1660a052610119565b80516001600160a01b03811681146100ab57600080fd5b919050565b600080604083850312156100c2578182fd5b6100cb83610094565b91506100d960208401610094565b90509250929050565b6020808252601b908201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604082015260600190565b60805160601c60a05160601c6110b162000157600039806103ce528061059452806106945280610780525080610a5e5280610af052506110b16000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063bb55b7fc11610071578063bb55b7fc14610147578063bce092c41461015a578063e5011ac614610162578063f45a432014610175578063f8aa43f714610195578063fbfa77cf146101a8576100b4565b80633e18638f146100b957806348e3da3c146100e25780635a5fdfe5146100f757806362eb33e3146100ff578063a04a7c6914610114578063b0113e6b14610127575b600080fd5b6100cc6100c7366004610d62565b6101b0565b6040516100d99190610f60565b60405180910390f35b6100f56100f0366004610e10565b6102df565b005b6100cc610366565b610107610592565b6040516100d99190610fc7565b6100f5610122366004610dbd565b6105b6565b61013a610135366004610d62565b6105df565b6040516100d9919061105a565b6100f5610155366004610d85565b6105fe565b61013a61068f565b6100cc610170366004610d62565b61077a565b610188610183366004610d85565b610997565b6040516100d99190610fbc565b6101886101a3366004610d85565b610a44565b610107610aee565b6001600160a01b03811660009081526020818152604080832080548251818502810185019093528083526060949383018282801561021757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f9575b50505050509050805167ffffffffffffffff8111801561023657600080fd5b5060405190808252806020026020018201604052801561027057816020015b61025d610cf7565b8152602001906001900390816102555790505b50915060005b81518110156102d8576040518060400160405280856001600160a01b031681526020018383815181106102a557fe5b60200260200101516001600160a01b03168152508382815181106102c557fe5b6020908102919091010152600101610276565b5050919050565b8281146103075760405162461bcd60e51b81526004016102fe90610fdb565b60405180910390fd5b60005b8181101561035f5761035785858381811061032157fe5b90506020020160208101906103369190610d62565b84848481811061034257fe5b90506020020160208101906101559190610d62565b60010161030a565b5050505050565b6060600061037261068f565b905060008167ffffffffffffffff8111801561038d57600080fd5b506040519080825280602002602001820160405280156103c757816020015b6103b4610cf7565b8152602001906001900390816103ac5790505b50925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634113e5ca6040518163ffffffff1660e01b815260040160006040518083038186803b15801561042557600080fd5b505afa158015610439573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104619190810190610e79565b905060005b815181101561058b57600080600084848151811061048057fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156104fc57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104de575b5050505050905060005b815181101561058157604051806040016040528085858151811061052657fe5b60200260200101516001600160a01b0316815260200183838151811061054857fe5b60200260200101516001600160a01b031681525087868060010197508151811061056e57fe5b6020908102919091010152600101610506565b5050600101610466565b5050505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b818110156105d9576105d18484848481811061034257fe5b6001016105b9565b50505050565b6001600160a01b0381166000908152602081905260409020545b919050565b6001600160a01b0382161580159061061e57506001600160a01b03811615155b61063a5760405162461bcd60e51b81526004016102fe90611023565b60006106468383610997565b905060006106548484610a44565b9050808015610661575081155b15610675576106708484610b12565b6105d9565b818015610680575080155b156105d9576105d98484610b8e565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634113e5ca6040518163ffffffff1660e01b815260040160006040518083038186803b1580156106eb57600080fd5b505afa1580156106ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107279190810190610e79565b905060005b81518110156107755760008083838151811061074457fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002054929092019160010161072c565b505090565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634113e5ca6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108139190810190610e79565b90506000815167ffffffffffffffff8111801561082f57600080fd5b5060405190808252806020026020018201604052801561086957816020015b610856610cf7565b81526020019060019003908161084e5790505b5090506000805b83518110156108fb5761089684828151811061088857fe5b602002602001015187610997565b156108f35760405180604001604052808583815181106108b257fe5b60200260200101516001600160a01b03168152602001876001600160a01b03168152508383806001019450815181106108e757fe5b60200260200101819052505b600101610870565b508067ffffffffffffffff8111801561091357600080fd5b5060405190808252806020026020018201604052801561094d57816020015b61093a610cf7565b8152602001906001900390816109325790505b50935060005b8181101561098e5782818151811061096757fe5b602002602001015185828151811061097b57fe5b6020908102919091010152600101610953565b50505050919050565b6001600160a01b0382166000908152602081905260408120546109bc57506000610a3e565b6001600160a01b03808416600090815260016020908152604080832093861683529290522054151580610a3b5750816001600160a01b0316600080856001600160a01b03166001600160a01b03168152602001908152602001600020600081548110610a2457fe5b6000918252602090912001546001600160a01b0316145b90505b92915050565b604051634ac1c33d60e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ac1c33d90610a959086908690600401610f46565b60206040518083038186803b158015610aad57600080fd5b505afa158015610ac1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae59190610f2e565b15159392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03808316600081815260208181526040808320805460018085528386209789168087529785528386208290558585528101825590845291832090910180546001600160a01b03191685179055517f938c63ac3d228b23f6bee7618fefc6790522e338ac202c958a2ea9eb9706c5d19190a35050565b6001600160a01b0380831660008181526001602090815260408083209486168352938152838220805490839055928252819052919091205460001901808214610c74576001600160a01b0384166000908152602081905260408120805483908110610bf557fe5b60009182526020808320909101546001600160a01b038881168452918390526040909220805491909216925082919085908110610c2e57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905587831682526001815260408083209490931682529290925290208290555b6001600160a01b0384166000908152602081905260409020805480610c9557fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b0385811692908716917f40e634d0e26d9ec2e860e4dd9b7b2cfbb569b6058362a1a54d3a94718bc495879190a350505050565b604080518082019091526000808252602082015290565b80516105f981611063565b60008083601f840112610d2a578081fd5b50813567ffffffffffffffff811115610d41578182fd5b6020830191508360208083028501011115610d5b57600080fd5b9250929050565b600060208284031215610d73578081fd5b8135610d7e81611063565b9392505050565b60008060408385031215610d97578081fd5b8235610da281611063565b91506020830135610db281611063565b809150509250929050565b600080600060408486031215610dd1578081fd5b8335610ddc81611063565b9250602084013567ffffffffffffffff811115610df7578182fd5b610e0386828701610d19565b9497909650939450505050565b60008060008060408587031215610e25578081fd5b843567ffffffffffffffff80821115610e3c578283fd5b610e4888838901610d19565b90965094506020870135915080821115610e60578283fd5b50610e6d87828801610d19565b95989497509550505050565b60006020808385031215610e8b578182fd5b825167ffffffffffffffff80821115610ea2578384fd5b818501915085601f830112610eb5578384fd5b815181811115610ec157fe5b83810260405185828201018181108582111715610eda57fe5b604052828152858101935084860182860187018a1015610ef8578788fd5b8795505b83861015610f2157610f0d81610d0e565b855260019590950194938601938601610efc565b5098975050505050505050565b600060208284031215610f3f578081fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b82811015610faf57815180516001600160a01b0390811686529087015116868501529284019290850190600101610f7d565b5091979650505050505050565b901515815260200190565b6001600160a01b0391909116815260200190565b60208082526028908201527f556e69742050726f746f636f6c3a20415247554d454e54535f4c454e4754485f60408201526709a92a69a82a886960c31b606082015260800190565b6020808252601b908201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604082015260600190565b90815260200190565b6001600160a01b038116811461107857600080fd5b5056fea264697066735822122075da99575f0f07e069c790e5b01c3ceb08720423c5f635362ea8d635b1e858c764736f6c63430007060033000000000000000000000000b1cff81b9305166ff1efc49a129ad2afcd7bcf190000000000000000000000003db39b538db1123389c77f888a213f1a6dd22ef3
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b1cff81b9305166ff1efc49a129ad2afcd7bcf190000000000000000000000003db39b538db1123389c77f888a213f1a6dd22ef3
-----Decoded View---------------
Arg [0] : _vault (address): 0xb1cFF81b9305166ff1EFc49A129ad2AfCd7BCf19
Arg [1] : _collateralRegistry (address): 0x3DB39B538Db1123389c77F888a213F1A6dd22EF3
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b1cff81b9305166ff1efc49a129ad2afcd7bcf19
Arg [1] : 0000000000000000000000003db39b538db1123389c77f888a213f1a6dd22ef3
Deployed ByteCode Sourcemap
3779:4434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6455:296;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5107:300;;;;;;:::i;:::-;;:::i;:::-;;7326:498;;;:::i;4029:39::-;;;:::i;:::-;;;;;;;:::i;4901:198::-;;;;;;:::i;:::-;;:::i;8086:124::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4480:413::-;;;;;;:::i;:::-;;:::i;7832:246::-;;;:::i;6759:559::-;;;;;;:::i;:::-;;:::i;5553:217::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5415:130::-;;;;;;:::i;:::-;;:::i;3993:29::-;;;:::i;6455:296::-;-1:-1:-1;;;;;6578:14:0;;6552:23;6578:14;;;;;;;;;;;6552:40;;;;;;;;;;;;;;;;;6522:17;;6552:23;:40;;6578:14;6552:40;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6552:40:0;;;;;;;;;;;;;;;;;;;;;;;6620:6;:13;6610:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6603:31;;6650:6;6645:99;6666:6;:13;6662:1;:17;6645:99;;;6711:21;;;;;;;;6715:5;-1:-1:-1;;;;;6711:21:0;;;;;6722:6;6729:1;6722:9;;;;;;;;;;;;;;-1:-1:-1;;;;;6711:21:0;;;;6701:4;6706:1;6701:7;;;;;;;;;;;;;;;;;:31;6681:3;;6645:99;;;;6455:296;;;;:::o;5107:300::-;5214:30;;;5206:83;;;;-1:-1:-1;;;5206:83:0;;;;;;;:::i;:::-;;;;;;;;;5305:6;5300:100;5317:17;;;5300:100;;;5356:32;5367:6;;5374:1;5367:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;5378:6;;5385:1;5378:9;;;;;;;;;;;;;;;;;;;;:::i;5356:32::-;5336:3;;5300:100;;;;5107:300;;;;:::o;7326:498::-;7371:14;7398:18;7419:14;:12;:14::i;:::-;7398:35;;7454:13;7494;7484:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7480:28;;7521:23;7547:2;-1:-1:-1;;;;;7547:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7547:16:0;;;;;;;;;;;;:::i;:::-;7521:42;;7579:6;7574:243;7595:6;:13;7591:1;:17;7574:243;;;7630:23;7656:7;:18;7664:6;7671:1;7664:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7656:18:0;-1:-1:-1;;;;;7656:18:0;;;;;;;;;;;;7630:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7630:44:0;;;;;;;;;;;;;;;;;;;;;;;7694:6;7689:117;7710:6;:13;7706:1;:17;7689:117;;;7765:25;;;;;;;;7769:6;7776:1;7769:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7765:25:0;;;;;7780:6;7787:1;7780:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7765:25:0;;;;7749:1;7751:10;;;;;;7749:13;;;;;;;;;;;;;;;;;:41;7725:3;;7689:117;;;-1:-1:-1;;7610:3:0;;7574:243;;;;7326:498;;;;:::o;4029:39::-;;;:::o;4901:198::-;5001:6;4996:96;5013:17;;;4996:96;;;5052:28;5063:5;5070:6;;5077:1;5070:9;;;;;;5052:28;5032:3;;4996:96;;;;4901:198;;;:::o;8086:124::-;-1:-1:-1;;;;;8181:14:0;;8157:4;8181:14;;;;;;;;;;:21;8086:124;;;;:::o;4480:413::-;-1:-1:-1;;;;;4556:19:0;;;;;;:42;;-1:-1:-1;;;;;;4579:19:0;;;;4556:42;4548:82;;;;-1:-1:-1;;;4548:82:0;;;;;;;:::i;:::-;4643:11;4657:22;4666:5;4673;4657:8;:22::i;:::-;4643:36;;4690:10;4703:21;4711:5;4718;4703:7;:21::i;:::-;4690:34;;4741:5;:16;;;;;4751:6;4750:7;4741:16;4737:149;;;4774:21;4782:5;4789;4774:7;:21::i;:::-;4737:149;;;4817:6;:16;;;;;4828:5;4827:6;4817:16;4813:73;;;4850:24;4861:5;4868;4850:10;:24::i;7832:246::-;7877:18;7908:23;7934:2;-1:-1:-1;;;;;7934:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7934:16:0;;;;;;;;;;;;:::i;:::-;7908:42;;7966:6;7961:110;7982:6;:13;7978:1;:17;7961:110;;;8034:7;:18;8042:6;8049:1;8042:9;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8034:18:0;;;;;;;;;;;-1:-1:-1;8034:18:0;:25;8017:42;;;;;7997:3;;7961:110;;;;7832:246;;:::o;6759:559::-;6821:14;6848:23;6874:2;-1:-1:-1;;;;;6874:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6874:16:0;;;;;;;;;;;;:::i;:::-;6848:42;;6901:17;6931:6;:13;6921:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;6901:44:0;-1:-1:-1;6956:20:0;;6989:181;7010:6;:13;7006:1;:17;6989:181;;;7049:26;7058:6;7065:1;7058:9;;;;;;;;;;;;;;7069:5;7049:8;:26::i;:::-;7045:114;;;7122:21;;;;;;;;7126:6;7133:1;7126:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7122:21:0;;;;;7137:5;-1:-1:-1;;;;;7122:21:0;;;;7096:4;7101:17;;;;;;7096:23;;;;;;;;;;;;;:47;;;;7045:114;7025:3;;6989:181;;;;7196:15;7186:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7182:30;;7230:6;7225:84;7246:15;7242:1;:19;7225:84;;;7290:4;7295:1;7290:7;;;;;;;;;;;;;;7283:1;7285;7283:4;;;;;;;;;;;;;;;;;:14;7263:3;;7225:84;;;;6759:559;;;;;;:::o;5553:217::-;-1:-1:-1;;;;;5643:14:0;;5622:4;5643:14;;;;;;;;;;:21;5639:49;;-1:-1:-1;5680:5:0;5673:12;;5639:49;-1:-1:-1;;;;;5705:15:0;;;;;;;:8;:15;;;;;;;;:22;;;;;;;;;;:27;;;:57;;;5757:5;-1:-1:-1;;;;;5736:26:0;:7;:14;5744:5;-1:-1:-1;;;;;5736:14:0;-1:-1:-1;;;;;5736:14:0;;;;;;;;;;;;5751:1;5736:17;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5736:17:0;:26;5705:57;5698:64;;5553:217;;;;;:::o;5415:130::-;5507:25;;-1:-1:-1;;;5507:25:0;;5483:4;;-1:-1:-1;;;;;5507:5:0;:11;;;;:25;;5519:5;;5526;;5507:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:30;;;5415:130;-1:-1:-1;;;5415:130:0:o;3993:29::-;;;:::o;6252:195::-;-1:-1:-1;;;;;6344:14:0;;;:7;:14;;;;;;;;;;;:21;;6319:8;:15;;;;;;:22;;;;;;;;;;;;:46;;;6376:14;;;:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6376:26:0;;;;;6420:19;;;6344:7;6420:19;6252:195;;:::o;5778:466::-;-1:-1:-1;;;;;5858:15:0;;;5848:7;5858:15;;;:8;:15;;;;;;;;:22;;;;;;;;;;;;;5893:29;;;;5949:14;;;;;;;;;;:21;-1:-1:-1;;5949:25:0;5991:12;;;5987:178;;-1:-1:-1;;;;;6040:14:0;;6020:17;6040:14;;;;;;;;;;:22;;6055:6;;6040:22;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6077:14:0;;;;;;;;;;;;;:18;;6040:22;;;;;-1:-1:-1;6040:22:0;;6077:14;6092:2;;6077:18;;;;;;;;;;;;;;;;;;:30;;-1:-1:-1;;;;;;6077:30:0;-1:-1:-1;;;;;6077:30:0;;;;;;6122:15;;;;;-1:-1:-1;6122:15:0;;;;;;:26;;;;;;;;;;;;:31;;;5987:178;-1:-1:-1;;;;;6177:14:0;;:7;:14;;;;;;;;;;:20;;;;;;;;;;;;;;;;-1:-1:-1;;6177:20:0;;;;;-1:-1:-1;;;;;;6177:20:0;;;;;;;;;6215:21;;-1:-1:-1;;;;;6215:21:0;;;;;;;;;;6177:20;6215:21;5778:466;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;14:142:1:-;95:13;;117:33;95:13;117:33;:::i;161:400::-;;;294:3;287:4;279:6;275:17;271:27;261:2;;317:6;309;302:22;261:2;-1:-1:-1;345:20:1;;388:18;377:30;;374:2;;;427:8;417;410:26;374:2;471:4;463:6;459:17;447:29;;534:3;527:4;519;511:6;507:17;499:6;495:30;491:41;488:50;485:2;;;551:1;548;541:12;485:2;251:310;;;;;:::o;566:259::-;;678:2;666:9;657:7;653:23;649:32;646:2;;;699:6;691;684:22;646:2;743:9;730:23;762:33;789:5;762:33;:::i;:::-;814:5;636:189;-1:-1:-1;;;636:189:1:o;830:402::-;;;959:2;947:9;938:7;934:23;930:32;927:2;;;980:6;972;965:22;927:2;1024:9;1011:23;1043:33;1070:5;1043:33;:::i;:::-;1095:5;-1:-1:-1;1152:2:1;1137:18;;1124:32;1165:35;1124:32;1165:35;:::i;:::-;1219:7;1209:17;;;917:315;;;;;:::o;1237:600::-;;;;1401:2;1389:9;1380:7;1376:23;1372:32;1369:2;;;1422:6;1414;1407:22;1369:2;1466:9;1453:23;1485:33;1512:5;1485:33;:::i;:::-;1537:5;-1:-1:-1;1593:2:1;1578:18;;1565:32;1620:18;1609:30;;1606:2;;;1657:6;1649;1642:22;1606:2;1701:76;1769:7;1760:6;1749:9;1745:22;1701:76;:::i;:::-;1359:478;;1796:8;;-1:-1:-1;1675:102:1;;-1:-1:-1;;;;1359:478:1:o;1842:815::-;;;;;2041:2;2029:9;2020:7;2016:23;2012:32;2009:2;;;2062:6;2054;2047:22;2009:2;2107:9;2094:23;2136:18;2177:2;2169:6;2166:14;2163:2;;;2198:6;2190;2183:22;2163:2;2242:76;2310:7;2301:6;2290:9;2286:22;2242:76;:::i;:::-;2337:8;;-1:-1:-1;2216:102:1;-1:-1:-1;2425:2:1;2410:18;;2397:32;;-1:-1:-1;2441:16:1;;;2438:2;;;2475:6;2467;2460:22;2438:2;;2519:78;2589:7;2578:8;2567:9;2563:24;2519:78;:::i;:::-;1999:658;;;;-1:-1:-1;2616:8:1;-1:-1:-1;;;;1999:658:1:o;2662:1156::-;;2788:2;2831;2819:9;2810:7;2806:23;2802:32;2799:2;;;2852:6;2844;2837:22;2799:2;2890:9;2884:16;2919:18;2960:2;2952:6;2949:14;2946:2;;;2981:6;2973;2966:22;2946:2;3024:6;3013:9;3009:22;2999:32;;3069:7;3062:4;3058:2;3054:13;3050:27;3040:2;;3096:6;3088;3081:22;3040:2;3130;3124:9;3152:2;3148;3145:10;3142:2;;;3158:9;3142:2;3196;3192;3188:11;3228:2;3222:9;3279:2;3274;3266:6;3262:15;3258:24;3332:6;3320:10;3317:22;3312:2;3300:10;3297:18;3294:46;3291:2;;;3343:9;3291:2;3370;3363:22;3420:18;;;3454:15;;;;-1:-1:-1;3489:11:1;;;3519;;;3515:20;;3512:33;-1:-1:-1;3509:2:1;;;3563:6;3555;3548:22;3509:2;3590:6;3581:15;;3605:182;3619:2;3616:1;3613:9;3605:182;;;3676:36;3708:3;3676:36;:::i;:::-;3664:49;;3637:1;3630:9;;;;;3733:12;;;;3765;;3605:182;;;-1:-1:-1;3806:6:1;2768:1050;-1:-1:-1;;;;;;;;2768:1050:1:o;3823:194::-;;3946:2;3934:9;3925:7;3921:23;3917:32;3914:2;;;3967:6;3959;3952:22;3914:2;-1:-1:-1;3995:16:1;;3904:113;-1:-1:-1;3904:113:1:o;4022:304::-;-1:-1:-1;;;;;4252:15:1;;;4234:34;;4304:15;;4299:2;4284:18;;4277:43;4184:2;4169:18;;4151:175::o;4331:841::-;4542:2;4594:21;;;4664:13;;4567:18;;;4686:22;;;4331:841;;4542:2;4727;;4745:18;;;;4786:15;;;4331:841;4832:314;4846:6;4843:1;4840:13;4832:314;;;4905:13;;4989:9;;-1:-1:-1;;;;;4985:18:1;;;4973:31;;5048:11;;;5042:18;5038:27;5024:12;;;5017:49;5086:12;;;;5121:15;;;;4958:1;4861:9;4832:314;;;-1:-1:-1;5163:3:1;;4522:650;-1:-1:-1;;;;;;;4522:650:1:o;5177:187::-;5342:14;;5335:22;5317:41;;5305:2;5290:18;;5272:92::o;5369:229::-;-1:-1:-1;;;;;5559:32:1;;;;5541:51;;5529:2;5514:18;;5496:102::o;5825:404::-;6027:2;6009:21;;;6066:2;6046:18;;;6039:30;6105:34;6100:2;6085:18;;6078:62;-1:-1:-1;;;6171:2:1;6156:18;;6149:38;6219:3;6204:19;;5999:230::o;6234:351::-;6436:2;6418:21;;;6475:2;6455:18;;;6448:30;6514:29;6509:2;6494:18;;6487:57;6576:2;6561:18;;6408:177::o;6590:::-;6736:25;;;6724:2;6709:18;;6691:76::o;6772:133::-;-1:-1:-1;;;;;6849:31:1;;6839:42;;6829:2;;6895:1;6892;6885:12;6829:2;6819:86;:::o
Swarm Source
ipfs://75da99575f0f07e069c790e5b01c3ceb08720423c5f635362ea8d635b1e858c7
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ 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.