成功为方法"example"发送 example 内部交易 交易 代币转让 nft 转移 令牌详细转让 按 ID 进行令牌详细转移 代币持有者 原木 执行死刑
false
false
合同
0xf32Fb8449Ab77Bd09c6f6997D28F19DF322e34aD
概述
XCR 平衡
0 XCR
XCR 价值
$--- (@ $---/XCR)
更多信息
合同创建者
My Happy SVG 最近 25 项内部交易(查看全部)
"%>
父 Txn 哈希值
方法
街区 年龄 来自 价值
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
0xecf33c0f32a79068…
Deposit
10 secs ago 0xbAFA44...559c1138 Beacon Deposit Contract 32 ETH
My Happy SVG Latest 25 from a total of 323,666 transactions (+ 1 Pending)
交易哈希值
方法
街区 年龄 来自 价值 Txn 仙女
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... 30,000,000,000 Catecoin (CATE)
My Happy SVG Latest 25 from a total of 323,666 transactions (+ 1 Pending)
Transaction Hash
Method
街区 年龄 来自 类型 项目
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
0xecf33c0f32a79068…
Transfer
12 hrs 44 mins ago Catecoin: Deployer 2
IN
Beacon Deposit Co... ECR_721
Greeting Cards 2023 Limit
NFT: Greeting Cards 2023 Limited Ed
Contract Source Code Verified (Exact Match)
ContractName:
DepositContract
Optimization Enabled:
Yes with 5000000 runs
Compiler Version:
v0.6.11+commit.5ef660b1
Other Settings:
default evmVersion, Unlicense license
Contract Source Code (Solidity)
Contract Security Audit
- Submit Audit Here
Contract ABI
Contract Creation Code
Deployed ByteCode Sourcemap
Swarm Source
ipfs://dceca8706b29e917dacf25fceef95acac8d90d765ac926663ce4096195952b61
My Happy SVG Latest 25 from a total of 323,666 transactions (+ 1 Pending)
Txn 哈希值 街区 年龄 方法 My Happy SVG 日志
0xecf33c0f32a79068…
17453280 13 mins ago
0x22895118
deposit(bytes,bytes,bytes,bytes32)
DepositEvent (bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
[topic0] 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
0xecf33c0f32a79068…
17453280 13 mins ago
0x22895118
deposit(bytes,bytes,bytes,bytes32)
DepositEvent (bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
[topic0] 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
0xecf33c0f32a79068…
17453280 13 mins ago
0x22895118
deposit(bytes,bytes,bytes,bytes32)
DepositEvent (bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)
[topic0] 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
00000000000000000000000000000000000000000000000000000000000000a0
My Happy SVG Latest 15 blocks produced
Block Age Transaction Difficulty Gas Used Reward
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
0xecf33c0f32a79068…
34 days 21 hrs ago 145 0.00 TH 10,915,233 (36.38%)
0.026092595899657117 ETH
警告!合约字节码已更改,与已验证的字节码不符。因此,与此智能合约的交互可能存在风险。
本合同已通过 Sourcify 进行部分验证。
合同名称:
Setting
已启用优化:
编译器版本:
v0.8.16+commit.07a7930e
优化运行:
200
EVM 版本:
default
已验证:
2024-04-10T04:35:03.999995Z

构造函数参数

0x0000000000000000000000007e510499e825c5062927eb4bc9f0218960c8d42e

Arg [0] (address) : 0x7e510499e825c5062927eb4bc9f0218960c8d42e

                              

文件 1 的 1: 合同源代码

Sol2uml
// Sources flattened with hardhat v2.13.0 https://hardhat.org

// File @openzeppelin/contracts/utils/Context.sol@v4.8.2

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File @openzeppelin/contracts/access/Ownable.sol@v4.8.2

// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File contracts/interfaces/ISetting.sol

pragma solidity 0.8.16;

interface ISetting {
    function checkOnlySuperAdmin(address _caller) external view;

    function checkOnlyAdmin(address _caller) external view;

    function checkOnlySuperAdminOrController(address _caller) external view;

    function checkOnlyController(address _caller) external view;

    function isAdmin(address _account) external view returns (bool);

    function isSuperAdmin(address _account) external view returns (bool);

    function getSuperAdmin() external view returns (address);
}

error CallerIsNotTheSuperAdmin();
error CallerIsNotTheAdmin();

// File contracts/Setting.sol

pragma solidity 0.8.16;

contract Setting is ISetting, Ownable {
    mapping(address => bool) public admins;
    mapping(address => bool) public controllers;

    event ContractDeployed(address indexed owner);
    event SetAdmin(address indexed account, bool allow);
    event SetController(address indexed account, bool allow);

    constructor(address _owner) {
        require(_owner != address(0), "Invalid owner");
        transferOwnership(_owner);
        emit ContractDeployed(_owner);
    }

    function getSuperAdmin() external view returns (address) {
        return owner();
    }

    function checkOnlySuperAdmin(address _caller) external view {
        require(isSuperAdmin(_caller), "Caller is not the super admin");
    }

    function checkOnlyAdmin(address _caller) external view {
        require(isAdmin(_caller), "Caller is not the admin");
    }

    function checkOnlySuperAdminOrController(address _caller) external view {
        require(isSuperAdmin(_caller) || isController(_caller), "Caller is not the super admin or controller");
    }

    function checkOnlyController(address _caller) external view {
        require(isController(_caller), "Caller is not the controller");
    }

    function isSuperAdmin(address _account) public view returns (bool) {
        return _account == owner();
    }

    function isAdmin(address _account) public view returns (bool) {
        return _account == owner() || admins[_account];
    }

    function isController(address _account) public view returns (bool) {
        return controllers[_account];
    }

    /**
     * @notice Delegate admin permission to account
     * @param _account account that set the admin
     * @param _allow setting value
     */
    function setAdmin(address _account, bool _allow) external onlyOwner {
        require(_account != address(0), "Invalid account");
        require(_account != owner(), "Account is the owner");
        require(admins[_account] != _allow, "Duplicate setting");
        admins[_account] = _allow;
        emit SetAdmin(_account, _allow);
    }

    /**
     * @notice Delegate controller permission to account
     * @param _account account that set the controller
     * @param _allow setting value
     */
    function setController(address _account, bool _allow) external onlyOwner {
        require(_account != address(0), "Invalid account");
        require(controllers[_account] != _allow, "Duplicate setting");
        controllers[_account] = _allow;

        emit SetController(_account, _allow);
    }
}
        

合同 ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_owner","internalType":"address"}]},{"type":"event","name":"ContractDeployed","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"SetAdmin","inputs":[{"type":"address","name":"account","internalType":"address","indexed":true},{"type":"bool","name":"allow","internalType":"bool","indexed":false}],"anonymous":false},{"type":"event","name":"SetController","inputs":[{"type":"address","name":"account","internalType":"address","indexed":true},{"type":"bool","name":"allow","internalType":"bool","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"admins","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[],"name":"checkOnlyAdmin","inputs":[{"type":"address","name":"_caller","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[],"name":"checkOnlyController","inputs":[{"type":"address","name":"_caller","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[],"name":"checkOnlySuperAdmin","inputs":[{"type":"address","name":"_caller","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[],"name":"checkOnlySuperAdminOrController","inputs":[{"type":"address","name":"_caller","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"controllers","inputs":[{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"getSuperAdmin","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isAdmin","inputs":[{"type":"address","name":"_account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isController","inputs":[{"type":"address","name":"_account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isSuperAdmin","inputs":[{"type":"address","name":"_account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setAdmin","inputs":[{"type":"address","name":"_account","internalType":"address"},{"type":"bool","name":"_allow","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setController","inputs":[{"type":"address","name":"_account","internalType":"address"},{"type":"bool","name":"_allow","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]}]
              

合同创建代码

验证与发布
0x608060405234801561001057600080fd5b50604051610afd380380610afd83398101604081905261002f916101eb565b610038336100c6565b6001600160a01b0381166100835760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21037bbb732b960991b60448201526064015b60405180910390fd5b61008c81610116565b6040516001600160a01b038216907f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf90600090a25061021b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61011e61018f565b6001600160a01b0381166101835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161007a565b61018c816100c6565b50565b6000546001600160a01b031633146101e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161007a565b565b6000602082840312156101fd57600080fd5b81516001600160a01b038116811461021457600080fd5b9392505050565b6108d38061022a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063da8c229e11610066578063da8c229e14610210578063df7f453b14610233578063e0dba60f14610255578063f2fde38b1461026857600080fd5b80638da5cb5b146101ad578063b357010a146101be578063b429afeb146101d1578063c1bb9b20146101fd57600080fd5b80634b0bddd2116100d35780634b0bddd21461015a578063532c6a3c1461016d578063715018a6146101805780638204c3261461018857600080fd5b806313299099146100fa57806324d7806c1461010f578063429b62e514610137575b600080fd5b61010d61010836600461083f565b61027b565b005b61012261011d36600461083f565b6102eb565b60405190151581526020015b60405180910390f35b61012261014536600461083f565b60016020526000908152604090205460ff1681565b61010d610168366004610861565b610326565b61010d61017b36600461083f565b61049d565b61010d6104f2565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161012e565b6000546001600160a01b0316610195565b61010d6101cc36600461083f565b610506565b6101226101df36600461083f565b6001600160a01b031660009081526002602052604090205460ff1690565b61010d61020b36600461083f565b610563565b61012261021e36600461083f565b60026020526000908152604090205460ff1681565b61012261024136600461083f565b6000546001600160a01b0391821691161490565b61010d610263366004610861565b6105f7565b61010d61027636600461083f565b610703565b6001600160a01b03811660009081526002602052604090205460ff166102e85760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520636f6e74726f6c6c65720000000060448201526064015b60405180910390fd5b50565b600080546001600160a01b038381169116148061032057506001600160a01b03821660009081526001602052604090205460ff165b92915050565b61032e610779565b6001600160a01b0382166103765760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b60448201526064016102df565b6000546001600160a01b03166001600160a01b0316826001600160a01b0316036103d95760405162461bcd60e51b815260206004820152601460248201527320b1b1b7bab73a1034b9903a34329037bbb732b960611b60448201526064016102df565b6001600160a01b03821660009081526001602052604090205481151560ff90911615150361043d5760405162461bcd60e51b81526020600482015260116024820152704475706c69636174652073657474696e6760781b60448201526064016102df565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f55a5194bc0174fcaf12b2978bef43911466bf63b34db8d1dd1a0d5dcd5c41bea91015b60405180910390a25050565b6104a6816102eb565b6102e85760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e00000000000000000060448201526064016102df565b6104fa610779565b61050460006107d3565b565b6000546001600160a01b038281169116146102e85760405162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f74207468652073757065722061646d696e00000060448201526064016102df565b6000546001600160a01b038281169116148061059757506001600160a01b03811660009081526002602052604090205460ff165b6102e85760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f74207468652073757065722061646d696e206f7260448201526a1031b7b73a3937b63632b960a91b60648201526084016102df565b6105ff610779565b6001600160a01b0382166106475760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b60448201526064016102df565b6001600160a01b03821660009081526002602052604090205481151560ff9091161515036106ab5760405162461bcd60e51b81526020600482015260116024820152704475706c69636174652073657474696e6760781b60448201526064016102df565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915591519182527f2a2988b5a517613d3ae3e3f5a2d1cc44dadf710c93c6854138bf443cb464ba939101610491565b61070b610779565b6001600160a01b0381166107705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102df565b6102e8816107d3565b6000546001600160a01b031633146105045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102df565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461083a57600080fd5b919050565b60006020828403121561085157600080fd5b61085a82610823565b9392505050565b6000806040838503121561087457600080fd5b61087d83610823565b91506020830135801515811461089257600080fd5b80915050925092905056fea26469706673582212204098f8ef44f0d5a627b01655b89d332787483f6489d24d583e654c9ee92e90f064736f6c634300081000330000000000000000000000007e510499e825c5062927eb4bc9f0218960c8d42e

部署字节码

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063da8c229e11610066578063da8c229e14610210578063df7f453b14610233578063e0dba60f14610255578063f2fde38b1461026857600080fd5b80638da5cb5b146101ad578063b357010a146101be578063b429afeb146101d1578063c1bb9b20146101fd57600080fd5b80634b0bddd2116100d35780634b0bddd21461015a578063532c6a3c1461016d578063715018a6146101805780638204c3261461018857600080fd5b806313299099146100fa57806324d7806c1461010f578063429b62e514610137575b600080fd5b61010d61010836600461083f565b61027b565b005b61012261011d36600461083f565b6102eb565b60405190151581526020015b60405180910390f35b61012261014536600461083f565b60016020526000908152604090205460ff1681565b61010d610168366004610861565b610326565b61010d61017b36600461083f565b61049d565b61010d6104f2565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161012e565b6000546001600160a01b0316610195565b61010d6101cc36600461083f565b610506565b6101226101df36600461083f565b6001600160a01b031660009081526002602052604090205460ff1690565b61010d61020b36600461083f565b610563565b61012261021e36600461083f565b60026020526000908152604090205460ff1681565b61012261024136600461083f565b6000546001600160a01b0391821691161490565b61010d610263366004610861565b6105f7565b61010d61027636600461083f565b610703565b6001600160a01b03811660009081526002602052604090205460ff166102e85760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520636f6e74726f6c6c65720000000060448201526064015b60405180910390fd5b50565b600080546001600160a01b038381169116148061032057506001600160a01b03821660009081526001602052604090205460ff165b92915050565b61032e610779565b6001600160a01b0382166103765760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b60448201526064016102df565b6000546001600160a01b03166001600160a01b0316826001600160a01b0316036103d95760405162461bcd60e51b815260206004820152601460248201527320b1b1b7bab73a1034b9903a34329037bbb732b960611b60448201526064016102df565b6001600160a01b03821660009081526001602052604090205481151560ff90911615150361043d5760405162461bcd60e51b81526020600482015260116024820152704475706c69636174652073657474696e6760781b60448201526064016102df565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f55a5194bc0174fcaf12b2978bef43911466bf63b34db8d1dd1a0d5dcd5c41bea91015b60405180910390a25050565b6104a6816102eb565b6102e85760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e00000000000000000060448201526064016102df565b6104fa610779565b61050460006107d3565b565b6000546001600160a01b038281169116146102e85760405162461bcd60e51b815260206004820152601d60248201527f43616c6c6572206973206e6f74207468652073757065722061646d696e00000060448201526064016102df565b6000546001600160a01b038281169116148061059757506001600160a01b03811660009081526002602052604090205460ff165b6102e85760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f74207468652073757065722061646d696e206f7260448201526a1031b7b73a3937b63632b960a91b60648201526084016102df565b6105ff610779565b6001600160a01b0382166106475760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b60448201526064016102df565b6001600160a01b03821660009081526002602052604090205481151560ff9091161515036106ab5760405162461bcd60e51b81526020600482015260116024820152704475706c69636174652073657474696e6760781b60448201526064016102df565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915591519182527f2a2988b5a517613d3ae3e3f5a2d1cc44dadf710c93c6854138bf443cb464ba939101610491565b61070b610779565b6001600160a01b0381166107705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102df565b6102e8816107d3565b6000546001600160a01b031633146105045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102df565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461083a57600080fd5b919050565b60006020828403121561085157600080fd5b61085a82610823565b9392505050565b6000806040838503121561087457600080fd5b61087d83610823565b91506020830135801515811461089257600080fd5b80915050925092905056fea26469706673582212204098f8ef44f0d5a627b01655b89d332787483f6489d24d583e654c9ee92e90f064736f6c63430008100033