More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,215 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Lock | 20390344 | 22 hrs ago | IN | 0 ETH | 0.00020234 | ||||
Lock | 20378838 | 2 days ago | IN | 0 ETH | 0.00055535 | ||||
Lock | 20308077 | 12 days ago | IN | 0 ETH | 0.0002304 | ||||
Lock | 20289080 | 15 days ago | IN | 0 ETH | 0.00068433 | ||||
Lock | 20271243 | 17 days ago | IN | 0 ETH | 0.00045113 | ||||
Lock | 20265321 | 18 days ago | IN | 0 ETH | 0.00023029 | ||||
Lock | 20258752 | 19 days ago | IN | 0 ETH | 0.00040848 | ||||
Lock | 20212003 | 25 days ago | IN | 0 ETH | 0.00155932 | ||||
Withdraw | 20209168 | 26 days ago | IN | 0 ETH | 0.00026615 | ||||
Lock | 20208458 | 26 days ago | IN | 0 ETH | 0.00042634 | ||||
Withdraw | 20166786 | 32 days ago | IN | 0 ETH | 0.00052059 | ||||
Lock | 20145196 | 35 days ago | IN | 0 ETH | 0.00013281 | ||||
Lock | 20145190 | 35 days ago | IN | 0 ETH | 0.00056943 | ||||
Withdraw | 20141269 | 35 days ago | IN | 0 ETH | 0.00093642 | ||||
Lock | 20101223 | 41 days ago | IN | 0 ETH | 0.00021113 | ||||
Withdraw | 20047385 | 48 days ago | IN | 0 ETH | 0.00098426 | ||||
Lock | 20017477 | 53 days ago | IN | 0 ETH | 0.00077618 | ||||
Lock | 20017459 | 53 days ago | IN | 0 ETH | 0.00115226 | ||||
Withdraw | 19995762 | 56 days ago | IN | 0 ETH | 0.00301799 | ||||
Withdraw | 19995282 | 56 days ago | IN | 0 ETH | 0.00064891 | ||||
Withdraw | 19986384 | 57 days ago | IN | 0 ETH | 0.00156624 | ||||
Withdraw | 19979616 | 58 days ago | IN | 0 ETH | 0.00106266 | ||||
Lock | 19979537 | 58 days ago | IN | 0 ETH | 0.00113234 | ||||
Lock | 19973099 | 59 days ago | IN | 0 ETH | 0.00096319 | ||||
Lock | 19973061 | 59 days ago | IN | 0 ETH | 0.0018128 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
LockContract
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract LockContract is Ownable { address immutable TargetContract; uint256 createdDate; uint256 lockDuration; mapping(address => uint16[]) nftIds; mapping(uint16 => uint32) unlockDateOffset; constructor(address _address) { TargetContract = _address; createdDate = block.timestamp; } function setLockDuration(uint256 _duration) public onlyOwner { lockDuration = _duration; } function lock(uint16[] calldata tokenIds) external { for (uint16 i = 0; i < tokenIds.length; i++) { nftIds[msg.sender].push(tokenIds[i]); unlockDateOffset[tokenIds[i]] = uint32( block.timestamp - createdDate + lockDuration ); IERC721(TargetContract).transferFrom( msg.sender, address(this), tokenIds[i] ); } } function withdraw(uint16[] calldata orderedTokenIds) external { // must be called with correct withdraw order or tx will revert uint16 j = 0; for (uint16 i = 0; i < nftIds[msg.sender].length; ) { if (nftIds[msg.sender][i] == orderedTokenIds[j]) { require( block.timestamp >= createdDate + unlockDateOffset[orderedTokenIds[j]], "This token is locked" ); nftIds[msg.sender][i] = nftIds[msg.sender][ nftIds[msg.sender].length - 1 ]; nftIds[msg.sender].pop(); IERC721(TargetContract).transferFrom( address(this), msg.sender, orderedTokenIds[j] ); j++; if (j == orderedTokenIds.length) { break; } } else { i++; } } if (j != orderedTokenIds.length) { revert( "Invalid input. Check orderedTokenIds input ordering and ownership." ); } } function getLockedIds(address _address) external view returns (uint16[] memory) { return nftIds[_address]; } function getUnlockDates(uint16[] calldata tokenIds) external view returns (uint256[] memory) { uint256[] memory dates = new uint256[](tokenIds.length); for (uint16 i = 0; i < tokenIds.length; i++) { dates[i] = createdDate + unlockDateOffset[tokenIds[i]]; } return dates; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @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 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": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"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":"getLockedIds","outputs":[{"internalType":"uint16[]","name":"","type":"uint16[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIds","type":"uint16[]"}],"name":"getUnlockDates","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIds","type":"uint16[]"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_duration","type":"uint256"}],"name":"setLockDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"orderedTokenIds","type":"uint16[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b50604051610d87380380610d8783398101604081905261002f916100a1565b61003833610051565b60601b6001600160601b031916608052426001556100cf565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100b2578081fd5b81516001600160a01b03811681146100c8578182fd5b9392505050565b60805160601c610c936100f4600039600081816103dc01526107840152610c936000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639871e2221161005b5780639871e222146100dd578063ab0e91dd146100fd578063dbecb33114610110578063f2fde38b1461013057600080fd5b8063081bc3f11461008d5780634eb665af146100a2578063715018a6146100b55780638da5cb5b146100bd575b600080fd5b6100a061009b366004610a97565b610143565b005b6100a06100b0366004610b29565b61056f565b6100a061059e565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100f06100eb366004610a69565b6105d4565b6040516100d49190610b41565b6100a061010b366004610a97565b610668565b61012361011e366004610a97565b61086a565b6040516100d49190610b89565b6100a061013e366004610a69565b61097e565b6000805b3360009081526003602052604090205461ffff821610156104e55783838361ffff1681811061018657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061019b9190610b07565b336000908152600360205260409020805461ffff9283169284169081106101d257634e487b7160e01b600052603260045260246000fd5b60009182526020909120601082040154600f9091166002026101000a900461ffff1614156104d3576004600085858561ffff1681811061022257634e487b7160e01b600052603260045260246000fd5b90506020020160208101906102379190610b07565b61ffff16815260208101919091526040016000205460015461025f9163ffffffff1690610bf6565b4210156102aa5760405162461bcd60e51b8152602060048201526014602482015273151a1a5cc81d1bdad95b881a5cc81b1bd8dad95960621b60448201526064015b60405180910390fd5b33600090815260036020526040902080546102c790600190610c0e565b815481106102e557634e487b7160e01b600052603260045260246000fd5b60009182526020808320601083040154338452600390915260409092208054600f9092166002026101000a90920461ffff908116929190841690811061033b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090601091828204019190066002026101000a81548161ffff021916908361ffff16021790555060036000336001600160a01b03166001600160a01b031681526020019081526020016000208054806103ac57634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002090601091828204019190066002026101000a81549061ffff021916905590557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd303387878761ffff1681811061042f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906104449190610b07565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015261ffff166044820152606401600060405180830381600087803b15801561049757600080fd5b505af11580156104ab573d6000803e3d6000fd5b5050505081806104ba90610c25565b92505061ffff82168314156104ce576104e5565b610147565b806104dd81610c25565b915050610147565b5061ffff8116821461056a5760405162461bcd60e51b815260206004820152604260248201527f496e76616c696420696e7075742e20436865636b206f726465726564546f6b6560448201527f6e49647320696e707574206f72646572696e6720616e64206f776e6572736869606482015261381760f11b608482015260a4016102a1565b505050565b6000546001600160a01b031633146105995760405162461bcd60e51b81526004016102a190610bc1565b600255565b6000546001600160a01b031633146105c85760405162461bcd60e51b81526004016102a190610bc1565b6105d26000610a19565b565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561065c57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116106235790505b50505050509050919050565b60005b61ffff811682111561056a57336000908152600360205260409020838361ffff84168181106106aa57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906106bf9190610b07565b815460018181018455600093845260209093206010820401805461ffff9384166002600f90941684026101000a90810294021916929092179091555490546107079042610c0e565b6107119190610bf6565b6004600085858561ffff1681811061073957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061074e9190610b07565b61ffff1661ffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166323b872dd333086868661ffff168181106107d757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906107ec9190610b07565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015261ffff166044820152606401600060405180830381600087803b15801561083f57600080fd5b505af1158015610853573d6000803e3d6000fd5b50505050808061086290610c25565b91505061066b565b606060008267ffffffffffffffff81111561089557634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156108be578160200160208202803683370190505b50905060005b61ffff8116841115610976576004600086868461ffff168181106108f857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061090d9190610b07565b61ffff1681526020810191909152604001600020546001546109359163ffffffff1690610bf6565b828261ffff168151811061095957634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061096e81610c25565b9150506108c4565b509392505050565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016102a190610bc1565b6001600160a01b038116610a0d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a1565b610a1681610a19565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610a7a578081fd5b81356001600160a01b0381168114610a90578182fd5b9392505050565b60008060208385031215610aa9578081fd5b823567ffffffffffffffff80821115610ac0578283fd5b818501915085601f830112610ad3578283fd5b813581811115610ae1578384fd5b8660208260051b8501011115610af5578384fd5b60209290920196919550909350505050565b600060208284031215610b18578081fd5b813561ffff81168114610a90578182fd5b600060208284031215610b3a578081fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015610b7d57835161ffff1683529284019291840191600101610b5d565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610b7d57835183529284019291840191600101610ba5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610c0957610c09610c47565b500190565b600082821015610c2057610c20610c47565b500390565b600061ffff80831681811415610c3d57610c3d610c47565b6001019392505050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122074f4e41dd882e5524c4fcf1bbe4d0b17af8e2b45f381cbd1b4650245bffa0d7a64736f6c63430008040033000000000000000000000000af615b61448691fc3e4c61ae4f015d6e77b6cca8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80639871e2221161005b5780639871e222146100dd578063ab0e91dd146100fd578063dbecb33114610110578063f2fde38b1461013057600080fd5b8063081bc3f11461008d5780634eb665af146100a2578063715018a6146100b55780638da5cb5b146100bd575b600080fd5b6100a061009b366004610a97565b610143565b005b6100a06100b0366004610b29565b61056f565b6100a061059e565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100f06100eb366004610a69565b6105d4565b6040516100d49190610b41565b6100a061010b366004610a97565b610668565b61012361011e366004610a97565b61086a565b6040516100d49190610b89565b6100a061013e366004610a69565b61097e565b6000805b3360009081526003602052604090205461ffff821610156104e55783838361ffff1681811061018657634e487b7160e01b600052603260045260246000fd5b905060200201602081019061019b9190610b07565b336000908152600360205260409020805461ffff9283169284169081106101d257634e487b7160e01b600052603260045260246000fd5b60009182526020909120601082040154600f9091166002026101000a900461ffff1614156104d3576004600085858561ffff1681811061022257634e487b7160e01b600052603260045260246000fd5b90506020020160208101906102379190610b07565b61ffff16815260208101919091526040016000205460015461025f9163ffffffff1690610bf6565b4210156102aa5760405162461bcd60e51b8152602060048201526014602482015273151a1a5cc81d1bdad95b881a5cc81b1bd8dad95960621b60448201526064015b60405180910390fd5b33600090815260036020526040902080546102c790600190610c0e565b815481106102e557634e487b7160e01b600052603260045260246000fd5b60009182526020808320601083040154338452600390915260409092208054600f9092166002026101000a90920461ffff908116929190841690811061033b57634e487b7160e01b600052603260045260246000fd5b90600052602060002090601091828204019190066002026101000a81548161ffff021916908361ffff16021790555060036000336001600160a01b03166001600160a01b031681526020019081526020016000208054806103ac57634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002090601091828204019190066002026101000a81549061ffff021916905590557f000000000000000000000000af615b61448691fc3e4c61ae4f015d6e77b6cca86001600160a01b03166323b872dd303387878761ffff1681811061042f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906104449190610b07565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015261ffff166044820152606401600060405180830381600087803b15801561049757600080fd5b505af11580156104ab573d6000803e3d6000fd5b5050505081806104ba90610c25565b92505061ffff82168314156104ce576104e5565b610147565b806104dd81610c25565b915050610147565b5061ffff8116821461056a5760405162461bcd60e51b815260206004820152604260248201527f496e76616c696420696e7075742e20436865636b206f726465726564546f6b6560448201527f6e49647320696e707574206f72646572696e6720616e64206f776e6572736869606482015261381760f11b608482015260a4016102a1565b505050565b6000546001600160a01b031633146105995760405162461bcd60e51b81526004016102a190610bc1565b600255565b6000546001600160a01b031633146105c85760405162461bcd60e51b81526004016102a190610bc1565b6105d26000610a19565b565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561065c57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116106235790505b50505050509050919050565b60005b61ffff811682111561056a57336000908152600360205260409020838361ffff84168181106106aa57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906106bf9190610b07565b815460018181018455600093845260209093206010820401805461ffff9384166002600f90941684026101000a90810294021916929092179091555490546107079042610c0e565b6107119190610bf6565b6004600085858561ffff1681811061073957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061074e9190610b07565b61ffff1661ffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055507f000000000000000000000000af615b61448691fc3e4c61ae4f015d6e77b6cca86001600160a01b03166323b872dd333086868661ffff168181106107d757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906107ec9190610b07565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015261ffff166044820152606401600060405180830381600087803b15801561083f57600080fd5b505af1158015610853573d6000803e3d6000fd5b50505050808061086290610c25565b91505061066b565b606060008267ffffffffffffffff81111561089557634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156108be578160200160208202803683370190505b50905060005b61ffff8116841115610976576004600086868461ffff168181106108f857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061090d9190610b07565b61ffff1681526020810191909152604001600020546001546109359163ffffffff1690610bf6565b828261ffff168151811061095957634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061096e81610c25565b9150506108c4565b509392505050565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016102a190610bc1565b6001600160a01b038116610a0d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a1565b610a1681610a19565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610a7a578081fd5b81356001600160a01b0381168114610a90578182fd5b9392505050565b60008060208385031215610aa9578081fd5b823567ffffffffffffffff80821115610ac0578283fd5b818501915085601f830112610ad3578283fd5b813581811115610ae1578384fd5b8660208260051b8501011115610af5578384fd5b60209290920196919550909350505050565b600060208284031215610b18578081fd5b813561ffff81168114610a90578182fd5b600060208284031215610b3a578081fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015610b7d57835161ffff1683529284019291840191600101610b5d565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610b7d57835183529284019291840191600101610ba5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610c0957610c09610c47565b500190565b600082821015610c2057610c20610c47565b500390565b600061ffff80831681811415610c3d57610c3d610c47565b6001019392505050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122074f4e41dd882e5524c4fcf1bbe4d0b17af8e2b45f381cbd1b4650245bffa0d7a64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000af615b61448691fc3e4c61ae4f015d6e77b6cca8
-----Decoded View---------------
Arg [0] : _address (address): 0xAf615B61448691fC3E4c61AE4F015d6e77b6CCa8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000af615b61448691fc3e4c61ae4f015d6e77b6cca8
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.