false
true
0

Contract Address Details

0x6B208E08dcF6BD51F50C5Da09d15B2D8E5C46Cf2

Contract Name
PermissionManager
Creator
0x16cc37–396a2b at 0x9d305e–255332
Balance
0 PLS ( )
Tokens
Fetching tokens...
Transactions
Fetching transactions...
Transfers
Fetching transfers...
Gas Used
Fetching gas used...
Last Balance Update
26320032
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify. View contract in Sourcify repository
Contract name:
PermissionManager




Optimization enabled
true
Compiler version
v0.6.9+commit.3e3065ac




Optimization runs
200
EVM Version
istanbul




Verified at
2026-04-19T01:18:21.677163Z

PermissionManager.sol

// File: contracts/lib/InitializableOwnable.sol

/*

    Copyright 2020 DODO ZOO.
    SPDX-License-Identifier: Apache-2.0

*/

pragma solidity 0.6.9;
pragma experimental ABIEncoderV2;

/**
 * @title Ownable
 * @author DODO Breeder
 *
 * @notice Ownership related functions
 */
contract InitializableOwnable {
    address public _OWNER_;
    address public _NEW_OWNER_;
    bool internal _INITIALIZED_;

    // ============ Events ============

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

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

    // ============ Modifiers ============

    modifier notInitialized() {
        require(!_INITIALIZED_, "DODO_INITIALIZED");
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == _OWNER_, "NOT_OWNER");
        _;
    }

    // ============ Functions ============

    function initOwner(address newOwner) public notInitialized {
        _INITIALIZED_ = true;
        _OWNER_ = newOwner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        emit OwnershipTransferPrepared(_OWNER_, newOwner);
        _NEW_OWNER_ = newOwner;
    }

    function claimOwnership() public {
        require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM");
        emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);
        _OWNER_ = _NEW_OWNER_;
        _NEW_OWNER_ = address(0);
    }
}

// File: contracts/lib/PermissionManager.sol



interface IPermissionManager {
    function initOwner(address) external;

    function isAllowed(address) external view returns (bool);
}

contract PermissionManager is InitializableOwnable {
    bool public _WHITELIST_MODE_ON_;

    mapping(address => bool) internal _whitelist_;
    mapping(address => bool) internal _blacklist_;

    function isAllowed(address account) external view returns (bool) {
        if (_WHITELIST_MODE_ON_) {
            return _whitelist_[account];
        } else {
            return !_blacklist_[account];
        }
    }

    function openBlacklistMode() external onlyOwner {
        _WHITELIST_MODE_ON_ = false;
    }

    function openWhitelistMode() external onlyOwner {
        _WHITELIST_MODE_ON_ = true;
    }

    function addToWhitelist(address account) external onlyOwner {
        _whitelist_[account] = true;
    }

    function removeFromWhitelist(address account) external onlyOwner {
        _whitelist_[account] = false;
    }

    function addToBlacklist(address account) external onlyOwner {
        _blacklist_[account] = true;
    }

    function removeFromBlacklist(address account) external onlyOwner {
        _blacklist_[account] = false;
    }
}
        

Compiler Settings

{"remappings":[],"optimizer":{"runs":200,"enabled":true},"metadata":{"bytecodeHash":"ipfs"},"libraries":{},"evmVersion":"istanbul","compilationTarget":{"PermissionManager.sol":"PermissionManager"}}
              

Contract ABI

[{"type":"event","name":"OwnershipTransferPrepared","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","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":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_NEW_OWNER_","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"_OWNER_","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"_WHITELIST_MODE_ON_","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addToBlacklist","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addToWhitelist","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"claimOwnership","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initOwner","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isAllowed","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"openBlacklistMode","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"openWhitelistMode","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"removeFromBlacklist","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"removeFromWhitelist","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]}]
              

Contract Creation Code

Verify & Publish
0x608060405234801561001057600080fd5b50610654806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806371e525051161008c578063babcc53911610066578063babcc5391461016d578063e43252d714610180578063ecbb003f14610193578063f2fde38b1461019b576100cf565b806371e525051461014a5780638456db15146101525780638ab1d6811461015a576100cf565b80630d009297146100d457806316048bc4146100e957806344337ea1146101075780634e71e0c81461011a578063537df3b61461012257806363e9cad614610135575b600080fd5b6100e76100e236600461055d565b6101ae565b005b6100f1610217565b6040516100fe919061058b565b60405180910390f35b6100e761011536600461055d565b610226565b6100e7610274565b6100e761013036600461055d565b610302565b61013d61034d565b6040516100fe919061059f565b6100e761035d565b6100f161039c565b6100e761016836600461055d565b6103ab565b61013d61017b36600461055d565b6103f6565b6100e761018e36600461055d565b610451565b6100e761049f565b6100e76101a936600461055d565b6104d8565b600154600160a01b900460ff16156101e15760405162461bcd60e51b81526004016101d8906105d1565b60405180910390fd5b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031681565b6000546001600160a01b031633146102505760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6001546001600160a01b0316331461029e5760405162461bcd60e51b81526004016101d8906105aa565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461032c5760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600360205260409020805460ff19169055565b600154600160a81b900460ff1681565b6000546001600160a01b031633146103875760405162461bcd60e51b81526004016101d8906105fb565b6001805460ff60a81b1916600160a81b179055565b6001546001600160a01b031681565b6000546001600160a01b031633146103d55760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600260205260409020805460ff19169055565b600154600090600160a81b900460ff161561042d57506001600160a01b03811660009081526002602052604090205460ff1661044c565b506001600160a01b03811660009081526003602052604090205460ff16155b919050565b6000546001600160a01b0316331461047b5760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016101d8906105fb565b6001805460ff60a81b19169055565b6000546001600160a01b031633146105025760405162461bcd60e51b81526004016101d8906105fb565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561056e578081fd5b81356001600160a01b0381168114610584578182fd5b9392505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea2646970667358221220532fc2c13be898d213bc864031246b1ea91024365789941f87b9a9cbb0afd4c164736f6c63430006090033

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806371e525051161008c578063babcc53911610066578063babcc5391461016d578063e43252d714610180578063ecbb003f14610193578063f2fde38b1461019b576100cf565b806371e525051461014a5780638456db15146101525780638ab1d6811461015a576100cf565b80630d009297146100d457806316048bc4146100e957806344337ea1146101075780634e71e0c81461011a578063537df3b61461012257806363e9cad614610135575b600080fd5b6100e76100e236600461055d565b6101ae565b005b6100f1610217565b6040516100fe919061058b565b60405180910390f35b6100e761011536600461055d565b610226565b6100e7610274565b6100e761013036600461055d565b610302565b61013d61034d565b6040516100fe919061059f565b6100e761035d565b6100f161039c565b6100e761016836600461055d565b6103ab565b61013d61017b36600461055d565b6103f6565b6100e761018e36600461055d565b610451565b6100e761049f565b6100e76101a936600461055d565b6104d8565b600154600160a01b900460ff16156101e15760405162461bcd60e51b81526004016101d8906105d1565b60405180910390fd5b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031681565b6000546001600160a01b031633146102505760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6001546001600160a01b0316331461029e5760405162461bcd60e51b81526004016101d8906105aa565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461032c5760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600360205260409020805460ff19169055565b600154600160a81b900460ff1681565b6000546001600160a01b031633146103875760405162461bcd60e51b81526004016101d8906105fb565b6001805460ff60a81b1916600160a81b179055565b6001546001600160a01b031681565b6000546001600160a01b031633146103d55760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600260205260409020805460ff19169055565b600154600090600160a81b900460ff161561042d57506001600160a01b03811660009081526002602052604090205460ff1661044c565b506001600160a01b03811660009081526003602052604090205460ff16155b919050565b6000546001600160a01b0316331461047b5760405162461bcd60e51b81526004016101d8906105fb565b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016101d8906105fb565b6001805460ff60a81b19169055565b6000546001600160a01b031633146105025760405162461bcd60e51b81526004016101d8906105fb565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561056e578081fd5b81356001600160a01b0381168114610584578182fd5b9392505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea2646970667358221220532fc2c13be898d213bc864031246b1ea91024365789941f87b9a9cbb0afd4c164736f6c63430006090033