More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0xb261ee2f69459e37e791a5bfaec5098ebb647e7be77036f4bccc1c598cf04373 | Claim Many Rewar... | (pending) | 30 mins ago | IN | 0 ETH | (Pending) | |||
Claim Many Rewar... | 20755490 | 99 days ago | IN | 0 ETH | 0.00034695 | ||||
Claim Many Rewar... | 20755466 | 99 days ago | IN | 0 ETH | 0.00034695 | ||||
Claim Many Rewar... | 20755459 | 99 days ago | IN | 0 ETH | 0.00036413 | ||||
Claim Many Rewar... | 20755440 | 99 days ago | IN | 0 ETH | 0.00038733 | ||||
Claim Many Rewar... | 20755319 | 99 days ago | IN | 0 ETH | 0.00034476 | ||||
Claim Many Rewar... | 20755310 | 99 days ago | IN | 0 ETH | 0.00123503 | ||||
Claim Many Rewar... | 20755296 | 99 days ago | IN | 0 ETH | 0.00128943 | ||||
Claim Many Rewar... | 20755187 | 99 days ago | IN | 0 ETH | 0.00089333 | ||||
Claim Many Rewar... | 20755138 | 99 days ago | IN | 0 ETH | 0.00057999 | ||||
Claim Many Rewar... | 20755119 | 99 days ago | IN | 0 ETH | 0.00110776 | ||||
Claim Many Rewar... | 20660643 | 112 days ago | IN | 0 ETH | 0.00027776 | ||||
Claim Many Rewar... | 20660490 | 112 days ago | IN | 0 ETH | 0.00028369 | ||||
Claim Many Rewar... | 20538141 | 129 days ago | IN | 0 ETH | 0.00027036 | ||||
Claim Many Rewar... | 20453084 | 141 days ago | IN | 0 ETH | 0.00004059 | ||||
Claim Many Rewar... | 20453033 | 141 days ago | IN | 0 ETH | 0.00003465 | ||||
Claim Many Rewar... | 20451878 | 141 days ago | IN | 0 ETH | 0.00003009 | ||||
Claim Many Rewar... | 20415523 | 146 days ago | IN | 0 ETH | 0.00002954 | ||||
Claim Many Rewar... | 20408300 | 147 days ago | IN | 0 ETH | 0.00003 | ||||
Claim Many Rewar... | 20408300 | 147 days ago | IN | 0 ETH | 0.00005602 | ||||
Claim Many Rewar... | 20408300 | 147 days ago | IN | 0 ETH | 0.00003001 | ||||
Claim Many Rewar... | 20395670 | 149 days ago | IN | 0 ETH | 0.00005077 | ||||
Claim Many Rewar... | 20371023 | 152 days ago | IN | 0 ETH | 0.0014859 | ||||
Claim Many Rewar... | 20370855 | 152 days ago | IN | 0 ETH | 0.00011818 | ||||
Claim Many Rewar... | 20365244 | 153 days ago | IN | 0 ETH | 0.00009039 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
CampaignBank
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-02-13 */ pragma solidity ^0.5.0; pragma experimental ABIEncoderV2; /** * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. * * These functions can be used to verify that a message was signed by the holder * of the private keys of a given address. */ library ECDSA { /** * @dev Returns the address that signed a hashed message (`hash`) with * `signature`. This address can then be used for verification purposes. * * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: * this function rejects them by requiring the `s` value to be in the lower * half order, and the `v` value to be either 27 or 28. * * NOTE: This call _does not revert_ if the signature is invalid, or * if the signer is otherwise unable to be retrieved. In those scenarios, * the zero address is returned. * * IMPORTANT: `hash` _must_ be the result of a hash operation for the * verification to be secure: it is possible to craft signatures that * recover to arbitrary addresses for non-hashed data. A safe way to ensure * this is by receiving a hash of the original message (which may otherwise * be too long), and then calling {toEthSignedMessageHash} on it. */ function recover(bytes32 hash, bytes memory signature) internal pure returns (address) { // Check the signature length if (signature.length != 65) { return (address(0)); } // Divide the signature in r, s and v variables bytes32 r; bytes32 s; uint8 v; // ecrecover takes the signature parameters, and the only way to get them // currently is to use assembly. // solhint-disable-next-line no-inline-assembly assembly { r := mload(add(signature, 0x20)) s := mload(add(signature, 0x40)) v := byte(0, mload(add(signature, 0x60))) } // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines // the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most // signatures from current libraries generate a unique signature with an s-value in the lower half order. // // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept // these malleable signatures as well. if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) { return address(0); } if (v != 27 && v != 28) { return address(0); } // If the signature is valid (and not malleable), return the signer address return ecrecover(hash, v, r, s); } /** * @dev Returns an Ethereum Signed Message, created from a `hash`. This * replicates the behavior of the * https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign[`eth_sign`] * JSON-RPC method. * * See {recover}. */ function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { // 32 is the length in bytes of hash, // enforced by the type signature above return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract CampaignBank is Ownable { using ECDSA for bytes32; mapping(address => bool) public trustedSigner; mapping(bytes32 => bool) public alreadySent; event RegisteredSigner( address indexed sender, address indexed signer, uint256 indexed date ); event RemovedSigner( address indexed sender, address indexed signer, uint256 indexed date ); event Rewarded( address indexed targetContract, bytes32 indexed hashedSig, bytes payload, uint256 signedTimestamp, bytes signature, address sender ); constructor() public Ownable() {} function registerTrustedSigner(address target, bool allowed) public onlyOwner { if (allowed && !trustedSigner[target]) { trustedSigner[target] = true; emit RegisteredSigner(msg.sender, target, block.timestamp); } else if (!allowed && trustedSigner[target]) { trustedSigner[target] = false; emit RemovedSigner(msg.sender, target, block.timestamp); } } event TransactionRelayed( address indexed sender, address indexed targetContract, bytes payload, uint256 value, bytes signature ); function claimManyRewards( address[] memory targetContract, bytes[] memory payload, uint256[] memory expirationTimestamp, bytes[] memory signature ) public { require( targetContract.length == payload.length, "Arrays should be of the same size" ); require( targetContract.length == expirationTimestamp.length, "Arrays should be of the same size" ); require( targetContract.length == signature.length, "Arrays should be of the same size" ); uint256 length = targetContract.length; for (uint256 i = 0; i < length; i++) { if ( !claimReward( targetContract[i], payload[i], expirationTimestamp[i], signature[i] ) ) { revert("Transaction failed"); } } } function claimReward( address targetContract, bytes memory payload, uint256 expirationTimestamp, bytes memory signature ) public returns (bool) { require(block.timestamp < expirationTimestamp, "Signature too old"); bytes memory blob = abi.encode( targetContract, payload, expirationTimestamp ); bytes32 signed = keccak256(blob); bytes32 verify = signed.toEthSignedMessageHash(); require(!alreadySent[signed], "Already sent!"); require( trustedSigner[verify.recover(signature)], "Invalid signature provided" ); alreadySent[signed] = true; bool result; (result,) = targetContract.call(payload); if (!result) { revert("Failed call"); } emit Rewarded( targetContract, signed, payload, expirationTimestamp, signature, msg.sender ); return true; } function halt() public onlyOwner { selfdestruct(address(uint256(owner()))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":true,"internalType":"uint256","name":"date","type":"uint256"}],"name":"RegisteredSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":true,"internalType":"uint256","name":"date","type":"uint256"}],"name":"RemovedSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"targetContract","type":"address"},{"indexed":true,"internalType":"bytes32","name":"hashedSig","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"signedTimestamp","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"Rewarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"targetContract","type":"address"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"}],"name":"TransactionRelayed","type":"event"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"alreadySent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targetContract","type":"address[]"},{"internalType":"bytes[]","name":"payload","type":"bytes[]"},{"internalType":"uint256[]","name":"expirationTimestamp","type":"uint256[]"},{"internalType":"bytes[]","name":"signature","type":"bytes[]"}],"name":"claimManyRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"claimReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"registerTrustedSigner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"trustedSigner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3611a51806100dc6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b1461011f5780638f32d59b1461013d578063b2e767b91461015b578063e9e211a11461018b578063f2fde38b146101bb5761009e565b80633b1590cb146100a35780635ed7ca5b146100bf578063715018a6146100c957806388280fa0146100d35780638ba1be4c146100ef575b600080fd5b6100bd60048036036100b89190810190611015565b6101d7565b005b6100c7610446565b005b6100d16104c3565b005b6100ed60048036036100e891908101906110e4565b6105c9565b005b61010960048036036101049190810190611051565b610755565b60405161011691906115cd565b60405180910390f35b610127610a19565b6040516101349190611574565b60405180910390f35b610145610a42565b60405161015291906115cd565b60405180910390f35b610175600480360361017091908101906111a7565b610a99565b60405161018291906115cd565b60405180910390f35b6101a560048036036101a09190810190610fec565b610ab9565b6040516101b291906115cd565b60405180910390f35b6101d560048036036101d09190810190610fec565b610ad9565b005b6101df610a42565b61021e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021590611700565b60405180910390fd5b8080156102755750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156103315760018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550428273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f969a7868194f6dc0b5cef08d07da8e6b3871bdb1e17154810fa60d85880b287e60405160405180910390a4610442565b801580156103885750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610441576000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550428273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167facd41378bbd901f06db8205d5ec29579b5b23b52b2ede171c251134b38d80d7b60405160405180910390a45b5b5050565b61044e610a42565b61048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490611700565b60405180910390fd5b610495610a19565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6104cb610a42565b61050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050190611700565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b825184511461060d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060490611680565b60405180910390fd5b8151845114610651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064890611680565b60405180910390fd5b8051845114610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c90611680565b60405180910390fd5b60008451905060008090505b8181101561074d576107018682815181106106b857fe5b60200260200101518683815181106106cc57fe5b60200260200101518684815181106106e057fe5b60200260200101518685815181106106f457fe5b6020026020010151610755565b610740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073790611740565b60405180910390fd5b80806001019150506106a1565b505050505050565b6000824210610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906116c0565b60405180910390fd5b60608585856040516020016107b09392919061158f565b604051602081830303815290604052905060008180519060200120905060006107d882610b2c565b90506002600083815260200190815260200160002060009054906101000a900460ff161561083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611720565b60405180910390fd5b600160006108528784610b5c90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d090611760565b60405180910390fd5b60016002600084815260200190815260200160002060006101000a81548160ff02191690831515021790555060008873ffffffffffffffffffffffffffffffffffffffff168860405161092c9190611537565b6000604051808303816000865af19150503d8060008114610969576040519150601f19603f3d011682016040523d82523d6000602084013e61096e565b606091505b505080915050806109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ab906116e0565b60405180910390fd5b828973ffffffffffffffffffffffffffffffffffffffff167f37117caaaab0b823cf81e70efa1e14cc33e0152b31f85a847bf9ff7ffe2435bc8a8a8a33604051610a01949392919061162d565b60405180910390a36001945050505050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b610ae1610a42565b610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611700565b60405180910390fd5b610b2981610c48565b50565b600081604051602001610b3f919061154e565b604051602081830303815290604052805190602001209050919050565b60006041825114610b705760009050610c42565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610bc45760009350505050610c42565b601b8160ff1614158015610bdc5750601c8160ff1614155b15610bed5760009350505050610c42565b60018682858560405160008152602001604052604051610c1094939291906115e8565b6020604051602081039080840390855afa158015610c32573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf906116a0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050610d85816119b2565b92915050565b600082601f830112610d9c57600080fd5b8135610daf610daa826117ad565b611780565b91508181835260208401935060208101905083856020840282011115610dd457600080fd5b60005b83811015610e045781610dea8882610d76565b845260208401935060208301925050600181019050610dd7565b5050505092915050565b600082601f830112610e1f57600080fd5b8135610e32610e2d826117d5565b611780565b9150818183526020840193506020810190508360005b83811015610e785781358601610e5e8882610f2f565b845260208401935060208301925050600181019050610e48565b5050505092915050565b600082601f830112610e9357600080fd5b8135610ea6610ea1826117fd565b611780565b91508181835260208401935060208101905083856020840282011115610ecb57600080fd5b60005b83811015610efb5781610ee18882610fd7565b845260208401935060208301925050600181019050610ece565b5050505092915050565b600081359050610f14816119c9565b92915050565b600081359050610f29816119e0565b92915050565b600082601f830112610f4057600080fd5b8135610f53610f4e82611825565b611780565b91508082526020830160208301858383011115610f6f57600080fd5b610f7a838284611955565b50505092915050565b600082601f830112610f9457600080fd5b8135610fa7610fa282611851565b611780565b91508082526020830160208301858383011115610fc357600080fd5b610fce838284611955565b50505092915050565b600081359050610fe6816119f7565b92915050565b600060208284031215610ffe57600080fd5b600061100c84828501610d76565b91505092915050565b6000806040838503121561102857600080fd5b600061103685828601610d76565b925050602061104785828601610f05565b9150509250929050565b6000806000806080858703121561106757600080fd5b600061107587828801610d76565b945050602085013567ffffffffffffffff81111561109257600080fd5b61109e87828801610f83565b93505060406110af87828801610fd7565b925050606085013567ffffffffffffffff8111156110cc57600080fd5b6110d887828801610f83565b91505092959194509250565b600080600080608085870312156110fa57600080fd5b600085013567ffffffffffffffff81111561111457600080fd5b61112087828801610d8b565b945050602085013567ffffffffffffffff81111561113d57600080fd5b61114987828801610e0e565b935050604085013567ffffffffffffffff81111561116657600080fd5b61117287828801610e82565b925050606085013567ffffffffffffffff81111561118f57600080fd5b61119b87828801610e0e565b91505092959194509250565b6000602082840312156111b957600080fd5b60006111c784828501610f1a565b91505092915050565b6111d98161191f565b82525050565b6111e8816118c0565b82525050565b6111f7816118d2565b82525050565b611206816118de565b82525050565b61121d611218826118de565b611997565b82525050565b600061122e8261187d565b6112388185611888565b9350611248818560208601611964565b611251816119a1565b840191505092915050565b60006112678261187d565b6112718185611899565b9350611281818560208601611964565b80840191505092915050565b600061129a6021836118a4565b91507f4172726179732073686f756c64206265206f66207468652073616d652073697a60008301527f65000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611300601c836118b5565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006113406026836118a4565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113a66011836118a4565b91507f5369676e617475726520746f6f206f6c640000000000000000000000000000006000830152602082019050919050565b60006113e6600b836118a4565b91507f4661696c65642063616c6c0000000000000000000000000000000000000000006000830152602082019050919050565b60006114266020836118a4565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611466600d836118a4565b91507f416c72656164792073656e7421000000000000000000000000000000000000006000830152602082019050919050565b60006114a66012836118a4565b91507f5472616e73616374696f6e206661696c656400000000000000000000000000006000830152602082019050919050565b60006114e6601a836118a4565b91507f496e76616c6964207369676e61747572652070726f76696465640000000000006000830152602082019050919050565b61152281611908565b82525050565b61153181611912565b82525050565b6000611543828461125c565b915081905092915050565b6000611559826112f3565b9150611565828461120c565b60208201915081905092915050565b600060208201905061158960008301846111df565b92915050565b60006060820190506115a460008301866111df565b81810360208301526115b68185611223565b90506115c56040830184611519565b949350505050565b60006020820190506115e260008301846111ee565b92915050565b60006080820190506115fd60008301876111fd565b61160a6020830186611528565b61161760408301856111fd565b61162460608301846111fd565b95945050505050565b600060808201905081810360008301526116478187611223565b90506116566020830186611519565b81810360408301526116688185611223565b905061167760608301846111d0565b95945050505050565b600060208201905081810360008301526116998161128d565b9050919050565b600060208201905081810360008301526116b981611333565b9050919050565b600060208201905081810360008301526116d981611399565b9050919050565b600060208201905081810360008301526116f9816113d9565b9050919050565b6000602082019050818103600083015261171981611419565b9050919050565b6000602082019050818103600083015261173981611459565b9050919050565b6000602082019050818103600083015261175981611499565b9050919050565b60006020820190508181036000830152611779816114d9565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156117a357600080fd5b8060405250919050565b600067ffffffffffffffff8211156117c457600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156117ec57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561181457600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561183c57600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff82111561186857600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006118cb826118e8565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061192a82611931565b9050919050565b600061193c82611943565b9050919050565b600061194e826118e8565b9050919050565b82818337600083830152505050565b60005b83811015611982578082015181840152602081019050611967565b83811115611991576000848401525b50505050565b6000819050919050565b6000601f19601f8301169050919050565b6119bb816118c0565b81146119c657600080fd5b50565b6119d2816118d2565b81146119dd57600080fd5b50565b6119e9816118de565b81146119f457600080fd5b50565b611a0081611908565b8114611a0b57600080fd5b5056fea365627a7a7231582011e5cd3de85c1b12f667ce3ca96c080d8bebe1aa987adcb772d3dccf3b78a3ef6c6578706572696d656e74616cf564736f6c63430005100040
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b1461011f5780638f32d59b1461013d578063b2e767b91461015b578063e9e211a11461018b578063f2fde38b146101bb5761009e565b80633b1590cb146100a35780635ed7ca5b146100bf578063715018a6146100c957806388280fa0146100d35780638ba1be4c146100ef575b600080fd5b6100bd60048036036100b89190810190611015565b6101d7565b005b6100c7610446565b005b6100d16104c3565b005b6100ed60048036036100e891908101906110e4565b6105c9565b005b61010960048036036101049190810190611051565b610755565b60405161011691906115cd565b60405180910390f35b610127610a19565b6040516101349190611574565b60405180910390f35b610145610a42565b60405161015291906115cd565b60405180910390f35b610175600480360361017091908101906111a7565b610a99565b60405161018291906115cd565b60405180910390f35b6101a560048036036101a09190810190610fec565b610ab9565b6040516101b291906115cd565b60405180910390f35b6101d560048036036101d09190810190610fec565b610ad9565b005b6101df610a42565b61021e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021590611700565b60405180910390fd5b8080156102755750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156103315760018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550428273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f969a7868194f6dc0b5cef08d07da8e6b3871bdb1e17154810fa60d85880b287e60405160405180910390a4610442565b801580156103885750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610441576000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550428273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167facd41378bbd901f06db8205d5ec29579b5b23b52b2ede171c251134b38d80d7b60405160405180910390a45b5b5050565b61044e610a42565b61048d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048490611700565b60405180910390fd5b610495610a19565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6104cb610a42565b61050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050190611700565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b825184511461060d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060490611680565b60405180910390fd5b8151845114610651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064890611680565b60405180910390fd5b8051845114610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c90611680565b60405180910390fd5b60008451905060008090505b8181101561074d576107018682815181106106b857fe5b60200260200101518683815181106106cc57fe5b60200260200101518684815181106106e057fe5b60200260200101518685815181106106f457fe5b6020026020010151610755565b610740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073790611740565b60405180910390fd5b80806001019150506106a1565b505050505050565b6000824210610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906116c0565b60405180910390fd5b60608585856040516020016107b09392919061158f565b604051602081830303815290604052905060008180519060200120905060006107d882610b2c565b90506002600083815260200190815260200160002060009054906101000a900460ff161561083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611720565b60405180910390fd5b600160006108528784610b5c90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d090611760565b60405180910390fd5b60016002600084815260200190815260200160002060006101000a81548160ff02191690831515021790555060008873ffffffffffffffffffffffffffffffffffffffff168860405161092c9190611537565b6000604051808303816000865af19150503d8060008114610969576040519150601f19603f3d011682016040523d82523d6000602084013e61096e565b606091505b505080915050806109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ab906116e0565b60405180910390fd5b828973ffffffffffffffffffffffffffffffffffffffff167f37117caaaab0b823cf81e70efa1e14cc33e0152b31f85a847bf9ff7ffe2435bc8a8a8a33604051610a01949392919061162d565b60405180910390a36001945050505050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b610ae1610a42565b610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611700565b60405180910390fd5b610b2981610c48565b50565b600081604051602001610b3f919061154e565b604051602081830303815290604052805190602001209050919050565b60006041825114610b705760009050610c42565b60008060006020850151925060408501519150606085015160001a90507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115610bc45760009350505050610c42565b601b8160ff1614158015610bdc5750601c8160ff1614155b15610bed5760009350505050610c42565b60018682858560405160008152602001604052604051610c1094939291906115e8565b6020604051602081039080840390855afa158015610c32573d6000803e3d6000fd5b5050506020604051035193505050505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf906116a0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050610d85816119b2565b92915050565b600082601f830112610d9c57600080fd5b8135610daf610daa826117ad565b611780565b91508181835260208401935060208101905083856020840282011115610dd457600080fd5b60005b83811015610e045781610dea8882610d76565b845260208401935060208301925050600181019050610dd7565b5050505092915050565b600082601f830112610e1f57600080fd5b8135610e32610e2d826117d5565b611780565b9150818183526020840193506020810190508360005b83811015610e785781358601610e5e8882610f2f565b845260208401935060208301925050600181019050610e48565b5050505092915050565b600082601f830112610e9357600080fd5b8135610ea6610ea1826117fd565b611780565b91508181835260208401935060208101905083856020840282011115610ecb57600080fd5b60005b83811015610efb5781610ee18882610fd7565b845260208401935060208301925050600181019050610ece565b5050505092915050565b600081359050610f14816119c9565b92915050565b600081359050610f29816119e0565b92915050565b600082601f830112610f4057600080fd5b8135610f53610f4e82611825565b611780565b91508082526020830160208301858383011115610f6f57600080fd5b610f7a838284611955565b50505092915050565b600082601f830112610f9457600080fd5b8135610fa7610fa282611851565b611780565b91508082526020830160208301858383011115610fc357600080fd5b610fce838284611955565b50505092915050565b600081359050610fe6816119f7565b92915050565b600060208284031215610ffe57600080fd5b600061100c84828501610d76565b91505092915050565b6000806040838503121561102857600080fd5b600061103685828601610d76565b925050602061104785828601610f05565b9150509250929050565b6000806000806080858703121561106757600080fd5b600061107587828801610d76565b945050602085013567ffffffffffffffff81111561109257600080fd5b61109e87828801610f83565b93505060406110af87828801610fd7565b925050606085013567ffffffffffffffff8111156110cc57600080fd5b6110d887828801610f83565b91505092959194509250565b600080600080608085870312156110fa57600080fd5b600085013567ffffffffffffffff81111561111457600080fd5b61112087828801610d8b565b945050602085013567ffffffffffffffff81111561113d57600080fd5b61114987828801610e0e565b935050604085013567ffffffffffffffff81111561116657600080fd5b61117287828801610e82565b925050606085013567ffffffffffffffff81111561118f57600080fd5b61119b87828801610e0e565b91505092959194509250565b6000602082840312156111b957600080fd5b60006111c784828501610f1a565b91505092915050565b6111d98161191f565b82525050565b6111e8816118c0565b82525050565b6111f7816118d2565b82525050565b611206816118de565b82525050565b61121d611218826118de565b611997565b82525050565b600061122e8261187d565b6112388185611888565b9350611248818560208601611964565b611251816119a1565b840191505092915050565b60006112678261187d565b6112718185611899565b9350611281818560208601611964565b80840191505092915050565b600061129a6021836118a4565b91507f4172726179732073686f756c64206265206f66207468652073616d652073697a60008301527f65000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611300601c836118b5565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006113406026836118a4565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113a66011836118a4565b91507f5369676e617475726520746f6f206f6c640000000000000000000000000000006000830152602082019050919050565b60006113e6600b836118a4565b91507f4661696c65642063616c6c0000000000000000000000000000000000000000006000830152602082019050919050565b60006114266020836118a4565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611466600d836118a4565b91507f416c72656164792073656e7421000000000000000000000000000000000000006000830152602082019050919050565b60006114a66012836118a4565b91507f5472616e73616374696f6e206661696c656400000000000000000000000000006000830152602082019050919050565b60006114e6601a836118a4565b91507f496e76616c6964207369676e61747572652070726f76696465640000000000006000830152602082019050919050565b61152281611908565b82525050565b61153181611912565b82525050565b6000611543828461125c565b915081905092915050565b6000611559826112f3565b9150611565828461120c565b60208201915081905092915050565b600060208201905061158960008301846111df565b92915050565b60006060820190506115a460008301866111df565b81810360208301526115b68185611223565b90506115c56040830184611519565b949350505050565b60006020820190506115e260008301846111ee565b92915050565b60006080820190506115fd60008301876111fd565b61160a6020830186611528565b61161760408301856111fd565b61162460608301846111fd565b95945050505050565b600060808201905081810360008301526116478187611223565b90506116566020830186611519565b81810360408301526116688185611223565b905061167760608301846111d0565b95945050505050565b600060208201905081810360008301526116998161128d565b9050919050565b600060208201905081810360008301526116b981611333565b9050919050565b600060208201905081810360008301526116d981611399565b9050919050565b600060208201905081810360008301526116f9816113d9565b9050919050565b6000602082019050818103600083015261171981611419565b9050919050565b6000602082019050818103600083015261173981611459565b9050919050565b6000602082019050818103600083015261175981611499565b9050919050565b60006020820190508181036000830152611779816114d9565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156117a357600080fd5b8060405250919050565b600067ffffffffffffffff8211156117c457600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156117ec57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561181457600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561183c57600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff82111561186857600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006118cb826118e8565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061192a82611931565b9050919050565b600061193c82611943565b9050919050565b600061194e826118e8565b9050919050565b82818337600083830152505050565b60005b83811015611982578082015181840152602081019050611967565b83811115611991576000848401525b50505050565b6000819050919050565b6000601f19601f8301169050919050565b6119bb816118c0565b81146119c657600080fd5b50565b6119d2816118d2565b81146119dd57600080fd5b50565b6119e9816118de565b81146119f457600080fd5b50565b611a0081611908565b8114611a0b57600080fd5b5056fea365627a7a7231582011e5cd3de85c1b12f667ce3ca96c080d8bebe1aa987adcb772d3dccf3b78a3ef6c6578706572696d656e74616cf564736f6c63430005100040
Deployed Bytecode Sourcemap
6140:3585:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6140:3585:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6836:457;;;;;;;;;;;;;;;;:::i;:::-;;9631:91;;;:::i;:::-;;5394:140;;;:::i;:::-;;7489:1027;;;;;;;;;;;;;;;;:::i;:::-;;8524:1099;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4585:79;;;:::i;:::-;;;;;;;;;;;;;;;;4951:92;;;:::i;:::-;;;;;;;;;;;;;;;;6264:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6212:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5689:109;;;;;;;;;;;;;;;;:::i;:::-;;6836:457;4797:9;:7;:9::i;:::-;4789:54;;;;;;;;;;;;;;;;;;;;;;6952:7;:33;;;;;6964:13;:21;6978:6;6964:21;;;;;;;;;;;;;;;;;;;;;;;;;6963:22;6952:33;6948:338;;;7026:4;7002:13;:21;7016:6;7002:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7087:15;7079:6;7050:53;;7067:10;7050:53;;;;;;;;;;;;6948:338;;;7126:7;7125:8;:33;;;;;7137:13;:21;7151:6;7137:21;;;;;;;;;;;;;;;;;;;;;;;;;7125:33;7121:165;;;7199:5;7175:13;:21;7189:6;7175:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7258:15;7250:6;7224:50;;7238:10;7224:50;;;;;;;;;;;;7121:165;6948:338;6836:457;;:::o;9631:91::-;4797:9;:7;:9::i;:::-;4789:54;;;;;;;;;;;;;;;;;;;;;;9704:7;:5;:7::i;:::-;9696:16;;9675:39;;;5394:140;4797:9;:7;:9::i;:::-;4789:54;;;;;;;;;;;;;;;;;;;;;;5493:1;5456:40;;5477:6;;;;;;;;;;;5456:40;;;;;;;;;;;;5524:1;5507:6;;:19;;;;;;;;;;;;;;;;;;5394:140::o;7489:1027::-;7744:7;:14;7719;:21;:39;7697:122;;;;;;;;;;;;;;;;;;;;;;7877:19;:26;7852:14;:21;:51;7830:134;;;;;;;;;;;;;;;;;;;;;;8022:9;:16;7997:14;:21;:41;7975:124;;;;;;;;;;;;;;;;;;;;;;8110:14;8127;:21;8110:38;;8166:9;8178:1;8166:13;;8161:348;8185:6;8181:1;:10;8161:348;;;8236:183;8270:14;8285:1;8270:17;;;;;;;;;;;;;;8310:7;8318:1;8310:10;;;;;;;;;;;;;;8343:19;8363:1;8343:22;;;;;;;;;;;;;;8388:9;8398:1;8388:12;;;;;;;;;;;;;;8236:11;:183::i;:::-;8213:285;;8454:28;;;;;;;;;;;;;;;;;;;8213:285;8193:3;;;;;;;8161:348;;;;7489:1027;;;;;:::o;8524:1099::-;8703:4;8746:19;8728:15;:37;8720:67;;;;;;;;;;;;;;;;;;;;;;8800:17;8845:14;8874:7;8896:19;8820:106;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8820:106:0;;;8800:126;;8937:14;8964:4;8954:15;;;;;;8937:32;;8980:14;8997:31;:6;:29;:31::i;:::-;8980:48;;9048:11;:19;9060:6;9048:19;;;;;;;;;;;;;;;;;;;;;9047:20;9039:46;;;;;;;;;;;;;;;;;;;;;;9120:13;:40;9134:25;9149:9;9134:6;:14;;:25;;;;:::i;:::-;9120:40;;;;;;;;;;;;;;;;;;;;;;;;;9098:116;;;;;;;;;;;;;;;;;;;;;;9249:4;9227:11;:19;9239:6;9227:19;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9266:11;9300:14;:19;;9320:7;9300:28;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9288:40:0;;;;;9344:6;9339:61;;9367:21;;;;;;;;;;;;;;;;;;;9339:61;9469:6;9440:14;9417:174;;;9490:7;9512:19;9546:9;9570:10;9417:174;;;;;;;;;;;;;;;;;;9611:4;9604:11;;;;;;8524:1099;;;;;;:::o;4585:79::-;4623:7;4650:6;;;;;;;;;;;4643:13;;4585:79;:::o;4951:92::-;4991:4;5029:6;;;;;;;;;;;5015:20;;:10;:20;;;5008:27;;4951:92;:::o;6264:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;6212:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5689:109::-;4797:9;:7;:9::i;:::-;4789:54;;;;;;;;;;;;;;;;;;;;;;5762:28;5781:8;5762:18;:28::i;:::-;5689:109;:::o;3492:269::-;3561:7;3747:4;3694:58;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3694:58:0;;;3684:69;;;;;;3677:76;;3492:269;;;:::o;1288:1930::-;1366:7;1449:2;1429:9;:16;:22;1425:74;;1484:1;1468:19;;;;1425:74;1568:9;1588;1608:7;1860:4;1849:9;1845:20;1839:27;1834:32;;1906:4;1895:9;1891:20;1885:27;1880:32;;1960:4;1949:9;1945:20;1939:27;1936:1;1931:36;1926:41;;2890:66;2885:1;2877:10;;:79;2873:129;;;2988:1;2973:17;;;;;;;2873:129;3023:2;3018:1;:7;;;;:18;;;;;3034:2;3029:1;:7;;;;3018:18;3014:68;;;3068:1;3053:17;;;;;;;3014:68;3186:24;3196:4;3202:1;3205;3208;3186:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3186:24:0;;;;;;;;3179:31;;;;;1288:1930;;;;;:::o;5904:229::-;5998:1;5978:22;;:8;:22;;;;5970:73;;;;;;;;;;;;;;;;;;;;;;6088:8;6059:38;;6080:6;;;;;;;;;;;6059:38;;;;;;;;;;;;6117:8;6108:6;;:17;;;;;;;;;;;;;;;;;;5904:229;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;755:3;748:50;821:4;816:3;812:14;805:21;;849:4;844:3;840:14;833:21;;712:149;702:1;699;695:9;690:14;;655:206;;;659:14;237:630;;;;;;;;891:693;;1013:3;1006:4;998:6;994:17;990:27;980:2;;1031:1;1028;1021:12;980:2;1068:6;1055:20;1090:85;1105:69;1167:6;1105:69;;;1090:85;;;1081:94;;1192:5;1217:6;1210:5;1203:21;1247:4;1239:6;1235:17;1225:27;;1269:4;1264:3;1260:14;1253:21;;1322:6;1355:1;1340:238;1365:6;1362:1;1359:13;1340:238;;;1448:3;1435:17;1427:6;1423:30;1472:42;1510:3;1498:10;1472:42;;;1467:3;1460:55;1538:4;1533:3;1529:14;1522:21;;1566:4;1561:3;1557:14;1550:21;;1397:181;1387:1;1384;1380:9;1375:14;;1340:238;;;1344:14;973:611;;;;;;;;1610:707;;1727:3;1720:4;1712:6;1708:17;1704:27;1694:2;;1745:1;1742;1735:12;1694:2;1782:6;1769:20;1804:80;1819:64;1876:6;1819:64;;;1804:80;;;1795:89;;1901:5;1926:6;1919:5;1912:21;1956:4;1948:6;1944:17;1934:27;;1978:4;1973:3;1969:14;1962:21;;2031:6;2078:3;2070:4;2062:6;2058:17;2053:3;2049:27;2046:36;2043:2;;;2095:1;2092;2085:12;2043:2;2120:1;2105:206;2130:6;2127:1;2124:13;2105:206;;;2188:3;2210:37;2243:3;2231:10;2210:37;;;2205:3;2198:50;2271:4;2266:3;2262:14;2255:21;;2299:4;2294:3;2290:14;2283:21;;2162:149;2152:1;2149;2145:9;2140:14;;2105:206;;;2109:14;1687:630;;;;;;;;2325:124;;2402:6;2389:20;2380:29;;2414:30;2438:5;2414:30;;;2374:75;;;;;2456:130;;2536:6;2523:20;2514:29;;2548:33;2575:5;2548:33;;;2508:78;;;;;2594:432;;2691:3;2684:4;2676:6;2672:17;2668:27;2658:2;;2709:1;2706;2699:12;2658:2;2746:6;2733:20;2768:60;2783:44;2820:6;2783:44;;;2768:60;;;2759:69;;2848:6;2841:5;2834:21;2884:4;2876:6;2872:17;2917:4;2910:5;2906:16;2952:3;2943:6;2938:3;2934:16;2931:25;2928:2;;;2969:1;2966;2959:12;2928:2;2979:41;3013:6;3008:3;3003;2979:41;;;2651:375;;;;;;;;3035:440;;3136:3;3129:4;3121:6;3117:17;3113:27;3103:2;;3154:1;3151;3144:12;3103:2;3191:6;3178:20;3213:64;3228:48;3269:6;3228:48;;;3213:64;;;3204:73;;3297:6;3290:5;3283:21;3333:4;3325:6;3321:17;3366:4;3359:5;3355:16;3401:3;3392:6;3387:3;3383:16;3380:25;3377:2;;;3418:1;3415;3408:12;3377:2;3428:41;3462:6;3457:3;3452;3428:41;;;3096:379;;;;;;;;3483:130;;3563:6;3550:20;3541:29;;3575:33;3602:5;3575:33;;;3535:78;;;;;3620:241;;3724:2;3712:9;3703:7;3699:23;3695:32;3692:2;;;3740:1;3737;3730:12;3692:2;3775:1;3792:53;3837:7;3828:6;3817:9;3813:22;3792:53;;;3782:63;;3754:97;3686:175;;;;;3868:360;;;3986:2;3974:9;3965:7;3961:23;3957:32;3954:2;;;4002:1;3999;3992:12;3954:2;4037:1;4054:53;4099:7;4090:6;4079:9;4075:22;4054:53;;;4044:63;;4016:97;4144:2;4162:50;4204:7;4195:6;4184:9;4180:22;4162:50;;;4152:60;;4123:95;3948:280;;;;;;4235:825;;;;;4408:3;4396:9;4387:7;4383:23;4379:33;4376:2;;;4425:1;4422;4415:12;4376:2;4460:1;4477:53;4522:7;4513:6;4502:9;4498:22;4477:53;;;4467:63;;4439:97;4595:2;4584:9;4580:18;4567:32;4619:18;4611:6;4608:30;4605:2;;;4651:1;4648;4641:12;4605:2;4671:62;4725:7;4716:6;4705:9;4701:22;4671:62;;;4661:72;;4546:193;4770:2;4788:53;4833:7;4824:6;4813:9;4809:22;4788:53;;;4778:63;;4749:98;4906:2;4895:9;4891:18;4878:32;4930:18;4922:6;4919:30;4916:2;;;4962:1;4959;4952:12;4916:2;4982:62;5036:7;5027:6;5016:9;5012:22;4982:62;;;4972:72;;4857:193;4370:690;;;;;;;;5067:1181;;;;;5332:3;5320:9;5311:7;5307:23;5303:33;5300:2;;;5349:1;5346;5339:12;5300:2;5412:1;5401:9;5397:17;5384:31;5435:18;5427:6;5424:30;5421:2;;;5467:1;5464;5457:12;5421:2;5487:78;5557:7;5548:6;5537:9;5533:22;5487:78;;;5477:88;;5363:208;5630:2;5619:9;5615:18;5602:32;5654:18;5646:6;5643:30;5640:2;;;5686:1;5683;5676:12;5640:2;5706:83;5781:7;5772:6;5761:9;5757:22;5706:83;;;5696:93;;5581:214;5854:2;5843:9;5839:18;5826:32;5878:18;5870:6;5867:30;5864:2;;;5910:1;5907;5900:12;5864:2;5930:78;6000:7;5991:6;5980:9;5976:22;5930:78;;;5920:88;;5805:209;6073:2;6062:9;6058:18;6045:32;6097:18;6089:6;6086:30;6083:2;;;6129:1;6126;6119:12;6083:2;6149:83;6224:7;6215:6;6204:9;6200:22;6149:83;;;6139:93;;6024:214;5294:954;;;;;;;;6255:241;;6359:2;6347:9;6338:7;6334:23;6330:32;6327:2;;;6375:1;6372;6365:12;6327:2;6410:1;6427:53;6472:7;6463:6;6452:9;6448:22;6427:53;;;6417:63;;6389:97;6321:175;;;;;6503:142;6594:45;6633:5;6594:45;;;6589:3;6582:58;6576:69;;;6652:113;6735:24;6753:5;6735:24;;;6730:3;6723:37;6717:48;;;6772:104;6849:21;6864:5;6849:21;;;6844:3;6837:34;6831:45;;;6883:113;6966:24;6984:5;6966:24;;;6961:3;6954:37;6948:48;;;7003:152;7104:45;7124:24;7142:5;7124:24;;;7104:45;;;7099:3;7092:58;7086:69;;;7162:343;;7272:38;7304:5;7272:38;;;7322:70;7385:6;7380:3;7322:70;;;7315:77;;7397:52;7442:6;7437:3;7430:4;7423:5;7419:16;7397:52;;;7470:29;7492:6;7470:29;;;7465:3;7461:39;7454:46;;7252:253;;;;;;7512:356;;7640:38;7672:5;7640:38;;;7690:88;7771:6;7766:3;7690:88;;;7683:95;;7783:52;7828:6;7823:3;7816:4;7809:5;7805:16;7783:52;;;7856:6;7851:3;7847:16;7840:23;;7620:248;;;;;;7876:370;;8036:67;8100:2;8095:3;8036:67;;;8029:74;;8136:34;8132:1;8127:3;8123:11;8116:55;8205:3;8200:2;8195:3;8191:12;8184:25;8237:2;8232:3;8228:12;8221:19;;8022:224;;;;8255:400;;8433:85;8515:2;8510:3;8433:85;;;8426:92;;8551:66;8547:1;8542:3;8538:11;8531:87;8646:2;8641:3;8637:12;8630:19;;8419:236;;;;8664:375;;8824:67;8888:2;8883:3;8824:67;;;8817:74;;8924:34;8920:1;8915:3;8911:11;8904:55;8993:8;8988:2;8983:3;8979:12;8972:30;9030:2;9025:3;9021:12;9014:19;;8810:229;;;;9048:317;;9208:67;9272:2;9267:3;9208:67;;;9201:74;;9308:19;9304:1;9299:3;9295:11;9288:40;9356:2;9351:3;9347:12;9340:19;;9194:171;;;;9374:311;;9534:67;9598:2;9593:3;9534:67;;;9527:74;;9634:13;9630:1;9625:3;9621:11;9614:34;9676:2;9671:3;9667:12;9660:19;;9520:165;;;;9694:332;;9854:67;9918:2;9913:3;9854:67;;;9847:74;;9954:34;9950:1;9945:3;9941:11;9934:55;10017:2;10012:3;10008:12;10001:19;;9840:186;;;;10035:313;;10195:67;10259:2;10254:3;10195:67;;;10188:74;;10295:15;10291:1;10286:3;10282:11;10275:36;10339:2;10334:3;10330:12;10323:19;;10181:167;;;;10357:318;;10517:67;10581:2;10576:3;10517:67;;;10510:74;;10617:20;10613:1;10608:3;10604:11;10597:41;10666:2;10661:3;10657:12;10650:19;;10503:172;;;;10684:326;;10844:67;10908:2;10903:3;10844:67;;;10837:74;;10944:28;10940:1;10935:3;10931:11;10924:49;11001:2;10996:3;10992:12;10985:19;;10830:180;;;;11018:113;11101:24;11119:5;11101:24;;;11096:3;11089:37;11083:48;;;11138:107;11217:22;11233:5;11217:22;;;11212:3;11205:35;11199:46;;;11252:262;;11396:93;11485:3;11476:6;11396:93;;;11389:100;;11506:3;11499:10;;11377:137;;;;;11521:511;;11748:148;11892:3;11748:148;;;11741:155;;11907:75;11978:3;11969:6;11907:75;;;12004:2;11999:3;11995:12;11988:19;;12024:3;12017:10;;11729:303;;;;;12039:213;;12157:2;12146:9;12142:18;12134:26;;12171:71;12239:1;12228:9;12224:17;12215:6;12171:71;;;12128:124;;;;;12259:519;;12451:2;12440:9;12436:18;12428:26;;12465:71;12533:1;12522:9;12518:17;12509:6;12465:71;;;12584:9;12578:4;12574:20;12569:2;12558:9;12554:18;12547:48;12609:76;12680:4;12671:6;12609:76;;;12601:84;;12696:72;12764:2;12753:9;12749:18;12740:6;12696:72;;;12422:356;;;;;;;12785:201;;12897:2;12886:9;12882:18;12874:26;;12911:65;12973:1;12962:9;12958:17;12949:6;12911:65;;;12868:118;;;;;12993:539;;13191:3;13180:9;13176:19;13168:27;;13206:71;13274:1;13263:9;13259:17;13250:6;13206:71;;;13288:68;13352:2;13341:9;13337:18;13328:6;13288:68;;;13367:72;13435:2;13424:9;13420:18;13411:6;13367:72;;;13450;13518:2;13507:9;13503:18;13494:6;13450:72;;;13162:370;;;;;;;;13539:731;;13785:3;13774:9;13770:19;13762:27;;13836:9;13830:4;13826:20;13822:1;13811:9;13807:17;13800:47;13861:76;13932:4;13923:6;13861:76;;;13853:84;;13948:72;14016:2;14005:9;14001:18;13992:6;13948:72;;;14068:9;14062:4;14058:20;14053:2;14042:9;14038:18;14031:48;14093:76;14164:4;14155:6;14093:76;;;14085:84;;14180:80;14256:2;14245:9;14241:18;14232:6;14180:80;;;13756:514;;;;;;;;14277:407;;14468:2;14457:9;14453:18;14445:26;;14518:9;14512:4;14508:20;14504:1;14493:9;14489:17;14482:47;14543:131;14669:4;14543:131;;;14535:139;;14439:245;;;;14691:407;;14882:2;14871:9;14867:18;14859:26;;14932:9;14926:4;14922:20;14918:1;14907:9;14903:17;14896:47;14957:131;15083:4;14957:131;;;14949:139;;14853:245;;;;15105:407;;15296:2;15285:9;15281:18;15273:26;;15346:9;15340:4;15336:20;15332:1;15321:9;15317:17;15310:47;15371:131;15497:4;15371:131;;;15363:139;;15267:245;;;;15519:407;;15710:2;15699:9;15695:18;15687:26;;15760:9;15754:4;15750:20;15746:1;15735:9;15731:17;15724:47;15785:131;15911:4;15785:131;;;15777:139;;15681:245;;;;15933:407;;16124:2;16113:9;16109:18;16101:26;;16174:9;16168:4;16164:20;16160:1;16149:9;16145:17;16138:47;16199:131;16325:4;16199:131;;;16191:139;;16095:245;;;;16347:407;;16538:2;16527:9;16523:18;16515:26;;16588:9;16582:4;16578:20;16574:1;16563:9;16559:17;16552:47;16613:131;16739:4;16613:131;;;16605:139;;16509:245;;;;16761:407;;16952:2;16941:9;16937:18;16929:26;;17002:9;16996:4;16992:20;16988:1;16977:9;16973:17;16966:47;17027:131;17153:4;17027:131;;;17019:139;;16923:245;;;;17175:407;;17366:2;17355:9;17351:18;17343:26;;17416:9;17410:4;17406:20;17402:1;17391:9;17387:17;17380:47;17441:131;17567:4;17441:131;;;17433:139;;17337:245;;;;17589:256;;17651:2;17645:9;17635:19;;17689:4;17681:6;17677:17;17788:6;17776:10;17773:22;17752:18;17740:10;17737:34;17734:62;17731:2;;;17809:1;17806;17799:12;17731:2;17829:10;17825:2;17818:22;17629:216;;;;;17852:304;;18011:18;18003:6;18000:30;17997:2;;;18043:1;18040;18033:12;17997:2;18078:4;18070:6;18066:17;18058:25;;18141:4;18135;18131:15;18123:23;;17934:222;;;;18163:309;;18327:18;18319:6;18316:30;18313:2;;;18359:1;18356;18349:12;18313:2;18394:4;18386:6;18382:17;18374:25;;18457:4;18451;18447:15;18439:23;;18250:222;;;;18479:304;;18638:18;18630:6;18627:30;18624:2;;;18670:1;18667;18660:12;18624:2;18705:4;18697:6;18693:17;18685:25;;18768:4;18762;18758:15;18750:23;;18561:222;;;;18790:317;;18929:18;18921:6;18918:30;18915:2;;;18961:1;18958;18951:12;18915:2;19028:4;19024:9;19017:4;19009:6;19005:17;19001:33;18993:41;;19092:4;19086;19082:15;19074:23;;18852:255;;;;19114:321;;19257:18;19249:6;19246:30;19243:2;;;19289:1;19286;19279:12;19243:2;19356:4;19352:9;19345:4;19337:6;19333:17;19329:33;19321:41;;19420:4;19414;19410:15;19402:23;;19180:255;;;;19442:121;;19535:5;19529:12;19519:22;;19500:63;;;;19571:162;;19685:6;19680:3;19673:19;19722:4;19717:3;19713:14;19698:29;;19666:67;;;;;19742:144;;19877:3;19862:18;;19855:31;;;;;19895:163;;20010:6;20005:3;19998:19;20047:4;20042:3;20038:14;20023:29;;19991:67;;;;;20067:145;;20203:3;20188:18;;20181:31;;;;;20220:91;;20282:24;20300:5;20282:24;;;20271:35;;20265:46;;;;20318:85;;20391:5;20384:13;20377:21;20366:32;;20360:43;;;;20410:72;;20472:5;20461:16;;20455:27;;;;20489:121;;20562:42;20555:5;20551:54;20540:65;;20534:76;;;;20617:72;;20679:5;20668:16;;20662:27;;;;20696:81;;20767:4;20760:5;20756:16;20745:27;;20739:38;;;;20784:129;;20871:37;20902:5;20871:37;;;20858:50;;20852:61;;;;20920:121;;20999:37;21030:5;20999:37;;;20986:50;;20980:61;;;;21048:108;;21127:24;21145:5;21127:24;;;21114:37;;21108:48;;;;21164:145;21245:6;21240:3;21235;21222:30;21301:1;21292:6;21287:3;21283:16;21276:27;21215:94;;;;21318:268;21383:1;21390:101;21404:6;21401:1;21398:13;21390:101;;;21480:1;21475:3;21471:11;21465:18;21461:1;21456:3;21452:11;21445:39;21426:2;21423:1;21419:10;21414:15;;21390:101;;;21506:6;21503:1;21500:13;21497:2;;;21571:1;21562:6;21557:3;21553:16;21546:27;21497:2;21367:219;;;;;21594:74;;21658:5;21647:16;;21641:27;;;;21675:97;;21763:2;21759:7;21754:2;21747:5;21743:14;21739:28;21729:38;;21723:49;;;;21780:117;21849:24;21867:5;21849:24;;;21842:5;21839:35;21829:2;;21888:1;21885;21878:12;21829:2;21823:74;;21904:111;21970:21;21985:5;21970:21;;;21963:5;21960:32;21950:2;;22006:1;22003;21996:12;21950:2;21944:71;;22022:117;22091:24;22109:5;22091:24;;;22084:5;22081:35;22071:2;;22130:1;22127;22120:12;22071:2;22065:74;;22146:117;22215:24;22233:5;22215:24;;;22208:5;22205:35;22195:2;;22254:1;22251;22244:12;22195:2;22189:74;
Swarm Source
bzzr://11e5cd3de85c1b12f667ce3ca96c080d8bebe1aa987adcb772d3dccf3b78a3ef
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.463332 | 1 | $0.4633 |
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.