Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
4.445633252247296108 ETH
Eth Value
$10,194.64 (@ $2,293.18/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 58 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Tokens | 20581940 | 25 days ago | IN | 0 ETH | 0.00180918 | ||||
Claim Tokens | 20474301 | 40 days ago | IN | 0 ETH | 0.00228141 | ||||
Claim Tokens | 20414279 | 48 days ago | IN | 0 ETH | 0.00091459 | ||||
Claim Tokens | 20410606 | 48 days ago | IN | 0 ETH | 0.00041499 | ||||
Claim Tokens | 20407678 | 49 days ago | IN | 0 ETH | 0.00057579 | ||||
Claim Tokens | 20405309 | 49 days ago | IN | 0 ETH | 0.00369557 | ||||
Claim Tokens | 20403114 | 50 days ago | IN | 0 ETH | 0.001512 | ||||
Claim Tokens | 20402299 | 50 days ago | IN | 0 ETH | 0.00017823 | ||||
Claim Tokens | 20402288 | 50 days ago | IN | 0 ETH | 0.00021457 | ||||
Claim Token | 20092710 | 93 days ago | IN | 0 ETH | 0.00076996 | ||||
Claim Token | 20092702 | 93 days ago | IN | 0 ETH | 0.0007762 | ||||
Claim Token | 15281602 | 772 days ago | IN | 0 ETH | 0.00065578 | ||||
Transfer | 15271954 | 774 days ago | IN | 0.0255955 ETH | 0.00047748 | ||||
Claim Owner | 15257966 | 776 days ago | IN | 0 ETH | 0.00113857 | ||||
Transfer | 14910560 | 833 days ago | IN | 0.061785 ETH | 0.00302067 | ||||
Claim Token | 14825808 | 847 days ago | IN | 0 ETH | 0.0017817 | ||||
Transfer | 14791911 | 852 days ago | IN | 0.030995 ETH | 0.00140874 | ||||
Transfer Ownersh... | 14673211 | 871 days ago | IN | 0 ETH | 0.00117963 | ||||
Claim Owner | 14673191 | 871 days ago | IN | 0 ETH | 0.00098158 | ||||
Transfer | 14621397 | 879 days ago | IN | 0.020825 ETH | 0.00124464 | ||||
Transfer | 14516621 | 896 days ago | IN | 0.0305845 ETH | 0.0019095 | ||||
Transfer | 14422750 | 910 days ago | IN | 0.0255845 ETH | 0.00072236 | ||||
Transfer | 14312471 | 927 days ago | IN | 0.0717775 ETH | 0.00163283 | ||||
Transfer | 14219663 | 942 days ago | IN | 0.0852285 ETH | 0.00227052 | ||||
Transfer | 14152771 | 952 days ago | IN | 0.0305825 ETH | 0.00212643 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20581940 | 25 days ago | 0.00697217 ETH | ||||
20474301 | 40 days ago | 0.020045 ETH | ||||
20414279 | 48 days ago | 0.00174304 ETH | ||||
20410606 | 48 days ago | 0.00087152 ETH | ||||
20407678 | 49 days ago | 0.00174304 ETH | ||||
20405309 | 49 days ago | 0.01307282 ETH | ||||
20403114 | 50 days ago | 0.01176554 ETH | ||||
20402299 | 50 days ago | 0.00174304 ETH | ||||
20402288 | 50 days ago | 0.0021788 ETH | ||||
20092710 | 93 days ago | 0.00043576 ETH | ||||
20092702 | 93 days ago | 0.00043576 ETH | ||||
18647114 | 295 days ago | 0.000125 ETH | ||||
18644493 | 296 days ago | 0.000125 ETH | ||||
18643201 | 296 days ago | 0.0005 ETH | ||||
18337789 | 339 days ago | 0.000036 ETH | ||||
18281521 | 347 days ago | 0.00195 ETH | ||||
18145565 | 366 days ago | 0.000495 ETH | ||||
18145565 | 366 days ago | 0.00045 ETH | ||||
18066487 | 377 days ago | 0.000195 ETH | ||||
18044304 | 380 days ago | 0.00045 ETH | ||||
17983022 | 388 days ago | 0.000147 ETH | ||||
17958970 | 392 days ago | 0.000045 ETH | ||||
17955219 | 392 days ago | 0.0000245 ETH | ||||
17836633 | 409 days ago | 0.0001845 ETH | ||||
17786355 | 416 days ago | 0.0000465 ETH |
Loading...
Loading
Contract Name:
Reward
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// contracts/Reward.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol"; contract Reward is Ownable { using SafeMath for uint256; using SafeMath for uint32; struct ERC721Config { // total supply of the ERC721 contract uint32 totalSupply; // total supply of the ERC721 contract multiplied by 100 uint32 totalSupply_100; // the integer ratio donated to the token hodlers in the range of [0, 100] uint16 ratio; // flag to enable and disable the claim bool enableClaim; } // mapping from token ID to accumulated ETH balance uint256[] private _tClaimed; uint256 private _tBalance; // accumulated ETH balance reserved to the contract owner uint256 private _oBalance; // the associated IERC721 contract IERC721Enumerable private _nft; // configuration data structure ERC721Config private _config; /** * @dev receive fallback function where reward is distributed */ receive() external payable { uint256 tValue = (((msg.value).mul(_config.ratio))).div(_config.totalSupply_100); // x = (value * ratio) / N * 100 uint256 oValue = (msg.value).sub((_config.totalSupply.mul(tValue))); // y = (value) - (N * x) _tBalance = _tBalance.add(tValue); _oBalance = _oBalance.add(oValue); } /** * @dev Constructor * The parameters are: * nftAddress - address of the ERC721 contract * totalSupply - total supply of the ERC721 contract * startIndex - the token starting index (i.e., generally or 0 or 1) * ratio - the integer ratio donated to the token hodlers in the range of [0, 100] */ constructor ( address nftAddress, uint32 totalSupply, uint32 startIndex, uint16 ratio ) { require(nftAddress != address(0), "nftAddress not valid"); require(ratio <= 100, "ratio not valid"); require(startIndex == 0, "this contract supports only startIndex equal 0"); _nft = IERC721Enumerable(nftAddress); _tBalance = 0; _oBalance = 0; _tClaimed = new uint256[](totalSupply); for (uint i = 0; i < totalSupply; i++) { _tClaimed[i] = 0; } _config.totalSupply = totalSupply; _config.totalSupply_100 = uint32(totalSupply.mul(100)); _config.ratio = ratio; _config.enableClaim = true; } /** * @dev Claim the accumulated balance for the tokenId. * Returns true in case of success, false in case of failure */ function claimToken(uint256 tokenId) public returns (bool) { require(_config.enableClaim, "claim disabled"); require(_msgSender() == _nft.ownerOf(tokenId), "caller is not the token owner"); uint256 amount = _tBalance.sub(_tClaimed[tokenId]); bool success = true; if (amount > 0) { _tClaimed[tokenId] = _tClaimed[tokenId].add(amount); (success, ) = _msgSender().call{value:amount}(""); } if (!success) { // no need to call throw here, just reset the amount owing // the sum is required since payout are coming async _tClaimed[tokenId] = _tClaimed[tokenId].sub(amount); } return success; } /** * @dev Claim the accumulated balance for a list of tokenIds. * Returns true in case of success, false in case of failure */ function claimTokens(uint256[] calldata tokenIds) public returns (bool) { require(_config.enableClaim, "claim disabled"); require(tokenIds.length > 0, "array is empty"); uint256[] memory amounts = new uint256[](tokenIds.length); uint256 totalAmount = 0; uint256 tmpAmount = 0; uint256 i; bool success = true; for (i = 0; i < tokenIds.length; i++) { require(_msgSender() == _nft.ownerOf(tokenIds[i]), "caller is not the token owner"); } for (i = 0; i < tokenIds.length; i++) { tmpAmount = _tBalance.sub(_tClaimed[tokenIds[i]]); amounts[i] = tmpAmount; totalAmount = totalAmount.add(tmpAmount); _tClaimed[tokenIds[i]] = _tClaimed[tokenIds[i]].add(tmpAmount); } if (totalAmount > 0) { (success, ) = _msgSender().call{value:totalAmount}(""); } if (!success) { // no need to call throw here, just reset all the amount owing // the sum is required since payout are coming async for (i = 0; i < tokenIds.length; i++) { _tClaimed[tokenIds[i]] = _tClaimed[tokenIds[i]].sub(amounts[i]); } } return success; } /** * @dev Claim the owner balance. * Returns true in case of success, false in case of failure */ function claimOwner() public onlyOwner() returns (bool) { require(_config.enableClaim, "claim disabled"); uint256 amount = _oBalance; bool success = true; if (amount > 0) { _oBalance = _oBalance.sub(amount); (success, ) = _msgSender().call{value:amount}(""); } if (!success) { // no need to call throw here, just reset all the amount owing // the sum is required since payout are coming async _oBalance = _oBalance.add(amount); } return success; } /** * @dev Returns the caller accumulated balance on its NFT tokens */ function balanceOf(address wallet) public view returns (uint256) { uint256 totalAmount = 0; uint256 numTokens = _nft.balanceOf(wallet); for (uint256 i = 0; i < numTokens; i++) { totalAmount = totalAmount.add( _tBalance.sub(_tClaimed[_nft.tokenOfOwnerByIndex(wallet, i)]) ); } return totalAmount; } /** * @dev Returns the accumulated balance for the tokenId */ function balanceOfToken(uint256 tokenId) public view returns (uint256) { require(tokenId < _config.totalSupply, "tokenID not valid"); return _tBalance.sub(_tClaimed[tokenId]); } /** * @dev Returns the owner balance */ function ownerBalance() public onlyOwner() view returns (uint256) { return _oBalance; } /** * @dev Enable or disable the claim[*]() functions */ function setEnableClaim(bool flag) public onlyOwner() { _config.enableClaim = flag; } /** * @dev Set a new ratio value in the range of [0, 100] */ function setRatio(uint16 ratio) public onlyOwner() { require(ratio <= 100, "ratio not valid"); _config.ratio = ratio; } function getRatio() public view returns (uint16) { return _config.ratio; } /** * @dev Withdraw to 'destination' and destruct this contract (Callable by owner) */ function destroy(address destination) onlyOwner() public { selfdestruct(payable(destination)); } }
// SPDX-License-Identifier: MIT 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() { _setOwner(_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 { _setOwner(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"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Enumerable is IERC721 { /** * @dev Returns the total amount of tokens stored by the contract. */ function totalSupply() external view returns (uint256); /** * @dev Returns a token ID owned by `owner` at a given `index` of its token list. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); /** * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. * Use along with {totalSupply} to enumerate all tokens. */ function tokenByIndex(uint256 index) external view returns (uint256); }
// SPDX-License-Identifier: MIT 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; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"nftAddress","type":"address"},{"internalType":"uint32","name":"totalSupply","type":"uint32"},{"internalType":"uint32","name":"startIndex","type":"uint32"},{"internalType":"uint16","name":"ratio","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"balanceOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"claimToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"claimTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"name":"destroy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRatio","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"flag","type":"bool"}],"name":"setEnableClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"ratio","type":"uint16"}],"name":"setRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200164b3803806200164b8339810160408190526200003491620003ba565b6200003f33620002d4565b6001600160a01b0384166200009b5760405162461bcd60e51b815260206004820152601460248201527f6e667441646472657373206e6f742076616c696400000000000000000000000060448201526064015b60405180910390fd5b60648161ffff161115620000e45760405162461bcd60e51b815260206004820152600f60248201526e1c985d1a5bc81b9bdd081d985b1a59608a1b604482015260640162000092565b63ffffffff821615620001515760405162461bcd60e51b815260206004820152602e60248201527f7468697320636f6e747261637420737570706f727473206f6e6c79207374617260448201526d074496e64657820657175616c20360941b606482015260840162000092565b600480546001600160a01b0319166001600160a01b0386161790556000600281905560035563ffffffff83166001600160401b03811115620001a357634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015620001cd578160200160208202803683370190505b508051620001e49160019160209091019062000339565b5060005b8363ffffffff168110156200023c576000600182815481106200021b57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001558062000233816200044b565b915050620001e8565b506005805463ffffffff191663ffffffff85169081179091556200026e90606462000324602090811b6200031217901c565b6005805460ff60501b1961ffff909416680100000000000000000261ffff60401b1963ffffffff94909416640100000000029390931665ffffffffffff60201b199091161791909117919091166a0100000000000000000000179055506200047f915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062000332828462000429565b9392505050565b82805482825590600052602060002090810192821562000377579160200282015b82811115620003775782518255916020019190600101906200035a565b506200038592915062000389565b5090565b5b808211156200038557600081556001016200038a565b805163ffffffff81168114620003b557600080fd5b919050565b60008060008060808587031215620003d0578384fd5b84516001600160a01b0381168114620003e7578485fd5b9350620003f760208601620003a0565b92506200040760408601620003a0565b9150606085015161ffff811681146200041e578182fd5b939692955090935050565b600081600019048311821515161562000446576200044662000469565b500290565b600060001982141562000462576200046262000469565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6111bc806200048f6000396000f3fe6080604052600436106100c55760003560e01c80637a0947481161007f578063bedcf00311610059578063bedcf0031461028f578063ec1ebd7a146102a4578063efd32692146102d2578063f2fde38b146102f257600080fd5b80637a094748146102275780638da5cb5b14610247578063a9e7c2e51461026f57600080fd5b8062f55d9d1461015857806311e632e91461017a5780632d08265a1461019a5780633bd1adec146101cf57806370a08231146101e4578063715018a61461021257600080fd5b36610153576005546000906101039063ffffffff64010000000082048116916100fd91349161ffff600160401b909104169061031216565b90610325565b60055490915060009061012c906101259063ffffffff90811690859061031216565b3490610331565b60025490915061013c908361033d565b60025560035461014c908261033d565b6003555050005b600080fd5b34801561016457600080fd5b50610178610173366004610f5b565b610349565b005b34801561018657600080fd5b50610178610195366004611003565b610388565b3480156101a657600080fd5b506101ba6101b5366004610f93565b6103d0565b60405190151581526020015b60405180910390f35b3480156101db57600080fd5b506101ba61088a565b3480156101f057600080fd5b506102046101ff366004610f5b565b610960565b6040519081526020016101c6565b34801561021e57600080fd5b50610178610ac6565b34801561023357600080fd5b50610178610242366004611023565b610afc565b34801561025357600080fd5b506000546040516001600160a01b0390911681526020016101c6565b34801561027b57600080fd5b506101ba61028a366004611045565b610b94565b34801561029b57600080fd5b50610204610dc6565b3480156102b057600080fd5b50600554600160401b900461ffff1660405161ffff90911681526020016101c6565b3480156102de57600080fd5b506102046102ed366004611045565b610df8565b3480156102fe57600080fd5b5061017861030d366004610f5b565b610e70565b600061031e828461110a565b9392505050565b600061031e82846110ea565b600061031e8284611129565b600061031e82846110d2565b6000546001600160a01b0316331461037c5760405162461bcd60e51b815260040161037390611075565b60405180910390fd5b806001600160a01b0316ff5b6000546001600160a01b031633146103b25760405162461bcd60e51b815260040161037390611075565b60058054911515600160501b0260ff60501b19909216919091179055565b600554600090600160501b900460ff166103fc5760405162461bcd60e51b8152600401610373906110aa565b8161043a5760405162461bcd60e51b815260206004820152600e60248201526d617272617920697320656d70747960901b6044820152606401610373565b60008267ffffffffffffffff81111561046357634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561048c578160200160208202803683370190505b5090506000808060015b868210156105b6576004546001600160a01b0316636352211e8989858181106104cf57634e487b7160e01b600052603260045260246000fd5b905060200201356040518263ffffffff1660e01b81526004016104f491815260200190565b60206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190610f77565b6001600160a01b0316336001600160a01b0316146105a45760405162461bcd60e51b815260206004820152601d60248201527f63616c6c6572206973206e6f742074686520746f6b656e206f776e65720000006044820152606401610373565b816105ae81611140565b925050610496565b600091505b8682101561072c5761062960018989858181106105e857634e487b7160e01b600052603260045260246000fd5b905060200201358154811061060d57634e487b7160e01b600052603260045260246000fd5b906000526020600020015460025461033190919063ffffffff16565b92508285838151811061064c57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610661848461033d565b93506106c78360018a8a8681811061068957634e487b7160e01b600052603260045260246000fd5b90506020020135815481106106ae57634e487b7160e01b600052603260045260246000fd5b906000526020600020015461033d90919063ffffffff16565b60018989858181106106e957634e487b7160e01b600052603260045260246000fd5b905060200201358154811061070e57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001558161072481611140565b9250506105bb565b831561077d5760405133908590600081818185875af1925050503d8060008114610772576040519150601f19603f3d011682016040523d82523d6000602084013e610777565b606091505b50909150505b8061087f57600091505b8682101561087f5761081a8583815181106107b257634e487b7160e01b600052603260045260246000fd5b602002602001015160018a8a868181106107dc57634e487b7160e01b600052603260045260246000fd5b905060200201358154811061080157634e487b7160e01b600052603260045260246000fd5b906000526020600020015461033190919063ffffffff16565b600189898581811061083c57634e487b7160e01b600052603260045260246000fd5b905060200201358154811061086157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001558161087781611140565b925050610787565b979650505050505050565b600080546001600160a01b031633146108b55760405162461bcd60e51b815260040161037390611075565b600554600160501b900460ff166108de5760405162461bcd60e51b8152600401610373906110aa565b60035460018115610944576003546108f69083610331565b60035560405133908390600081818185875af1925050503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b50909150505b8061095a57600354610956908361033d565b6003555b91505090565b600480546040516370a0823160e01b81526001600160a01b0384811693820193909352600092839283929116906370a082319060240160206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e6919061105d565b905060005b81811015610abd5760048054604051632f745c5960e01b81526001600160a01b038881169382019390935260248101849052610aa992610aa292600192911690632f745c599060440160206040518083038186803b158015610a4c57600080fd5b505afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a84919061105d565b8154811061060d57634e487b7160e01b600052603260045260246000fd5b849061033d565b925080610ab581611140565b9150506109eb565b50909392505050565b6000546001600160a01b03163314610af05760405162461bcd60e51b815260040161037390611075565b610afa6000610f0b565b565b6000546001600160a01b03163314610b265760405162461bcd60e51b815260040161037390611075565b60648161ffff161115610b6d5760405162461bcd60e51b815260206004820152600f60248201526e1c985d1a5bc81b9bdd081d985b1a59608a1b6044820152606401610373565b6005805461ffff909216600160401b0269ffff000000000000000019909216919091179055565b600554600090600160501b900460ff16610bc05760405162461bcd60e51b8152600401610373906110aa565b600480546040516331a9108f60e11b81529182018490526001600160a01b031690636352211e9060240160206040518083038186803b158015610c0257600080fd5b505afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190610f77565b6001600160a01b0316336001600160a01b031614610c9a5760405162461bcd60e51b815260206004820152601d60248201527f63616c6c6572206973206e6f742074686520746f6b656e206f776e65720000006044820152606401610373565b6000610cc06001848154811061060d57634e487b7160e01b600052603260045260246000fd5b905060018115610d6857610cef82600186815481106106ae57634e487b7160e01b600052603260045260246000fd5b60018581548110610d1057634e487b7160e01b600052603260045260246000fd5b6000918252602082200191909155604051339184919081818185875af1925050503d8060008114610d5d576040519150601f19603f3d011682016040523d82523d6000602084013e610d62565b606091505b50909150505b8061031e57610d92826001868154811061080157634e487b7160e01b600052603260045260246000fd5b60018581548110610db357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001559392505050565b600080546001600160a01b03163314610df15760405162461bcd60e51b815260040161037390611075565b5060035490565b60055460009063ffffffff168210610e465760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b9251081b9bdd081d985b1a59607a1b6044820152606401610373565b610e6a6001838154811061060d57634e487b7160e01b600052603260045260246000fd5b92915050565b6000546001600160a01b03163314610e9a5760405162461bcd60e51b815260040161037390611075565b6001600160a01b038116610eff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610373565b610f0881610f0b565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610f6c578081fd5b813561031e81611171565b600060208284031215610f88578081fd5b815161031e81611171565b60008060208385031215610fa5578081fd5b823567ffffffffffffffff80821115610fbc578283fd5b818501915085601f830112610fcf578283fd5b813581811115610fdd578384fd5b8660208260051b8501011115610ff1578384fd5b60209290920196919550909350505050565b600060208284031215611014578081fd5b8135801515811461031e578182fd5b600060208284031215611034578081fd5b813561ffff8116811461031e578182fd5b600060208284031215611056578081fd5b5035919050565b60006020828403121561106e578081fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d18db185a5b48191a5cd8589b195960921b604082015260600190565b600082198211156110e5576110e561115b565b500190565b60008261110557634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156111245761112461115b565b500290565b60008282101561113b5761113b61115b565b500390565b60006000198214156111545761115461115b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610f0857600080fdfea264697066735822122001e210511b9bce95e4dc955a6102f2c65269215d74b05d7dcd22d7882eced77264736f6c63430008040033000000000000000000000000e12a2a0fb3fb5089a498386a734df7060c1693b8000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019
Deployed Bytecode
0x6080604052600436106100c55760003560e01c80637a0947481161007f578063bedcf00311610059578063bedcf0031461028f578063ec1ebd7a146102a4578063efd32692146102d2578063f2fde38b146102f257600080fd5b80637a094748146102275780638da5cb5b14610247578063a9e7c2e51461026f57600080fd5b8062f55d9d1461015857806311e632e91461017a5780632d08265a1461019a5780633bd1adec146101cf57806370a08231146101e4578063715018a61461021257600080fd5b36610153576005546000906101039063ffffffff64010000000082048116916100fd91349161ffff600160401b909104169061031216565b90610325565b60055490915060009061012c906101259063ffffffff90811690859061031216565b3490610331565b60025490915061013c908361033d565b60025560035461014c908261033d565b6003555050005b600080fd5b34801561016457600080fd5b50610178610173366004610f5b565b610349565b005b34801561018657600080fd5b50610178610195366004611003565b610388565b3480156101a657600080fd5b506101ba6101b5366004610f93565b6103d0565b60405190151581526020015b60405180910390f35b3480156101db57600080fd5b506101ba61088a565b3480156101f057600080fd5b506102046101ff366004610f5b565b610960565b6040519081526020016101c6565b34801561021e57600080fd5b50610178610ac6565b34801561023357600080fd5b50610178610242366004611023565b610afc565b34801561025357600080fd5b506000546040516001600160a01b0390911681526020016101c6565b34801561027b57600080fd5b506101ba61028a366004611045565b610b94565b34801561029b57600080fd5b50610204610dc6565b3480156102b057600080fd5b50600554600160401b900461ffff1660405161ffff90911681526020016101c6565b3480156102de57600080fd5b506102046102ed366004611045565b610df8565b3480156102fe57600080fd5b5061017861030d366004610f5b565b610e70565b600061031e828461110a565b9392505050565b600061031e82846110ea565b600061031e8284611129565b600061031e82846110d2565b6000546001600160a01b0316331461037c5760405162461bcd60e51b815260040161037390611075565b60405180910390fd5b806001600160a01b0316ff5b6000546001600160a01b031633146103b25760405162461bcd60e51b815260040161037390611075565b60058054911515600160501b0260ff60501b19909216919091179055565b600554600090600160501b900460ff166103fc5760405162461bcd60e51b8152600401610373906110aa565b8161043a5760405162461bcd60e51b815260206004820152600e60248201526d617272617920697320656d70747960901b6044820152606401610373565b60008267ffffffffffffffff81111561046357634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561048c578160200160208202803683370190505b5090506000808060015b868210156105b6576004546001600160a01b0316636352211e8989858181106104cf57634e487b7160e01b600052603260045260246000fd5b905060200201356040518263ffffffff1660e01b81526004016104f491815260200190565b60206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190610f77565b6001600160a01b0316336001600160a01b0316146105a45760405162461bcd60e51b815260206004820152601d60248201527f63616c6c6572206973206e6f742074686520746f6b656e206f776e65720000006044820152606401610373565b816105ae81611140565b925050610496565b600091505b8682101561072c5761062960018989858181106105e857634e487b7160e01b600052603260045260246000fd5b905060200201358154811061060d57634e487b7160e01b600052603260045260246000fd5b906000526020600020015460025461033190919063ffffffff16565b92508285838151811061064c57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610661848461033d565b93506106c78360018a8a8681811061068957634e487b7160e01b600052603260045260246000fd5b90506020020135815481106106ae57634e487b7160e01b600052603260045260246000fd5b906000526020600020015461033d90919063ffffffff16565b60018989858181106106e957634e487b7160e01b600052603260045260246000fd5b905060200201358154811061070e57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001558161072481611140565b9250506105bb565b831561077d5760405133908590600081818185875af1925050503d8060008114610772576040519150601f19603f3d011682016040523d82523d6000602084013e610777565b606091505b50909150505b8061087f57600091505b8682101561087f5761081a8583815181106107b257634e487b7160e01b600052603260045260246000fd5b602002602001015160018a8a868181106107dc57634e487b7160e01b600052603260045260246000fd5b905060200201358154811061080157634e487b7160e01b600052603260045260246000fd5b906000526020600020015461033190919063ffffffff16565b600189898581811061083c57634e487b7160e01b600052603260045260246000fd5b905060200201358154811061086157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001558161087781611140565b925050610787565b979650505050505050565b600080546001600160a01b031633146108b55760405162461bcd60e51b815260040161037390611075565b600554600160501b900460ff166108de5760405162461bcd60e51b8152600401610373906110aa565b60035460018115610944576003546108f69083610331565b60035560405133908390600081818185875af1925050503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b50909150505b8061095a57600354610956908361033d565b6003555b91505090565b600480546040516370a0823160e01b81526001600160a01b0384811693820193909352600092839283929116906370a082319060240160206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e6919061105d565b905060005b81811015610abd5760048054604051632f745c5960e01b81526001600160a01b038881169382019390935260248101849052610aa992610aa292600192911690632f745c599060440160206040518083038186803b158015610a4c57600080fd5b505afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a84919061105d565b8154811061060d57634e487b7160e01b600052603260045260246000fd5b849061033d565b925080610ab581611140565b9150506109eb565b50909392505050565b6000546001600160a01b03163314610af05760405162461bcd60e51b815260040161037390611075565b610afa6000610f0b565b565b6000546001600160a01b03163314610b265760405162461bcd60e51b815260040161037390611075565b60648161ffff161115610b6d5760405162461bcd60e51b815260206004820152600f60248201526e1c985d1a5bc81b9bdd081d985b1a59608a1b6044820152606401610373565b6005805461ffff909216600160401b0269ffff000000000000000019909216919091179055565b600554600090600160501b900460ff16610bc05760405162461bcd60e51b8152600401610373906110aa565b600480546040516331a9108f60e11b81529182018490526001600160a01b031690636352211e9060240160206040518083038186803b158015610c0257600080fd5b505afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190610f77565b6001600160a01b0316336001600160a01b031614610c9a5760405162461bcd60e51b815260206004820152601d60248201527f63616c6c6572206973206e6f742074686520746f6b656e206f776e65720000006044820152606401610373565b6000610cc06001848154811061060d57634e487b7160e01b600052603260045260246000fd5b905060018115610d6857610cef82600186815481106106ae57634e487b7160e01b600052603260045260246000fd5b60018581548110610d1057634e487b7160e01b600052603260045260246000fd5b6000918252602082200191909155604051339184919081818185875af1925050503d8060008114610d5d576040519150601f19603f3d011682016040523d82523d6000602084013e610d62565b606091505b50909150505b8061031e57610d92826001868154811061080157634e487b7160e01b600052603260045260246000fd5b60018581548110610db357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001559392505050565b600080546001600160a01b03163314610df15760405162461bcd60e51b815260040161037390611075565b5060035490565b60055460009063ffffffff168210610e465760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b9251081b9bdd081d985b1a59607a1b6044820152606401610373565b610e6a6001838154811061060d57634e487b7160e01b600052603260045260246000fd5b92915050565b6000546001600160a01b03163314610e9a5760405162461bcd60e51b815260040161037390611075565b6001600160a01b038116610eff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610373565b610f0881610f0b565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610f6c578081fd5b813561031e81611171565b600060208284031215610f88578081fd5b815161031e81611171565b60008060208385031215610fa5578081fd5b823567ffffffffffffffff80821115610fbc578283fd5b818501915085601f830112610fcf578283fd5b813581811115610fdd578384fd5b8660208260051b8501011115610ff1578384fd5b60209290920196919550909350505050565b600060208284031215611014578081fd5b8135801515811461031e578182fd5b600060208284031215611034578081fd5b813561ffff8116811461031e578182fd5b600060208284031215611056578081fd5b5035919050565b60006020828403121561106e578081fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600e908201526d18db185a5b48191a5cd8589b195960921b604082015260600190565b600082198211156110e5576110e561115b565b500190565b60008261110557634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156111245761112461115b565b500290565b60008282101561113b5761113b61115b565b500390565b60006000198214156111545761115461115b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610f0857600080fdfea264697066735822122001e210511b9bce95e4dc955a6102f2c65269215d74b05d7dcd22d7882eced77264736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e12a2a0fb3fb5089a498386a734df7060c1693b8000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019
-----Decoded View---------------
Arg [0] : nftAddress (address): 0xe12a2A0Fb3fB5089A498386A734DF7060c1693b8
Arg [1] : totalSupply (uint32): 10000
Arg [2] : startIndex (uint32): 0
Arg [3] : ratio (uint16): 25
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000e12a2a0fb3fb5089a498386a734df7060c1693b8
Arg [1] : 0000000000000000000000000000000000000000000000000000000000002710
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000019
Loading...
Loading
Loading...
Loading
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.