More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 334 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 16381639 | 605 days ago | IN | 0 ETH | 0.00135465 | ||||
Unstake | 15688455 | 702 days ago | IN | 0 ETH | 0.00120511 | ||||
Unstake | 15394290 | 746 days ago | IN | 0 ETH | 0.00080097 | ||||
Unstake | 15326917 | 757 days ago | IN | 0 ETH | 0.00076488 | ||||
Unstake | 15300928 | 761 days ago | IN | 0 ETH | 0.00055116 | ||||
Stake | 15234446 | 772 days ago | IN | 0 ETH | 0.00088324 | ||||
Unstake | 15151620 | 784 days ago | IN | 0 ETH | 0.00069032 | ||||
Unstake | 15129669 | 788 days ago | IN | 0 ETH | 0.00200089 | ||||
Unstake | 15111666 | 791 days ago | IN | 0 ETH | 0.00074766 | ||||
Stake | 15105298 | 792 days ago | IN | 0 ETH | 0.00173162 | ||||
Unstake | 15097640 | 793 days ago | IN | 0 ETH | 0.00312098 | ||||
Unstake | 15075404 | 796 days ago | IN | 0 ETH | 0.00199338 | ||||
Unstake | 15066223 | 798 days ago | IN | 0 ETH | 0.00066754 | ||||
Unstake | 15066208 | 798 days ago | IN | 0 ETH | 0.00073861 | ||||
Unstake | 15065100 | 798 days ago | IN | 0 ETH | 0.00122436 | ||||
Unstake | 14998911 | 810 days ago | IN | 0 ETH | 0.00168967 | ||||
Unstake | 14998277 | 810 days ago | IN | 0 ETH | 0.0015304 | ||||
Unstake | 14997243 | 810 days ago | IN | 0 ETH | 0.00284268 | ||||
Unstake | 14994087 | 811 days ago | IN | 0 ETH | 0.00373929 | ||||
Unstake | 14992202 | 811 days ago | IN | 0 ETH | 0.00105936 | ||||
Unstake | 14991965 | 811 days ago | IN | 0 ETH | 0.00158884 | ||||
Unstake | 14990849 | 811 days ago | IN | 0 ETH | 0.00131365 | ||||
Unstake | 14989603 | 811 days ago | IN | 0 ETH | 0.00293819 | ||||
Unstake | 14988841 | 811 days ago | IN | 0 ETH | 0.00027721 | ||||
Unstake | 14988841 | 811 days ago | IN | 0 ETH | 0.00026485 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ASStake
Compiler Version
v0.8.6+commit.11564f7e
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.8.6; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; contract ASStake is Ownable, IERC721Receiver { mapping (uint => address) public ownership; mapping(uint => uint) public stakeTime; mapping (address => uint[]) private _qty; bool public paused = true; uint nullToken = 1 ether; IERC721 public NFT; modifier notPaused(){ require(!paused, "PAUSED"); _; } constructor() {} function togglePause() public onlyOwner { paused = !paused; } function setNFTAddress(address new_) external onlyOwner { NFT = IERC721(new_); } function getAssetsByHolder(address holder) public view returns (uint[] memory){ return _qty[holder]; } function stake(uint[] calldata tokenIds) public notPaused { for(uint i=0; i < tokenIds.length; i++){ uint tokenId = tokenIds[i]; if(NFT.ownerOf(tokenId) == _msgSender()){ stakeTime[tokenId] = block.timestamp; ownership[tokenId] = _msgSender(); NFT.transferFrom(_msgSender(), address(this), tokenId); _qty[_msgSender()].push(tokenId); } } } function unstake(uint[] calldata tokenIds) public { for(uint i=0; i< tokenIds.length; i++){ uint tokenId = tokenIds[i]; recover(tokenId); removeToken(tokenId); } } function recover(uint tokenId) internal { require(ownership[tokenId] == _msgSender(), "ownership failed"); ownership[tokenId] = address(0); NFT.transferFrom(address(this), _msgSender(), tokenId); } function removeToken(uint tokenId) internal { for(uint i=0;i<_qty[_msgSender()].length;i++){ if(_qty[_msgSender()][i] == tokenId){ _qty[_msgSender()][i] = nullToken; break; } } } function onERC721Received( address operator, address, uint256, bytes memory ) public virtual override returns (bytes4) { require(address(NFT) == operator, "not allowed"); return this.onERC721Received.selector; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) 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); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol) 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 // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev 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 { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "berlin", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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":[],"name":"NFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"getAssetsByHolder","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownership","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"new_","type":"address"}],"name":"setNFTAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"togglePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600460006101000a81548160ff021916908315150217905550670de0b6b3a764000060055534801561003757600080fd5b5061005461004961005960201b60201c565b61006160201b60201c565b610125565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61175e806101346000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637c0b8de21161008c578063c4ae316811610066578063c4ae316814610200578063e1ae37db1461020a578063e449f3411461023a578063f2fde38b14610256576100cf565b80637c0b8de2146101945780638da5cb5b146101b2578063a0f45b69146101d0576100cf565b80630a42f049146100d45780630fbf0a9314610104578063150b7a02146101205780635c975abb1461015057806369d037381461016e578063715018a61461018a575b600080fd5b6100ee60048036038101906100e9919061105e565b610272565b6040516100fb919061136f565b60405180910390f35b61011e60048036038101906101199190611011565b61028a565b005b61013a60048036038101906101359190610f8e565b61057b565b6040516101479190611299565b60405180910390f35b61015861061f565b604051610165919061127e565b60405180910390f35b61018860048036038101906101839190610f34565b610632565b005b6101926106f2565b005b61019c61077a565b6040516101a991906112b4565b60405180910390f35b6101ba6107a0565b6040516101c7919061120a565b60405180910390f35b6101ea60048036038101906101e5919061105e565b6107c9565b6040516101f7919061120a565b60405180910390f35b6102086107fc565b005b610224600480360381019061021f9190610f34565b6108a4565b604051610231919061125c565b60405180910390f35b610254600480360381019061024f9190611011565b61093b565b005b610270600480360381019061026b9190610f34565b610992565b005b60026020528060005260406000206000915090505481565b600460009054906101000a900460ff16156102da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d1906112cf565b60405180910390fd5b60005b828290508110156105765760008383838181106102fd576102fc61157a565b5b90506020020135905061030e610a8a565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b815260040161037f919061136f565b60206040518083038186803b15801561039757600080fd5b505afa1580156103ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cf9190610f61565b73ffffffffffffffffffffffffffffffffffffffff1614156105625742600260008381526020019081526020016000208190555061040b610a8a565b6001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6104a2610a8a565b30846040518463ffffffff1660e01b81526004016104c293929190611225565b600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b5050505060036000610500610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555b50808061056e90611502565b9150506102dd565b505050565b60008473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106049061130f565b60405180910390fd5b63150b7a0260e01b9050949350505050565b600460009054906101000a900460ff1681565b61063a610a8a565b73ffffffffffffffffffffffffffffffffffffffff166106586107a0565b73ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a59061132f565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6106fa610a8a565b73ffffffffffffffffffffffffffffffffffffffff166107186107a0565b73ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107659061132f565b60405180910390fd5b6107786000610a92565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610804610a8a565b73ffffffffffffffffffffffffffffffffffffffff166108226107a0565b73ffffffffffffffffffffffffffffffffffffffff1614610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086f9061132f565b60405180910390fd5b600460009054906101000a900460ff1615600460006101000a81548160ff021916908315150217905550565b6060600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561092f57602002820191906000526020600020905b81548152602001906001019080831161091b575b50505050509050919050565b60005b8282905081101561098d57600083838381811061095e5761095d61157a565b5b90506020020135905061097081610b56565b61097981610cec565b50808061098590611502565b91505061093e565b505050565b61099a610a8a565b73ffffffffffffffffffffffffffffffffffffffff166109b86107a0565b73ffffffffffffffffffffffffffffffffffffffff1614610a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a059061132f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906112ef565b60405180910390fd5b610a8781610a92565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610b5e610a8a565b73ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf59061134f565b60405180910390fd5b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30610c98610a8a565b846040518463ffffffff1660e01b8152600401610cb793929190611225565b600060405180830381600087803b158015610cd157600080fd5b505af1158015610ce5573d6000803e3d6000fd5b5050505050565b60005b60036000610cfb610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610e2b578160036000610d4d610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610d9957610d9861157a565b5b90600052602060002001541415610e185760055460036000610db9610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610e0557610e0461157a565b5b9060005260206000200181905550610e2b565b8080610e2390611502565b915050610cef565b5050565b6000610e42610e3d846113af565b61138a565b905082815260208101848484011115610e5e57610e5d6115e7565b5b610e698482856114c2565b509392505050565b600081359050610e80816116fa565b92915050565b600081519050610e95816116fa565b92915050565b60008083601f840112610eb157610eb06115dd565b5b8235905067ffffffffffffffff811115610ece57610ecd6115d8565b5b602083019150836020820283011115610eea57610ee96115e2565b5b9250929050565b600082601f830112610f0657610f056115dd565b5b8135610f16848260208601610e2f565b91505092915050565b600081359050610f2e81611711565b92915050565b600060208284031215610f4a57610f496115f1565b5b6000610f5884828501610e71565b91505092915050565b600060208284031215610f7757610f766115f1565b5b6000610f8584828501610e86565b91505092915050565b60008060008060808587031215610fa857610fa76115f1565b5b6000610fb687828801610e71565b9450506020610fc787828801610e71565b9350506040610fd887828801610f1f565b925050606085013567ffffffffffffffff811115610ff957610ff86115ec565b5b61100587828801610ef1565b91505092959194509250565b60008060208385031215611028576110276115f1565b5b600083013567ffffffffffffffff811115611046576110456115ec565b5b61105285828601610e9b565b92509250509250929050565b600060208284031215611074576110736115f1565b5b600061108284828501610f1f565b91505092915050565b600061109783836111ec565b60208301905092915050565b6110ac8161142a565b82525050565b60006110bd826113f0565b6110c78185611408565b93506110d2836113e0565b8060005b838110156111035781516110ea888261108b565b97506110f5836113fb565b9250506001810190506110d6565b5085935050505092915050565b6111198161143c565b82525050565b61112881611448565b82525050565b6111378161149e565b82525050565b600061114a600683611419565b915061115582611607565b602082019050919050565b600061116d602683611419565b915061117882611630565b604082019050919050565b6000611190600b83611419565b915061119b8261167f565b602082019050919050565b60006111b3602083611419565b91506111be826116a8565b602082019050919050565b60006111d6601083611419565b91506111e1826116d1565b602082019050919050565b6111f581611494565b82525050565b61120481611494565b82525050565b600060208201905061121f60008301846110a3565b92915050565b600060608201905061123a60008301866110a3565b61124760208301856110a3565b61125460408301846111fb565b949350505050565b6000602082019050818103600083015261127681846110b2565b905092915050565b60006020820190506112936000830184611110565b92915050565b60006020820190506112ae600083018461111f565b92915050565b60006020820190506112c9600083018461112e565b92915050565b600060208201905081810360008301526112e88161113d565b9050919050565b6000602082019050818103600083015261130881611160565b9050919050565b6000602082019050818103600083015261132881611183565b9050919050565b60006020820190508181036000830152611348816111a6565b9050919050565b60006020820190508181036000830152611368816111c9565b9050919050565b600060208201905061138460008301846111fb565b92915050565b60006113946113a5565b90506113a082826114d1565b919050565b6000604051905090565b600067ffffffffffffffff8211156113ca576113c96115a9565b5b6113d3826115f6565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061143582611474565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006114a9826114b0565b9050919050565b60006114bb82611474565b9050919050565b82818337600083830152505050565b6114da826115f6565b810181811067ffffffffffffffff821117156114f9576114f86115a9565b5b80604052505050565b600061150d82611494565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156115405761153f61154b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5041555345440000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f6e6f7420616c6c6f776564000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f6f776e657273686970206661696c656400000000000000000000000000000000600082015250565b6117038161142a565b811461170e57600080fd5b50565b61171a81611494565b811461172557600080fd5b5056fea2646970667358221220dd780f465170a126f0cb5804848eb362eee2db66d2e8b4a3a51110774165ef0764736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637c0b8de21161008c578063c4ae316811610066578063c4ae316814610200578063e1ae37db1461020a578063e449f3411461023a578063f2fde38b14610256576100cf565b80637c0b8de2146101945780638da5cb5b146101b2578063a0f45b69146101d0576100cf565b80630a42f049146100d45780630fbf0a9314610104578063150b7a02146101205780635c975abb1461015057806369d037381461016e578063715018a61461018a575b600080fd5b6100ee60048036038101906100e9919061105e565b610272565b6040516100fb919061136f565b60405180910390f35b61011e60048036038101906101199190611011565b61028a565b005b61013a60048036038101906101359190610f8e565b61057b565b6040516101479190611299565b60405180910390f35b61015861061f565b604051610165919061127e565b60405180910390f35b61018860048036038101906101839190610f34565b610632565b005b6101926106f2565b005b61019c61077a565b6040516101a991906112b4565b60405180910390f35b6101ba6107a0565b6040516101c7919061120a565b60405180910390f35b6101ea60048036038101906101e5919061105e565b6107c9565b6040516101f7919061120a565b60405180910390f35b6102086107fc565b005b610224600480360381019061021f9190610f34565b6108a4565b604051610231919061125c565b60405180910390f35b610254600480360381019061024f9190611011565b61093b565b005b610270600480360381019061026b9190610f34565b610992565b005b60026020528060005260406000206000915090505481565b600460009054906101000a900460ff16156102da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d1906112cf565b60405180910390fd5b60005b828290508110156105765760008383838181106102fd576102fc61157a565b5b90506020020135905061030e610a8a565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b815260040161037f919061136f565b60206040518083038186803b15801561039757600080fd5b505afa1580156103ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cf9190610f61565b73ffffffffffffffffffffffffffffffffffffffff1614156105625742600260008381526020019081526020016000208190555061040b610a8a565b6001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6104a2610a8a565b30846040518463ffffffff1660e01b81526004016104c293929190611225565b600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b5050505060036000610500610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150555b50808061056e90611502565b9150506102dd565b505050565b60008473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106049061130f565b60405180910390fd5b63150b7a0260e01b9050949350505050565b600460009054906101000a900460ff1681565b61063a610a8a565b73ffffffffffffffffffffffffffffffffffffffff166106586107a0565b73ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a59061132f565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6106fa610a8a565b73ffffffffffffffffffffffffffffffffffffffff166107186107a0565b73ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107659061132f565b60405180910390fd5b6107786000610a92565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610804610a8a565b73ffffffffffffffffffffffffffffffffffffffff166108226107a0565b73ffffffffffffffffffffffffffffffffffffffff1614610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086f9061132f565b60405180910390fd5b600460009054906101000a900460ff1615600460006101000a81548160ff021916908315150217905550565b6060600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561092f57602002820191906000526020600020905b81548152602001906001019080831161091b575b50505050509050919050565b60005b8282905081101561098d57600083838381811061095e5761095d61157a565b5b90506020020135905061097081610b56565b61097981610cec565b50808061098590611502565b91505061093e565b505050565b61099a610a8a565b73ffffffffffffffffffffffffffffffffffffffff166109b86107a0565b73ffffffffffffffffffffffffffffffffffffffff1614610a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a059061132f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906112ef565b60405180910390fd5b610a8781610a92565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610b5e610a8a565b73ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf59061134f565b60405180910390fd5b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30610c98610a8a565b846040518463ffffffff1660e01b8152600401610cb793929190611225565b600060405180830381600087803b158015610cd157600080fd5b505af1158015610ce5573d6000803e3d6000fd5b5050505050565b60005b60036000610cfb610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610e2b578160036000610d4d610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610d9957610d9861157a565b5b90600052602060002001541415610e185760055460036000610db9610a8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610e0557610e0461157a565b5b9060005260206000200181905550610e2b565b8080610e2390611502565b915050610cef565b5050565b6000610e42610e3d846113af565b61138a565b905082815260208101848484011115610e5e57610e5d6115e7565b5b610e698482856114c2565b509392505050565b600081359050610e80816116fa565b92915050565b600081519050610e95816116fa565b92915050565b60008083601f840112610eb157610eb06115dd565b5b8235905067ffffffffffffffff811115610ece57610ecd6115d8565b5b602083019150836020820283011115610eea57610ee96115e2565b5b9250929050565b600082601f830112610f0657610f056115dd565b5b8135610f16848260208601610e2f565b91505092915050565b600081359050610f2e81611711565b92915050565b600060208284031215610f4a57610f496115f1565b5b6000610f5884828501610e71565b91505092915050565b600060208284031215610f7757610f766115f1565b5b6000610f8584828501610e86565b91505092915050565b60008060008060808587031215610fa857610fa76115f1565b5b6000610fb687828801610e71565b9450506020610fc787828801610e71565b9350506040610fd887828801610f1f565b925050606085013567ffffffffffffffff811115610ff957610ff86115ec565b5b61100587828801610ef1565b91505092959194509250565b60008060208385031215611028576110276115f1565b5b600083013567ffffffffffffffff811115611046576110456115ec565b5b61105285828601610e9b565b92509250509250929050565b600060208284031215611074576110736115f1565b5b600061108284828501610f1f565b91505092915050565b600061109783836111ec565b60208301905092915050565b6110ac8161142a565b82525050565b60006110bd826113f0565b6110c78185611408565b93506110d2836113e0565b8060005b838110156111035781516110ea888261108b565b97506110f5836113fb565b9250506001810190506110d6565b5085935050505092915050565b6111198161143c565b82525050565b61112881611448565b82525050565b6111378161149e565b82525050565b600061114a600683611419565b915061115582611607565b602082019050919050565b600061116d602683611419565b915061117882611630565b604082019050919050565b6000611190600b83611419565b915061119b8261167f565b602082019050919050565b60006111b3602083611419565b91506111be826116a8565b602082019050919050565b60006111d6601083611419565b91506111e1826116d1565b602082019050919050565b6111f581611494565b82525050565b61120481611494565b82525050565b600060208201905061121f60008301846110a3565b92915050565b600060608201905061123a60008301866110a3565b61124760208301856110a3565b61125460408301846111fb565b949350505050565b6000602082019050818103600083015261127681846110b2565b905092915050565b60006020820190506112936000830184611110565b92915050565b60006020820190506112ae600083018461111f565b92915050565b60006020820190506112c9600083018461112e565b92915050565b600060208201905081810360008301526112e88161113d565b9050919050565b6000602082019050818103600083015261130881611160565b9050919050565b6000602082019050818103600083015261132881611183565b9050919050565b60006020820190508181036000830152611348816111a6565b9050919050565b60006020820190508181036000830152611368816111c9565b9050919050565b600060208201905061138460008301846111fb565b92915050565b60006113946113a5565b90506113a082826114d1565b919050565b6000604051905090565b600067ffffffffffffffff8211156113ca576113c96115a9565b5b6113d3826115f6565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061143582611474565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006114a9826114b0565b9050919050565b60006114bb82611474565b9050919050565b82818337600083830152505050565b6114da826115f6565b810181811067ffffffffffffffff821117156114f9576114f86115a9565b5b80604052505050565b600061150d82611494565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156115405761153f61154b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5041555345440000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f6e6f7420616c6c6f776564000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f6f776e657273686970206661696c656400000000000000000000000000000000600082015250565b6117038161142a565b811461170e57600080fd5b50565b61171a81611494565b811461172557600080fd5b5056fea2646970667358221220dd780f465170a126f0cb5804848eb362eee2db66d2e8b4a3a51110774165ef0764736f6c63430008060033
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.