Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
10149819 | 18 hrs ago | 0.2 S |
Loading...
Loading
Contract Name:
UniV3LiquidityLocker
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-02-25 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; interface IERC721 { function safeTransferFrom(address from, address to, uint256 tokenId) external; function ownerOf(uint256 tokenId) external view returns (address); function approve(address to, uint256 tokenId) external; function setApprovalForAll(address operator, bool approved) external; } interface IERC721Receiver { function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4); } interface INonfungiblePositionManager is IERC721 { struct CollectParams { address recipient; uint256 tokenId; uint128 amount0Max; uint128 amount1Max; } function collect(CollectParams calldata params) external payable returns (uint256 amount0, uint256 amount1); } abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address initialOwner) { _transferOwnership(initialOwner); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == msg.sender, "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract UniV3LiquidityLocker is Ownable, IERC721Receiver { INonfungiblePositionManager public immutable uniswapV3NFT; struct LockedPosition { address owner; uint256 unlockTime; } mapping(uint256 => LockedPosition) public lockedPositions; event LiquidityLocked(address indexed user, uint256 indexed tokenId, uint256 unlockTime); event LiquidityUnlocked(address indexed user, uint256 indexed tokenId); event FeesCollected(address indexed user, uint256 indexed tokenId, uint256 amount0, uint256 amount1); event NFTApproved(address approvedTo); event CollectionApprovalSet(address indexed contractAddress, bool approved); constructor(address _uniswapV3NFT) Ownable(msg.sender) { uniswapV3NFT = INonfungiblePositionManager(_uniswapV3NFT); } function lockLiquidity(uint256 tokenId, uint256 lockDuration) external { require(lockDuration >= 5 minutes, "Minimum lock duration is 5 minutes"); require(uniswapV3NFT.ownerOf(tokenId) == msg.sender, "You must own the LP NFT"); uniswapV3NFT.safeTransferFrom(msg.sender, address(this), tokenId); lockedPositions[tokenId] = LockedPosition({ owner: msg.sender, unlockTime: block.timestamp + lockDuration }); emit LiquidityLocked(msg.sender, tokenId, block.timestamp + lockDuration); } function unlockLiquidity(uint256 tokenId) external { LockedPosition storage position = lockedPositions[tokenId]; require(position.owner == msg.sender, "Not the owner of this NFT"); require(block.timestamp >= position.unlockTime, "Liquidity is still locked"); uniswapV3NFT.safeTransferFrom(address(this), msg.sender, tokenId); delete lockedPositions[tokenId]; emit LiquidityUnlocked(msg.sender, tokenId); } /** * @dev Grants UniswapV3 Position Manager full approval to manage NFTs owned by this contract. * This only needs to be called once per deployment. */ function setApprovalForCollection() external onlyOwner { uniswapV3NFT.setApprovalForAll(address(uniswapV3NFT), true); emit CollectionApprovalSet(address(uniswapV3NFT), true); } /** * @dev Collects fees from a locked NFT position. * @param tokenId The ID of the NFT. * @param amount0Max Maximum amount of token0 to collect. * @param amount1Max Maximum amount of token1 to collect. * @param recipient Address that will receive the fees. */ function collectFees( uint256 tokenId, uint128 amount0Max, uint128 amount1Max, address recipient ) external payable { require(lockedPositions[tokenId].owner == msg.sender, "Not the owner of this NFT"); INonfungiblePositionManager.CollectParams memory params = INonfungiblePositionManager.CollectParams({ recipient: recipient, tokenId: tokenId, amount0Max: amount0Max, amount1Max: amount1Max }); (uint256 amount0, uint256 amount1) = uniswapV3NFT.collect{value: msg.value}(params); require(amount0 > 0 || amount1 > 0, "No fees available"); emit FeesCollected(recipient, tokenId, amount0, amount1); } function onERC721Received(address, address, uint256, bytes calldata) external pure override returns (bytes4) { return this.onERC721Received.selector; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_uniswapV3NFT","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"CollectionApprovalSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"FeesCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"LiquidityLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"LiquidityUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"approvedTo","type":"address"}],"name":"NFTApproved","type":"event"},{"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":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint128","name":"amount0Max","type":"uint128"},{"internalType":"uint128","name":"amount1Max","type":"uint128"},{"internalType":"address","name":"recipient","type":"address"}],"name":"collectFees","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"lockDuration","type":"uint256"}],"name":"lockLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockedPositions","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"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":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setApprovalForCollection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV3NFT","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"unlockLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561000f575f80fd5b50604051610d4c380380610d4c83398101604081905261002e91610099565b336100388161004a565b506001600160a01b03166080526100c6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100a9575f80fd5b81516001600160a01b03811681146100bf575f80fd5b9392505050565b608051610c446101085f395f8181610154015281816102f001528181610473015281816104ef015281816106190152818161074501526108260152610c445ff3fe608060405260043610610084575f3560e01c80638da5cb5b116100575780638da5cb5b1461018e5780638ff9fe47146101aa57806396e83924146101be578063ec87682a146101dd578063f2fde38b146101fc575f80fd5b806301a5e16314610088578063150b7a02146100ea5780634352da7b1461012e5780637011b72614610143575b5f80fd5b348015610093575f80fd5b506100c66100a2366004610a41565b600160208190525f918252604090912080549101546001600160a01b039091169082565b604080516001600160a01b0390931683526020830191909152015b60405180910390f35b3480156100f5575f80fd5b50610115610104366004610a6c565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016100e1565b61014161013c366004610b1e565b61021b565b005b34801561014e575f80fd5b506101767f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e1565b348015610199575f80fd5b505f546001600160a01b0316610176565b3480156101b5575f80fd5b506101416103fc565b3480156101c9575f80fd5b506101416101d8366004610a41565b610541565b3480156101e8575f80fd5b506101416101f7366004610b6a565b6106c8565b348015610207575f80fd5b50610141610216366004610b8a565b610919565b5f848152600160205260409020546001600160a01b031633146102815760405162461bcd60e51b8152602060048201526019602482015278139bdd081d1a19481bdddb995c881bd9881d1a1a5cc8139195603a1b60448201526064015b60405180910390fd5b604080516080810182526001600160a01b038381168252602082018781526001600160801b038781168486019081528782166060860190815286516331778b2f60e21b81528651861660048201529351602485015290518216604484015251166064820152835192935f9384937f0000000000000000000000000000000000000000000000000000000000000000169263c5de2cbc923492608480840193829003018185885af1158015610337573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061035c9190610bac565b915091505f82118061036d57505f81115b6103ad5760405162461bcd60e51b81526020600482015260116024820152704e6f206665657320617661696c61626c6560781b6044820152606401610278565b604080518381526020810183905288916001600160a01b038716917facf5781f729863816d01e6d77635b13f2998b176b9a3550306ac6363f601bc2b910160405180910390a350505050505050565b3361040e5f546001600160a01b031690565b6001600160a01b0316146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610278565b60405163a22cb46560e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201819052600160248301529063a22cb465906044015f604051808303815f87803b1580156104ca575f80fd5b505af11580156104dc573d5f803e3d5ffd5b5050604051600181526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692507fdff5b9a8fb6386ac5de62de12685af05cb0e80b1ebf84f85423bec75c5b9ff26915060200160405180910390a2565b5f81815260016020526040902080546001600160a01b031633146105a35760405162461bcd60e51b8152602060048201526019602482015278139bdd081d1a19481bdddb995c881bd9881d1a1a5cc8139195603a1b6044820152606401610278565b80600101544210156105f75760405162461bcd60e51b815260206004820152601960248201527f4c6971756964697479206973207374696c6c206c6f636b6564000000000000006044820152606401610278565b604051632142170760e11b8152306004820152336024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610662575f80fd5b505af1158015610674573d5f803e3d5ffd5b5050505f83815260016020819052604080832080546001600160a01b03191681559091018290555184925033917fbc075837768dcd77a58731f7945fff3f5c9d285e3ade5c5b3c6f4fd15342457891a35050565b61012c8110156107255760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d206c6f636b206475726174696f6e2069732035206d696e7574604482015261657360f01b6064820152608401610278565b6040516331a9108f60e11b81526004810183905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa15801561078a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae9190610bce565b6001600160a01b0316146108045760405162461bcd60e51b815260206004820152601760248201527f596f75206d757374206f776e20746865204c50204e46540000000000000000006044820152606401610278565b604051632142170760e11b8152336004820152306024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e906064015f604051808303815f87803b15801561086f575f80fd5b505af1158015610881573d5f803e3d5ffd5b505060408051808201909152338152915050602081016108a18342610be9565b90525f838152600160208181526040909220835181546001600160a01b0319166001600160a01b03909116178155929091015191015581337fe3afae9ec63e6f2e914c17bab8493b603680a72d9e6dfacf25ac6a4806555d416109048442610be9565b60405190815260200160405180910390a35050565b3361092b5f546001600160a01b031690565b6001600160a01b0316146109815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610278565b6001600160a01b0381166109e65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610278565b6109ef816109f2565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610a51575f80fd5b5035919050565b6001600160a01b03811681146109ef575f80fd5b5f805f805f60808688031215610a80575f80fd5b8535610a8b81610a58565b94506020860135610a9b81610a58565b935060408601359250606086013567ffffffffffffffff80821115610abe575f80fd5b818801915088601f830112610ad1575f80fd5b813581811115610adf575f80fd5b896020828501011115610af0575f80fd5b9699959850939650602001949392505050565b80356001600160801b0381168114610b19575f80fd5b919050565b5f805f8060808587031215610b31575f80fd5b84359350610b4160208601610b03565b9250610b4f60408601610b03565b91506060850135610b5f81610a58565b939692955090935050565b5f8060408385031215610b7b575f80fd5b50508035926020909101359150565b5f60208284031215610b9a575f80fd5b8135610ba581610a58565b9392505050565b5f8060408385031215610bbd575f80fd5b505080516020909101519092909150565b5f60208284031215610bde575f80fd5b8151610ba581610a58565b80820180821115610c0857634e487b7160e01b5f52601160045260245ffd5b9291505056fea264697066735822122073d707cb0851099fca446e69b9578b90457625bed859b96d9f4a25437ae4b88664736f6c6343000814003300000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690
Deployed Bytecode
0x608060405260043610610084575f3560e01c80638da5cb5b116100575780638da5cb5b1461018e5780638ff9fe47146101aa57806396e83924146101be578063ec87682a146101dd578063f2fde38b146101fc575f80fd5b806301a5e16314610088578063150b7a02146100ea5780634352da7b1461012e5780637011b72614610143575b5f80fd5b348015610093575f80fd5b506100c66100a2366004610a41565b600160208190525f918252604090912080549101546001600160a01b039091169082565b604080516001600160a01b0390931683526020830191909152015b60405180910390f35b3480156100f5575f80fd5b50610115610104366004610a6c565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016100e1565b61014161013c366004610b1e565b61021b565b005b34801561014e575f80fd5b506101767f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d69081565b6040516001600160a01b0390911681526020016100e1565b348015610199575f80fd5b505f546001600160a01b0316610176565b3480156101b5575f80fd5b506101416103fc565b3480156101c9575f80fd5b506101416101d8366004610a41565b610541565b3480156101e8575f80fd5b506101416101f7366004610b6a565b6106c8565b348015610207575f80fd5b50610141610216366004610b8a565b610919565b5f848152600160205260409020546001600160a01b031633146102815760405162461bcd60e51b8152602060048201526019602482015278139bdd081d1a19481bdddb995c881bd9881d1a1a5cc8139195603a1b60448201526064015b60405180910390fd5b604080516080810182526001600160a01b038381168252602082018781526001600160801b038781168486019081528782166060860190815286516331778b2f60e21b81528651861660048201529351602485015290518216604484015251166064820152835192935f9384937f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690169263c5de2cbc923492608480840193829003018185885af1158015610337573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061035c9190610bac565b915091505f82118061036d57505f81115b6103ad5760405162461bcd60e51b81526020600482015260116024820152704e6f206665657320617661696c61626c6560781b6044820152606401610278565b604080518381526020810183905288916001600160a01b038716917facf5781f729863816d01e6d77635b13f2998b176b9a3550306ac6363f601bc2b910160405180910390a350505050505050565b3361040e5f546001600160a01b031690565b6001600160a01b0316146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610278565b60405163a22cb46560e01b81527f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6906001600160a01b031660048201819052600160248301529063a22cb465906044015f604051808303815f87803b1580156104ca575f80fd5b505af11580156104dc573d5f803e3d5ffd5b5050604051600181526001600160a01b037f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6901692507fdff5b9a8fb6386ac5de62de12685af05cb0e80b1ebf84f85423bec75c5b9ff26915060200160405180910390a2565b5f81815260016020526040902080546001600160a01b031633146105a35760405162461bcd60e51b8152602060048201526019602482015278139bdd081d1a19481bdddb995c881bd9881d1a1a5cc8139195603a1b6044820152606401610278565b80600101544210156105f75760405162461bcd60e51b815260206004820152601960248201527f4c6971756964697479206973207374696c6c206c6f636b6564000000000000006044820152606401610278565b604051632142170760e11b8152306004820152336024820152604481018390527f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6906001600160a01b0316906342842e0e906064015f604051808303815f87803b158015610662575f80fd5b505af1158015610674573d5f803e3d5ffd5b5050505f83815260016020819052604080832080546001600160a01b03191681559091018290555184925033917fbc075837768dcd77a58731f7945fff3f5c9d285e3ade5c5b3c6f4fd15342457891a35050565b61012c8110156107255760405162461bcd60e51b815260206004820152602260248201527f4d696e696d756d206c6f636b206475726174696f6e2069732035206d696e7574604482015261657360f01b6064820152608401610278565b6040516331a9108f60e11b81526004810183905233906001600160a01b037f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6901690636352211e90602401602060405180830381865afa15801561078a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae9190610bce565b6001600160a01b0316146108045760405162461bcd60e51b815260206004820152601760248201527f596f75206d757374206f776e20746865204c50204e46540000000000000000006044820152606401610278565b604051632142170760e11b8152336004820152306024820152604481018390527f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6906001600160a01b0316906342842e0e906064015f604051808303815f87803b15801561086f575f80fd5b505af1158015610881573d5f803e3d5ffd5b505060408051808201909152338152915050602081016108a18342610be9565b90525f838152600160208181526040909220835181546001600160a01b0319166001600160a01b03909116178155929091015191015581337fe3afae9ec63e6f2e914c17bab8493b603680a72d9e6dfacf25ac6a4806555d416109048442610be9565b60405190815260200160405180910390a35050565b3361092b5f546001600160a01b031690565b6001600160a01b0316146109815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610278565b6001600160a01b0381166109e65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610278565b6109ef816109f2565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610a51575f80fd5b5035919050565b6001600160a01b03811681146109ef575f80fd5b5f805f805f60808688031215610a80575f80fd5b8535610a8b81610a58565b94506020860135610a9b81610a58565b935060408601359250606086013567ffffffffffffffff80821115610abe575f80fd5b818801915088601f830112610ad1575f80fd5b813581811115610adf575f80fd5b896020828501011115610af0575f80fd5b9699959850939650602001949392505050565b80356001600160801b0381168114610b19575f80fd5b919050565b5f805f8060808587031215610b31575f80fd5b84359350610b4160208601610b03565b9250610b4f60408601610b03565b91506060850135610b5f81610a58565b939692955090935050565b5f8060408385031215610b7b575f80fd5b50508035926020909101359150565b5f60208284031215610b9a575f80fd5b8135610ba581610a58565b9392505050565b5f8060408385031215610bbd575f80fd5b505080516020909101519092909150565b5f60208284031215610bde575f80fd5b8151610ba581610a58565b80820180821115610c0857634e487b7160e01b5f52601160045260245ffd5b9291505056fea264697066735822122073d707cb0851099fca446e69b9578b90457625bed859b96d9f4a25437ae4b88664736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690
-----Decoded View---------------
Arg [0] : _uniswapV3NFT (address): 0x77DcC9b09C6Ae94CDC726540735682A38e18d690
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690
Deployed Bytecode Sourcemap
1728:3508:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:57;;;;;;;;;;-1:-1:-1;1950:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1950:57:0;;;;;;;;;;-1:-1:-1;;;;;391:32:1;;;373:51;;455:2;440:18;;433:34;;;;346:18;1950:57:0;;;;;;;;5068:165;;;;;;;;;;-1:-1:-1;5068:165:0;;;;;:::i;:::-;-1:-1:-1;;;5068:165:0;;;;;;;;;;;-1:-1:-1;;;;;;1717:33:1;;;1699:52;;1687:2;1672:18;5068:165:0;1555:202:1;4303:757:0;;;;;;:::i;:::-;;:::i;:::-;;1793:57;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2622:32:1;;;2604:51;;2592:2;2577:18;1793:57:0;2424:237:1;1108:87:0;;;;;;;;;;-1:-1:-1;1154:7:0;1181:6;-1:-1:-1;;;;;1181:6:0;1108:87;;3794:199;;;;;;;;;;;;;:::i;3142:468::-;;;;;;;;;;-1:-1:-1;3142:468:0;;;;;:::i;:::-;;:::i;2562:572::-;;;;;;;;;;-1:-1:-1;2562:572:0;;;;;:::i;:::-;;:::i;1329:201::-;;;;;;;;;;-1:-1:-1;1329:201:0;;;;;:::i;:::-;;:::i;4303:757::-;4479:24;;;;:15;:24;;;;;:30;-1:-1:-1;;;;;4479:30:0;4513:10;4479:44;4471:82;;;;-1:-1:-1;;;4471:82:0;;3581:2:1;4471:82:0;;;3563:21:1;3620:2;3600:18;;;3593:30;-1:-1:-1;;;3639:18:1;;;3632:55;3704:18;;4471:82:0;;;;;;;;;4624:194;;;;;;;;-1:-1:-1;;;;;4624:194:0;;;;;;;;;;;-1:-1:-1;;;;;4624:194:0;;;;;;;;;;;;;;;;;;4868:46;;-1:-1:-1;;;4868:46:0;;3960:13:1;;3956:39;;4868:46:0;;;3938:58:1;4034:24;;4012:20;;;4005:54;4088:24;;4203:21;;4181:20;;;4174:51;4267:24;4263:33;4241:20;;;4234:63;4868:46:0;;4624:194;;-1:-1:-1;;;;4868:12:0;:20;;;;4896:9;;3910:19:1;;;;;4868:46:0;;;;;4896:9;4868:20;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4831:83;;;;4945:1;4935:7;:11;:26;;;;4960:1;4950:7;:11;4935:26;4927:56;;;;-1:-1:-1;;;4927:56:0;;4760:2:1;4927:56:0;;;4742:21:1;4799:2;4779:18;;;4772:30;-1:-1:-1;;;4818:18:1;;;4811:47;4875:18;;4927:56:0;4558:341:1;4927:56:0;5001:51;;;5078:25:1;;;5134:2;5119:18;;5112:34;;;5026:7:0;;-1:-1:-1;;;;;5001:51:0;;;;;5051:18:1;5001:51:0;;;;;;;4460:600;;;4303:757;;;;:::o;3794:199::-;1254:10;1243:7;1154;1181:6;-1:-1:-1;;;;;1181:6:0;;1108:87;1243:7;-1:-1:-1;;;;;1243:21:0;;1235:66;;;;-1:-1:-1;;;1235:66:0;;5359:2:1;1235:66:0;;;5341:21:1;;;5378:18;;;5371:30;5437:34;5417:18;;;5410:62;5489:18;;1235:66:0;5157:356:1;1235:66:0;3860:59:::1;::::0;-1:-1:-1;;;3860:59:0;;:12:::1;-1:-1:-1::0;;;;;3860:30:0::1;:59;::::0;::::1;5686:51:1::0;;;3914:4:0::1;5753:18:1::0;;;5746:50;3860:30:0;::::1;::::0;5659:18:1;;3860:59:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3935:50:0::1;::::0;3980:4:::1;5947:41:1::0;;-1:-1:-1;;;;;3965:12:0::1;3935:50;::::0;-1:-1:-1;3935:50:0::1;::::0;-1:-1:-1;5935:2:1;5920:18;3935:50:0::1;;;;;;;3794:199::o:0;3142:468::-;3204:31;3238:24;;;:15;:24;;;;;3283:14;;-1:-1:-1;;;;;3283:14:0;3301:10;3283:28;3275:66;;;;-1:-1:-1;;;3275:66:0;;3581:2:1;3275:66:0;;;3563:21:1;3620:2;3600:18;;;3593:30;-1:-1:-1;;;3639:18:1;;;3632:55;3704:18;;3275:66:0;3379:349:1;3275:66:0;3379:8;:19;;;3360:15;:38;;3352:76;;;;-1:-1:-1;;;3352:76:0;;6201:2:1;3352:76:0;;;6183:21:1;6240:2;6220:18;;;6213:30;6279:27;6259:18;;;6252:55;6324:18;;3352:76:0;5999:349:1;3352:76:0;3441:65;;-1:-1:-1;;;3441:65:0;;3479:4;3441:65;;;6593:34:1;3486:10:0;6643:18:1;;;6636:43;6695:18;;;6688:34;;;3441:12:0;-1:-1:-1;;;;;3441:29:0;;;;6528:18:1;;3441:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3524:24:0;;;;:15;:24;;;;;;;;3517:31;;-1:-1:-1;;;;;;3517:31:0;;;;;;;;;3564:38;3540:7;;-1:-1:-1;3582:10:0;;3564:38;;;3193:417;3142:468;:::o;2562:572::-;2668:9;2652:12;:25;;2644:72;;;;-1:-1:-1;;;2644:72:0;;6935:2:1;2644:72:0;;;6917:21:1;6974:2;6954:18;;;6947:30;7013:34;6993:18;;;6986:62;-1:-1:-1;;;7064:18:1;;;7057:32;7106:19;;2644:72:0;6733:398:1;2644:72:0;2735:29;;-1:-1:-1;;;2735:29:0;;;;;7282:25:1;;;2768:10:0;;-1:-1:-1;;;;;2735:12:0;:20;;;;7255:18:1;;2735:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2735:43:0;;2727:79;;;;-1:-1:-1;;;2727:79:0;;7776:2:1;2727:79:0;;;7758:21:1;7815:2;7795:18;;;7788:30;7854:25;7834:18;;;7827:53;7897:18;;2727:79:0;7574:347:1;2727:79:0;2819:65;;-1:-1:-1;;;2819:65:0;;2849:10;2819:65;;;6593:34:1;2869:4:0;6643:18:1;;;6636:43;6695:18;;;6688:34;;;2819:12:0;-1:-1:-1;;;;;2819:29:0;;;;6528:18:1;;2819:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2924:116:0;;;;;;;;;2961:10;2924:116;;;-1:-1:-1;;2924:116:0;;;2998:30;3016:12;2998:15;:30;:::i;:::-;2924:116;;2897:24;;;;:15;:24;;;;;;;;:143;;;;-1:-1:-1;;;;;;2897:143:0;-1:-1:-1;;;;;2897:143:0;;;;;;;;;;;;;;:24;3074:10;3058:68;3095:30;3113:12;3095:15;:30;:::i;:::-;3058:68;;7282:25:1;;;7270:2;7255:18;3058:68:0;;;;;;;2562:572;;:::o;1329:201::-;1254:10;1243:7;1154;1181:6;-1:-1:-1;;;;;1181:6:0;;1108:87;1243:7;-1:-1:-1;;;;;1243:21:0;;1235:66;;;;-1:-1:-1;;;1235:66:0;;5359:2:1;1235:66:0;;;5341:21:1;;;5378:18;;;5371:30;5437:34;5417:18;;;5410:62;5489:18;;1235:66:0;5157:356:1;1235:66:0;-1:-1:-1;;;;;1418:22:0;::::1;1410:73;;;::::0;-1:-1:-1;;;1410:73:0;;8355:2:1;1410:73:0::1;::::0;::::1;8337:21:1::0;8394:2;8374:18;;;8367:30;8433:34;8413:18;;;8406:62;-1:-1:-1;;;8484:18:1;;;8477:36;8530:19;;1410:73:0::1;8153:402:1::0;1410:73:0::1;1494:28;1513:8;1494:18;:28::i;:::-;1329:201:::0;:::o;1538:183::-;1604:16;1623:6;;-1:-1:-1;;;;;1640:17:0;;;-1:-1:-1;;;;;;1640:17:0;;;;;;1673:40;;1623:6;;;;;;;1673:40;;1604:16;1673:40;1593:128;1538:183;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;478:131::-;-1:-1:-1;;;;;553:31:1;;543:42;;533:70;;599:1;596;589:12;614:936;711:6;719;727;735;743;796:3;784:9;775:7;771:23;767:33;764:53;;;813:1;810;803:12;764:53;852:9;839:23;871:31;896:5;871:31;:::i;:::-;921:5;-1:-1:-1;978:2:1;963:18;;950:32;991:33;950:32;991:33;:::i;:::-;1043:7;-1:-1:-1;1097:2:1;1082:18;;1069:32;;-1:-1:-1;1152:2:1;1137:18;;1124:32;1175:18;1205:14;;;1202:34;;;1232:1;1229;1222:12;1202:34;1270:6;1259:9;1255:22;1245:32;;1315:7;1308:4;1304:2;1300:13;1296:27;1286:55;;1337:1;1334;1327:12;1286:55;1377:2;1364:16;1403:2;1395:6;1392:14;1389:34;;;1419:1;1416;1409:12;1389:34;1464:7;1459:2;1450:6;1446:2;1442:15;1438:24;1435:37;1432:57;;;1485:1;1482;1475:12;1432:57;614:936;;;;-1:-1:-1;614:936:1;;-1:-1:-1;1516:2:1;1508:11;;1538:6;614:936;-1:-1:-1;;;614:936:1:o;1762:188::-;1830:20;;-1:-1:-1;;;;;1879:46:1;;1869:57;;1859:85;;1940:1;1937;1930:12;1859:85;1762:188;;;:::o;1955:464::-;2041:6;2049;2057;2065;2118:3;2106:9;2097:7;2093:23;2089:33;2086:53;;;2135:1;2132;2125:12;2086:53;2171:9;2158:23;2148:33;;2200:38;2234:2;2223:9;2219:18;2200:38;:::i;:::-;2190:48;;2257:38;2291:2;2280:9;2276:18;2257:38;:::i;:::-;2247:48;;2345:2;2334:9;2330:18;2317:32;2358:31;2383:5;2358:31;:::i;:::-;1955:464;;;;-1:-1:-1;1955:464:1;;-1:-1:-1;;1955:464:1:o;2874:248::-;2942:6;2950;3003:2;2991:9;2982:7;2978:23;2974:32;2971:52;;;3019:1;3016;3009:12;2971:52;-1:-1:-1;;3042:23:1;;;3112:2;3097:18;;;3084:32;;-1:-1:-1;2874:248:1:o;3127:247::-;3186:6;3239:2;3227:9;3218:7;3214:23;3210:32;3207:52;;;3255:1;3252;3245:12;3207:52;3294:9;3281:23;3313:31;3338:5;3313:31;:::i;:::-;3363:5;3127:247;-1:-1:-1;;;3127:247:1:o;4308:245::-;4387:6;4395;4448:2;4436:9;4427:7;4423:23;4419:32;4416:52;;;4464:1;4461;4454:12;4416:52;-1:-1:-1;;4487:16:1;;4543:2;4528:18;;;4522:25;4487:16;;4522:25;;-1:-1:-1;4308:245:1:o;7318:251::-;7388:6;7441:2;7429:9;7420:7;7416:23;7412:32;7409:52;;;7457:1;7454;7447:12;7409:52;7489:9;7483:16;7508:31;7533:5;7508:31;:::i;7926:222::-;7991:9;;;8012:10;;;8009:133;;;8064:10;8059:3;8055:20;8052:1;8045:31;8099:4;8096:1;8089:15;8127:4;8124:1;8117:15;8009:133;7926:222;;;;:::o
Swarm Source
ipfs://73d707cb0851099fca446e69b9578b90457625bed859b96d9f4a25437ae4b886
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ 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.