ETH Price: $3,020.61 (-4.03%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Lock Tokens238898812025-11-27 11:54:238 days ago1764244463IN
0xF188CD61...e775dD222
0 ETH0.000140162.04995486
Lock Tokens237191702025-11-03 13:42:3532 days ago1762177355IN
0xF188CD61...e775dD222
0 ETH0.000560723.05664825
Lock Tokens237189712025-11-03 13:02:4732 days ago1762174967IN
0xF188CD61...e775dD222
0 ETH0.000371843.91424469
Lock Tokens236604892025-10-26 8:38:1140 days ago1761467891IN
0xF188CD61...e775dD222
0 ETH0.000106912.08158085
Lock Tokens236394732025-10-23 10:01:1143 days ago1761213671IN
0xF188CD61...e775dD222
0 ETH0.00018032.11153989
Lock Tokens236164972025-10-20 4:39:2346 days ago1760935163IN
0xF188CD61...e775dD222
0 ETH0.000082061.59774849
Lock Tokens235623412025-10-12 14:48:3554 days ago1760280515IN
0xF188CD61...e775dD222
0 ETH0.000706041.78209875
Lock Tokens235245282025-10-07 7:57:1159 days ago1759823831IN
0xF188CD61...e775dD222
0 ETH0.00006661.12929623
Lock Tokens235239732025-10-07 6:05:1159 days ago1759817111IN
0xF188CD61...e775dD222
0 ETH0.000053931.11071358
Lock Tokens235239712025-10-07 6:04:4759 days ago1759817087IN
0xF188CD61...e775dD222
0 ETH0.000054831.129256
Lock Tokens235239692025-10-07 6:04:2359 days ago1759817063IN
0xF188CD61...e775dD222
0 ETH0.00005441.12028593
Lock Tokens235239682025-10-07 6:04:1159 days ago1759817051IN
0xF188CD61...e775dD222
0 ETH0.000054071.11354106
Lock Tokens235239642025-10-07 6:03:1159 days ago1759816991IN
0xF188CD61...e775dD222
0 ETH0.000056951.10898691
Lock Tokens234746712025-09-30 8:39:1166 days ago1759221551IN
0xF188CD61...e775dD222
0 ETH0.0000550.4606138
Lock Tokens234448922025-09-26 4:44:3570 days ago1758861875IN
0xF188CD61...e775dD222
0 ETH0.00005981.16442049
Lock Tokens233971372025-09-19 12:30:3577 days ago1758285035IN
0xF188CD61...e775dD222
0 ETH0.000074191.44463774
Lock Tokens233878302025-09-18 5:19:2378 days ago1758172763IN
0xF188CD61...e775dD222
0 ETH0.000058651.20776149
Lock Tokens233878272025-09-18 5:18:4778 days ago1758172727IN
0xF188CD61...e775dD222
0 ETH0.000061641.20011397
Lock Tokens233791272025-09-17 0:10:2380 days ago1758067823IN
0xF188CD61...e775dD222
0 ETH0.000111061.15530059
Lock Tokens233759572025-09-16 13:34:3580 days ago1758029675IN
0xF188CD61...e775dD222
0 ETH0.000169412.47772374
Lock Tokens233758512025-09-16 13:13:2380 days ago1758028403IN
0xF188CD61...e775dD222
0 ETH0.000161452.36128189
Lock Tokens233737352025-09-16 6:07:5980 days ago1758002879IN
0xF188CD61...e775dD222
0 ETH0.000066951.30362484
Lock Tokens233731952025-09-16 4:18:3580 days ago1757996315IN
0xF188CD61...e775dD222
0 ETH0.000069381.35094153
Lock Tokens233673502025-09-15 8:41:2381 days ago1757925683IN
0xF188CD61...e775dD222
0 ETH0.000132811.2969797
Lock Tokens233664022025-09-15 5:29:5981 days ago1757914199IN
0xF188CD61...e775dD222
0 ETH0.000076661.12119955
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CNPSelfLocker

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "./interfaces/ICNP.sol";

contract CNPSelfLocker {
    ICNP public cnpContract;

    event TokensBlocked(address indexed user, uint256[] tokenIds);

    constructor(address _cnpContract) {
        cnpContract = ICNP(_cnpContract);
    }

    function lockTokens(uint256[] calldata tokenIds) external {
        for (uint256 i = 0; i < tokenIds.length; i++) {
            require(
                cnpContract.ownerOf(tokenIds[i]) == msg.sender,
                "Not token owner"
            );
        }

        cnpContract.setBlockedTokens(tokenIds);

        emit TokensBlocked(msg.sender, tokenIds);
    }

    function isTokenBlocked(uint256 tokenId) external view returns (bool) {
        return cnpContract.getBlockedToken(tokenId);
    }

    function isTokensBlocked(
        uint256[] calldata tokenIds
    ) external view returns (bool[] memory) {
        bool[] memory results = new bool[](tokenIds.length);
        for (uint256 i = 0; i < tokenIds.length; i++) {
            results[i] = cnpContract.getBlockedToken(tokenIds[i]);
        }
        return results;
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface ICNP {
    function getBlockedToken(uint256 tokenId) external view returns (bool);
    function setBlockedTokens(uint256[] calldata tokenIds) external;
    function ownerOf(uint256 tokenId) external view returns (address);
}

Settings
{
  "remappings": [
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": false
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_cnpContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"TokensBlocked","type":"event"},{"inputs":[],"name":"cnpContract","outputs":[{"internalType":"contract ICNP","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"isTokenBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"isTokensBlocked","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"lockTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f5ffd5b50604051610613380380610613833981016040819052602b91604e565b5f80546001600160a01b0319166001600160a01b03929092169190911790556079565b5f60208284031215605d575f5ffd5b81516001600160a01b03811681146072575f5ffd5b9392505050565b61058d806100865f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063084b731a1461004e5780635b08e1b814610063578063669047281461008c578063812177e5146100b6575b5f5ffd5b61006161005c3660046103e0565b6100d9565b005b6100766100713660046103e0565b610265565b6040516100839190610451565b60405180910390f35b5f5461009e906001600160a01b031681565b6040516001600160a01b039091168152602001610083565b6100c96100c4366004610495565b61036f565b6040519015158152602001610083565b5f5b818110156101bf575f5433906001600160a01b0316636352211e858585818110610107576101076104ac565b905060200201356040518263ffffffff1660e01b815260040161012c91815260200190565b602060405180830381865afa158015610147573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016b91906104c0565b6001600160a01b0316146101b75760405162461bcd60e51b815260206004820152600f60248201526e2737ba103a37b5b2b71037bbb732b960891b604482015260640160405180910390fd5b6001016100db565b505f5460405163ae66a5bb60e01b81526001600160a01b039091169063ae66a5bb906101f190859085906004016104ed565b5f604051808303815f87803b158015610208575f5ffd5b505af115801561021a573d5f5f3e3d5ffd5b50505050336001600160a01b03167f24236b9168186dc5492f93b13f6608deb0f4cf958801dfcc6b3d86110904088e83836040516102599291906104ed565b60405180910390a25050565b60605f8267ffffffffffffffff81111561028157610281610524565b6040519080825280602002602001820160405280156102aa578160200160208202803683370190505b5090505f5b83811015610367575f546001600160a01b031663f02f5baf8686848181106102d9576102d96104ac565b905060200201356040518263ffffffff1660e01b81526004016102fe91815260200190565b602060405180830381865afa158015610319573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033d9190610538565b82828151811061034f5761034f6104ac565b911515602092830291909101909101526001016102af565b509392505050565b5f805460405163f02f5baf60e01b8152600481018490526001600160a01b039091169063f02f5baf90602401602060405180830381865afa1580156103b6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103da9190610538565b92915050565b5f5f602083850312156103f1575f5ffd5b823567ffffffffffffffff811115610407575f5ffd5b8301601f81018513610417575f5ffd5b803567ffffffffffffffff81111561042d575f5ffd5b8560208260051b8401011115610441575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561048a578351151583526020938401939092019160010161046a565b509095945050505050565b5f602082840312156104a5575f5ffd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156104d0575f5ffd5b81516001600160a01b03811681146104e6575f5ffd5b9392505050565b602080825281018290525f6001600160fb1b0383111561050b575f5ffd5b8260051b80856040850137919091016040019392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610548575f5ffd5b815180151581146104e6575f5ffdfea2646970667358221220ca81007e0e688f0f4e4ae97121533b5280a236e65bccdee59645725b0e9ce1a764736f6c634300081b0033000000000000000000000000138a5c693279b6cd82f48d4bef563251bc15adce

Deployed Bytecode

0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063084b731a1461004e5780635b08e1b814610063578063669047281461008c578063812177e5146100b6575b5f5ffd5b61006161005c3660046103e0565b6100d9565b005b6100766100713660046103e0565b610265565b6040516100839190610451565b60405180910390f35b5f5461009e906001600160a01b031681565b6040516001600160a01b039091168152602001610083565b6100c96100c4366004610495565b61036f565b6040519015158152602001610083565b5f5b818110156101bf575f5433906001600160a01b0316636352211e858585818110610107576101076104ac565b905060200201356040518263ffffffff1660e01b815260040161012c91815260200190565b602060405180830381865afa158015610147573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016b91906104c0565b6001600160a01b0316146101b75760405162461bcd60e51b815260206004820152600f60248201526e2737ba103a37b5b2b71037bbb732b960891b604482015260640160405180910390fd5b6001016100db565b505f5460405163ae66a5bb60e01b81526001600160a01b039091169063ae66a5bb906101f190859085906004016104ed565b5f604051808303815f87803b158015610208575f5ffd5b505af115801561021a573d5f5f3e3d5ffd5b50505050336001600160a01b03167f24236b9168186dc5492f93b13f6608deb0f4cf958801dfcc6b3d86110904088e83836040516102599291906104ed565b60405180910390a25050565b60605f8267ffffffffffffffff81111561028157610281610524565b6040519080825280602002602001820160405280156102aa578160200160208202803683370190505b5090505f5b83811015610367575f546001600160a01b031663f02f5baf8686848181106102d9576102d96104ac565b905060200201356040518263ffffffff1660e01b81526004016102fe91815260200190565b602060405180830381865afa158015610319573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033d9190610538565b82828151811061034f5761034f6104ac565b911515602092830291909101909101526001016102af565b509392505050565b5f805460405163f02f5baf60e01b8152600481018490526001600160a01b039091169063f02f5baf90602401602060405180830381865afa1580156103b6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103da9190610538565b92915050565b5f5f602083850312156103f1575f5ffd5b823567ffffffffffffffff811115610407575f5ffd5b8301601f81018513610417575f5ffd5b803567ffffffffffffffff81111561042d575f5ffd5b8560208260051b8401011115610441575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561048a578351151583526020938401939092019160010161046a565b509095945050505050565b5f602082840312156104a5575f5ffd5b5035919050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156104d0575f5ffd5b81516001600160a01b03811681146104e6575f5ffd5b9392505050565b602080825281018290525f6001600160fb1b0383111561050b575f5ffd5b8260051b80856040850137919091016040019392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610548575f5ffd5b815180151581146104e6575f5ffdfea2646970667358221220ca81007e0e688f0f4e4ae97121533b5280a236e65bccdee59645725b0e9ce1a764736f6c634300081b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000138a5c693279b6cd82f48d4bef563251bc15adce

-----Decoded View---------------
Arg [0] : _cnpContract (address): 0x138A5C693279b6Cd82F48d4bEf563251Bc15ADcE

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000138a5c693279b6cd82f48d4bef563251bc15adce


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.