Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SlowWallet
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-23 */ pragma solidity ^0.5.8; /** * @title The standard ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ interface IERC20 { function transfer(address, uint256) external returns (bool); function approve(address, uint256) external returns (bool); function transferFrom(address, address, uint256) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address) external view returns (uint256); function allowance(address, address) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed holder, address indexed spender, uint256 value); } /// @title Time-delayed ERC-20 wallet contract. /// Can only transfer tokens after publicly recording the intention to do so /// at least four weeks in advance. contract SlowWallet { // TYPES struct TransferProposal { address destination; uint256 value; uint256 time; string notes; bool closed; } // DATA IERC20 public token; uint256 public constant delay = 4 weeks; address public owner; // PROPOSALS mapping (uint256 => TransferProposal) public proposals; uint256 public proposalsLength; // EVENTS event TransferProposed( uint256 index, address indexed destination, uint256 value, uint256 delayUntil, string notes ); event TransferConfirmed(uint256 index, address indexed destination, uint256 value, string notes); event TransferCancelled(uint256 index, address indexed destination, uint256 value, string notes); event AllTransfersCancelled(); // FUNCTIONALITY constructor(address tokenAddress) public { token = IERC20(tokenAddress); owner = 0xA7b123D54BcEc14b4206dAb796982a6d5aaA6770; } modifier onlyOwner() { require(msg.sender == owner, "must be owner"); _; } /// Propose a new transfer, which can be confirmed after two weeks. function propose(address destination, uint256 value, string calldata notes) external onlyOwner { // Delay by at least two weeks. // We are relying on block.timestamp for this, and aware of the possibility of its // manipulation by miners. But we are working at a timescale that is already much // longer than the variance in timestamps we have observed and expect in the future, // so we are satisfied with this choice. // solium-disable-next-line security/no-block-members uint256 delayUntil = now + delay; require(delayUntil >= now, "delay overflowed"); proposals[proposalsLength] = TransferProposal({ destination: destination, value: value, time: delayUntil, notes: notes, closed: false }); proposalsLength++; emit TransferProposed(proposalsLength-1, destination, value, delayUntil, notes); } /// Cancel a proposed transfer. function cancel(uint256 index, address addr, uint256 value) external onlyOwner { // Check authorization. requireMatchingOpenProposal(index, addr, value); // Cancel transfer. proposals[index].closed = true; emit TransferCancelled(index, addr, value, proposals[index].notes); } /// Mark all proposals "void", in O(1). function voidAll() external onlyOwner { proposalsLength = 0; emit AllTransfersCancelled(); } /// Confirm and execute a proposed transfer, if enough time has passed since it was proposed. function confirm(uint256 index, address destination, uint256 value) external onlyOwner { // Check authorization. requireMatchingOpenProposal(index, destination, value); // See commentary above about using `now`. // solium-disable-next-line security/no-block-members require(proposals[index].time < now, "too early"); // Record execution of transfer. proposals[index].closed = true; emit TransferConfirmed(index, destination, value, proposals[index].notes); // Proceed with execution of transfer. require(token.transfer(destination, value)); } /// Throw unless the given transfer proposal exists and matches `destination` and `value`. function requireMatchingOpenProposal(uint256 index, address destination, uint256 value) private view { require(index < proposalsLength, "index too high, or transfer voided"); require(!proposals[index].closed, "transfer already closed"); // Slither reports "dangerous strict equality" for each of these, but it's OK. // These equalities are to confirm that the transfer entered is equal to the // matching previous transfer. We're vetting data entry; strict equality is appropriate. require(proposals[index].destination == destination, "destination mismatched"); require(proposals[index].value == value, "value mismatched"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"proposals","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"time","type":"uint256"},{"name":"notes","type":"string"},{"name":"closed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"addr","type":"address"},{"name":"value","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposalsLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"delay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"notes","type":"string"}],"name":"propose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"voidAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"destination","type":"address"},{"name":"value","type":"uint256"}],"name":"confirm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"tokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":true,"name":"destination","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"delayUntil","type":"uint256"},{"indexed":false,"name":"notes","type":"string"}],"name":"TransferProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":true,"name":"destination","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"notes","type":"string"}],"name":"TransferConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"},{"indexed":true,"name":"destination","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"notes","type":"string"}],"name":"TransferCancelled","type":"event"},{"anonymous":false,"inputs":[],"name":"AllTransfersCancelled","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610c948339810180604052602081101561003057600080fd5b5051600080546001600160a01b039092166001600160a01b03199283161790556001805490911673a7b123d54bcec14b4206dab796982a6d5aaa6770179055610c168061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063013cf08b14610088578063315a69fa1461014f57806344c7c867146101835780636a42b8f81461019d5780637b166f60146101a55780638da5cb5b14610228578063bf60f8ef1461024c578063d0a08d6e14610254578063fc0c546a14610286575b600080fd5b6100a56004803603602081101561009e57600080fd5b503561028e565b60405180866001600160a01b03166001600160a01b031681526020018581526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6101816004803603606081101561016557600080fd5b508035906001600160a01b036020820135169060400135610352565b005b61018b6104ab565b60408051918252519081900360200190f35b61018b6104b1565b610181600480360360608110156101bb57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156101ea57600080fd5b8201836020820111156101fc57600080fd5b803590602001918460018302840111600160201b8311171561021d57600080fd5b5090925090506104b8565b6102306106d3565b604080516001600160a01b039092168252519081900360200190f35b6101816106e2565b6101816004803603606081101561026a57600080fd5b508035906001600160a01b036020820135169060400135610767565b6102306109a9565b60026020818152600092835260409283902080546001808301548386015460038501805489516101009582161595909502600019011697909704601f81018790048702840187019098528783526001600160a01b03909316969095929491929183018282801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050506004909301549192505060ff1685565b6001546001600160a01b031633146103a75760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b6103b28383836109b8565b60008381526002602081815260409283902060048101805460ff191660019081179091558451888152928301869052606094830185815260039092018054600019928116156101000292909201909116939093049382018490526001600160a01b038616937fa99797fde63ee29177c0bcd12725053c1fcecc39957a12d910dad426ddefafcf938893879391929091906080830190849080156104965780601f1061046b57610100808354040283529160200191610496565b820191906000526020600020905b81548152906001019060200180831161047957829003601f168201915b505094505050505060405180910390a2505050565b60035481565b6224ea0081565b6001546001600160a01b0316331461050d5760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b426224ea008101908110156105625760408051600160e51b62461bcd0281526020600482015260106024820152600160821b6f19195b185e481bdd995c999b1bddd95902604482015290519081900360640190fd5b6040518060a00160405280866001600160a01b0316815260200185815260200182815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182018190526003805482526002808452604092839020855181546001600160a01b0319166001600160a01b03909116178155858501516001820155928501519083015560608401518051929361061f9392850192910190610b2d565b50608091820151600491909101805460ff191691151591909117905560038054600181019091556040805182815260208101889052908101849052606081018381529281018590526001600160a01b038816927fc21d9f71ad43be26dd663dc2ae89d8a5f2e2e627520624eeff74bf1004d80b3d929188918691899189919060a08201848480828437600083820152604051601f909101601f19169092018290039850909650505050505050a25050505050565b6001546001600160a01b031681565b6001546001600160a01b031633146107375760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b600060038190556040517ff4a9bad09d9916720a4c78733bb1b637bccdc7b56ae0f78e6bb63c99934b49b99190a1565b6001546001600160a01b031633146107bc5760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b6107c78383836109b8565b60008381526002602081905260409091200154421161081f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b81b68746f6f206561726c7902604482015290519081900360640190fd5b60008381526002602081815260409283902060048101805460ff191660019081179091558451888152928301869052606094830185815260039092018054600019928116156101000292909201909116939093049382018490526001600160a01b038616937f0725491da501611b9ba3843fe633719becb32a870a63c7008fab061512c83417938893879391929091906080830190849080156109035780601f106108d857610100808354040283529160200191610903565b820191906000526020600020905b8154815290600101906020018083116108e657829003601f168201915b505094505050505060405180910390a26000805460408051600160e01b63a9059cbb0281526001600160a01b038681166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b505050506040513d602081101561099957600080fd5b50516109a457600080fd5b505050565b6000546001600160a01b031681565b60035483106109fb57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610bc96022913960400191505060405180910390fd5b60008381526002602052604090206004015460ff1615610a625760408051600160e51b62461bcd02815260206004820152601760248201526001604a1b761d1c985b9cd9995c88185b1c9958591e4818db1bdcd95902604482015290519081900360640190fd5b6000838152600260205260409020546001600160a01b03838116911614610acf5760408051600160e51b62461bcd0281526020600482015260166024820152600160521b7519195cdd1a5b985d1a5bdb881b5a5cdb585d18da195902604482015290519081900360640190fd5b60008381526002602052604090206001015481146109a45760408051600160e51b62461bcd0281526020600482015260106024820152600160821b6f1d985b1d59481b5a5cdb585d18da195902604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610b6e57805160ff1916838001178555610b9b565b82800160010185558215610b9b579182015b82811115610b9b578251825591602001919060010190610b80565b50610ba7929150610bab565b5090565b610bc591905b80821115610ba75760008155600101610bb1565b9056fe696e64657820746f6f20686967682c206f72207472616e7366657220766f69646564a165627a7a723058206811defaf98e92dd59622754e5637e22462d388026609bac1a4c78e23c7ae56300290000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100835760003560e01c8063013cf08b14610088578063315a69fa1461014f57806344c7c867146101835780636a42b8f81461019d5780637b166f60146101a55780638da5cb5b14610228578063bf60f8ef1461024c578063d0a08d6e14610254578063fc0c546a14610286575b600080fd5b6100a56004803603602081101561009e57600080fd5b503561028e565b60405180866001600160a01b03166001600160a01b031681526020018581526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156101105781810151838201526020016100f8565b50505050905090810190601f16801561013d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6101816004803603606081101561016557600080fd5b508035906001600160a01b036020820135169060400135610352565b005b61018b6104ab565b60408051918252519081900360200190f35b61018b6104b1565b610181600480360360608110156101bb57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156101ea57600080fd5b8201836020820111156101fc57600080fd5b803590602001918460018302840111600160201b8311171561021d57600080fd5b5090925090506104b8565b6102306106d3565b604080516001600160a01b039092168252519081900360200190f35b6101816106e2565b6101816004803603606081101561026a57600080fd5b508035906001600160a01b036020820135169060400135610767565b6102306109a9565b60026020818152600092835260409283902080546001808301548386015460038501805489516101009582161595909502600019011697909704601f81018790048702840187019098528783526001600160a01b03909316969095929491929183018282801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050506004909301549192505060ff1685565b6001546001600160a01b031633146103a75760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b6103b28383836109b8565b60008381526002602081815260409283902060048101805460ff191660019081179091558451888152928301869052606094830185815260039092018054600019928116156101000292909201909116939093049382018490526001600160a01b038616937fa99797fde63ee29177c0bcd12725053c1fcecc39957a12d910dad426ddefafcf938893879391929091906080830190849080156104965780601f1061046b57610100808354040283529160200191610496565b820191906000526020600020905b81548152906001019060200180831161047957829003601f168201915b505094505050505060405180910390a2505050565b60035481565b6224ea0081565b6001546001600160a01b0316331461050d5760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b426224ea008101908110156105625760408051600160e51b62461bcd0281526020600482015260106024820152600160821b6f19195b185e481bdd995c999b1bddd95902604482015290519081900360640190fd5b6040518060a00160405280866001600160a01b0316815260200185815260200182815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182018190526003805482526002808452604092839020855181546001600160a01b0319166001600160a01b03909116178155858501516001820155928501519083015560608401518051929361061f9392850192910190610b2d565b50608091820151600491909101805460ff191691151591909117905560038054600181019091556040805182815260208101889052908101849052606081018381529281018590526001600160a01b038816927fc21d9f71ad43be26dd663dc2ae89d8a5f2e2e627520624eeff74bf1004d80b3d929188918691899189919060a08201848480828437600083820152604051601f909101601f19169092018290039850909650505050505050a25050505050565b6001546001600160a01b031681565b6001546001600160a01b031633146107375760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b600060038190556040517ff4a9bad09d9916720a4c78733bb1b637bccdc7b56ae0f78e6bb63c99934b49b99190a1565b6001546001600160a01b031633146107bc5760408051600160e51b62461bcd02815260206004820152600d6024820152600160991b6c36bab9ba1031329037bbb732b902604482015290519081900360640190fd5b6107c78383836109b8565b60008381526002602081905260409091200154421161081f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b81b68746f6f206561726c7902604482015290519081900360640190fd5b60008381526002602081815260409283902060048101805460ff191660019081179091558451888152928301869052606094830185815260039092018054600019928116156101000292909201909116939093049382018490526001600160a01b038616937f0725491da501611b9ba3843fe633719becb32a870a63c7008fab061512c83417938893879391929091906080830190849080156109035780601f106108d857610100808354040283529160200191610903565b820191906000526020600020905b8154815290600101906020018083116108e657829003601f168201915b505094505050505060405180910390a26000805460408051600160e01b63a9059cbb0281526001600160a01b038681166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b505050506040513d602081101561099957600080fd5b50516109a457600080fd5b505050565b6000546001600160a01b031681565b60035483106109fb57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610bc96022913960400191505060405180910390fd5b60008381526002602052604090206004015460ff1615610a625760408051600160e51b62461bcd02815260206004820152601760248201526001604a1b761d1c985b9cd9995c88185b1c9958591e4818db1bdcd95902604482015290519081900360640190fd5b6000838152600260205260409020546001600160a01b03838116911614610acf5760408051600160e51b62461bcd0281526020600482015260166024820152600160521b7519195cdd1a5b985d1a5bdb881b5a5cdb585d18da195902604482015290519081900360640190fd5b60008381526002602052604090206001015481146109a45760408051600160e51b62461bcd0281526020600482015260106024820152600160821b6f1d985b1d59481b5a5cdb585d18da195902604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610b6e57805160ff1916838001178555610b9b565b82800160010185558215610b9b579182015b82811115610b9b578251825591602001919060010190610b80565b50610ba7929150610bab565b5090565b610bc591905b80821115610ba75760008155600101610bb1565b9056fe696e64657820746f6f20686967682c206f72207472616e7366657220766f69646564a165627a7a723058206811defaf98e92dd59622754e5637e22462d388026609bac1a4c78e23c7ae5630029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8
-----Decoded View---------------
Arg [0] : tokenAddress (address): 0x8762db106B2c2A0bccB3A80d1Ed41273552616E8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8
Deployed Bytecode Sourcemap
892:4306:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;892:4306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1235:54:0;;:::i;:::-;;;;;-1:-1:-1;;;;;1235:54:0;-1:-1:-1;;;;;1235:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1235:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3151:327;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3151:327:0;;;-1:-1:-1;;;;;3151:327:0;;;;;;;;;;:::i;:::-;;1296:30;;;:::i;:::-;;;;;;;;;;;;;;;;1140:39;;;:::i;2129:977::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;2129:977:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2129:977:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2129:977:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;2129:977:0;;-1:-1:-1;2129:977:0;-1:-1:-1;2129:977:0;:::i;1186:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1186:20:0;;;;;;;;;;;;;;3531:115;;;:::i;3753:643::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3753:643:0;;;-1:-1:-1;;;;;3753:643:0;;;;;;;;;;:::i;1114:19::-;;;:::i;1235:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1235:54:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1235:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1235:54:0;;;;;;;-1:-1:-1;;1235:54:0;;;:::o;3151:327::-;2005:5;;-1:-1:-1;;;;;2005:5:0;1991:10;:19;1983:45;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;;;;3274:47;3302:5;3309:4;3315:5;3274:27;:47::i;:::-;3363:16;;;;:9;:16;;;;;;;;;:23;;;:30;;-1:-1:-1;;3363:30:0;3389:4;3363:30;;;;;;3409:61;;;;;;;;;;;;;;;;;;3447:22;;;;3409:61;;-1:-1:-1;;3409:61:0;;;;3363:30;3409:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3409:61:0;;;;;3373:5;;3440;;3447:22;;3409:61;;;;;;;3447:22;;3409:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3151:327;;;:::o;1296:30::-;;;;:::o;1140:39::-;1172:7;1140:39;:::o;2129:977::-;2005:5;;-1:-1:-1;;;;;2005:5:0;1991:10;:19;1983:45;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;;;;2687:3;1172:7;2687:11;;;2717:17;;;2709:46;;;;;-1:-1:-1;;;;;2709:46:0;;;;;;;;;;;;-1:-1:-1;;;;;2709:46:0;;;;;;;;;;;;;;;2797:181;;;;;;;;2842:11;-1:-1:-1;;;;;2797:181:0;;;;;2875:5;2797:181;;;;2901:10;2797:181;;;;2933:5;;2797:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;2797:181:0;;;-1:-1:-1;;;2797:181:0;;;;;;;2778:15;;;2768:26;;:9;:26;;;;;;;;:210;;;;-1:-1:-1;;;;;;2768:210:0;-1:-1:-1;;;;;2768:210:0;;;;;;;;;;-1:-1:-1;2768:210:0;;;;;;;;;;;;;;;;;:26;;:210;;;;;;;;;;:::i;:::-;-1:-1:-1;2768:210:0;;;;;;;;;;;;-1:-1:-1;;2768:210:0;;;;;;;;;;2989:15;:17;;-1:-1:-1;2989:17:0;;;;;3024:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3024:74:0;;;;;2989:17;3024:74;;;;3092:5;;3024:74;;;;;;3092:5;3024:74;;3092:5;3024:74;1:33:-1;99:1;81:16;;;74:27;3024:74:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;3024:74:0;;;;-1:-1:-1;3024:74:0;;-1:-1:-1;;;;;;;3024:74:0;2039:1;2129:977;;;;:::o;1186:20::-;;;-1:-1:-1;;;;;1186:20:0;;:::o;3531:115::-;2005:5;;-1:-1:-1;;;;;2005:5:0;1991:10;:19;1983:45;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;;;;3598:1;3580:15;:19;;;3615:23;;;;3598:1;3615:23;3531:115::o;3753:643::-;2005:5;;-1:-1:-1;;;;;2005:5:0;1991:10;:19;1983:45;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;-1:-1:-1;;;;;1983:45:0;;;;;;;;;;;;;;;3884:54;3912:5;3919:11;3932:5;3884:27;:54::i;:::-;4074:16;;;;:9;:16;;;;;;;;:21;;4098:3;-1:-1:-1;4066:49:0;;;;;-1:-1:-1;;;;;4066:49:0;;;;;;;;;;;;-1:-1:-1;;;;;4066:49:0;;;;;;;;;;;;;;;4170:16;;;;:9;:16;;;;;;;;;:23;;;:30;;-1:-1:-1;;4170:30:0;4196:4;4170:30;;;;;;4216:68;;;;;;;;;;;;;;;;;;4261:22;;;;4216:68;;-1:-1:-1;;4216:68:0;;;;4170:30;4216:68;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4216:68:0;;;;;4180:5;;4254;;4261:22;;4216:68;;;;;;;4261:22;;4216:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4353:5;;;:34;;;-1:-1:-1;;;;;4353:34:0;;-1:-1:-1;;;;;4353:34:0;;;;;;;;;;;;;;;:5;;;;;:14;;:34;;;;;;;;;;;;;;;;;;:5;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;4353:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4353:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4353:34:0;4345:43;;;;;;3753:643;;;:::o;1114:19::-;;;-1:-1:-1;;;;;1114:19:0;;:::o;4500:695::-;4628:15;;4620:5;:23;4612:70;;;;-1:-1:-1;;;;;4612:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4702:16;;;;:9;:16;;;;;:23;;;;;4701:24;4693:60;;;;;-1:-1:-1;;;;;4693:60:0;;;;;;;;;;;;-1:-1:-1;;;;;4693:60:0;;;;;;;;;;;;;;;5046:16;;;;:9;:16;;;;;:28;-1:-1:-1;;;;;5046:43:0;;;:28;;:43;5038:78;;;;;-1:-1:-1;;;;;5038:78:0;;;;;;;;;;;;-1:-1:-1;;;;;5038:78:0;;;;;;;;;;;;;;;5135:16;;;;:9;:16;;;;;:22;;;:31;;5127:60;;;;;-1:-1:-1;;;;;5127:60:0;;;;;;;;;;;;-1:-1:-1;;;;;5127:60:0;;;;;;;;;;;;;;892:4306;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;892:4306:0;;;-1:-1:-1;892:4306:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://6811defaf98e92dd59622754e5637e22462d388026609bac1a4c78e23c7ae563
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.