ETH Price: $3,348.06 (+0.38%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BlockAllRegistry

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion
File 1 of 2 : BlockAllRegistry.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import {IBlockListRegistry} from "./IBlockListRegistry.sol";

/// @title BlockAllRegistry
/// @notice BlockList that blocks all approvals
///     can be used as a semi-soulbound token
/// @author transientlabs.xyz
/// @custom:version 4.1.0
contract BlockAllRegistry is IBlockListRegistry {
    
    /// @inheritdoc IBlockListRegistry
    function getBlockListStatus(address /*operator*/) external pure override returns(bool) {
        return true;
    }

    /// @inheritdoc IBlockListRegistry
    function setBlockListStatus(address[] calldata /*operators*/, bool /*status*/) external pure override {
        revert();
    }

    /// @inheritdoc IBlockListRegistry
    function clearBlockList() external pure override {
        revert();
    }

}

File 2 of 2 : IBlockListRegistry.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/// @title BlockList Registry
/// @notice interface for the BlockListRegistry Contract
/// @author transientlabs.xyz
/// @custom:version 4.0.0
interface IBlockListRegistry {
    /*//////////////////////////////////////////////////////////////////////////
                                Events
    //////////////////////////////////////////////////////////////////////////*/

    event BlockListStatusChange(address indexed user, address indexed operator, bool indexed status);

    event BlockListCleared(address indexed user);

    /*//////////////////////////////////////////////////////////////////////////
                          Public Read Functions
    //////////////////////////////////////////////////////////////////////////*/

    /// @notice function to get blocklist status with True meaning that the operator is blocked
    function getBlockListStatus(address operator) external view returns (bool);

    /*//////////////////////////////////////////////////////////////////////////
                          Public Write Functions
    //////////////////////////////////////////////////////////////////////////*/

    /// @notice function to set the block list status for multiple operators
    /// @dev must be called by the blockList owner
    function setBlockListStatus(address[] calldata operators, bool status) external;

    /// @notice function to clear the block list status
    /// @dev must be called by the blockList owner
    function clearBlockList() external;
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "tl-sol-tools/=lib/tl-sol-tools/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "metadata": {
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"BlockListCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"BlockListStatusChange","type":"event"},{"inputs":[],"name":"clearBlockList","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getBlockListStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bool","name":"","type":"bool"}],"name":"setBlockListStatus","outputs":[],"stateMutability":"pure","type":"function"}]

608060405234801561001057600080fd5b50610184806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063334980a514610046578063c75a60cf1461006e578063f99a1d1614610078575b600080fd5b61005a610054366004610086565b50600190565b604051901515815260200160405180910390f35b610076600080fd5b005b6100766100413660046100c3565b60006020828403121561009857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146100bc57600080fd5b9392505050565b6000806000604084860312156100d857600080fd5b833567ffffffffffffffff808211156100f057600080fd5b818601915086601f83011261010457600080fd5b81358181111561011357600080fd5b8760208260051b850101111561012857600080fd5b60209283019550935050840135801515811461014357600080fd5b80915050925092509256fea2646970667358221220ba5240e0878d415c9b5b4a3e401146cfcf8e1ccec746450cdae315c92e937ba364736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063334980a514610046578063c75a60cf1461006e578063f99a1d1614610078575b600080fd5b61005a610054366004610086565b50600190565b604051901515815260200160405180910390f35b610076600080fd5b005b6100766100413660046100c3565b60006020828403121561009857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146100bc57600080fd5b9392505050565b6000806000604084860312156100d857600080fd5b833567ffffffffffffffff808211156100f057600080fd5b818601915086601f83011261010457600080fd5b81358181111561011357600080fd5b8760208260051b850101111561012857600080fd5b60209283019550935050840135801515811461014357600080fd5b80915050925092509256fea2646970667358221220ba5240e0878d415c9b5b4a3e401146cfcf8e1ccec746450cdae315c92e937ba364736f6c63430008130033

Block Transaction Difficulty 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
Loading...
Loading

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.