Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.00003 ETH
Eth Value
$0.08 (@ $2,601.24/ETH)More Info
Private Name Tags
ContractCreator
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Release | 15670715 | 858 days ago | IN | 0 ETH | 0.00075224 | ||||
Release | 15406256 | 898 days ago | IN | 0 ETH | 0.00037585 | ||||
Lock Tokens | 15311525 | 913 days ago | IN | 0.00001 ETH | 0.001121 | ||||
Lock Tokens | 15264825 | 920 days ago | IN | 0.00001 ETH | 0.00195052 | ||||
Release | 15260496 | 921 days ago | IN | 0 ETH | 0.00038344 | ||||
Lock Tokens | 15260462 | 921 days ago | IN | 0.00001 ETH | 0.00168502 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
RuneLock
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-02 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } contract RuneLock { address private owner; address fee1Address; address fee2Address = address(0xFcA9546CB8060503d58a83C12Cc4A17876da766C); uint256 public lockCost = 0.00001 ether; event LockCostUpdated(uint256 newCost); event TokensLocked( address tokenAddress, address beneficiary, uint256 releaseTime, uint256 amountLocked ); event TokensReleased( address tokenAddress, address beneficiary, uint256 amountReleased ); mapping(address => mapping(address => uint256)) beneficiaryToLockedTokens; mapping(address => mapping(address => uint256)) beneficiaryToReleaseTime; constructor() { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function _lockTokens( address _tokenAddress, uint256 _amountToLock, uint256 _releaseTime ) private { beneficiaryToLockedTokens[msg.sender][_tokenAddress] += _amountToLock; beneficiaryToReleaseTime[msg.sender][_tokenAddress] = _releaseTime; } function _releaseTokens(address _tokenAddress) private { uint256 _amount = beneficiaryToLockedTokens[msg.sender][_tokenAddress]; IERC20(_tokenAddress).transfer(msg.sender, _amount); beneficiaryToLockedTokens[msg.sender][_tokenAddress] = 0; } function updateOwner(address _newOwner) external onlyOwner { owner = _newOwner; } function updateFeeAddress(address _newFeeAddress) external onlyOwner { fee1Address = _newFeeAddress; } function updateLockCost(uint256 _newCost) public onlyOwner { lockCost = _newCost; emit LockCostUpdated(_newCost); } function lockTokens( address _tokenAddress, uint256 _amountToLock, uint256 _releaseTime ) external payable returns (bool _tokensLocked) { require( _releaseTime > block.timestamp, "TokenLock: release time is before current time" ); IERC20 token = IERC20(_tokenAddress); // Check we can actually take ownership of the tokens require( token.allowance(msg.sender, address(this)) >= _amountToLock, "TokenLock: Insufficient allowance to lock the required number of tokens" ); require( _releaseTime > beneficiaryToReleaseTime[msg.sender][_tokenAddress], "TokenLock: Cannot tokens for less time than already existing locks" ); require( msg.value == lockCost, "TokenLock: Insufficient funds to lock" ); if (fee1Address != address(0)) { bool success; (success,) = payable(fee1Address).call{value: lockCost * 98 / 100}(""); // 98% fee1 (success,) = payable(fee2Address).call{value: lockCost * 2 / 100}(""); // 2% fee2 } token.transferFrom(msg.sender, address(this), _amountToLock); _lockTokens(_tokenAddress, _amountToLock, _releaseTime); emit TokensLocked( _tokenAddress, msg.sender, _releaseTime, _amountToLock ); return true; } function release(address _tokenAddress) external returns (bool _tokensReleased) { uint256 _amountToUnlock = beneficiaryToLockedTokens[msg.sender][ _tokenAddress ]; require( _amountToUnlock > 0, "TokenLock: No tokens available to release" ); require(beneficiaryToReleaseTime[msg.sender][_tokenAddress] > 0); require( beneficiaryToReleaseTime[msg.sender][_tokenAddress] <= block.timestamp, "TokenLock: Tokens not yet available for release" ); _releaseTokens(_tokenAddress); emit TokensReleased(_tokenAddress, msg.sender, _amountToUnlock); return true; } function releaseTime(address _beneficiary, address _tokenAddress) external view returns (uint256 _releaseTime) { return beneficiaryToReleaseTime[_beneficiary][_tokenAddress]; } function lockedTokenAmount(address _beneficiary, address _tokenAddress) external view returns (uint256 _amountLocked) { return beneficiaryToLockedTokens[_beneficiary][_tokenAddress]; } function withdraw() external onlyOwner returns (bool success) { (success, ) = payable(owner).call{value: address(this).balance}(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newCost","type":"uint256"}],"name":"LockCostUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"releaseTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountLocked","type":"uint256"}],"name":"TokensLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReleased","type":"uint256"}],"name":"TokensReleased","type":"event"},{"inputs":[],"name":"lockCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amountToLock","type":"uint256"},{"internalType":"uint256","name":"_releaseTime","type":"uint256"}],"name":"lockTokens","outputs":[{"internalType":"bool","name":"_tokensLocked","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"lockedTokenAmount","outputs":[{"internalType":"uint256","name":"_amountLocked","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"release","outputs":[{"internalType":"bool","name":"_tokensReleased","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"releaseTime","outputs":[{"internalType":"uint256","name":"_releaseTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newFeeAddress","type":"address"}],"name":"updateFeeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"updateLockCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"updateOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600280546001600160a01b03191673fca9546cb8060503d58a83c12cc4a17876da766c1790556509184e72a00060035534801561004057600080fd5b50600080546001600160a01b03191633179055610cb0806100626000396000f3fe6080604052600436106100865760003560e01c806351f1b9391161005957806351f1b93914610118578063880cdc3114610138578063a25983e51461015a578063a46122081461016d578063bbcaac381461018d57610086565b8063191655871461008b57806322759098146100c15780632b129518146100ee5780633ccfd60b14610103575b600080fd5b34801561009757600080fd5b506100ab6100a63660046108a1565b6101ad565b6040516100b891906109f9565b60405180910390f35b3480156100cd57600080fd5b506100e16100dc3660046108c2565b6102b6565b6040516100b89190610c04565b3480156100fa57600080fd5b506100e16102e1565b34801561010f57600080fd5b506100ab6102e7565b34801561012457600080fd5b506100e16101333660046108c2565b610366565b34801561014457600080fd5b506101586101533660046108a1565b610391565b005b6100ab6101683660046108f4565b6103ca565b34801561017957600080fd5b50610158610188366004610946565b6106ce565b34801561019957600080fd5b506101586101a83660046108a1565b610725565b3360009081526004602090815260408083206001600160a01b0385168452909152812054806101f75760405162461bcd60e51b81526004016101ee90610b53565b60405180910390fd5b3360009081526005602090815260408083206001600160a01b038716845290915290205461022457600080fd5b3360009081526005602090815260408083206001600160a01b03871684529091529020544210156102675760405162461bcd60e51b81526004016101ee90610a04565b6102708361075e565b7f3737f2a73c794dafe53d8aeea06810a9ebcf7167401b259406960e088e03f8308333836040516102a393929190610993565b60405180910390a160019150505b919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60035481565b600080546001600160a01b031633146102ff57600080fd5b6000546040516001600160a01b0390911690479061031c90610976565b60006040518083038185875af1925050503d8060008114610359576040519150601f19603f3d011682016040523d82523d6000602084013e61035e565b606091505b509092915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103a857600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60004282116103eb5760405162461bcd60e51b81526004016101ee90610a98565b604051636eb1769f60e11b8152849084906001600160a01b0383169063dd62ed3e9061041d9033903090600401610979565b60206040518083038186803b15801561043557600080fd5b505afa158015610449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046d919061095e565b101561048b5760405162461bcd60e51b81526004016101ee90610ae6565b3360009081526005602090815260408083206001600160a01b038916845290915290205483116104cd5760405162461bcd60e51b81526004016101ee90610b9c565b60035434146104ee5760405162461bcd60e51b81526004016101ee90610a53565b6001546001600160a01b0316156105f8576001546003546000916001600160a01b031690606490610520906062610c45565b61052a9190610c25565b60405161053690610976565b60006040518083038185875af1925050503d8060008114610573576040519150601f19603f3d011682016040523d82523d6000602084013e610578565b606091505b5050600280546003549293506001600160a01b03169160649161059b9190610c45565b6105a59190610c25565b6040516105b190610976565b60006040518083038185875af1925050503d80600081146105ee576040519150601f19603f3d011682016040523d82523d6000602084013e6105f3565b606091505b505050505b6040516323b872dd60e01b81526001600160a01b038216906323b872dd9061062890339030908990600401610993565b602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067a9190610926565b50610686858585610824565b7fc8b76441f0c994977de3f73de32b3573a68b94e5d786ffd899638438754c9de9853385876040516106bb94939291906109b7565b60405180910390a1506001949350505050565b6000546001600160a01b031633146106e557600080fd5b60038190556040517f0917298b55b05e8453cf524849d5e0b262045c4bf4d9c4fc71cddf342788e3f29061071a908390610c04565b60405180910390a150565b6000546001600160a01b0316331461073c57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602081815260408084206001600160a01b03871680865292529283902054925163a9059cbb60e01b81529293909263a9059cbb926107a792918691016109e0565b602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f99190610926565b50503360009081526004602090815260408083206001600160a01b0394909416835292905290812055565b3360009081526004602090815260408083206001600160a01b038716845290915281208054849290610857908490610c0d565b90915550503360009081526005602090815260408083206001600160a01b03969096168352949052929092209190915550565b80356001600160a01b03811681146102b157600080fd5b6000602082840312156108b2578081fd5b6108bb8261088a565b9392505050565b600080604083850312156108d4578081fd5b6108dd8361088a565b91506108eb6020840161088a565b90509250929050565b600080600060608486031215610908578081fd5b6109118461088a565b95602085013595506040909401359392505050565b600060208284031215610937578081fd5b815180151581146108bb578182fd5b600060208284031215610957578081fd5b5035919050565b60006020828403121561096f578081fd5b5051919050565b90565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252602f908201527f546f6b656e4c6f636b3a20546f6b656e73206e6f742079657420617661696c6160408201526e626c6520666f722072656c6561736560881b606082015260800190565b60208082526025908201527f546f6b656e4c6f636b3a20496e73756666696369656e742066756e647320746f604082015264206c6f636b60d81b606082015260800190565b6020808252602e908201527f546f6b656e4c6f636b3a2072656c656173652074696d65206973206265666f7260408201526d652063757272656e742074696d6560901b606082015260800190565b60208082526047908201527f546f6b656e4c6f636b3a20496e73756666696369656e7420616c6c6f77616e6360408201527f6520746f206c6f636b20746865207265717569726564206e756d626572206f6660608201526620746f6b656e7360c81b608082015260a00190565b60208082526029908201527f546f6b656e4c6f636b3a204e6f20746f6b656e7320617661696c61626c6520746040820152686f2072656c6561736560b81b606082015260800190565b60208082526042908201527f546f6b656e4c6f636b3a2043616e6e6f7420746f6b656e7320666f72206c657360408201527f732074696d65207468616e20616c7265616479206578697374696e67206c6f636060820152616b7360f01b608082015260a00190565b90815260200190565b60008219821115610c2057610c20610c64565b500190565b600082610c4057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610c5f57610c5f610c64565b500290565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220cdd59c1799f90adcc6f92249f31a2d9ffdfaf1c3c3b4f0c4d2355d35bff374a964736f6c63430008000033
Deployed Bytecode
0x6080604052600436106100865760003560e01c806351f1b9391161005957806351f1b93914610118578063880cdc3114610138578063a25983e51461015a578063a46122081461016d578063bbcaac381461018d57610086565b8063191655871461008b57806322759098146100c15780632b129518146100ee5780633ccfd60b14610103575b600080fd5b34801561009757600080fd5b506100ab6100a63660046108a1565b6101ad565b6040516100b891906109f9565b60405180910390f35b3480156100cd57600080fd5b506100e16100dc3660046108c2565b6102b6565b6040516100b89190610c04565b3480156100fa57600080fd5b506100e16102e1565b34801561010f57600080fd5b506100ab6102e7565b34801561012457600080fd5b506100e16101333660046108c2565b610366565b34801561014457600080fd5b506101586101533660046108a1565b610391565b005b6100ab6101683660046108f4565b6103ca565b34801561017957600080fd5b50610158610188366004610946565b6106ce565b34801561019957600080fd5b506101586101a83660046108a1565b610725565b3360009081526004602090815260408083206001600160a01b0385168452909152812054806101f75760405162461bcd60e51b81526004016101ee90610b53565b60405180910390fd5b3360009081526005602090815260408083206001600160a01b038716845290915290205461022457600080fd5b3360009081526005602090815260408083206001600160a01b03871684529091529020544210156102675760405162461bcd60e51b81526004016101ee90610a04565b6102708361075e565b7f3737f2a73c794dafe53d8aeea06810a9ebcf7167401b259406960e088e03f8308333836040516102a393929190610993565b60405180910390a160019150505b919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60035481565b600080546001600160a01b031633146102ff57600080fd5b6000546040516001600160a01b0390911690479061031c90610976565b60006040518083038185875af1925050503d8060008114610359576040519150601f19603f3d011682016040523d82523d6000602084013e61035e565b606091505b509092915050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103a857600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60004282116103eb5760405162461bcd60e51b81526004016101ee90610a98565b604051636eb1769f60e11b8152849084906001600160a01b0383169063dd62ed3e9061041d9033903090600401610979565b60206040518083038186803b15801561043557600080fd5b505afa158015610449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046d919061095e565b101561048b5760405162461bcd60e51b81526004016101ee90610ae6565b3360009081526005602090815260408083206001600160a01b038916845290915290205483116104cd5760405162461bcd60e51b81526004016101ee90610b9c565b60035434146104ee5760405162461bcd60e51b81526004016101ee90610a53565b6001546001600160a01b0316156105f8576001546003546000916001600160a01b031690606490610520906062610c45565b61052a9190610c25565b60405161053690610976565b60006040518083038185875af1925050503d8060008114610573576040519150601f19603f3d011682016040523d82523d6000602084013e610578565b606091505b5050600280546003549293506001600160a01b03169160649161059b9190610c45565b6105a59190610c25565b6040516105b190610976565b60006040518083038185875af1925050503d80600081146105ee576040519150601f19603f3d011682016040523d82523d6000602084013e6105f3565b606091505b505050505b6040516323b872dd60e01b81526001600160a01b038216906323b872dd9061062890339030908990600401610993565b602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067a9190610926565b50610686858585610824565b7fc8b76441f0c994977de3f73de32b3573a68b94e5d786ffd899638438754c9de9853385876040516106bb94939291906109b7565b60405180910390a1506001949350505050565b6000546001600160a01b031633146106e557600080fd5b60038190556040517f0917298b55b05e8453cf524849d5e0b262045c4bf4d9c4fc71cddf342788e3f29061071a908390610c04565b60405180910390a150565b6000546001600160a01b0316331461073c57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602081815260408084206001600160a01b03871680865292529283902054925163a9059cbb60e01b81529293909263a9059cbb926107a792918691016109e0565b602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f99190610926565b50503360009081526004602090815260408083206001600160a01b0394909416835292905290812055565b3360009081526004602090815260408083206001600160a01b038716845290915281208054849290610857908490610c0d565b90915550503360009081526005602090815260408083206001600160a01b03969096168352949052929092209190915550565b80356001600160a01b03811681146102b157600080fd5b6000602082840312156108b2578081fd5b6108bb8261088a565b9392505050565b600080604083850312156108d4578081fd5b6108dd8361088a565b91506108eb6020840161088a565b90509250929050565b600080600060608486031215610908578081fd5b6109118461088a565b95602085013595506040909401359392505050565b600060208284031215610937578081fd5b815180151581146108bb578182fd5b600060208284031215610957578081fd5b5035919050565b60006020828403121561096f578081fd5b5051919050565b90565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252602f908201527f546f6b656e4c6f636b3a20546f6b656e73206e6f742079657420617661696c6160408201526e626c6520666f722072656c6561736560881b606082015260800190565b60208082526025908201527f546f6b656e4c6f636b3a20496e73756666696369656e742066756e647320746f604082015264206c6f636b60d81b606082015260800190565b6020808252602e908201527f546f6b656e4c6f636b3a2072656c656173652074696d65206973206265666f7260408201526d652063757272656e742074696d6560901b606082015260800190565b60208082526047908201527f546f6b656e4c6f636b3a20496e73756666696369656e7420616c6c6f77616e6360408201527f6520746f206c6f636b20746865207265717569726564206e756d626572206f6660608201526620746f6b656e7360c81b608082015260a00190565b60208082526029908201527f546f6b656e4c6f636b3a204e6f20746f6b656e7320617661696c61626c6520746040820152686f2072656c6561736560b81b606082015260800190565b60208082526042908201527f546f6b656e4c6f636b3a2043616e6e6f7420746f6b656e7320666f72206c657360408201527f732074696d65207468616e20616c7265616479206578697374696e67206c6f636060820152616b7360f01b608082015260a00190565b90815260200190565b60008219821115610c2057610c20610c64565b500190565b600082610c4057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610c5f57610c5f610c64565b500290565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220cdd59c1799f90adcc6f92249f31a2d9ffdfaf1c3c3b4f0c4d2355d35bff374a964736f6c63430008000033
Deployed Bytecode Sourcemap
2886:4716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6214:761;;;;;;;;;;-1:-1:-1;6214:761:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7213:230;;;;;;;;;;-1:-1:-1;7213:230:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3045:39::-;;;;;;;;;;;;;:::i;7451:148::-;;;;;;;;;;;;;:::i;6983:222::-;;;;;;;;;;-1:-1:-1;6983:222:0;;;;;:::i;:::-;;:::i;4315:95::-;;;;;;;;;;-1:-1:-1;4315:95:0;;;;;:::i;:::-;;:::i;:::-;;4688:1518;;;;;;:::i;:::-;;:::i;4542:138::-;;;;;;;;;;-1:-1:-1;4542:138:0;;;;;:::i;:::-;;:::i;4418:116::-;;;;;;;;;;-1:-1:-1;4418:116:0;;;;;:::i;:::-;;:::i;6214:761::-;6390:10;6290:20;6364:37;;;:25;:37;;;;;;;;-1:-1:-1;;;;;6364:76:0;;;;;;;;;;6473:19;6451:110;;;;-1:-1:-1;;;6451:110:0;;;;;;;:::i;:::-;;;;;;;;;6605:10;6634:1;6580:36;;;:24;:36;;;;;;;;-1:-1:-1;;;;;6580:51:0;;;;;;;;;;6572:64;;;;;;6694:10;6669:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;6669:51:0;;;;;;;;;;6741:15;-1:-1:-1;6669:87:0;6647:184;;;;-1:-1:-1;;;6647:184:0;;;;;;;:::i;:::-;6842:29;6857:13;6842:14;:29::i;:::-;6887:58;6902:13;6917:10;6929:15;6887:58;;;;;;;;:::i;:::-;;;;;;;;6963:4;6956:11;;;6214:761;;;;:::o;7213:230::-;-1:-1:-1;;;;;7381:39:0;;;7335:21;7381:39;;;:25;:39;;;;;;;;:54;;;;;;;;;;;;;7213:230::o;3045:39::-;;;;:::o;7451:148::-;7499:12;3696:5;;-1:-1:-1;;;;;3696:5:0;3682:10;:19;3674:28;;;;;;7546:5:::1;::::0;7538:53:::1;::::0;-1:-1:-1;;;;;7546:5:0;;::::1;::::0;7565:21:::1;::::0;7538:53:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;7524:67:0;;7451:148;-1:-1:-1;;7451:148:0:o;6983:222::-;-1:-1:-1;;;;;7144:38:0;;;7099:20;7144:38;;;:24;:38;;;;;;;;:53;;;;;;;;;;;;;6983:222::o;4315:95::-;3696:5;;-1:-1:-1;;;;;3696:5:0;3682:10;:19;3674:28;;;;;;4385:5:::1;:17:::0;;-1:-1:-1;;;;;;4385:17:0::1;-1:-1:-1::0;;;;;4385:17:0;;;::::1;::::0;;;::::1;::::0;;4315:95::o;4688:1518::-;4836:18;4904:15;4889:12;:30;4867:126;;;;-1:-1:-1;;;4867:126:0;;;;;;;:::i;:::-;5138:42;;-1:-1:-1;;;5138:42:0;;5028:13;;5184;;-1:-1:-1;;;;;5138:15:0;;;;;:42;;5154:10;;5174:4;;5138:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;5116:180;;;;-1:-1:-1;;;5116:180:0;;;;;;;:::i;:::-;5369:10;5344:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;5344:51:0;;;;;;;;;;5329:66;;5307:182;;;;-1:-1:-1;;;5307:182:0;;;;;;;:::i;:::-;5535:8;;5522:9;:21;5500:108;;;;-1:-1:-1;;;5500:108:0;;;;;;;:::i;:::-;5633:11;;-1:-1:-1;;;;;5633:11:0;:25;5629:262;;5723:11;;5748:8;;5675:12;;-1:-1:-1;;;;;5723:11:0;;5764:3;;5748:13;;5759:2;5748:13;:::i;:::-;:19;;;;:::i;:::-;5715:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5820:11:0;;;5845:8;;5702:70;;-1:-1:-1;;;;;;5820:11:0;;5860:3;;5845:12;;:8;:12;:::i;:::-;:18;;;;:::i;:::-;5812:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;5629:262:0;5903:60;;-1:-1:-1;;;5903:60:0;;-1:-1:-1;;;;;5903:18:0;;;;;:60;;5922:10;;5942:4;;5949:13;;5903:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5974:55;5986:13;6001;6016:12;5974:11;:55::i;:::-;6045:131;6072:13;6100:10;6125:12;6152:13;6045:131;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;6194:4:0;;4688:1518;-1:-1:-1;;;;4688:1518:0:o;4542:138::-;3696:5;;-1:-1:-1;;;;;3696:5:0;3682:10;:19;3674:28;;;;;;4612:8:::1;:19:::0;;;4647:25:::1;::::0;::::1;::::0;::::1;::::0;4623:8;;4647:25:::1;:::i;:::-;;;;;;;;4542:138:::0;:::o;4418:116::-;3696:5;;-1:-1:-1;;;;;3696:5:0;3682:10;:19;3674:28;;;;;;4498:11:::1;:28:::0;;-1:-1:-1;;;;;;4498:28:0::1;-1:-1:-1::0;;;;;4498:28:0;;;::::1;::::0;;;::::1;::::0;;4418:116::o;4034:273::-;4144:10;4100:15;4118:37;;;:25;:37;;;;;;;;-1:-1:-1;;;;;4118:52:0;;;;;;;;;;;;4181:51;;-1:-1:-1;;;4181:51:0;;4118:52;;;;4181:30;;:51;;4144:10;4118:52;;4181:51;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;4269:10:0;4298:1;4243:37;;;:25;:37;;;;;;;;-1:-1:-1;;;;;4243:52:0;;;;;;;;;;;;:56;4034:273::o;3730:296::-;3898:10;3872:37;;;;:25;:37;;;;;;;;-1:-1:-1;;;;;3872:52:0;;;;;;;;;:69;;3928:13;;3872:37;:69;;3928:13;;3872:69;:::i;:::-;;;;-1:-1:-1;;3977:10:0;3952:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;3952:51:0;;;;;;;;;;;;;:66;;;;-1:-1:-1;3730:296:0:o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:334::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;949:2;934:18;;921:32;;-1:-1:-1;1000:2:1;985:18;;;972:32;;780:230;-1:-1:-1;;;780:230:1:o;1015:297::-;;1135:2;1123:9;1114:7;1110:23;1106:32;1103:2;;;1156:6;1148;1141:22;1103:2;1193:9;1187:16;1246:5;1239:13;1232:21;1225:5;1222:32;1212:2;;1273:6;1265;1258:22;1317:190;;1429:2;1417:9;1408:7;1404:23;1400:32;1397:2;;;1450:6;1442;1435:22;1397:2;-1:-1:-1;1478:23:1;;1387:120;-1:-1:-1;1387:120:1:o;1512:194::-;;1635:2;1623:9;1614:7;1610:23;1606:32;1603:2;;;1656:6;1648;1641:22;1603:2;-1:-1:-1;1684:16:1;;1593:113;-1:-1:-1;1593:113:1:o;1711:205::-;1911:3;1902:14::o;1921:304::-;-1:-1:-1;;;;;2151:15:1;;;2133:34;;2203:15;;2198:2;2183:18;;2176:43;2083:2;2068:18;;2050:175::o;2230:375::-;-1:-1:-1;;;;;2488:15:1;;;2470:34;;2540:15;;;;2535:2;2520:18;;2513:43;2587:2;2572:18;;2565:34;;;;2420:2;2405:18;;2387:218::o;2610:447::-;-1:-1:-1;;;;;2897:15:1;;;2879:34;;2949:15;;;;2944:2;2929:18;;2922:43;2996:2;2981:18;;2974:34;3039:2;3024:18;;3017:34;;;;2828:3;2813:19;;2795:262::o;3062:274::-;-1:-1:-1;;;;;3254:32:1;;;;3236:51;;3318:2;3303:18;;3296:34;3224:2;3209:18;;3191:145::o;3341:187::-;3506:14;;3499:22;3481:41;;3469:2;3454:18;;3436:92::o;3533:411::-;3735:2;3717:21;;;3774:2;3754:18;;;3747:30;3813:34;3808:2;3793:18;;3786:62;-1:-1:-1;;;3879:2:1;3864:18;;3857:45;3934:3;3919:19;;3707:237::o;3949:401::-;4151:2;4133:21;;;4190:2;4170:18;;;4163:30;4229:34;4224:2;4209:18;;4202:62;-1:-1:-1;;;4295:2:1;4280:18;;4273:35;4340:3;4325:19;;4123:227::o;4355:410::-;4557:2;4539:21;;;4596:2;4576:18;;;4569:30;4635:34;4630:2;4615:18;;4608:62;-1:-1:-1;;;4701:2:1;4686:18;;4679:44;4755:3;4740:19;;4529:236::o;4770:475::-;4972:2;4954:21;;;5011:2;4991:18;;;4984:30;5050:34;5045:2;5030:18;;5023:62;5121:34;5116:2;5101:18;;5094:62;-1:-1:-1;;;5187:3:1;5172:19;;5165:38;5235:3;5220:19;;4944:301::o;5250:405::-;5452:2;5434:21;;;5491:2;5471:18;;;5464:30;5530:34;5525:2;5510:18;;5503:62;-1:-1:-1;;;5596:2:1;5581:18;;5574:39;5645:3;5630:19;;5424:231::o;5660:470::-;5862:2;5844:21;;;5901:2;5881:18;;;5874:30;5940:34;5935:2;5920:18;;5913:62;6011:34;6006:2;5991:18;;5984:62;-1:-1:-1;;;6077:3:1;6062:19;;6055:33;6120:3;6105:19;;5834:296::o;6135:177::-;6281:25;;;6269:2;6254:18;;6236:76::o;6317:128::-;;6388:1;6384:6;6381:1;6378:13;6375:2;;;6394:18;;:::i;:::-;-1:-1:-1;6430:9:1;;6365:80::o;6450:217::-;;6516:1;6506:2;;-1:-1:-1;;;6541:31:1;;6595:4;6592:1;6585:15;6623:4;6548:1;6613:15;6506:2;-1:-1:-1;6652:9:1;;6496:171::o;6672:168::-;;6778:1;6774;6770:6;6766:14;6763:1;6760:21;6755:1;6748:9;6741:17;6737:45;6734:2;;;6785:18;;:::i;:::-;-1:-1:-1;6825:9:1;;6724:116::o;6845:127::-;6906:10;6901:3;6897:20;6894:1;6887:31;6937:4;6934:1;6927:15;6961:4;6958:1;6951:15
Swarm Source
ipfs://cdd59c1799f90adcc6f92249f31a2d9ffdfaf1c3c3b4f0c4d2355d35bff374a9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,601.24 | 0.00003 | $0.078037 |
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.