S Price: $0.721299 (-5.39%)

Contract

0xdDc637113f78cEf7003F20bD5cdD380134f63f0F

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unlock Liquidity101518252025-02-25 22:09:5618 hrs ago1740521396IN
0xdDc63711...134f63f0F
0 S0.0058339856.19
Collect Fees101498192025-02-25 21:58:0418 hrs ago1740520684IN
0xdDc63711...134f63f0F
0.2 S0.0022934563
Set Approval For...101497232025-02-25 21:57:3218 hrs ago1740520652IN
0xdDc63711...134f63f0F
0 S0.0030349555.01
Lock Liquidity101496692025-02-25 21:57:1318 hrs ago1740520633IN
0xdDc63711...134f63f0F
0 S0.0096705355.01

Latest 1 internal transaction

Parent Transaction Hash Block From To
101498192025-02-25 21:58:0418 hrs ago1740520684
0xdDc63711...134f63f0F
0.2 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UniV3LiquidityLocker

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *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

Contract ABI

[{"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"}]

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

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.