More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 148 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 20176827 | 246 days ago | IN | 0 ETH | 0.00086593 | ||||
Create New Claim | 20176457 | 246 days ago | IN | 0 ETH | 0.00080666 | ||||
Create New Claim | 20127779 | 253 days ago | IN | 0 ETH | 0.00048858 | ||||
Create New Claim | 18942443 | 419 days ago | IN | 0 ETH | 0.00159625 | ||||
Claim | 18176106 | 526 days ago | IN | 0 ETH | 0.00057573 | ||||
Claim | 18176077 | 526 days ago | IN | 0 ETH | 0.00027893 | ||||
Create New Claim | 18079845 | 540 days ago | IN | 0 ETH | 0.00066676 | ||||
Create New Claim | 17616143 | 605 days ago | IN | 0 ETH | 0.00051957 | ||||
Create New Claim | 17167189 | 668 days ago | IN | 0 ETH | 0.00425476 | ||||
Create New Claim | 16976355 | 695 days ago | IN | 0 ETH | 0.00124599 | ||||
Claim | 16909126 | 704 days ago | IN | 0 ETH | 0.00096778 | ||||
Claim | 16790709 | 721 days ago | IN | 0 ETH | 0.00159668 | ||||
Create New Claim | 16770482 | 724 days ago | IN | 0 ETH | 0.00151486 | ||||
Claim | 16721137 | 731 days ago | IN | 0 ETH | 0.00156321 | ||||
Create New Claim | 16535010 | 757 days ago | IN | 0 ETH | 0.00083518 | ||||
Claim | 16488287 | 763 days ago | IN | 0 ETH | 0.00097273 | ||||
Claim | 16443129 | 770 days ago | IN | 0 ETH | 0.00200971 | ||||
Claim | 16372525 | 780 days ago | IN | 0 ETH | 0.00175692 | ||||
Create New Claim | 16334926 | 785 days ago | IN | 0 ETH | 0.00095887 | ||||
Claim | 16133530 | 813 days ago | IN | 0 ETH | 0.00115173 | ||||
Create New Claim | 16091388 | 819 days ago | IN | 0 ETH | 0.00120931 | ||||
Claim | 16073053 | 821 days ago | IN | 0 ETH | 0.0004539 | ||||
Claim | 16073046 | 821 days ago | IN | 0 ETH | 0.000733 | ||||
Claim | 16049089 | 825 days ago | IN | 0 ETH | 0.00082844 | ||||
Claim | 15945408 | 839 days ago | IN | 0 ETH | 0.00124151 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20176827 | 246 days ago | 3.55 ETH | ||||
18176106 | 526 days ago | 16.0245 ETH | ||||
16909126 | 704 days ago | 0.0873 ETH | ||||
16790709 | 721 days ago | 0.0014565 ETH | ||||
16721137 | 731 days ago | 0.19845 ETH | ||||
16443129 | 770 days ago | 0.06942 ETH | ||||
16372525 | 780 days ago | 0.6675 ETH | ||||
16133530 | 813 days ago | 0.019 ETH | ||||
16049089 | 825 days ago | 0.4 ETH | ||||
15945408 | 839 days ago | 0.005 ETH | ||||
15627228 | 884 days ago | 0.21 ETH | ||||
15613947 | 886 days ago | 0.00165 ETH | ||||
15561176 | 893 days ago | 5.02725 ETH | ||||
15528068 | 898 days ago | 0.177 ETH | ||||
15398380 | 919 days ago | 0.17174757 ETH | ||||
15369508 | 923 days ago | 0.02 ETH | ||||
15353328 | 926 days ago | 0.07175 ETH | ||||
15341964 | 928 days ago | 0.144126 ETH | ||||
15276008 | 938 days ago | 0.0078 ETH | ||||
15140589 | 959 days ago | 0.75 ETH | ||||
15084965 | 968 days ago | 0.0769 ETH | ||||
15082218 | 968 days ago | 0.09355 ETH | ||||
15073979 | 969 days ago | 0.141942 ETH | ||||
15044521 | 974 days ago | 0.0262 ETH | ||||
14960192 | 989 days ago | 0.075 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CollectorRoyaltiesClaim
Compiler Version
v0.7.3+commit.9bfce1f6
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// contracts/claim/SuperRareTokenMerkleDrop.sol // SPDX-License-Identifier: MIT pragma solidity 0.7.3; import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@openzeppelin/contracts-upgradeable/proxy/Initializable.sol"; contract CollectorRoyaltiesClaim is Initializable, OwnableUpgradeable { bytes32 public claimRoot; mapping(address => mapping(uint256 => bool)) public rewardClaimedForClaim; uint256 public currentClaimId; bool public paused; event RoyaltyClaimed( bytes32 indexed root, address indexed addr, uint256 indexed claimId, uint256 amt ); event NewClaim(uint256 indexed claimId, bytes32 indexed root); modifier notPaused() { require(!paused, "Cannot call when contract is paused."); _; } function initialize(bytes32 merkleRoot) public initializer { require(merkleRoot != bytes32(0), "MerkleRoot cant be empty."); __Ownable_init(); claimRoot = merkleRoot; currentClaimId = 0; paused = false; } function claim(uint256 amount, bytes32[] calldata proof) public notPaused { require( verifyEntitled(_msgSender(), amount, proof), "The proof could not be verified." ); require( !rewardClaimedForClaim[_msgSender()][currentClaimId], "You have already withdrawn your entitled token." ); rewardClaimedForClaim[_msgSender()][currentClaimId] = true; address payable sender = _msgSender(); sender.transfer(amount); emit RoyaltyClaimed(claimRoot, _msgSender(), currentClaimId, amount); } function verifyEntitled( address recipient, uint256 value, bytes32[] memory proof ) public view returns (bool) { // We need to pack the 20 bytes address to the 32 bytes value // to match with the proof bytes32 leaf = keccak256(abi.encodePacked(recipient, value)); return verifyProof(leaf, proof); } function verifyProof(bytes32 leaf, bytes32[] memory proof) internal view returns (bool) { bytes32 currentHash = leaf; for (uint256 i = 0; i < proof.length; i++) { currentHash = parentHash(currentHash, proof[i]); } return currentHash == claimRoot; } function parentHash(bytes32 a, bytes32 b) internal pure returns (bytes32) { return a <= b ? keccak256(abi.encodePacked(a, b)) : keccak256(abi.encodePacked(b, a)); } function updateMerkleRoot(bytes32 newRoot) external onlyOwner { claimRoot = newRoot; } function createNewClaim(bytes32 newRoot) external onlyOwner { currentClaimId = currentClaimId + 1; claimRoot = newRoot; paused = false; emit NewClaim(currentClaimId, claimRoot); } function setClaimMappingToFalse(address[] memory addrs, uint256 claimId) public onlyOwner { for (uint256 i = 0; i < addrs.length; i++) { rewardClaimedForClaim[addrs[i]][claimId] = false; } } function pause() external onlyOwner { paused = true; } function unpause() external onlyOwner { paused = false; } receive() external payable {} }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; import "../utils/ContextUpgradeable.sol"; import "../proxy/Initializable.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 OwnableUpgradeable is Initializable, ContextUpgradeable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ function __Ownable_init() internal initializer { __Context_init_unchained(); __Ownable_init_unchained(); } function __Ownable_init_unchained() internal initializer { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the 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 virtual 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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } uint256[49] private __gap; }
// SPDX-License-Identifier: MIT // solhint-disable-next-line compiler-version pragma solidity >=0.4.24 <0.8.0; import "../utils/AddressUpgradeable.sol"; /** * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. * * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as * possible by providing the encoded function call as the `_data` argument to {UpgradeableProxy-constructor}. * * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. */ abstract contract Initializable { /** * @dev Indicates that the contract has been initialized. */ bool private _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool private _initializing; /** * @dev Modifier to protect an initializer function from being invoked twice. */ modifier initializer() { require(_initializing || _isConstructor() || !_initialized, "Initializable: contract is already initialized"); bool isTopLevelCall = !_initializing; if (isTopLevelCall) { _initializing = true; _initialized = true; } _; if (isTopLevelCall) { _initializing = false; } } /// @dev Returns true if and only if the function is running in the constructor function _isConstructor() private view returns (bool) { return !AddressUpgradeable.isContract(address(this)); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; import "../proxy/Initializable.sol"; /* * @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 GSN 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 ContextUpgradeable is Initializable { function __Context_init() internal initializer { __Context_init_unchained(); } function __Context_init_unchained() internal initializer { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } uint256[50] private __gap; }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.8.0; /** * @dev Collection of functions related to the address type */ library AddressUpgradeable { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
{ "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
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"claimId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"root","type":"bytes32"}],"name":"NewClaim","type":"event"},{"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":"bytes32","name":"root","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"uint256","name":"claimId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"RoyaltyClaimed","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"name":"createNewClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentClaimId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewardClaimedForClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint256","name":"claimId","type":"uint256"}],"name":"setClaimMappingToFalse","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"name":"updateMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"verifyEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b506118f8806100206000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a5780639498bd71116100595780639498bd71146103d6578063aad1a00814610411578063c3709caf14610482578063f2fde38b14610587576100f3565b8063715018a61461033c57806372806c5a146103535780638456cb591461037e5780638da5cb5b14610395576100f3565b80634783f0ef116100c65780634783f0ef146101ca5780635c975abb1461020557806365d1f30b1461023257806367d9b44c1461026d576100f3565b806314ea35e7146100f85780632f52ebb7146101235780633f4ba83a146101b3576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d6105d8565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b506101b16004803603604081101561014657600080fd5b81019080803590602001909291908035906020019064010000000081111561016d57600080fd5b82018360208201111561017f57600080fd5b803590602001918460208302840111640100000000831117156101a157600080fd5b90919293919293905050506105de565b005b3480156101bf57600080fd5b506101c86108eb565b005b3480156101d657600080fd5b50610203600480360360208110156101ed57600080fd5b81019080803590602001909291905050506109b7565b005b34801561021157600080fd5b5061021a610a70565b60405180821515815260200191505060405180910390f35b34801561023e57600080fd5b5061026b6004803603602081101561025557600080fd5b8101908080359060200190929190505050610a83565b005b34801561027957600080fd5b5061033a6004803603604081101561029057600080fd5b81019080803590602001906401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460208302840111640100000000831117156102e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610b95565b005b34801561034857600080fd5b50610351610cde565b005b34801561035f57600080fd5b50610368610e4e565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b50610393610e54565b005b3480156103a157600080fd5b506103aa610f20565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e257600080fd5b5061040f600480360360208110156103f957600080fd5b8101908080359060200190929190505050610f4a565b005b34801561041d57600080fd5b5061046a6004803603604081101561043457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f4565b60405180821515815260200191505060405180910390f35b34801561048e57600080fd5b5061056f600480360360608110156104a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156104ec57600080fd5b8201836020820111156104fe57600080fd5b8035906020019184602083028401116401000000008311171561052057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611123565b60405180821515815260200191505060405180910390f35b34801561059357600080fd5b506105d6600480360360208110156105aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b005b60655481565b606860009054906101000a900460ff1615610644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061189f6024913960400191505060405180910390fd5b61069761064f611379565b84848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050611123565b610709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e81525060200191505060405180910390fd5b60666000610715611379565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000606754815260200190815260200160002060009054906101000a900460ff16156107c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611870602f913960400191505060405180910390fd5b6001606660006107d4611379565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000606754815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610842611379565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015801561088a573d6000803e3d6000fd5b50606754610896611379565b73ffffffffffffffffffffffffffffffffffffffff166065547ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c9417002876040518082815260200191505060405180910390a450505050565b6108f3611379565b73ffffffffffffffffffffffffffffffffffffffff16610911610f20565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000606860006101000a81548160ff021916908315150217905550565b6109bf611379565b73ffffffffffffffffffffffffffffffffffffffff166109dd610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610a66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060658190555050565b606860009054906101000a900460ff1681565b610a8b611379565b73ffffffffffffffffffffffffffffffffffffffff16610aa9610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610b32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160675401606781905550806065819055506000606860006101000a81548160ff0219169083151502179055506065546067547f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a0114153160405160405180910390a350565b610b9d611379565b73ffffffffffffffffffffffffffffffffffffffff16610bbb610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8251811015610cd957600060666000858481518110610c6257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610c47565b505050565b610ce6611379565b73ffffffffffffffffffffffffffffffffffffffff16610d04610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60675481565b610e5c611379565b73ffffffffffffffffffffffffffffffffffffffff16610e7a610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610f03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001606860006101000a81548160ff021916908315150217905550565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060019054906101000a900460ff1680610f695750610f68611381565b5b80610f7f575060008054906101000a900460ff16155b610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015611024576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6000801b82141561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4d65726b6c65526f6f742063616e7420626520656d7074792e0000000000000081525060200191505060405180910390fd5b6110a5611392565b8160658190555060006067819055506000606860006101000a81548160ff02191690831515021790555080156110f05760008060016101000a81548160ff0219169083151502179055505b5050565b60666020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000808484604051602001808373ffffffffffffffffffffffffffffffffffffffff1660601b81526014018281526020019250505060405160208183030381529060405280519060200120905061117a81846114a0565b9150509392505050565b61118c611379565b73ffffffffffffffffffffffffffffffffffffffff166111aa610f20565b73ffffffffffffffffffffffffffffffffffffffff1614611233576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061181c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600061138c306114ed565b15905090565b600060019054906101000a900460ff16806113b157506113b0611381565b5b806113c7575060008054906101000a900460ff16155b61141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561146c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611474611500565b61147c6115fe565b801561149d5760008060016101000a81548160ff0219169083151502179055505b50565b60008083905060005b83518110156114de576114cf828583815181106114c257fe5b60200260200101516117a5565b915080806001019150506114a9565b50606554811491505092915050565b600080823b905060008111915050919050565b600060019054906101000a900460ff168061151f575061151e611381565b5b80611535575060008054906101000a900460ff16155b61158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff1615905080156115da576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156115fb5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061161d575061161c611381565b5b80611633575060008054906101000a900460ff16155b611688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff1615905080156116d8576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b60006116e2611379565b905080603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080156117a25760008060016101000a81548160ff0219169083151502179055505b50565b6000818311156117e3578183604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120611813565b82826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001205b90509291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564596f75206861766520616c72656164792077697468647261776e20796f757220656e7469746c656420746f6b656e2e43616e6e6f742063616c6c207768656e20636f6e7472616374206973207061757365642ea2646970667358221220b3b244f7ac174b0df48ca8ff2bcd022414d8111371e6f2cf212fde2702f7eb8564736f6c63430007030033
Deployed Bytecode
0x6080604052600436106100ec5760003560e01c8063715018a61161008a5780639498bd71116100595780639498bd71146103d6578063aad1a00814610411578063c3709caf14610482578063f2fde38b14610587576100f3565b8063715018a61461033c57806372806c5a146103535780638456cb591461037e5780638da5cb5b14610395576100f3565b80634783f0ef116100c65780634783f0ef146101ca5780635c975abb1461020557806365d1f30b1461023257806367d9b44c1461026d576100f3565b806314ea35e7146100f85780632f52ebb7146101235780633f4ba83a146101b3576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d6105d8565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b506101b16004803603604081101561014657600080fd5b81019080803590602001909291908035906020019064010000000081111561016d57600080fd5b82018360208201111561017f57600080fd5b803590602001918460208302840111640100000000831117156101a157600080fd5b90919293919293905050506105de565b005b3480156101bf57600080fd5b506101c86108eb565b005b3480156101d657600080fd5b50610203600480360360208110156101ed57600080fd5b81019080803590602001909291905050506109b7565b005b34801561021157600080fd5b5061021a610a70565b60405180821515815260200191505060405180910390f35b34801561023e57600080fd5b5061026b6004803603602081101561025557600080fd5b8101908080359060200190929190505050610a83565b005b34801561027957600080fd5b5061033a6004803603604081101561029057600080fd5b81019080803590602001906401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460208302840111640100000000831117156102e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610b95565b005b34801561034857600080fd5b50610351610cde565b005b34801561035f57600080fd5b50610368610e4e565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b50610393610e54565b005b3480156103a157600080fd5b506103aa610f20565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e257600080fd5b5061040f600480360360208110156103f957600080fd5b8101908080359060200190929190505050610f4a565b005b34801561041d57600080fd5b5061046a6004803603604081101561043457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f4565b60405180821515815260200191505060405180910390f35b34801561048e57600080fd5b5061056f600480360360608110156104a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156104ec57600080fd5b8201836020820111156104fe57600080fd5b8035906020019184602083028401116401000000008311171561052057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611123565b60405180821515815260200191505060405180910390f35b34801561059357600080fd5b506105d6600480360360208110156105aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b005b60655481565b606860009054906101000a900460ff1615610644576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061189f6024913960400191505060405180910390fd5b61069761064f611379565b84848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050611123565b610709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e81525060200191505060405180910390fd5b60666000610715611379565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000606754815260200190815260200160002060009054906101000a900460ff16156107c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611870602f913960400191505060405180910390fd5b6001606660006107d4611379565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000606754815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610842611379565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015801561088a573d6000803e3d6000fd5b50606754610896611379565b73ffffffffffffffffffffffffffffffffffffffff166065547ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c9417002876040518082815260200191505060405180910390a450505050565b6108f3611379565b73ffffffffffffffffffffffffffffffffffffffff16610911610f20565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000606860006101000a81548160ff021916908315150217905550565b6109bf611379565b73ffffffffffffffffffffffffffffffffffffffff166109dd610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610a66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060658190555050565b606860009054906101000a900460ff1681565b610a8b611379565b73ffffffffffffffffffffffffffffffffffffffff16610aa9610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610b32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160675401606781905550806065819055506000606860006101000a81548160ff0219169083151502179055506065546067547f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a0114153160405160405180910390a350565b610b9d611379565b73ffffffffffffffffffffffffffffffffffffffff16610bbb610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610c44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8251811015610cd957600060666000858481518110610c6257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610c47565b505050565b610ce6611379565b73ffffffffffffffffffffffffffffffffffffffff16610d04610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60675481565b610e5c611379565b73ffffffffffffffffffffffffffffffffffffffff16610e7a610f20565b73ffffffffffffffffffffffffffffffffffffffff1614610f03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001606860006101000a81548160ff021916908315150217905550565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060019054906101000a900460ff1680610f695750610f68611381565b5b80610f7f575060008054906101000a900460ff16155b610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015611024576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6000801b82141561109d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4d65726b6c65526f6f742063616e7420626520656d7074792e0000000000000081525060200191505060405180910390fd5b6110a5611392565b8160658190555060006067819055506000606860006101000a81548160ff02191690831515021790555080156110f05760008060016101000a81548160ff0219169083151502179055505b5050565b60666020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000808484604051602001808373ffffffffffffffffffffffffffffffffffffffff1660601b81526014018281526020019250505060405160208183030381529060405280519060200120905061117a81846114a0565b9150509392505050565b61118c611379565b73ffffffffffffffffffffffffffffffffffffffff166111aa610f20565b73ffffffffffffffffffffffffffffffffffffffff1614611233576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061181c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600061138c306114ed565b15905090565b600060019054906101000a900460ff16806113b157506113b0611381565b5b806113c7575060008054906101000a900460ff16155b61141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561146c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b611474611500565b61147c6115fe565b801561149d5760008060016101000a81548160ff0219169083151502179055505b50565b60008083905060005b83518110156114de576114cf828583815181106114c257fe5b60200260200101516117a5565b915080806001019150506114a9565b50606554811491505092915050565b600080823b905060008111915050919050565b600060019054906101000a900460ff168061151f575061151e611381565b5b80611535575060008054906101000a900460ff16155b61158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff1615905080156115da576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b80156115fb5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061161d575061161c611381565b5b80611633575060008054906101000a900460ff16155b611688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180611842602e913960400191505060405180910390fd5b60008060019054906101000a900460ff1615905080156116d8576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b60006116e2611379565b905080603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080156117a25760008060016101000a81548160ff0219169083151502179055505b50565b6000818311156117e3578183604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120611813565b82826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001205b90509291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564596f75206861766520616c72656164792077697468647261776e20796f757220656e7469746c656420746f6b656e2e43616e6e6f742063616c6c207768656e20636f6e7472616374206973207061757365642ea2646970667358221220b3b244f7ac174b0df48ca8ff2bcd022414d8111371e6f2cf212fde2702f7eb8564736f6c63430007030033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,170.75 | 1.5017 | $3,259.82 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.