More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,969 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 19495734 | 245 days ago | IN | 0 ETH | 0.00091807 | ||||
Unstake | 18834534 | 338 days ago | IN | 0 ETH | 0.00221349 | ||||
Unstake | 18834509 | 338 days ago | IN | 0 ETH | 0.00300106 | ||||
Unstake | 18578151 | 374 days ago | IN | 0 ETH | 0.00533536 | ||||
Unstake | 18110276 | 439 days ago | IN | 0 ETH | 0.0005731 | ||||
Unstake | 18110270 | 439 days ago | IN | 0 ETH | 0.00059954 | ||||
Unstake | 18110260 | 439 days ago | IN | 0 ETH | 0.00053699 | ||||
Unstake | 18110242 | 439 days ago | IN | 0 ETH | 0.00074766 | ||||
Unstake | 18009316 | 453 days ago | IN | 0 ETH | 0.00088937 | ||||
Unstake | 17520186 | 522 days ago | IN | 0 ETH | 0.00081938 | ||||
Unstake | 17520175 | 522 days ago | IN | 0 ETH | 0.00093285 | ||||
Unstake | 17513574 | 523 days ago | IN | 0 ETH | 0.0010208 | ||||
Unstake | 17472621 | 529 days ago | IN | 0 ETH | 0.00132589 | ||||
Unstake | 17444976 | 533 days ago | IN | 0 ETH | 0.00107991 | ||||
Unstake | 17444968 | 533 days ago | IN | 0 ETH | 0.00105799 | ||||
Unstake | 17444958 | 533 days ago | IN | 0 ETH | 0.00120274 | ||||
Unstake | 17444940 | 533 days ago | IN | 0 ETH | 0.00152609 | ||||
Unstake | 17427997 | 535 days ago | IN | 0 ETH | 0.00139993 | ||||
Unstake | 17360268 | 545 days ago | IN | 0 ETH | 0.00203275 | ||||
Unstake | 17228526 | 563 days ago | IN | 0 ETH | 0.00405867 | ||||
Unstake | 17144869 | 575 days ago | IN | 0 ETH | 0.00310173 | ||||
Unstake | 17124306 | 578 days ago | IN | 0 ETH | 0.00303697 | ||||
Unstake | 17124277 | 578 days ago | IN | 0 ETH | 0.00291396 | ||||
Unstake | 17124273 | 578 days ago | IN | 0 ETH | 0.00263455 | ||||
Unstake | 17124262 | 578 days ago | IN | 0 ETH | 0.00283557 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
BapesClanStaker
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*** Smart Contract By * _ _ * ___ __ _ | |_ __ _ __ _ (_) * / __| / _` || __|/ _` | / _` || | * \__ \| (_| || |_| (_| || (_| || | * |___/ \__,_| \__|\__,_| \__, ||_| * |_| */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract BapesClanStaker is Ownable { struct StakedBape { address owner; uint256 tokenId; uint256 timestamp; } IERC721 private bapesClanG1; mapping(address => StakedBape[]) private stakes; bool isStakingPaused = true; constructor() { bapesClanG1 = IERC721(0x8Ce66fF0865570D1ff0BB0098Fa41B4dc61E02e6); } function onERC721Received( address, address, uint256, bytes calldata ) external returns (bytes4) { return bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")); } function stake(uint256 _tokenId) external { require(!isStakingPaused, "Staking is paused."); bapesClanG1.safeTransferFrom(msg.sender, address(this), _tokenId); stakes[msg.sender].push(StakedBape(msg.sender, _tokenId, block.timestamp)); } function unstake(uint256 _tokenId) external { uint256 senderStakes = stakes[msg.sender].length; require(senderStakes > 0, "Address has no stakes."); for (uint256 i = 0; i < senderStakes; i++) { if (stakes[msg.sender][i].tokenId == _tokenId && stakes[msg.sender][i].timestamp != 0) { uint256 elapsedMins = (block.timestamp - stakes[msg.sender][i].timestamp) / 60; uint256 elapsedDays = elapsedMins / 1440; require(elapsedDays >= 90, "Can not unstake before 90 days."); bapesClanG1.safeTransferFrom(address(this), msg.sender, _tokenId); stakes[msg.sender][i].timestamp = 0; break; } if (i == senderStakes - 1) { revert("Provided token id not staked."); } } } function getStakes(address _address) external view returns (StakedBape[] memory) { uint256 addressStakes = stakes[_address].length; require(addressStakes > 0, "Address has no stakes."); StakedBape[] memory res = new StakedBape[](addressStakes); for (uint256 i = 0; i < addressStakes; i++) { if (stakes[_address][i].timestamp != 0) { res[i] = StakedBape(stakes[_address][i].owner, stakes[_address][i].tokenId, stakes[_address][i].timestamp); } } return res; } function pauseStaking(bool _state) external onlyOwner { isStakingPaused = _state; } }
// 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 (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 (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); } }
// 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; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[{"internalType":"address","name":"_address","type":"address"}],"name":"getStakes","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct BapesClanStaker.StakedBape[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"bool","name":"_state","type":"bool"}],"name":"pauseStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600360006101000a81548160ff02191690831515021790555034801561002b57600080fd5b5061004861003d6100a260201b60201c565b6100aa60201b60201c565b738ce66ff0865570d1ff0bb0098fa41b4dc61e02e6600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061016e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116c58061017d6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80637ba6f4581161005b5780637ba6f458146100ff5780638da5cb5b1461012f578063a694fc3a1461014d578063f2fde38b1461016957610088565b8063150b7a021461008d5780632e17de78146100bd5780635769848c146100d9578063715018a6146100f5575b600080fd5b6100a760048036038101906100a29190610fb6565b610185565b6040516100b491906113a5565b60405180910390f35b6100d760048036038101906100d2919061105f565b6101b3565b005b6100f360048036038101906100ee9190611036565b6105f4565b005b6100fd61068d565b005b61011960048036038101906101149190610f8d565b610715565b6040516101269190611383565b60405180910390f35b610137610b06565b6040516101449190611331565b60405180910390f35b6101676004803603810190610162919061105f565b610b2f565b005b610183600480360381019061017e9190610f8d565b610d09565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811161023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023490611420565b60405180910390fd5b60005b818110156105ef5782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106102c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016001015414801561036857506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610353577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002015414155b1561058d576000603c600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106103e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060030201600201544261040591906114fb565b61040f91906114ca565b905060006105a08261042191906114ca565b9050605a811015610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e90611460565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033886040518463ffffffff1660e01b81526004016104c69392919061134c565b600060405180830381600087803b1580156104e057600080fd5b505af11580156104f4573d6000803e3d6000fd5b505050506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110610571577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002018190555050506105ef565b60018261059a91906114fb565b8114156105dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d3906113e0565b60405180910390fd5b80806105e7906115a3565b915050610240565b505050565b6105fc610e01565b73ffffffffffffffffffffffffffffffffffffffff1661061a610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066790611440565b60405180910390fd5b80600360006101000a81548160ff02191690831515021790555050565b610695610e01565b73ffffffffffffffffffffffffffffffffffffffff166106b3610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070090611440565b60405180910390fd5b6107136000610e09565b565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081116107a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079890611420565b60405180910390fd5b60008167ffffffffffffffff8111156107e3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561081c57816020015b610809610ecd565b8152602001906001900390816108015790505b50905060005b82811015610afb576000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002015414610ae8576040518060600160405280600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061093c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906003020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110610a00577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060030201600101548152602001600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110610a8e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906003020160020154815250828281518110610adc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052505b8080610af3906115a3565b915050610822565b508092505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900460ff1615610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690611400565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401610bde9392919061134c565b600060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b50505050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200183815260200142815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155505050565b610d11610e01565b73ffffffffffffffffffffffffffffffffffffffff16610d2f610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c90611440565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec906113c0565b60405180910390fd5b610dfe81610e09565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b600081359050610f138161164a565b92915050565b600081359050610f2881611661565b92915050565b60008083601f840112610f4057600080fd5b8235905067ffffffffffffffff811115610f5957600080fd5b602083019150836001820283011115610f7157600080fd5b9250929050565b600081359050610f8781611678565b92915050565b600060208284031215610f9f57600080fd5b6000610fad84828501610f04565b91505092915050565b600080600080600060808688031215610fce57600080fd5b6000610fdc88828901610f04565b9550506020610fed88828901610f04565b9450506040610ffe88828901610f78565b935050606086013567ffffffffffffffff81111561101b57600080fd5b61102788828901610f2e565b92509250509295509295909350565b60006020828403121561104857600080fd5b600061105684828501610f19565b91505092915050565b60006020828403121561107157600080fd5b600061107f84828501610f78565b91505092915050565b600061109483836112d1565b60608301905092915050565b6110a98161152f565b82525050565b6110b88161152f565b82525050565b60006110c982611490565b6110d381856114a8565b93506110de83611480565b8060005b8381101561110f5781516110f68882611088565b97506111018361149b565b9250506001810190506110e2565b5085935050505092915050565b6111258161154d565b82525050565b60006111386026836114b9565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061119e601d836114b9565b91507f50726f766964656420746f6b656e206964206e6f74207374616b65642e0000006000830152602082019050919050565b60006111de6012836114b9565b91507f5374616b696e67206973207061757365642e00000000000000000000000000006000830152602082019050919050565b600061121e6016836114b9565b91507f4164647265737320686173206e6f207374616b65732e000000000000000000006000830152602082019050919050565b600061125e6020836114b9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061129e601f836114b9565b91507f43616e206e6f7420756e7374616b65206265666f726520393020646179732e006000830152602082019050919050565b6060820160008201516112e760008501826110a0565b5060208201516112fa6020850182611313565b50604082015161130d6040850182611313565b50505050565b61131c81611599565b82525050565b61132b81611599565b82525050565b600060208201905061134660008301846110af565b92915050565b600060608201905061136160008301866110af565b61136e60208301856110af565b61137b6040830184611322565b949350505050565b6000602082019050818103600083015261139d81846110be565b905092915050565b60006020820190506113ba600083018461111c565b92915050565b600060208201905081810360008301526113d98161112b565b9050919050565b600060208201905081810360008301526113f981611191565b9050919050565b60006020820190508181036000830152611419816111d1565b9050919050565b6000602082019050818103600083015261143981611211565b9050919050565b6000602082019050818103600083015261145981611251565b9050919050565b6000602082019050818103600083015261147981611291565b9050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006114d582611599565b91506114e083611599565b9250826114f0576114ef61161b565b5b828204905092915050565b600061150682611599565b915061151183611599565b925082821015611524576115236115ec565b5b828203905092915050565b600061153a82611579565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006115ae82611599565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156115e1576115e06115ec565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6116538161152f565b811461165e57600080fd5b50565b61166a81611541565b811461167557600080fd5b50565b61168181611599565b811461168c57600080fd5b5056fea26469706673582212203fde18f0fcf940b0c73dd9b3d918f2e30e2646b292667f97ac803c5c7e8daaa864736f6c63430008000033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637ba6f4581161005b5780637ba6f458146100ff5780638da5cb5b1461012f578063a694fc3a1461014d578063f2fde38b1461016957610088565b8063150b7a021461008d5780632e17de78146100bd5780635769848c146100d9578063715018a6146100f5575b600080fd5b6100a760048036038101906100a29190610fb6565b610185565b6040516100b491906113a5565b60405180910390f35b6100d760048036038101906100d2919061105f565b6101b3565b005b6100f360048036038101906100ee9190611036565b6105f4565b005b6100fd61068d565b005b61011960048036038101906101149190610f8d565b610715565b6040516101269190611383565b60405180910390f35b610137610b06565b6040516101449190611331565b60405180910390f35b6101676004803603810190610162919061105f565b610b2f565b005b610183600480360381019061017e9190610f8d565b610d09565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811161023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023490611420565b60405180910390fd5b60005b818110156105ef5782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106102c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016001015414801561036857506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610353577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002015414155b1561058d576000603c600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106103e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060030201600201544261040591906114fb565b61040f91906114ca565b905060006105a08261042191906114ca565b9050605a811015610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e90611460565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033886040518463ffffffff1660e01b81526004016104c69392919061134c565b600060405180830381600087803b1580156104e057600080fd5b505af11580156104f4573d6000803e3d6000fd5b505050506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110610571577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002018190555050506105ef565b60018261059a91906114fb565b8114156105dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d3906113e0565b60405180910390fd5b80806105e7906115a3565b915050610240565b505050565b6105fc610e01565b73ffffffffffffffffffffffffffffffffffffffff1661061a610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066790611440565b60405180910390fd5b80600360006101000a81548160ff02191690831515021790555050565b610695610e01565b73ffffffffffffffffffffffffffffffffffffffff166106b3610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070090611440565b60405180910390fd5b6107136000610e09565b565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081116107a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079890611420565b60405180910390fd5b60008167ffffffffffffffff8111156107e3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561081c57816020015b610809610ecd565b8152602001906001900390816108015790505b50905060005b82811015610afb576000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600302016002015414610ae8576040518060600160405280600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061093c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906003020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110610a00577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060030201600101548152602001600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110610a8e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906003020160020154815250828281518110610adc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052505b8080610af3906115a3565b915050610822565b508092505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900460ff1615610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690611400565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b8152600401610bde9392919061134c565b600060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b50505050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200183815260200142815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155505050565b610d11610e01565b73ffffffffffffffffffffffffffffffffffffffff16610d2f610b06565b73ffffffffffffffffffffffffffffffffffffffff1614610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c90611440565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec906113c0565b60405180910390fd5b610dfe81610e09565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b600081359050610f138161164a565b92915050565b600081359050610f2881611661565b92915050565b60008083601f840112610f4057600080fd5b8235905067ffffffffffffffff811115610f5957600080fd5b602083019150836001820283011115610f7157600080fd5b9250929050565b600081359050610f8781611678565b92915050565b600060208284031215610f9f57600080fd5b6000610fad84828501610f04565b91505092915050565b600080600080600060808688031215610fce57600080fd5b6000610fdc88828901610f04565b9550506020610fed88828901610f04565b9450506040610ffe88828901610f78565b935050606086013567ffffffffffffffff81111561101b57600080fd5b61102788828901610f2e565b92509250509295509295909350565b60006020828403121561104857600080fd5b600061105684828501610f19565b91505092915050565b60006020828403121561107157600080fd5b600061107f84828501610f78565b91505092915050565b600061109483836112d1565b60608301905092915050565b6110a98161152f565b82525050565b6110b88161152f565b82525050565b60006110c982611490565b6110d381856114a8565b93506110de83611480565b8060005b8381101561110f5781516110f68882611088565b97506111018361149b565b9250506001810190506110e2565b5085935050505092915050565b6111258161154d565b82525050565b60006111386026836114b9565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061119e601d836114b9565b91507f50726f766964656420746f6b656e206964206e6f74207374616b65642e0000006000830152602082019050919050565b60006111de6012836114b9565b91507f5374616b696e67206973207061757365642e00000000000000000000000000006000830152602082019050919050565b600061121e6016836114b9565b91507f4164647265737320686173206e6f207374616b65732e000000000000000000006000830152602082019050919050565b600061125e6020836114b9565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061129e601f836114b9565b91507f43616e206e6f7420756e7374616b65206265666f726520393020646179732e006000830152602082019050919050565b6060820160008201516112e760008501826110a0565b5060208201516112fa6020850182611313565b50604082015161130d6040850182611313565b50505050565b61131c81611599565b82525050565b61132b81611599565b82525050565b600060208201905061134660008301846110af565b92915050565b600060608201905061136160008301866110af565b61136e60208301856110af565b61137b6040830184611322565b949350505050565b6000602082019050818103600083015261139d81846110be565b905092915050565b60006020820190506113ba600083018461111c565b92915050565b600060208201905081810360008301526113d98161112b565b9050919050565b600060208201905081810360008301526113f981611191565b9050919050565b60006020820190508181036000830152611419816111d1565b9050919050565b6000602082019050818103600083015261143981611211565b9050919050565b6000602082019050818103600083015261145981611251565b9050919050565b6000602082019050818103600083015261147981611291565b9050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006114d582611599565b91506114e083611599565b9250826114f0576114ef61161b565b5b828204905092915050565b600061150682611599565b915061151183611599565b925082821015611524576115236115ec565b5b828203905092915050565b600061153a82611579565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006115ae82611599565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156115e1576115e06115ec565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6116538161152f565b811461165e57600080fd5b50565b61166a81611541565b811461167557600080fd5b50565b61168181611599565b811461168c57600080fd5b5056fea26469706673582212203fde18f0fcf940b0c73dd9b3d918f2e30e2646b292667f97ac803c5c7e8daaa864736f6c63430008000033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.