More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 245 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 20375707 | 31 mins ago | IN | 0 ETH | 0.00020659 | ||||
Withdraw | 20371185 | 15 hrs ago | IN | 0 ETH | 0.00028551 | ||||
Withdraw | 20363949 | 39 hrs ago | IN | 0 ETH | 0.00026243 | ||||
Withdraw | 20354326 | 3 days ago | IN | 0 ETH | 0.00010966 | ||||
Withdraw | 20353548 | 3 days ago | IN | 0 ETH | 0.00011182 | ||||
Withdraw | 20352436 | 3 days ago | IN | 0 ETH | 0.00010395 | ||||
Withdraw | 20351037 | 3 days ago | IN | 0 ETH | 0.00010682 | ||||
Withdraw | 20321944 | 7 days ago | IN | 0 ETH | 0.00050672 | ||||
Withdraw | 20317565 | 8 days ago | IN | 0 ETH | 0.00042648 | ||||
Withdraw | 20312808 | 8 days ago | IN | 0 ETH | 0.00080364 | ||||
Withdraw | 20310806 | 9 days ago | IN | 0 ETH | 0.00019016 | ||||
Withdraw | 20309169 | 9 days ago | IN | 0 ETH | 0.00016886 | ||||
Withdraw | 20298752 | 10 days ago | IN | 0 ETH | 0.00012723 | ||||
Withdraw | 20297317 | 10 days ago | IN | 0 ETH | 0.00005975 | ||||
Withdraw | 20295041 | 11 days ago | IN | 0 ETH | 0.00008993 | ||||
Withdraw | 20293564 | 11 days ago | IN | 0 ETH | 0.00012473 | ||||
Withdraw | 20292568 | 11 days ago | IN | 0 ETH | 0.00016852 | ||||
Withdraw | 20286780 | 12 days ago | IN | 0 ETH | 0.00029457 | ||||
Withdraw | 20286364 | 12 days ago | IN | 0 ETH | 0.00013569 | ||||
Withdraw | 20285503 | 12 days ago | IN | 0 ETH | 0.00021094 | ||||
Withdraw | 20283331 | 12 days ago | IN | 0 ETH | 0.00059592 | ||||
Withdraw | 20277394 | 13 days ago | IN | 0 ETH | 0.00046716 | ||||
Withdraw | 20276913 | 13 days ago | IN | 0 ETH | 0.00073722 | ||||
Withdraw | 20276910 | 13 days ago | IN | 0 ETH | 0.00080163 | ||||
Withdraw | 20275848 | 13 days ago | IN | 0 ETH | 0.00045746 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenLock
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract TokenLock { address public immutable owner; IERC20 public immutable token; uint256 public immutable lockDuration; uint256 public immutable cutoffTime; uint256 public totalLocked; struct LockInfo { uint256 amount; uint256 releaseTime; } mapping(address => LockInfo) public locks; event Locked(address indexed user, uint256 amount, uint256 releaseTime); event Withdrawn(address indexed user, uint256 amount); event WithdrawSurplusTo(address indexed to, uint256 amount); constructor(address _owner, address _token, uint256 _lockDuration, uint256 _cutoffTime) { owner = _owner; token = IERC20(_token); lockDuration = _lockDuration; cutoffTime = _cutoffTime; } function lock(uint256 _amount) external { require(block.timestamp <= cutoffTime, "LOCKING_PERIOD_OVER"); require(_amount > 0, "WRONG_AMOUNT"); LockInfo storage userLock = locks[msg.sender]; userLock.amount += _amount; userLock.releaseTime = block.timestamp + lockDuration; totalLocked += _amount; emit Locked(msg.sender, userLock.amount, userLock.releaseTime); bool success = _makeTransferFrom(msg.sender, address(this), _amount); require(success, "TRANSFER_FAILED"); } function withdraw() external { LockInfo storage userLock = locks[msg.sender]; require(userLock.amount > 0, "NO_LOCKED_TOKENS"); require(block.timestamp >= userLock.releaseTime, "LOCK_NOT_EXPIRED"); uint256 amount = userLock.amount; userLock.amount = 0; totalLocked -= amount; bool success = _makeTransfer(msg.sender, amount); require(success, "TRANSFER_FAILED"); emit Withdrawn(msg.sender, amount); } /** * @dev Withdraws surplus tokens to the specified address. Normally there * won't be any surplus and this function will revert. It is only useful * after an accidental transfer of tokens to this contract that bypassed * the lock function. */ function withdrawSurplusTo(address to) external onlyOwner { require(to != address(0), "ZERO_ADDRESS"); uint256 balance = token.balanceOf(address(this)); require (totalLocked < balance, "NO_SURPLUS"); uint256 surplus = balance - totalLocked; bool success = _makeTransfer(to, surplus); require(success, "TRANSFER_FAILED"); emit WithdrawSurplusTo(to, surplus); } modifier onlyOwner() { require(msg.sender == owner, "ONLY_OWNER"); _; } function _makeTransfer( address to, uint256 amount ) private returns (bool success) { return _tokenCall( abi.encodeWithSelector( token.transfer.selector, to, amount ) ); } function _makeTransferFrom( address from, address to, uint256 amount ) private returns (bool success) { return _tokenCall( abi.encodeWithSelector( token.transferFrom.selector, from, to, amount ) ); } function _tokenCall(bytes memory data) private returns (bool) { (bool success, bytes memory returndata) = address(token).call(data); if (success) { if (returndata.length > 0) { success = abi.decode(returndata, (bool)); } else { success = address(token).code.length > 0; } } return success; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 200, "details": { "yulDetails": { "optimizerSteps": "u" } } }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_lockDuration","type":"uint256"},{"internalType":"uint256","name":"_cutoffTime","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"releaseTime","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawSurplusTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"cutoffTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"locks","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"withdrawSurplusTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
610100604052346200007b57620000236200001962000160565b92919091620001b5565b604051610c4b620001cf82396080518181816102b901526105d7015260a051818181610367015281816107440152610b8a015260c05181818160ce015261098d015260e05181818161026301526108f50152610c4b90f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90601f01601f191681019081106001600160401b03821117620000b557604052565b6200007f565b90620000d2620000ca60405190565b928362000093565b565b6001600160a01b031690565b90565b6001600160a01b0381165b036200007b57565b90505190620000d282620000e3565b80620000ee565b90505190620000d28262000105565b6080818303126200007b57620001328282620000f6565b92620000e0620001468460208501620000f6565b9360606200015882604087016200010c565b94016200010c565b6200018362000e1a803803806200017781620000bb565b9283398101906200011b565b90919293565b620000e090620000d4906001600160a01b031682565b620000e09062000189565b620000e0906200019f565b608052620001c390620001aa565b60a05260c05260e05256fe60806040526004361015610011575f80fd5b5f3560e01c806304554443146100a05780633ccfd60b1461009b57806356891412146100965780635de9a1371461009157806362107e8d1461008c5780638da5cb5b14610087578063a290febf14610082578063dd4670641461007d5763fc0c546a036100af5761034e565b61031d565b6102de565b6102a0565b61024e565b610220565b610143565b610103565b6100b9565b5f9103126100af57565b5f80fd5b9052565b565b346100af576100c93660046100a5565b6100ff7f00000000000000000000000000000000000000000000000000000000000000005b6040515b9182918290815260200190565b0390f35b346100af576101133660046100a5565b61011b6104b4565b604051005b61012b916008021c81565b90565b9061012b9154610120565b61012b5f8061012e565b346100af576101533660046100a5565b6100ff6100ee610139565b6001600160a01b031690565b6101738161015e565b036100af57565b905035906100b78261016a565b906020828203126100af5761012b9161017a565b61012b9061015e906001600160a01b031682565b61012b9061019b565b61012b906101af565b906101cb906101b8565b5f5260205260405f2090565b61012b9081565b61012b90546101d7565b6101f39060016101c1565b9061012b6001610202846101de565b93016101de565b9081526040810192916100b79160200152565b0152565b346100af57610238610233366004610187565b6101e8565b906100ff61024560405190565b92839283610209565b346100af5761025e3660046100a5565b6100ff7f00000000000000000000000000000000000000000000000000000000000000006100ee565b6100b39061015e565b6020810192916100b79190610287565b346100af576102b03660046100a5565b604051806100ff7f000000000000000000000000000000000000000000000000000000000000000082610290565b346100af5761011b6102f1366004610187565b61083d565b80610173565b905035906100b7826102f6565b906020828203126100af5761012b916102fc565b346100af5761011b610330366004610309565b6108e6565b6100b3906101b8565b6020810192916100b79190610335565b346100af5761035e3660046100a5565b604051806100ff7f00000000000000000000000000000000000000000000000000000000000000008261033e565b61012b61012b61012b9290565b60208082526010908201526f4e4f5f4c4f434b45445f544f4b454e5360801b604082015260600190565b156103ca57565b60405162461bcd60e51b8152806103e360048201610399565b0390fd5b60208082526010908201526f1313d0d2d7d393d517d156141254915160821b604082015260600190565b1561041857565b60405162461bcd60e51b8152806103e3600482016103e7565b9061012b61012b6104419261038c565b9055565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161046657565b610445565b6020808252600f908201526e1514905394d1915497d19052531151608a1b604082015260600190565b1561049b57565b60405162461bcd60e51b8152806103e36004820161046b565b5f6104c361012b3360016101c1565b6104e76104d18383016101de565b6104e16104dd8561038c565b9190565b116103c3565b6105016104f961012b600184016101de565b421015610411565b0161051e61050e826101de565b916105185f61038c565b90610431565b6105396105338261052e5f6101de565b610459565b5f610431565b61054b6105468233610a3e565b610494565b7f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5610582610578336101b8565b926100f260405190565b0390a2565b6020808252600a908201526927a7262cafa7aba722a960b11b604082015260600190565b156105b257565b60405162461bcd60e51b8152806103e360048201610587565b6100b79061060a6105fb7f000000000000000000000000000000000000000000000000000000000000000061015e565b6106043361015e565b146105ab565b610716565b61015e61012b61012b9290565b61012b9061060f565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b1561065257565b60405162461bcd60e51b8152806103e360048201610625565b634e487b7160e01b5f52604160045260245ffd5b90601f01601f1916810190811067ffffffffffffffff8211176106a157604052565b61066b565b905051906100b7826102f6565b906020828203126100af5761012b916106a6565b6040513d5f823e3d90fd5b6020808252600a90820152694e4f5f535552504c555360b01b604082015260600190565b156106fd57565b60405162461bcd60e51b8152806103e3600482016106d2565b61073a61072a6107255f61061c565b61015e565b6107338361015e565b141561064b565b61079560206107687f00000000000000000000000000000000000000000000000000000000000000006101b8565b610771306101b8565b9061077b60405190565b938492839182916370a0823160e01b835260048301610290565b03915afa908115610838576105786107f67f6db0ded9c208cae5f97e3610fe518d24d3594920a491395ec7db534a8f7b623593610582935f91610809575b506107e76107e05f6101de565b82116106f6565b6107f05f6101de565b90610459565b936108046105468683610a3e565b6101b8565b61082b915060203d602011610831575b610823818361067f565b8101906106b3565b5f6107d3565b503d610819565b6106c7565b6100b7906105cb565b6020808252601390820152722627a1a5a4a723afa822a924a7a22fa7ab22a960691b604082015260600190565b1561087a57565b60405162461bcd60e51b8152806103e360048201610846565b6020808252600c908201526b15d493d391d7d05353d5539560a21b604082015260600190565b156108c057565b60405162461bcd60e51b8152806103e360048201610893565b9190820180921161046657565b6105466100b79161091f6109177f000000000000000000000000000000000000000000000000000000000000000090565b421115610873565b61093261092b5f61038c565b82116108b9565b61094061012b3360016101c1565b7fd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea56109d66109d08361098361097d87610978846101de565b6108d9565b82610431565b6109bb60016109b27f0000000000000000000000000000000000000000000000000000000000000000426108d9565b96019586610431565b6109cb610533876109785f6101de565b6101de565b926101de565b6109df336101b8565b926109ec61024560405190565b0390a26109f8306101b8565b33610ab7565b610a17610a1161012b9263ffffffff1690565b60e01b90565b6001600160e01b03191690565b9160206100b792949361021c60408201965f830190610287565b610a89600491610a7a61012b94610a525f90565b50610a6063a9059cbb6109fe565b92610a6a60405190565b9586946020860190815201610a24565b6020820181038252038261067f565b610b83565b60409061021c6100b79496959396610aad60608401985f850190610287565b6020830190610287565b610a8990610a7a61012b94600494610acc5f90565b50610ada6323b872dd6109fe565b93610ae460405190565b9687956020870190815201610a8e565b906100b7610b0160405190565b928361067f565b67ffffffffffffffff81116106a157602090601f01601f19160190565b90610b37610b3283610b08565b610af4565b918252565b3d15610b5557610b4b3d610b25565b903d5f602084013e565b606090565b801515610173565b905051906100b782610b5a565b906020828203126100af5761012b91610b62565b5f80610bae7f00000000000000000000000000000000000000000000000000000000000000006101b8565b9260208151910182855af190610bc2610b3c565b82610bcc57505090565b909150610bd7815190565b610be36104dd5f61038c565b1115610c035761012b91506020610bf8825190565b818301019101610b6f565b503b610c116104dd5f61038c565b119056fea2646970667358221220725bfe0e13799d7fe6805cb781487d50ef3f88625284c2cbfdaae9dc3e299fd664736f6c6343000818003300000000000000000000000062705e45c18fc8745c644ac23bffb321eef3f0b90000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e00000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000000000000000665a6480
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f3560e01c806304554443146100a05780633ccfd60b1461009b57806356891412146100965780635de9a1371461009157806362107e8d1461008c5780638da5cb5b14610087578063a290febf14610082578063dd4670641461007d5763fc0c546a036100af5761034e565b61031d565b6102de565b6102a0565b61024e565b610220565b610143565b610103565b6100b9565b5f9103126100af57565b5f80fd5b9052565b565b346100af576100c93660046100a5565b6100ff7f00000000000000000000000000000000000000000000000000000000004f1a005b6040515b9182918290815260200190565b0390f35b346100af576101133660046100a5565b61011b6104b4565b604051005b61012b916008021c81565b90565b9061012b9154610120565b61012b5f8061012e565b346100af576101533660046100a5565b6100ff6100ee610139565b6001600160a01b031690565b6101738161015e565b036100af57565b905035906100b78261016a565b906020828203126100af5761012b9161017a565b61012b9061015e906001600160a01b031682565b61012b9061019b565b61012b906101af565b906101cb906101b8565b5f5260205260405f2090565b61012b9081565b61012b90546101d7565b6101f39060016101c1565b9061012b6001610202846101de565b93016101de565b9081526040810192916100b79160200152565b0152565b346100af57610238610233366004610187565b6101e8565b906100ff61024560405190565b92839283610209565b346100af5761025e3660046100a5565b6100ff7f00000000000000000000000000000000000000000000000000000000665a64806100ee565b6100b39061015e565b6020810192916100b79190610287565b346100af576102b03660046100a5565b604051806100ff7f00000000000000000000000062705e45c18fc8745c644ac23bffb321eef3f0b982610290565b346100af5761011b6102f1366004610187565b61083d565b80610173565b905035906100b7826102f6565b906020828203126100af5761012b916102fc565b346100af5761011b610330366004610309565b6108e6565b6100b3906101b8565b6020810192916100b79190610335565b346100af5761035e3660046100a5565b604051806100ff7f0000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e8261033e565b61012b61012b61012b9290565b60208082526010908201526f4e4f5f4c4f434b45445f544f4b454e5360801b604082015260600190565b156103ca57565b60405162461bcd60e51b8152806103e360048201610399565b0390fd5b60208082526010908201526f1313d0d2d7d393d517d156141254915160821b604082015260600190565b1561041857565b60405162461bcd60e51b8152806103e3600482016103e7565b9061012b61012b6104419261038c565b9055565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161046657565b610445565b6020808252600f908201526e1514905394d1915497d19052531151608a1b604082015260600190565b1561049b57565b60405162461bcd60e51b8152806103e36004820161046b565b5f6104c361012b3360016101c1565b6104e76104d18383016101de565b6104e16104dd8561038c565b9190565b116103c3565b6105016104f961012b600184016101de565b421015610411565b0161051e61050e826101de565b916105185f61038c565b90610431565b6105396105338261052e5f6101de565b610459565b5f610431565b61054b6105468233610a3e565b610494565b7f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5610582610578336101b8565b926100f260405190565b0390a2565b6020808252600a908201526927a7262cafa7aba722a960b11b604082015260600190565b156105b257565b60405162461bcd60e51b8152806103e360048201610587565b6100b79061060a6105fb7f00000000000000000000000062705e45c18fc8745c644ac23bffb321eef3f0b961015e565b6106043361015e565b146105ab565b610716565b61015e61012b61012b9290565b61012b9061060f565b6020808252600c908201526b5a45524f5f4144445245535360a01b604082015260600190565b1561065257565b60405162461bcd60e51b8152806103e360048201610625565b634e487b7160e01b5f52604160045260245ffd5b90601f01601f1916810190811067ffffffffffffffff8211176106a157604052565b61066b565b905051906100b7826102f6565b906020828203126100af5761012b916106a6565b6040513d5f823e3d90fd5b6020808252600a90820152694e4f5f535552504c555360b01b604082015260600190565b156106fd57565b60405162461bcd60e51b8152806103e3600482016106d2565b61073a61072a6107255f61061c565b61015e565b6107338361015e565b141561064b565b61079560206107687f0000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e6101b8565b610771306101b8565b9061077b60405190565b938492839182916370a0823160e01b835260048301610290565b03915afa908115610838576105786107f67f6db0ded9c208cae5f97e3610fe518d24d3594920a491395ec7db534a8f7b623593610582935f91610809575b506107e76107e05f6101de565b82116106f6565b6107f05f6101de565b90610459565b936108046105468683610a3e565b6101b8565b61082b915060203d602011610831575b610823818361067f565b8101906106b3565b5f6107d3565b503d610819565b6106c7565b6100b7906105cb565b6020808252601390820152722627a1a5a4a723afa822a924a7a22fa7ab22a960691b604082015260600190565b1561087a57565b60405162461bcd60e51b8152806103e360048201610846565b6020808252600c908201526b15d493d391d7d05353d5539560a21b604082015260600190565b156108c057565b60405162461bcd60e51b8152806103e360048201610893565b9190820180921161046657565b6105466100b79161091f6109177f00000000000000000000000000000000000000000000000000000000665a648090565b421115610873565b61093261092b5f61038c565b82116108b9565b61094061012b3360016101c1565b7fd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea56109d66109d08361098361097d87610978846101de565b6108d9565b82610431565b6109bb60016109b27f00000000000000000000000000000000000000000000000000000000004f1a00426108d9565b96019586610431565b6109cb610533876109785f6101de565b6101de565b926101de565b6109df336101b8565b926109ec61024560405190565b0390a26109f8306101b8565b33610ab7565b610a17610a1161012b9263ffffffff1690565b60e01b90565b6001600160e01b03191690565b9160206100b792949361021c60408201965f830190610287565b610a89600491610a7a61012b94610a525f90565b50610a6063a9059cbb6109fe565b92610a6a60405190565b9586946020860190815201610a24565b6020820181038252038261067f565b610b83565b60409061021c6100b79496959396610aad60608401985f850190610287565b6020830190610287565b610a8990610a7a61012b94600494610acc5f90565b50610ada6323b872dd6109fe565b93610ae460405190565b9687956020870190815201610a8e565b906100b7610b0160405190565b928361067f565b67ffffffffffffffff81116106a157602090601f01601f19160190565b90610b37610b3283610b08565b610af4565b918252565b3d15610b5557610b4b3d610b25565b903d5f602084013e565b606090565b801515610173565b905051906100b782610b5a565b906020828203126100af5761012b91610b62565b5f80610bae7f0000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e6101b8565b9260208151910182855af190610bc2610b3c565b82610bcc57505090565b909150610bd7815190565b610be36104dd5f61038c565b1115610c035761012b91506020610bf8825190565b818301019101610b6f565b503b610c116104dd5f61038c565b119056fea2646970667358221220725bfe0e13799d7fe6805cb781487d50ef3f88625284c2cbfdaae9dc3e299fd664736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000062705e45c18fc8745c644ac23bffb321eef3f0b90000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e00000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000000000000000665a6480
-----Decoded View---------------
Arg [0] : _owner (address): 0x62705e45c18fC8745c644AC23Bffb321eef3F0B9
Arg [1] : _token (address): 0x3Ba925fdeAe6B46d0BB4d424D829982Cb2F7309e
Arg [2] : _lockDuration (uint256): 5184000
Arg [3] : _cutoffTime (uint256): 1717200000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000062705e45c18fc8745c644ac23bffb321eef3f0b9
Arg [1] : 0000000000000000000000003ba925fdeae6b46d0bb4d424d829982cb2f7309e
Arg [2] : 00000000000000000000000000000000000000000000000000000000004f1a00
Arg [3] : 00000000000000000000000000000000000000000000000000000000665a6480
Deployed Bytecode Sourcemap
115:3719:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;:::o;:::-;:::o;:::-;;;;;;;;:::i;:::-;;211:37;115:3719;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;115:3719:1;;;;;;;;;;;;;;;;;:::i;296:26::-;;;;;:::i;115:3719::-;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;115:3719:1;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;115:3719:1;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;411:41::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::i;115:3719::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;254:35;115:3719;254:35;115:3719;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;140:30;115:3719;;:::i;:::-;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;176:29;115:3719;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;1444:480::-;1564:1;1483:45;1511:17;1517:10;1511:5;:17;:::i;1483:45::-;1538:48;1546:15;;;;;:::i;:::-;:19;;;;:::i;:::-;;115:3719;;1546:19;;1538:48;:::i;:::-;1596:68;1604:39;1623:20;1511:5;1623:20;;;:::i;1604:39::-;:15;:39;;1596:68;:::i;:::-;1692:15;1717:19;1692:15;;;:::i;:::-;1717:19;;1564:1;1717:19;:::i;:::-;;;:::i;:::-;1747:21;;;;1564:1;1747:21;:::i;:::-;;:::i;:::-;1564:1;1747:21;:::i;:::-;1837:35;1794:33;1517:10;;1794:33;:::i;:::-;1837:35;:::i;:::-;1888:29;;;1517:10;1888:29;:::i;:::-;;;115:3719;;;;1888:29;;;;1444:480::o;115:3719::-;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;2633:91::-;2716:1;2633:91;2664:42;2672:19;2686:5;2672:19;:::i;:::-;;:10;:19;:::i;:::-;;2664:42;:::i;:::-;2716:1;:::i;115:3719::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;115:3719:1;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;2204:419::-;2272:41;2280:16;2286:10;2294:1;2286:10;:::i;:::-;2280:16;:::i;:::-;;;;:::i;:::-;;;2272:41;:::i;:::-;2341:30;;:15;:5;:15;:::i;:::-;2357:13;2365:4;2357:13;:::i;:::-;2341:30;;115:3719;;;;2341:30;;;;;;;;-1:-1:-1;;;2341:30:1;;;;;;:::i;:::-;;;;;;;;;;2586;2454:21;2586:30;2341;2586;2341;;;;;2204:419;2390:11;2381:45;2390:11;2294:1;2390:11;:::i;:::-;:21;-1:-1:-1;2381:45:1;:::i;:::-;2464:11;2294:1;2464:11;:::i;:::-;2454:21;;:::i;:::-;2500:26;2536:35;2500:26;;;;:::i;2536:35::-;2586:30;:::i;2341:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;2204:419::-;;;;:::i;115:3719::-;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;115:3719:1;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;115:3719:1;;;;;;;;:::i;:::-;;;;;;;;;;:::o;890:548::-;1332:53;1395:35;890:548;940:61;948:29;967:10;115:3719;;948:29;:15;:29;;940:61;:::i;:::-;1011:36;1019:11;1029:1;1019:11;:::i;:::-;;;1011:36;:::i;:::-;1058:45;1086:17;1092:10;1086:5;:17;:::i;1058:45::-;1249:57;1285:20;1268:15;1113;:26;;;;:15;:26;:::i;:::-;;:::i;:::-;;;:::i;:::-;1149:53;1086:5;1172:30;1190:12;948:15;1172:30;:::i;:::-;1149:20;;:53;;;:::i;:::-;1212:22;;;;1029:1;1212:22;:::i;:::-;1268:15;:::i;:::-;1285:20;;:::i;:::-;1249:57;1092:10;1249:57;:::i;:::-;;;;115:3719;;;;1249:57;;;;1362:13;1370:4;1362:13;:::i;:::-;1092:10;1332:53;:::i;115:3719::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;;115:3719:1;;;;;;;;;;;;;;;;;;;;:::i;2730:319::-;2891:137;;2730:319;2891:137;2863:179;2730:319;2820:12;115:3719;;;2820:12;2935:23;;:14;:23;:::i;:::-;2891:137;;115:3719;;;;2891:137;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;2863:179;:::i;115:3719::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;3055:375::-;3242:167;3055:375;3242:167;3214:209;3055:375;3242:167;3055:375;3171:12;115:3719;;;3171:12;3286:27;;:18;:27;:::i;:::-;3242:167;;115:3719;;;;3242:167;;;;;;;;;;;;:::i;115:3719::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;115:3719:1;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;3436:396::-;3550:25;3558:5;3550:14;3558:5;3550:14;:::i;:::-;:25;;;;;;;;;;;;;:::i;:::-;3508:67;3585:217;;3811:14;;3436:396;:::o;3585:217::-;3617:17;;;;;115:3719;;;3617:17;:21;;3637:1;3617:21;:::i;:::-;;3613:179;;;3668:30;;;;;;115:3719;;;3668:30;;;;;;;;:::i;3613:179::-;3747:26;;:30;;3637:1;3747:30;:::i;:::-;;115:3719;
Swarm Source
ipfs://725bfe0e13799d7fe6805cb781487d50ef3f88625284c2cbfdaae9dc3e299fd6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.025801 | 101,583,843.6788 | $2,620,954.59 |
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.