Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,770 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Claim | 18345527 | 259 days ago | IN | 0 ETH | 0.00142491 | ||||
Claim | 17527671 | 374 days ago | IN | 0 ETH | 0.00049793 | ||||
Claim | 15646335 | 638 days ago | IN | 0 ETH | 0.00210433 | ||||
Claim | 15646274 | 638 days ago | IN | 0 ETH | 0.00117296 | ||||
Claim | 15645973 | 638 days ago | IN | 0 ETH | 0.00083155 | ||||
Claim | 15644755 | 638 days ago | IN | 0 ETH | 0.00093983 | ||||
Claim | 15632273 | 639 days ago | IN | 0 ETH | 0.00142519 | ||||
Claim | 15625536 | 640 days ago | IN | 0 ETH | 0.00246457 | ||||
Claim | 15608134 | 643 days ago | IN | 0 ETH | 0.000419 | ||||
Claim | 15607290 | 643 days ago | IN | 0 ETH | 0.00046331 | ||||
Claim | 15603621 | 643 days ago | IN | 0 ETH | 0.00041386 | ||||
Claim | 15602549 | 644 days ago | IN | 0 ETH | 0.00065968 | ||||
Claim | 15599552 | 644 days ago | IN | 0 ETH | 0.00034336 | ||||
Claim | 15584829 | 646 days ago | IN | 0 ETH | 0.00071092 | ||||
Claim | 15569219 | 648 days ago | IN | 0 ETH | 0.00108615 | ||||
Claim | 15565245 | 649 days ago | IN | 0 ETH | 0.00020815 | ||||
Claim | 15560901 | 649 days ago | IN | 0 ETH | 0.00058439 | ||||
Claim | 15540470 | 652 days ago | IN | 0 ETH | 0.00158219 | ||||
Claim | 15513705 | 657 days ago | IN | 0 ETH | 0.00069521 | ||||
Claim | 15500607 | 659 days ago | IN | 0 ETH | 0.00085135 | ||||
Claim | 15483331 | 662 days ago | IN | 0 ETH | 0.00060848 | ||||
Claim | 15475925 | 663 days ago | IN | 0 ETH | 0.0003664 | ||||
Claim | 15470399 | 664 days ago | IN | 0 ETH | 0.0004983 | ||||
Claim | 15464938 | 665 days ago | IN | 0 ETH | 0.0007192 | ||||
Claim | 15463002 | 665 days ago | IN | 0 ETH | 0.00051563 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TokenClaim
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-29 */ // File: node_modules\@openzeppelin\contracts\utils\Context.sol // 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) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin\contracts\access\Ownable.sol pragma solidity ^0.8.0; /** * @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 () { 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; } } // File: @openzeppelin\contracts\token\ERC20\IERC20.sol pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts\lib\Signature.sol pragma solidity ^0.8.0; library Signature { /** * @dev Splits signature */ function splitSignature(bytes memory sig) private pure returns (uint8 v, bytes32 r, bytes32 s) { require(sig.length == 65); assembly { // first 32 bytes, after the length prefix. r := mload(add(sig, 32)) // second 32 bytes. s := mload(add(sig, 64)) // final byte (first byte of the next 32 bytes). v := byte(0, mload(add(sig, 96))) } return (v, r, s); } /** * @dev Recovers signer */ function recoverSigner(bytes32 message, bytes memory sig) internal pure returns (address) { (uint8 v, bytes32 r, bytes32 s) = splitSignature(sig); return ecrecover(message, v, r, s); } /** * @dev Builds a prefixed hash to mimic the behavior of eth_sign. */ function prefixed(bytes32 hash) internal pure returns (bytes32) { return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); } } // File: contracts\TokenClaim.sol pragma solidity ^0.8.0; contract TokenClaim is Ownable { using Signature for bytes32; event SignatureVerifierUpdated(address account); event AdminWalletUpdated(address account); event TokenWithdrawed(address account, uint256 amount); event TokenClaimed(uint256 phaseId, address account, uint256 amount); IERC20 private _token; address private _signatureVerifier; address private _adminWallet; mapping(uint256 => mapping(address => bool)) _claimed; /** * @dev Constructor */ constructor(address token, address signatureVerifier, address adminWallet) { _token = IERC20(token); _signatureVerifier = signatureVerifier; _adminWallet = adminWallet; } /** * @dev Updates signature verifier */ function updateSignatureVerifier(address account) external onlyOwner { require(account != address(0), "TokenClaim: address is invalid"); _signatureVerifier = account; emit SignatureVerifierUpdated(account); } /** * @dev Updates admin wallet */ function updateAdminWallet(address account) external onlyOwner { require(account != address(0), "TokenClaim: address is invalid"); _adminWallet = account; emit AdminWalletUpdated(account); } /** * @dev Withdraws token out of this smart contract and transfer to * admin wallet */ function withdrawFund(uint256 amount) external onlyOwner { require(amount > 0, "TokenClaim: amount is invalid"); _token.transfer(_adminWallet, amount); emit TokenWithdrawed(_adminWallet, amount); } /** * @dev Returns smart contract information */ function getContractInfo() external view returns (address, address, address, uint256) { return (address(_token), _signatureVerifier, _adminWallet, _token.balanceOf(address(this))); } /** * @dev Returns true if account claimed */ function isClaimed(uint256 phaseId, address account) external view returns (bool) { return _claimed[phaseId][account]; } /** * @dev Claims token */ function claim(uint256 phaseId, uint256 index, uint256 amount, uint256 releaseTime, bytes memory signature) external { address msgSender = _msgSender(); require(!_claimed[phaseId][msgSender], "TokenClaim: account already claimed"); require(block.timestamp >= releaseTime, "TokenClaim: token still is in locking time"); bytes32 message = keccak256(abi.encodePacked(phaseId, index, msgSender, amount, releaseTime, address(this))).prefixed(); require(message.recoverSigner(signature) == _signatureVerifier, "TokenClaim: signature is invalid"); amount = amount * 1e18; _claimed[phaseId][msgSender] = true; _token.transfer(msgSender, amount); emit TokenClaimed(phaseId, msgSender, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"signatureVerifier","type":"address"},{"internalType":"address","name":"adminWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AdminWalletUpdated","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":false,"internalType":"address","name":"account","type":"address"}],"name":"SignatureVerifierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"phaseId","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenWithdrawed","type":"event"},{"inputs":[{"internalType":"uint256","name":"phaseId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"phaseId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateAdminWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateSignatureVerifier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFund","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610dab380380610dab83398101604081905261002f916100ce565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b039485166001600160a01b031991821617909155600280549385169382169390931790925560038054919093169116179055610111565b80516001600160a01b03811681146100c957600080fd5b919050565b6000806000606084860312156100e357600080fd5b6100ec846100b2565b92506100fa602085016100b2565b9150610108604085016100b2565b90509250925092565b610c8b806101206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637cc1f867116100665780637cc1f867146100db5780638da5cb5b14610121578063988f13a51461013c578063d2ef07951461014f578063f2fde38b1461019857600080fd5b80630cee1725146100985780635667981b146100ad5780635eec0870146100c0578063715018a6146100d3575b600080fd5b6100ab6100a6366004610aa7565b6101ab565b005b6100ab6100bb366004610a63565b610301565b6100ab6100ce366004610a63565b6103cf565b6100ab61049d565b6100e3610511565b60405161011894939291906001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b60405180910390f35b6000546040516001600160a01b039091168152602001610118565b6100ab61014a366004610b05565b6105b3565b61018861015d366004610ad9565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6040519015158152602001610118565b6100ab6101a6366004610a63565b6108af565b6000546001600160a01b031633146101de5760405162461bcd60e51b81526004016101d590610bdd565b60405180910390fd5b6000811161022e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e436c61696d3a20616d6f756e7420697320696e76616c696400000060448201526064016101d5565b60015460035460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb90604401602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b69190610a85565b50600354604080516001600160a01b039092168252602082018390527f05e8d4927d2e9cff8a7d6f1c0c3b0fdd4d7299da00fe4911745bda49a5834e6791015b60405180910390a150565b6000546001600160a01b0316331461032b5760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b0381166103815760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e436c61696d3a206164647265737320697320696e76616c6964000060448201526064016101d5565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f0bf6746974679719d9927e7d8e9264ab0a9ae2e18967964a901d5bb2ac6cc9cb906020016102f6565b6000546001600160a01b031633146103f95760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b03811661044f5760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e436c61696d3a206164647265737320697320696e76616c6964000060448201526064016101d5565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f65ef617d87f7e47ab080058ac1d5ebf06817bbd817e49898ab9f9532405ecd9b906020016102f6565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016101d590610bdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546002546003546040516370a0823160e01b81523060048201526000938493849384936001600160a01b0393841693928316929091169083906370a082319060240160206040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610ac0565b935093509350935090919293565b60008581526004602090815260408083203380855292529091205460ff161561062a5760405162461bcd60e51b815260206004820152602360248201527f546f6b656e436c61696d3a206163636f756e7420616c726561647920636c61696044820152621b595960ea1b60648201526084016101d5565b8242101561068d5760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e436c61696d3a20746f6b656e207374696c6c20697320696e206c6f604482015269636b696e672074696d6560b01b60648201526084016101d5565b6040805160208082018990528183018890526bffffffffffffffffffffffff19606085811b821681850152607484018990526094840188905230901b1660b4830152825180830360a801815260c8830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060e8840152610104808401919091528351808403909101815261012490920190925280519101206002546001600160a01b03166107438285610999565b6001600160a01b0316146107995760405162461bcd60e51b815260206004820181905260248201527f546f6b656e436c61696d3a207369676e617475726520697320696e76616c696460448201526064016101d5565b6107ab85670de0b6b3a7640000610c12565b60008881526004602081815260408084206001600160a01b038881168087529190935293819020805460ff1916600190811790915554905163a9059cbb60e01b8152928301939093526024820184905292975091169063a9059cbb90604401602060405180830381600087803b15801561082457600080fd5b505af1158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190610a85565b50604080518881526001600160a01b03841660208201529081018690527f7ebec69a24f70f6adc732c5d495ea40faf1248f959f11feafe0f9bbdc4e07b5a9060600160405180910390a150505050505050565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b03811661093e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000806109a885610a18565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa158015610a03573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008060008351604114610a2b57600080fd5b5050506020810151604082015160609092015160001a92909190565b80356001600160a01b0381168114610a5e57600080fd5b919050565b600060208284031215610a7557600080fd5b610a7e82610a47565b9392505050565b600060208284031215610a9757600080fd5b81518015158114610a7e57600080fd5b600060208284031215610ab957600080fd5b5035919050565b600060208284031215610ad257600080fd5b5051919050565b60008060408385031215610aec57600080fd5b82359150610afc60208401610a47565b90509250929050565b600080600080600060a08688031215610b1d57600080fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115610b5157600080fd5b818801915088601f830112610b6557600080fd5b813581811115610b7757610b77610c3f565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610c3f565b816040528281528b6020848701011115610bb857600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615610c3a57634e487b7160e01b600052601160045260246000fd5b500290565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220588d9160c72f498fb6abd435a9faca54fcf9676da6e695668dea263bc230cb2a64736f6c63430008070033000000000000000000000000692accdd8b86692427e0aa4752ae917df01cc56f000000000000000000000000b59696b42d996a39bc5f1be6d1ef7a581539c8c30000000000000000000000006842391e56ba080a633b9802f79b8e66ef1ccc94
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c80637cc1f867116100665780637cc1f867146100db5780638da5cb5b14610121578063988f13a51461013c578063d2ef07951461014f578063f2fde38b1461019857600080fd5b80630cee1725146100985780635667981b146100ad5780635eec0870146100c0578063715018a6146100d3575b600080fd5b6100ab6100a6366004610aa7565b6101ab565b005b6100ab6100bb366004610a63565b610301565b6100ab6100ce366004610a63565b6103cf565b6100ab61049d565b6100e3610511565b60405161011894939291906001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b60405180910390f35b6000546040516001600160a01b039091168152602001610118565b6100ab61014a366004610b05565b6105b3565b61018861015d366004610ad9565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6040519015158152602001610118565b6100ab6101a6366004610a63565b6108af565b6000546001600160a01b031633146101de5760405162461bcd60e51b81526004016101d590610bdd565b60405180910390fd5b6000811161022e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e436c61696d3a20616d6f756e7420697320696e76616c696400000060448201526064016101d5565b60015460035460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb90604401602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b69190610a85565b50600354604080516001600160a01b039092168252602082018390527f05e8d4927d2e9cff8a7d6f1c0c3b0fdd4d7299da00fe4911745bda49a5834e6791015b60405180910390a150565b6000546001600160a01b0316331461032b5760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b0381166103815760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e436c61696d3a206164647265737320697320696e76616c6964000060448201526064016101d5565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f0bf6746974679719d9927e7d8e9264ab0a9ae2e18967964a901d5bb2ac6cc9cb906020016102f6565b6000546001600160a01b031633146103f95760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b03811661044f5760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e436c61696d3a206164647265737320697320696e76616c6964000060448201526064016101d5565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f65ef617d87f7e47ab080058ac1d5ebf06817bbd817e49898ab9f9532405ecd9b906020016102f6565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016101d590610bdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546002546003546040516370a0823160e01b81523060048201526000938493849384936001600160a01b0393841693928316929091169083906370a082319060240160206040518083038186803b15801561056d57600080fd5b505afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190610ac0565b935093509350935090919293565b60008581526004602090815260408083203380855292529091205460ff161561062a5760405162461bcd60e51b815260206004820152602360248201527f546f6b656e436c61696d3a206163636f756e7420616c726561647920636c61696044820152621b595960ea1b60648201526084016101d5565b8242101561068d5760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e436c61696d3a20746f6b656e207374696c6c20697320696e206c6f604482015269636b696e672074696d6560b01b60648201526084016101d5565b6040805160208082018990528183018890526bffffffffffffffffffffffff19606085811b821681850152607484018990526094840188905230901b1660b4830152825180830360a801815260c8830184528051908201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000060e8840152610104808401919091528351808403909101815261012490920190925280519101206002546001600160a01b03166107438285610999565b6001600160a01b0316146107995760405162461bcd60e51b815260206004820181905260248201527f546f6b656e436c61696d3a207369676e617475726520697320696e76616c696460448201526064016101d5565b6107ab85670de0b6b3a7640000610c12565b60008881526004602081815260408084206001600160a01b038881168087529190935293819020805460ff1916600190811790915554905163a9059cbb60e01b8152928301939093526024820184905292975091169063a9059cbb90604401602060405180830381600087803b15801561082457600080fd5b505af1158015610838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c9190610a85565b50604080518881526001600160a01b03841660208201529081018690527f7ebec69a24f70f6adc732c5d495ea40faf1248f959f11feafe0f9bbdc4e07b5a9060600160405180910390a150505050505050565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016101d590610bdd565b6001600160a01b03811661093e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000806109a885610a18565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa158015610a03573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008060008351604114610a2b57600080fd5b5050506020810151604082015160609092015160001a92909190565b80356001600160a01b0381168114610a5e57600080fd5b919050565b600060208284031215610a7557600080fd5b610a7e82610a47565b9392505050565b600060208284031215610a9757600080fd5b81518015158114610a7e57600080fd5b600060208284031215610ab957600080fd5b5035919050565b600060208284031215610ad257600080fd5b5051919050565b60008060408385031215610aec57600080fd5b82359150610afc60208401610a47565b90509250929050565b600080600080600060a08688031215610b1d57600080fd5b85359450602086013593506040860135925060608601359150608086013567ffffffffffffffff80821115610b5157600080fd5b818801915088601f830112610b6557600080fd5b813581811115610b7757610b77610c3f565b604051601f8201601f19908116603f01168101908382118183101715610b9f57610b9f610c3f565b816040528281528b6020848701011115610bb857600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615610c3a57634e487b7160e01b600052601160045260246000fd5b500290565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220588d9160c72f498fb6abd435a9faca54fcf9676da6e695668dea263bc230cb2a64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000692accdd8b86692427e0aa4752ae917df01cc56f000000000000000000000000b59696b42d996a39bc5f1be6d1ef7a581539c8c30000000000000000000000006842391e56ba080a633b9802f79b8e66ef1ccc94
-----Decoded View---------------
Arg [0] : token (address): 0x692aCCdD8b86692427E0aa4752AE917Df01CC56F
Arg [1] : signatureVerifier (address): 0xB59696B42d996A39Bc5F1Be6D1ef7A581539c8c3
Arg [2] : adminWallet (address): 0x6842391E56BA080A633B9802f79b8E66ef1Ccc94
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000692accdd8b86692427e0aa4752ae917df01cc56f
Arg [1] : 000000000000000000000000b59696b42d996a39bc5f1be6d1ef7a581539c8c3
Arg [2] : 0000000000000000000000006842391e56ba080a633b9802f79b8e66ef1ccc94
Deployed Bytecode Sourcemap
7339:3156:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8841:256;;;;;;:::i;:::-;;:::i;:::-;;8145:267;;;;;;:::i;:::-;;:::i;8472:249::-;;;;;;:::i;:::-;;:::i;2761:148::-;;;:::i;9171:228::-;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3979:15:1;;;3961:34;;4031:15;;;4026:2;4011:18;;4004:43;4083:15;;4078:2;4063:18;;4056:43;4130:2;4115:18;;4108:34;;;;3910:3;3895:19;;3692:456;9171:228:0;;;;;;;;2110:87;2156:7;2183:6;2110:87;;-1:-1:-1;;;;;2183:6:0;;;3630:51:1;;3618:2;3603:18;2110:87:0;3484:203:1;9688:802:0;;;;;;:::i;:::-;;:::i;9470:166::-;;;;;;:::i;:::-;9573:4;9602:17;;;:8;:17;;;;;;;;-1:-1:-1;;;;;9602:26:0;;;;;;;;;;;;;;;9470:166;;;;4597:14:1;;4590:22;4572:41;;4560:2;4545:18;9470:166:0;4432:187:1;3064:244:0;;;;;;:::i;:::-;;:::i;8841:256::-;2156:7;2183:6;-1:-1:-1;;;;;2183:6:0;748:10;2330:23;2322:68;;;;-1:-1:-1;;;2322:68:0;;;;;;;:::i;:::-;;;;;;;;;8949:1:::1;8940:6;:10;8932:52;;;::::0;-1:-1:-1;;;8932:52:0;;7128:2:1;8932:52:0::1;::::0;::::1;7110:21:1::0;7167:2;7147:18;;;7140:30;7206:31;7186:18;;;7179:59;7255:18;;8932:52:0::1;6926:353:1::0;8932:52:0::1;8997:6;::::0;9013:12:::1;::::0;8997:37:::1;::::0;-1:-1:-1;;;8997:37:0;;-1:-1:-1;;;;;9013:12:0;;::::1;8997:37;::::0;::::1;4327:51:1::0;4394:18;;;4387:34;;;8997:6:0;::::1;::::0;:15:::1;::::0;4300:18:1;;8997:37:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9068:12:0::1;::::0;9052:37:::1;::::0;;-1:-1:-1;;;;;9068:12:0;;::::1;4327:51:1::0;;4409:2;4394:18;;4387:34;;;9052:37:0::1;::::0;4300:18:1;9052:37:0::1;;;;;;;;8841:256:::0;:::o;8145:267::-;2156:7;2183:6;-1:-1:-1;;;;;2183:6:0;748:10;2330:23;2322:68;;;;-1:-1:-1;;;2322:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8256:21:0;::::1;8248:64;;;::::0;-1:-1:-1;;;8248:64:0;;6408:2:1;8248:64:0::1;::::0;::::1;6390:21:1::0;6447:2;6427:18;;;6420:30;6486:32;6466:18;;;6459:60;6536:18;;8248:64:0::1;6206:354:1::0;8248:64:0::1;8325:18;:28:::0;;-1:-1:-1;;;;;;8325:28:0::1;-1:-1:-1::0;;;;;8325:28:0;::::1;::::0;;::::1;::::0;;;8371:33:::1;::::0;3630:51:1;;;8371:33:0::1;::::0;3618:2:1;3603:18;8371:33:0::1;3484:203:1::0;8472:249:0;2156:7;2183:6;-1:-1:-1;;;;;2183:6:0;748:10;2330:23;2322:68;;;;-1:-1:-1;;;2322:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8577:21:0;::::1;8569:64;;;::::0;-1:-1:-1;;;8569:64:0;;6408:2:1;8569:64:0::1;::::0;::::1;6390:21:1::0;6447:2;6427:18;;;6420:30;6486:32;6466:18;;;6459:60;6536:18;;8569:64:0::1;6206:354:1::0;8569:64:0::1;8646:12;:22:::0;;-1:-1:-1;;;;;;8646:22:0::1;-1:-1:-1::0;;;;;8646:22:0;::::1;::::0;;::::1;::::0;;;8686:27:::1;::::0;3630:51:1;;;8686:27:0::1;::::0;3618:2:1;3603:18;8686:27:0::1;3484:203:1::0;2761:148:0;2156:7;2183:6;-1:-1:-1;;;;;2183:6:0;748:10;2330:23;2322:68;;;;-1:-1:-1;;;2322:68:0;;;;;;;:::i;:::-;2868:1:::1;2852:6:::0;;2831:40:::1;::::0;-1:-1:-1;;;;;2852:6:0;;::::1;::::0;2831:40:::1;::::0;2868:1;;2831:40:::1;2899:1;2882:19:::0;;-1:-1:-1;;;;;;2882:19:0::1;::::0;;2761:148::o;9171:228::-;9316:6;;9325:18;;9345:12;;9359:31;;-1:-1:-1;;;9359:31:0;;9384:4;9359:31;;;3630:51:1;9248:7:0;;;;;;;;-1:-1:-1;;;;;9316:6:0;;;;9325:18;;;;9345:12;;;;9316:6;;9359:16;;3603:18:1;;9359:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9300:91;;;;;;;;9171:228;;;;:::o;9688:802::-;9830:17;9884;;;:8;:17;;;;;;;;748:10;9884:28;;;;;;;;;;;9883:29;9875:77;;;;-1:-1:-1;;;9875:77:0;;7486:2:1;9875:77:0;;;7468:21:1;7525:2;7505:18;;;7498:30;7564:34;7544:18;;;7537:62;-1:-1:-1;;;7615:18:1;;;7608:33;7658:19;;9875:77:0;7284:399:1;9875:77:0;9992:11;9973:15;:30;;9965:85;;;;-1:-1:-1;;;9965:85:0;;5229:2:1;9965:85:0;;;5211:21:1;5268:2;5248:18;;;5241:30;5307:34;5287:18;;;5280:62;-1:-1:-1;;;5358:18:1;;;5351:40;5408:19;;9965:85:0;5027:406:1;9965:85:0;10091:79;;;;;;;3152:19:1;;;3187:12;;;3180:28;;;-1:-1:-1;;3296:2:1;3292:15;;;3288:24;;3274:12;;;3267:46;3329:12;;;3322:28;;;3366:13;;;3359:29;;;10164:4:0;3423:15:1;;3419:24;3404:13;;;3397:47;10091:79:0;;;;;;;;;3460:13:1;;;10091:79:0;;10081:90;;;;;;2740:66:1;7191:58:0;;;2728:79:1;2823:12;;;;2816:28;;;;7191:58:0;;;;;;;;;;2860:12:1;;;;7191:58:0;;;7181:69;;;;;10239:18;;-1:-1:-1;;;;;10239:18:0;10203:32;7181:69;10225:9;10203:21;:32::i;:::-;-1:-1:-1;;;;;10203:54:0;;10195:99;;;;-1:-1:-1;;;10195:99:0;;6767:2:1;10195:99:0;;;6749:21:1;;;6786:18;;;6779:30;6845:34;6825:18;;;6818:62;6897:18;;10195:99:0;6565:356:1;10195:99:0;10316:13;:6;10325:4;10316:13;:::i;:::-;10342:17;;;;:8;:17;;;;;;;;-1:-1:-1;;;;;10342:28:0;;;;;;;;;;;;;;:35;;-1:-1:-1;;10342:35:0;10373:4;10342:35;;;;;;10390:6;:34;;-1:-1:-1;;;10390:34:0;;;;;4327:51:1;;;;4394:18;;;4387:34;;;;;-1:-1:-1;10390:6:0;;;:15;;4300:18:1;;10390:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10442:40:0;;;7890:25:1;;;-1:-1:-1;;;;;7951:32:1;;7946:2;7931:18;;7924:60;8000:18;;;7993:34;;;10442:40:0;;7878:2:1;7863:18;10442:40:0;;;;;;;9819:671;;9688:802;;;;;:::o;3064:244::-;2156:7;2183:6;-1:-1:-1;;;;;2183:6:0;748:10;2330:23;2322:68;;;;-1:-1:-1;;;2322:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3153:22:0;::::1;3145:73;;;::::0;-1:-1:-1;;;3145:73:0;;5640:2:1;3145:73:0::1;::::0;::::1;5622:21:1::0;5679:2;5659:18;;;5652:30;5718:34;5698:18;;;5691:62;-1:-1:-1;;;5769:18:1;;;5762:36;5815:19;;3145:73:0::1;5438:402:1::0;3145:73:0::1;3255:6;::::0;;3234:38:::1;::::0;-1:-1:-1;;;;;3234:38:0;;::::1;::::0;3255:6;::::1;::::0;3234:38:::1;::::0;::::1;3283:6;:17:::0;;-1:-1:-1;;;;;;3283:17:0::1;-1:-1:-1::0;;;;;3283:17:0;;;::::1;::::0;;;::::1;::::0;;3064:244::o;6793:209::-;6874:7;6895;6904:9;6915;6928:19;6943:3;6928:14;:19::i;:::-;6967:27;;;;;;;;;;;;4851:25:1;;;4924:4;4912:17;;4892:18;;;4885:45;;;;4946:18;;;4939:34;;;4989:18;;;4982:34;;;6894:53:0;;-1:-1:-1;6894:53:0;;-1:-1:-1;6894:53:0;-1:-1:-1;6967:27:0;;4823:19:1;;6967:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6967:27:0;;-1:-1:-1;;6967:27:0;;;6793:209;-1:-1:-1;;;;;;;6793:209:0:o;6262:476::-;6326:7;6335:9;6346;6376:3;:10;6390:2;6376:16;6368:25;;;;;;-1:-1:-1;;;6507:2:0;6498:12;;6492:19;6578:2;6569:12;;6563:19;6686:2;6677:12;;;6671:19;6668:1;6663:28;;6492:19;;6563;6262:476::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:277::-;450:6;503:2;491:9;482:7;478:23;474:32;471:52;;;519:1;516;509:12;471:52;551:9;545:16;604:5;597:13;590:21;583:5;580:32;570:60;;626:1;623;616:12;665:180;724:6;777:2;765:9;756:7;752:23;748:32;745:52;;;793:1;790;783:12;745:52;-1:-1:-1;816:23:1;;665:180;-1:-1:-1;665:180:1:o;850:184::-;920:6;973:2;961:9;952:7;948:23;944:32;941:52;;;989:1;986;979:12;941:52;-1:-1:-1;1012:16:1;;850:184;-1:-1:-1;850:184:1:o;1039:254::-;1107:6;1115;1168:2;1156:9;1147:7;1143:23;1139:32;1136:52;;;1184:1;1181;1174:12;1136:52;1220:9;1207:23;1197:33;;1249:38;1283:2;1272:9;1268:18;1249:38;:::i;:::-;1239:48;;1039:254;;;;;:::o;1298:1195::-;1402:6;1410;1418;1426;1434;1487:3;1475:9;1466:7;1462:23;1458:33;1455:53;;;1504:1;1501;1494:12;1455:53;1540:9;1527:23;1517:33;;1597:2;1586:9;1582:18;1569:32;1559:42;;1648:2;1637:9;1633:18;1620:32;1610:42;;1699:2;1688:9;1684:18;1671:32;1661:42;;1754:3;1743:9;1739:19;1726:33;1778:18;1819:2;1811:6;1808:14;1805:34;;;1835:1;1832;1825:12;1805:34;1873:6;1862:9;1858:22;1848:32;;1918:7;1911:4;1907:2;1903:13;1899:27;1889:55;;1940:1;1937;1930:12;1889:55;1976:2;1963:16;1998:2;1994;1991:10;1988:36;;;2004:18;;:::i;:::-;2079:2;2073:9;2047:2;2133:13;;-1:-1:-1;;2129:22:1;;;2153:2;2125:31;2121:40;2109:53;;;2177:18;;;2197:22;;;2174:46;2171:72;;;2223:18;;:::i;:::-;2263:10;2259:2;2252:22;2298:2;2290:6;2283:18;2338:7;2333:2;2328;2324;2320:11;2316:20;2313:33;2310:53;;;2359:1;2356;2349:12;2310:53;2415:2;2410;2406;2402:11;2397:2;2389:6;2385:15;2372:46;2460:1;2455:2;2450;2442:6;2438:15;2434:24;2427:35;2481:6;2471:16;;;;;;;1298:1195;;;;;;;;:::o;5845:356::-;6047:2;6029:21;;;6066:18;;;6059:30;6125:34;6120:2;6105:18;;6098:62;6192:2;6177:18;;5845:356::o;8038:265::-;8078:7;8144:1;8140;8136:6;8132:14;8129:1;8126:21;8121:1;8114:9;8107:17;8103:45;8100:168;;;8190:10;8185:3;8181:20;8178:1;8171:31;8225:4;8222:1;8215:15;8253:4;8250:1;8243:15;8100:168;-1:-1:-1;8288:9:1;;8038:265::o;8308:127::-;8369:10;8364:3;8360:20;8357:1;8350:31;8400:4;8397:1;8390:15;8424:4;8421:1;8414:15
Swarm Source
ipfs://588d9160c72f498fb6abd435a9faca54fcf9676da6e695668dea263bc230cb2a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.