Overview
CRO Balance
CRO Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 10,457 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Aggregate3 | 18054448 | 3 mins ago | IN | 0 CRO | 3.14135755 | ||||
Aggregate3 | 18054341 | 13 mins ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18054295 | 17 mins ago | IN | 0 CRO | 2.4496944 | ||||
Aggregate3 | 18054160 | 30 mins ago | IN | 0 CRO | 3.47356675 | ||||
Aggregate3 | 18054004 | 45 mins ago | IN | 0 CRO | 2.4501186 | ||||
Aggregate3 | 18053873 | 57 mins ago | IN | 0 CRO | 3.47356675 | ||||
Aggregate3 | 18053716 | 1 hr ago | IN | 0 CRO | 2.4501186 | ||||
Aggregate3 | 18053585 | 1 hr ago | IN | 0 CRO | 3.47356675 | ||||
Aggregate3 | 18053480 | 1 hr ago | IN | 0 CRO | 0.4571058 | ||||
Aggregate3 | 18053441 | 1 hr ago | IN | 0 CRO | 0.4571058 | ||||
Aggregate3 | 18053433 | 1 hr ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18053431 | 1 hr ago | IN | 0 CRO | 1.12115555 | ||||
Aggregate3 | 18053428 | 1 hr ago | IN | 0 CRO | 0.7890221 | ||||
Aggregate3 | 18053357 | 1 hr ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18053346 | 1 hr ago | IN | 0 CRO | 0.4571058 | ||||
Aggregate3 | 18053294 | 1 hr ago | IN | 0 CRO | 5.4657261 | ||||
Aggregate3 | 18053156 | 2 hrs ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18053095 | 2 hrs ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18053007 | 2 hrs ago | IN | 0 CRO | 5.79890995 | ||||
Aggregate3 | 18052718 | 2 hrs ago | IN | 0 CRO | 5.79890995 | ||||
Aggregate3 | 18052554 | 3 hrs ago | IN | 0 CRO | 5.4657261 | ||||
Aggregate3 | 18052426 | 3 hrs ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18052267 | 3 hrs ago | IN | 0 CRO | 5.79890995 | ||||
Aggregate3 | 18052012 | 3 hrs ago | IN | 0 CRO | 0.4570452 | ||||
Aggregate3 | 18052008 | 3 hrs ago | IN | 0 CRO | 5.4657766 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Multicall3
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.12; import "@openzeppelin/contracts/access/Ownable.sol"; /// @title Multicall3 /// @notice Aggregate results from multiple function calls /// @dev Multicall & Multicall2 backwards-compatible /// @dev Aggregate methods are marked `payable` to save 24 gas per call /// @author Michael Elliot <[email protected]> /// @author Joshua Levine <[email protected]> /// @author Nick Johnson <[email protected]> /// @author Andreas Bigger <[email protected]> /// @author Matt Solomon <[email protected]> contract Multicall3 is Ownable { struct Call { address target; bytes callData; } struct Call3 { address target; bool allowFailure; bytes callData; } struct Call3Value { address target; bool allowFailure; uint256 value; bytes callData; } struct Result { bool success; bytes returnData; } /// @notice Backwards-compatible call aggregation with Multicall /// @param calls An array of Call structs /// @return blockNumber The block number where the calls were executed /// @return returnData An array of bytes containing the responses function aggregate( Call[] calldata calls ) public payable onlyOwner returns (uint256 blockNumber, bytes[] memory returnData) { blockNumber = block.number; uint256 length = calls.length; returnData = new bytes[](length); Call calldata call; for (uint256 i = 0; i < length; ) { bool success; call = calls[i]; (success, returnData[i]) = call.target.call(call.callData); require(success, "Multicall3: call failed"); unchecked { ++i; } } } /// @notice Backwards-compatible with Multicall2 /// @notice Aggregate calls without requiring success /// @param requireSuccess If true, require all calls to succeed /// @param calls An array of Call structs /// @return returnData An array of Result structs function tryAggregate( bool requireSuccess, Call[] calldata calls ) public payable onlyOwner returns (Result[] memory returnData) { uint256 length = calls.length; returnData = new Result[](length); Call calldata call; for (uint256 i = 0; i < length; ) { Result memory result = returnData[i]; call = calls[i]; (result.success, result.returnData) = call.target.call(call.callData); if (requireSuccess) require(result.success, "Multicall3: call failed"); unchecked { ++i; } } } /// @notice Backwards-compatible with Multicall2 /// @notice Aggregate calls and allow failures using tryAggregate /// @param calls An array of Call structs /// @return blockNumber The block number where the calls were executed /// @return blockHash The hash of the block where the calls were executed /// @return returnData An array of Result structs function tryBlockAndAggregate( bool requireSuccess, Call[] calldata calls ) public payable onlyOwner returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) { blockNumber = block.number; blockHash = blockhash(block.number); returnData = tryAggregate(requireSuccess, calls); } /// @notice Backwards-compatible with Multicall2 /// @notice Aggregate calls and allow failures using tryAggregate /// @param calls An array of Call structs /// @return blockNumber The block number where the calls were executed /// @return blockHash The hash of the block where the calls were executed /// @return returnData An array of Result structs function blockAndAggregate( Call[] calldata calls ) public payable onlyOwner returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) { (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls); } /// @notice Aggregate calls, ensuring each returns success if required /// @param calls An array of Call3 structs /// @return returnData An array of Result structs function aggregate3(Call3[] calldata calls) public payable onlyOwner returns (Result[] memory returnData) { uint256 length = calls.length; returnData = new Result[](length); Call3 calldata calli; for (uint256 i = 0; i < length; ) { Result memory result = returnData[i]; calli = calls[i]; (result.success, result.returnData) = calli.target.call(calli.callData); assembly { // Revert if the call fails and failure is not allowed // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)` if iszero(or(calldataload(add(calli, 0x20)), mload(result))) { // set "Error(string)" signature: bytes32(bytes4(keccak256("Error(string)"))) mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000) // set data offset mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020) // set length of revert string mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017) // set revert string: bytes32(abi.encodePacked("Multicall3: call failed")) mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000) revert(0x00, 0x64) } } unchecked { ++i; } } } /// @notice Aggregate calls with a msg value /// @notice Reverts if msg.value is less than the sum of the call values /// @param calls An array of Call3Value structs /// @return returnData An array of Result structs function aggregate3Value(Call3Value[] calldata calls) public payable onlyOwner returns (Result[] memory returnData) { uint256 valAccumulator; uint256 length = calls.length; returnData = new Result[](length); Call3Value calldata calli; for (uint256 i = 0; i < length; ) { Result memory result = returnData[i]; calli = calls[i]; uint256 val = calli.value; // Humanity will be a Type V Kardashev Civilization before this overflows - andreas // ~ 10^25 Wei in existence << ~ 10^76 size uint fits in a uint256 unchecked { valAccumulator += val; } (result.success, result.returnData) = calli.target.call{ value: val }(calli.callData); assembly { // Revert if the call fails and failure is not allowed // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)` if iszero(or(calldataload(add(calli, 0x20)), mload(result))) { // set "Error(string)" signature: bytes32(bytes4(keccak256("Error(string)"))) mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000) // set data offset mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020) // set length of revert string mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017) // set revert string: bytes32(abi.encodePacked("Multicall3: call failed")) mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000) revert(0x00, 0x84) } } unchecked { ++i; } } // Finally, make sure the msg.value = SUM(call[0...i].value) require(msg.value == valAccumulator, "Multicall3: value mismatch"); } /// @notice Returns the block hash for the given block number /// @param blockNumber The block number function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) { blockHash = blockhash(blockNumber); } /// @notice Returns the block number function getBlockNumber() public view returns (uint256 blockNumber) { blockNumber = block.number; } /// @notice Returns the block coinbase function getCurrentBlockCoinbase() public view returns (address coinbase) { coinbase = block.coinbase; } /// @notice Returns the block difficulty function getCurrentBlockDifficulty() public view returns (uint256 difficulty) { difficulty = block.difficulty; } /// @notice Returns the block gas limit function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) { gaslimit = block.gaslimit; } /// @notice Returns the block timestamp function getCurrentBlockTimestamp() public view returns (uint256 timestamp) { timestamp = block.timestamp; } /// @notice Returns the (ETH) balance of a given address function getEthBalance(address addr) public view returns (uint256 balance) { balance = addr.balance; } /// @notice Returns the block hash of the last block function getLastBlockHash() public view returns (bytes32 blockHash) { unchecked { blockHash = blockhash(block.number - 1); } } /// @notice Gets the base fee of the given block /// @notice Can revert if the BASEFEE opcode is not implemented by the given chain function getBasefee() public view returns (uint256 basefee) { basefee = block.basefee; } /// @notice Returns the chain id function getChainId() public view returns (uint256 chainid) { chainid = block.chainid; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * 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. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call3[]","name":"calls","type":"tuple[]"}],"name":"aggregate3","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call3Value[]","name":"calls","type":"tuple[]"}],"name":"aggregate3Value","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6119748061010d6000396000f3fe6080604052600436106101145760003560e01c8063715018a6116100a0578063a8b0574e11610064578063a8b0574e14610388578063bce38bd7146103b3578063c3077fa9146103e3578063ee82ac5e14610415578063f2fde38b1461045257610114565b8063715018a6146102c057806372425d9d146102d757806382ad56cb1461030257806386d516e8146103325780638da5cb5b1461035d57610114565b80633408e470116100e75780633408e470146101d0578063399542e9146101fb5780633e64a6961461022d57806342cbb15c146102585780634d2301cc1461028357610114565b80630f28c97d14610119578063174dea7114610144578063252dba421461017457806327e86d6e146101a5575b600080fd5b34801561012557600080fd5b5061012e61047b565b60405161013b9190610ed0565b60405180910390f35b61015e60048036038101906101599190610f5a565b610483565b60405161016b9190611151565b60405180910390f35b61018e600480360381019061018991906111c9565b6106a9565b60405161019c9291906112d8565b60405180910390f35b3480156101b157600080fd5b506101ba610847565b6040516101c79190611321565b60405180910390f35b3480156101dc57600080fd5b506101e5610853565b6040516101f29190610ed0565b60405180910390f35b61021560048036038101906102109190611368565b61085b565b604051610224939291906113c8565b60405180910390f35b34801561023957600080fd5b50610242610885565b60405161024f9190610ed0565b60405180910390f35b34801561026457600080fd5b5061026d61088d565b60405161027a9190610ed0565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a59190611464565b610895565b6040516102b79190610ed0565b60405180910390f35b3480156102cc57600080fd5b506102d56108b6565b005b3480156102e357600080fd5b506102ec6108ca565b6040516102f99190610ed0565b60405180910390f35b61031c600480360381019061031791906114e7565b6108d2565b6040516103299190611151565b60405180910390f35b34801561033e57600080fd5b50610347610aa4565b6040516103549190610ed0565b60405180910390f35b34801561036957600080fd5b50610372610aac565b60405161037f9190611543565b60405180910390f35b34801561039457600080fd5b5061039d610ad5565b6040516103aa9190611543565b60405180910390f35b6103cd60048036038101906103c89190611368565b610add565b6040516103da9190611151565b60405180910390f35b6103fd60048036038101906103f891906111c9565b610c97565b60405161040c939291906113c8565b60405180910390f35b34801561042157600080fd5b5061043c6004803603810190610437919061158a565b610cc3565b6040516104499190611321565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190611464565b610cce565b005b600042905090565b606061048d610d51565b6000808484905090508067ffffffffffffffff8111156104b0576104af6115b7565b5b6040519080825280602002602001820160405280156104e957816020015b6104d6610e9b565b8152602001906001900390816104ce5790505b5092503660005b8281101561065d57600085828151811061050d5761050c6115e6565b5b6020026020010151905087878381811061052a576105296115e6565b5b905060200281019061053c9190611624565b9250600083604001359050808601955083600001602081019061055f9190611464565b73ffffffffffffffffffffffffffffffffffffffff1681858060600190610586919061164c565b6040516105949291906116ee565b60006040518083038185875af1925050503d80600081146105d1576040519150601f19603f3d011682016040523d82523d6000602084013e6105d6565b606091505b508360000184602001829052821515151581525050508151602085013517610650577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b82600101925050506104f0565b508234146106a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069790611764565b60405180910390fd5b50505092915050565b600060606106b5610d51565b43915060008484905090508067ffffffffffffffff8111156106da576106d96115b7565b5b60405190808252806020026020018201604052801561070d57816020015b60608152602001906001900390816106f85790505b5091503660005b8281101561083d576000878783818110610731576107306115e6565b5b90506020028101906107439190611784565b92508260000160208101906107589190611464565b73ffffffffffffffffffffffffffffffffffffffff1683806020019061077e919061164c565b60405161078c9291906116ee565b6000604051808303816000865af19150503d80600081146107c9576040519150601f19603f3d011682016040523d82523d6000602084013e6107ce565b606091505b508684815181106107e2576107e16115e6565b5b60200260200101819052819250505080610831576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610828906117f8565b60405180910390fd5b81600101915050610714565b5050509250929050565b60006001430340905090565b600046905090565b6000806060610868610d51565b4392504340915061087a868686610add565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b6108be610d51565b6108c86000610dcf565b565b600044905090565b60606108dc610d51565b60008383905090508067ffffffffffffffff8111156108fe576108fd6115b7565b5b60405190808252806020026020018201604052801561093757816020015b610924610e9b565b81526020019060019003908161091c5790505b5091503660005b82811015610a9b57600084828151811061095b5761095a6115e6565b5b60200260200101519050868683818110610978576109776115e6565b5b905060200281019061098a9190611818565b925082600001602081019061099f9190611464565b73ffffffffffffffffffffffffffffffffffffffff168380604001906109c5919061164c565b6040516109d39291906116ee565b6000604051808303816000865af19150503d8060008114610a10576040519150601f19603f3d011682016040523d82523d6000602084013e610a15565b606091505b508260000183602001829052821515151581525050508051602084013517610a8f577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061093e565b50505092915050565b600045905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600041905090565b6060610ae7610d51565b60008383905090508067ffffffffffffffff811115610b0957610b086115b7565b5b604051908082528060200260200182016040528015610b4257816020015b610b2f610e9b565b815260200190600190039081610b275790505b5091503660005b82811015610c8d576000848281518110610b6657610b656115e6565b5b60200260200101519050868683818110610b8357610b826115e6565b5b9050602002810190610b959190611784565b9250826000016020810190610baa9190611464565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610bd0919061164c565b604051610bde9291906116ee565b6000604051808303816000865af19150503d8060008114610c1b576040519150601f19603f3d011682016040523d82523d6000602084013e610c20565b606091505b508260000183602001829052821515151581525050508715610c81578060000151610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c77906117f8565b60405180910390fd5b5b81600101915050610b49565b5050509392505050565b6000806060610ca4610d51565b610cb06001868661085b565b8093508194508295505050509250925092565b600081409050919050565b610cd6610d51565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c906118b2565b60405180910390fd5b610d4e81610dcf565b50565b610d59610e93565b73ffffffffffffffffffffffffffffffffffffffff16610d77610aac565b73ffffffffffffffffffffffffffffffffffffffff1614610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc49061191e565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610eca81610eb7565b82525050565b6000602082019050610ee56000830184610ec1565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610f1a57610f19610ef5565b5b8235905067ffffffffffffffff811115610f3757610f36610efa565b5b602083019150836020820283011115610f5357610f52610eff565b5b9250929050565b60008060208385031215610f7157610f70610eeb565b5b600083013567ffffffffffffffff811115610f8f57610f8e610ef0565b5b610f9b85828601610f04565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610fe881610fd3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561102857808201518184015260208101905061100d565b60008484015250505050565b6000601f19601f8301169050919050565b600061105082610fee565b61105a8185610ff9565b935061106a81856020860161100a565b61107381611034565b840191505092915050565b60006040830160008301516110966000860182610fdf565b50602083015184820360208601526110ae8282611045565b9150508091505092915050565b60006110c7838361107e565b905092915050565b6000602082019050919050565b60006110e782610fa7565b6110f18185610fb2565b93508360208202850161110385610fc3565b8060005b8581101561113f578484038952815161112085826110bb565b945061112b836110cf565b925060208a01995050600181019050611107565b50829750879550505050505092915050565b6000602082019050818103600083015261116b81846110dc565b905092915050565b60008083601f84011261118957611188610ef5565b5b8235905067ffffffffffffffff8111156111a6576111a5610efa565b5b6020830191508360208202830111156111c2576111c1610eff565b5b9250929050565b600080602083850312156111e0576111df610eeb565b5b600083013567ffffffffffffffff8111156111fe576111fd610ef0565b5b61120a85828601611173565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061124e8383611045565b905092915050565b6000602082019050919050565b600061126e82611216565b6112788185611221565b93508360208202850161128a85611232565b8060005b858110156112c657848403895281516112a78582611242565b94506112b283611256565b925060208a0199505060018101905061128e565b50829750879550505050505092915050565b60006040820190506112ed6000830185610ec1565b81810360208301526112ff8184611263565b90509392505050565b6000819050919050565b61131b81611308565b82525050565b60006020820190506113366000830184611312565b92915050565b61134581610fd3565b811461135057600080fd5b50565b6000813590506113628161133c565b92915050565b60008060006040848603121561138157611380610eeb565b5b600061138f86828701611353565b935050602084013567ffffffffffffffff8111156113b0576113af610ef0565b5b6113bc86828701611173565b92509250509250925092565b60006060820190506113dd6000830186610ec1565b6113ea6020830185611312565b81810360408301526113fc81846110dc565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061143182611406565b9050919050565b61144181611426565b811461144c57600080fd5b50565b60008135905061145e81611438565b92915050565b60006020828403121561147a57611479610eeb565b5b60006114888482850161144f565b91505092915050565b60008083601f8401126114a7576114a6610ef5565b5b8235905067ffffffffffffffff8111156114c4576114c3610efa565b5b6020830191508360208202830111156114e0576114df610eff565b5b9250929050565b600080602083850312156114fe576114fd610eeb565b5b600083013567ffffffffffffffff81111561151c5761151b610ef0565b5b61152885828601611491565b92509250509250929050565b61153d81611426565b82525050565b60006020820190506115586000830184611534565b92915050565b61156781610eb7565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b6000602082840312156115a05761159f610eeb565b5b60006115ae84828501611575565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016080038336030381126116405761163f611615565b5b80830191505092915050565b6000808335600160200384360303811261166957611668611615565b5b80840192508235915067ffffffffffffffff82111561168b5761168a61161a565b5b6020830192506001820236038313156116a7576116a661161f565b5b509250929050565b600081905092915050565b82818337600083830152505050565b60006116d583856116af565b93506116e28385846116ba565b82840190509392505050565b60006116fb8284866116c9565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b600061174e601a83611707565b915061175982611718565b602082019050919050565b6000602082019050818103600083015261177d81611741565b9050919050565b6000823560016040038336030381126117a05761179f611615565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b60006117e2601783611707565b91506117ed826117ac565b602082019050919050565b60006020820190508181036000830152611811816117d5565b9050919050565b60008235600160600383360303811261183457611833611615565b5b80830191505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061189c602683611707565b91506118a782611840565b604082019050919050565b600060208201905081810360008301526118cb8161188f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611908602083611707565b9150611913826118d2565b602082019050919050565b60006020820190508181036000830152611937816118fb565b905091905056fea2646970667358221220779eb586fb9c5ab68ff40001af782fedea532b61b7208a0ed9419c6065972b3564736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101145760003560e01c8063715018a6116100a0578063a8b0574e11610064578063a8b0574e14610388578063bce38bd7146103b3578063c3077fa9146103e3578063ee82ac5e14610415578063f2fde38b1461045257610114565b8063715018a6146102c057806372425d9d146102d757806382ad56cb1461030257806386d516e8146103325780638da5cb5b1461035d57610114565b80633408e470116100e75780633408e470146101d0578063399542e9146101fb5780633e64a6961461022d57806342cbb15c146102585780634d2301cc1461028357610114565b80630f28c97d14610119578063174dea7114610144578063252dba421461017457806327e86d6e146101a5575b600080fd5b34801561012557600080fd5b5061012e61047b565b60405161013b9190610ed0565b60405180910390f35b61015e60048036038101906101599190610f5a565b610483565b60405161016b9190611151565b60405180910390f35b61018e600480360381019061018991906111c9565b6106a9565b60405161019c9291906112d8565b60405180910390f35b3480156101b157600080fd5b506101ba610847565b6040516101c79190611321565b60405180910390f35b3480156101dc57600080fd5b506101e5610853565b6040516101f29190610ed0565b60405180910390f35b61021560048036038101906102109190611368565b61085b565b604051610224939291906113c8565b60405180910390f35b34801561023957600080fd5b50610242610885565b60405161024f9190610ed0565b60405180910390f35b34801561026457600080fd5b5061026d61088d565b60405161027a9190610ed0565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a59190611464565b610895565b6040516102b79190610ed0565b60405180910390f35b3480156102cc57600080fd5b506102d56108b6565b005b3480156102e357600080fd5b506102ec6108ca565b6040516102f99190610ed0565b60405180910390f35b61031c600480360381019061031791906114e7565b6108d2565b6040516103299190611151565b60405180910390f35b34801561033e57600080fd5b50610347610aa4565b6040516103549190610ed0565b60405180910390f35b34801561036957600080fd5b50610372610aac565b60405161037f9190611543565b60405180910390f35b34801561039457600080fd5b5061039d610ad5565b6040516103aa9190611543565b60405180910390f35b6103cd60048036038101906103c89190611368565b610add565b6040516103da9190611151565b60405180910390f35b6103fd60048036038101906103f891906111c9565b610c97565b60405161040c939291906113c8565b60405180910390f35b34801561042157600080fd5b5061043c6004803603810190610437919061158a565b610cc3565b6040516104499190611321565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190611464565b610cce565b005b600042905090565b606061048d610d51565b6000808484905090508067ffffffffffffffff8111156104b0576104af6115b7565b5b6040519080825280602002602001820160405280156104e957816020015b6104d6610e9b565b8152602001906001900390816104ce5790505b5092503660005b8281101561065d57600085828151811061050d5761050c6115e6565b5b6020026020010151905087878381811061052a576105296115e6565b5b905060200281019061053c9190611624565b9250600083604001359050808601955083600001602081019061055f9190611464565b73ffffffffffffffffffffffffffffffffffffffff1681858060600190610586919061164c565b6040516105949291906116ee565b60006040518083038185875af1925050503d80600081146105d1576040519150601f19603f3d011682016040523d82523d6000602084013e6105d6565b606091505b508360000184602001829052821515151581525050508151602085013517610650577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b82600101925050506104f0565b508234146106a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069790611764565b60405180910390fd5b50505092915050565b600060606106b5610d51565b43915060008484905090508067ffffffffffffffff8111156106da576106d96115b7565b5b60405190808252806020026020018201604052801561070d57816020015b60608152602001906001900390816106f85790505b5091503660005b8281101561083d576000878783818110610731576107306115e6565b5b90506020028101906107439190611784565b92508260000160208101906107589190611464565b73ffffffffffffffffffffffffffffffffffffffff1683806020019061077e919061164c565b60405161078c9291906116ee565b6000604051808303816000865af19150503d80600081146107c9576040519150601f19603f3d011682016040523d82523d6000602084013e6107ce565b606091505b508684815181106107e2576107e16115e6565b5b60200260200101819052819250505080610831576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610828906117f8565b60405180910390fd5b81600101915050610714565b5050509250929050565b60006001430340905090565b600046905090565b6000806060610868610d51565b4392504340915061087a868686610add565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b6108be610d51565b6108c86000610dcf565b565b600044905090565b60606108dc610d51565b60008383905090508067ffffffffffffffff8111156108fe576108fd6115b7565b5b60405190808252806020026020018201604052801561093757816020015b610924610e9b565b81526020019060019003908161091c5790505b5091503660005b82811015610a9b57600084828151811061095b5761095a6115e6565b5b60200260200101519050868683818110610978576109776115e6565b5b905060200281019061098a9190611818565b925082600001602081019061099f9190611464565b73ffffffffffffffffffffffffffffffffffffffff168380604001906109c5919061164c565b6040516109d39291906116ee565b6000604051808303816000865af19150503d8060008114610a10576040519150601f19603f3d011682016040523d82523d6000602084013e610a15565b606091505b508260000183602001829052821515151581525050508051602084013517610a8f577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061093e565b50505092915050565b600045905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600041905090565b6060610ae7610d51565b60008383905090508067ffffffffffffffff811115610b0957610b086115b7565b5b604051908082528060200260200182016040528015610b4257816020015b610b2f610e9b565b815260200190600190039081610b275790505b5091503660005b82811015610c8d576000848281518110610b6657610b656115e6565b5b60200260200101519050868683818110610b8357610b826115e6565b5b9050602002810190610b959190611784565b9250826000016020810190610baa9190611464565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610bd0919061164c565b604051610bde9291906116ee565b6000604051808303816000865af19150503d8060008114610c1b576040519150601f19603f3d011682016040523d82523d6000602084013e610c20565b606091505b508260000183602001829052821515151581525050508715610c81578060000151610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c77906117f8565b60405180910390fd5b5b81600101915050610b49565b5050509392505050565b6000806060610ca4610d51565b610cb06001868661085b565b8093508194508295505050509250925092565b600081409050919050565b610cd6610d51565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c906118b2565b60405180910390fd5b610d4e81610dcf565b50565b610d59610e93565b73ffffffffffffffffffffffffffffffffffffffff16610d77610aac565b73ffffffffffffffffffffffffffffffffffffffff1614610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc49061191e565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610eca81610eb7565b82525050565b6000602082019050610ee56000830184610ec1565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610f1a57610f19610ef5565b5b8235905067ffffffffffffffff811115610f3757610f36610efa565b5b602083019150836020820283011115610f5357610f52610eff565b5b9250929050565b60008060208385031215610f7157610f70610eeb565b5b600083013567ffffffffffffffff811115610f8f57610f8e610ef0565b5b610f9b85828601610f04565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610fe881610fd3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561102857808201518184015260208101905061100d565b60008484015250505050565b6000601f19601f8301169050919050565b600061105082610fee565b61105a8185610ff9565b935061106a81856020860161100a565b61107381611034565b840191505092915050565b60006040830160008301516110966000860182610fdf565b50602083015184820360208601526110ae8282611045565b9150508091505092915050565b60006110c7838361107e565b905092915050565b6000602082019050919050565b60006110e782610fa7565b6110f18185610fb2565b93508360208202850161110385610fc3565b8060005b8581101561113f578484038952815161112085826110bb565b945061112b836110cf565b925060208a01995050600181019050611107565b50829750879550505050505092915050565b6000602082019050818103600083015261116b81846110dc565b905092915050565b60008083601f84011261118957611188610ef5565b5b8235905067ffffffffffffffff8111156111a6576111a5610efa565b5b6020830191508360208202830111156111c2576111c1610eff565b5b9250929050565b600080602083850312156111e0576111df610eeb565b5b600083013567ffffffffffffffff8111156111fe576111fd610ef0565b5b61120a85828601611173565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061124e8383611045565b905092915050565b6000602082019050919050565b600061126e82611216565b6112788185611221565b93508360208202850161128a85611232565b8060005b858110156112c657848403895281516112a78582611242565b94506112b283611256565b925060208a0199505060018101905061128e565b50829750879550505050505092915050565b60006040820190506112ed6000830185610ec1565b81810360208301526112ff8184611263565b90509392505050565b6000819050919050565b61131b81611308565b82525050565b60006020820190506113366000830184611312565b92915050565b61134581610fd3565b811461135057600080fd5b50565b6000813590506113628161133c565b92915050565b60008060006040848603121561138157611380610eeb565b5b600061138f86828701611353565b935050602084013567ffffffffffffffff8111156113b0576113af610ef0565b5b6113bc86828701611173565b92509250509250925092565b60006060820190506113dd6000830186610ec1565b6113ea6020830185611312565b81810360408301526113fc81846110dc565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061143182611406565b9050919050565b61144181611426565b811461144c57600080fd5b50565b60008135905061145e81611438565b92915050565b60006020828403121561147a57611479610eeb565b5b60006114888482850161144f565b91505092915050565b60008083601f8401126114a7576114a6610ef5565b5b8235905067ffffffffffffffff8111156114c4576114c3610efa565b5b6020830191508360208202830111156114e0576114df610eff565b5b9250929050565b600080602083850312156114fe576114fd610eeb565b5b600083013567ffffffffffffffff81111561151c5761151b610ef0565b5b61152885828601611491565b92509250509250929050565b61153d81611426565b82525050565b60006020820190506115586000830184611534565b92915050565b61156781610eb7565b811461157257600080fd5b50565b6000813590506115848161155e565b92915050565b6000602082840312156115a05761159f610eeb565b5b60006115ae84828501611575565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016080038336030381126116405761163f611615565b5b80830191505092915050565b6000808335600160200384360303811261166957611668611615565b5b80840192508235915067ffffffffffffffff82111561168b5761168a61161a565b5b6020830192506001820236038313156116a7576116a661161f565b5b509250929050565b600081905092915050565b82818337600083830152505050565b60006116d583856116af565b93506116e28385846116ba565b82840190509392505050565b60006116fb8284866116c9565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b600061174e601a83611707565b915061175982611718565b602082019050919050565b6000602082019050818103600083015261177d81611741565b9050919050565b6000823560016040038336030381126117a05761179f611615565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b60006117e2601783611707565b91506117ed826117ac565b602082019050919050565b60006020820190508181036000830152611811816117d5565b9050919050565b60008235600160600383360303811261183457611833611615565b5b80830191505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061189c602683611707565b91506118a782611840565b604082019050919050565b600060208201905081810360008301526118cb8161188f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611908602083611707565b9150611913826118d2565b602082019050919050565b60006020820190508181036000830152611937816118fb565b905091905056fea2646970667358221220779eb586fb9c5ab68ff40001af782fedea532b61b7208a0ed9419c6065972b3564736f6c63430008180033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.