Contract 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe4

 

Contract Overview

Balance:
2.690301849871463383 BNB

BNB Value:
$1,253.52 (@ $465.94/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xbe4e9f15da7dad52f255b2d6fe811bde4bb05377eb1502ed674ac8dcf995ec69Transfer78281812021-05-29 10:12:57140 days 17 hrs ago0x1eb34d735a7a21394cd3cf03bdb1497bfc9d75d0 IN  0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe42 BNB0.000157275
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x4c25ec8b31979399ae3252de36a019d8f30efe8265313f967e2fcbee77d2f500113580852021-09-30 6:49:1216 days 20 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x1eb34d735a7a21394cd3cf03bdb1497bfc9d75d00.189974631704575337 BNB
0xcbb1a248c2f31362d9fb3fef06749b7f2337731d1304aa49c6d397e835a4034f91774442021-07-15 11:57:3393 days 15 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x8f31206d7eb2d1f29073850d96ac4592be61b5680.001707754108003066 BNB
0xbda4b533fec8d768232a2ef73382910b93a121414eebc04a94f5857aea59733891022322021-07-12 21:15:3996 days 6 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x655e004573a3964824232af3c49a954a03d092190.00101086603834219 BNB
0xa0985487018e2faf4de48494dd1db58c4ac531c5950718cd9c8ca39ddd681c0591022322021-07-12 21:15:3996 days 6 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x655e004573a3964824232af3c49a954a03d092190.00101086603834219 BNB
0x83a235a540ab525f324b60ccb25501e84a4383f5ac13da17c03eca644c1ba4ed85728922021-06-24 10:03:19114 days 17 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x382768d8c08990464d42c8c820f1be3c0809668c0.000180664468469751 BNB
0x60d131fb229ac04e46b994b250ce06c435d6781061a62243d2c3a27eb216efc185617842021-06-24 0:46:30115 days 2 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x5291838a4750f3fe229885b769588e265a1d544f0.000000001826117239 BNB
0x386cfb49af4b093764c782b6f5968f8ae192c9f542addbaac17f9ece5c2e467584861232021-06-21 9:22:48117 days 18 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40xe086d23192a0084f972dd8d0502769ed2074e69e0.486622708580039044 BNB
0x3ddf6c36977a6c0b551e0a6ac69371b51926b9c7681a62be2eee4b4c00a751be84350982021-06-19 14:46:55119 days 12 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40xde4355e50f378e08422c97c5c37b5012ace18d5e0.000000004615931302 BNB
0xd9a804ed05847a2bf024010844818a5a9db962a2d7f33605183f447822a6eccc83483082021-06-16 13:47:46122 days 13 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x8ef2038db480496ae6bc8fe28faa702f9c3e6fd80.000153864376751901 BNB
0x79db9003e232ba610d8bd86a7f7c797266ff52a1d6af0d461e988c2826f5f99e83402482021-06-16 7:02:33122 days 20 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x2ffd0a9cde1453083f8ba8a3b5ec46d03bd32eae0.002709693229827597 BNB
0x779fb4044839f5e45907a5736f24513df410217946c7dbac874e1b227249ee4a83041662021-06-15 0:34:37124 days 2 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x87088e0df903971660bbf862d4ed01fd3c2ac2de0.000000015386437675 BNB
0xce471c6709c22c9915c0ee42cfc2b0e8ca7015c770c3404ea55ca90ab623242c82902442021-06-14 12:50:31124 days 14 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x7f5923e9331872b8d461fd9cb413520af5ac37460.00004615931302557 BNB
0x8377d0d878262888e449a587940038cd0e05a0349074d36c9ab474002b84449e82884602021-06-14 11:20:14124 days 16 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x61e35e1d97a575274619726bc79030e849b55bc30.000042503834520403 BNB
0xa207f4e1360e52e652072d00121a8c87b86f5d359c81292d6386c7da5a9fe96f82880402021-06-14 10:58:52124 days 16 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x5b7f655ff8f68b3cb5ea18ebe1a7616edd3c963d0.000181386662354836 BNB
0xf631d4a4ac0e1e8ce84698cdcc84eba48c360757ed10bc82fd81764385090e3382714542021-06-13 20:55:51125 days 6 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x79145472fd5d873b8993806f6964e8af46b673030.046841360084979497 BNB
0x2dfe2c3c146a163eaf62bb757915b0e5990749aa251d2c6c8587dc60324f668f82682442021-06-13 18:13:06125 days 9 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x38dacd76169138795a9a338307abc0218f43190d0.000000004615931302 BNB
0xa74e509c78d14bdda801dbdb27317819509596e3f41439ec4949d6c101a12b9182621142021-06-13 13:04:34125 days 14 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x4b575014baa15500fd9042a20730a5bb1e9963060.028133960073870032 BNB
0xcf3f2c4c3a83f128662bb0abbb5ec37214b673e398b3f472f6a2f7e6dac178bd82587702021-06-13 10:15:45125 days 17 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40xfdb8c0e9a10129bb7e2a245b388822a67e361ec00.000153864376751901 BNB
0x999add63c0c9b5f6cf5eb1dc5bcb0ecc0d3dccbbc67b933eed8b631787038ed382548282021-06-13 6:55:08125 days 20 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x30a6f126720951db7fd9576a9c28ed6c2c8114d70.000000000674559206 BNB
0xc5f56994803da1642a59d3aa7aa08c30f18e31cc6e15fa985c95e1d465fd3ad982543322021-06-13 6:30:17125 days 21 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x44749cda837e4264ba02d4c08520371b3a202aa30.000153864376751901 BNB
0xe7e68acf22d31ac94b5ee075fe51d0463d367b729edb34034cd6f75675faf22982506802021-06-13 3:26:29126 days 6 mins ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x4b5c2da265fdf1b2a464b1c4215fc26b3c03f4e30.002980863105512486 BNB
0x15f9e939837eca5332fdffbcd1ff4c4ac4eeaaa33b22504b34d1ace0462a4c5782497362021-06-13 2:39:17126 days 53 mins ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x1153c938c05e590a2cece434bdc7284959fdc0c50.000000004615931302 BNB
0x1fe804ef02dcb2bf4acd3a960fcde00b13c79a06582d0dd37e3e27c1007d022882482662021-06-13 1:25:27126 days 2 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x347d159440b02fa25d948dcb7afeb58ecc06db050.023351774528399039 BNB
0xd9df94c0a74577cc7e2400a76cead8320c1febaa477e503191d21e7ceaaa89d782473802021-06-13 0:40:10126 days 2 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x2168f2930747b848635c3eab9a646fd4d1309c190.000972005452110159 BNB
0x6df33be79bd092cb6b08c6b111cdbe640ed0251313568f749c7b3090bddc44dd82469842021-06-13 0:20:22126 days 3 hrs ago 0x7a7b6c0ebb3e8e03a62674f222445ace2172cfe40x73cf9600e16e20820b10d708e5fdc5afa2a3ba530.000153864376751901 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GuessItRewards

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at BscScan.com on 2021-05-26
*/

// File: node_modules\@openzeppelin\contracts\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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: node_modules\@openzeppelin\contracts\utils\introspection\IERC165.sol

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// File: node_modules\@openzeppelin\contracts\utils\introspection\ERC165.sol

pragma solidity ^0.8.0;


/**
 * @dev Implementation of the {IERC165} interface.
 *
 * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check
 * for the additional interface id that will be supported. For example:
 *
 * ```solidity
 * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
 *     return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);
 * }
 * ```
 *
 * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.
 */
abstract contract ERC165 is IERC165 {
    /**
     * @dev See {IERC165-supportsInterface}.
     */
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}

// File: node_modules\@openzeppelin\contracts\access\AccessControl.sol

pragma solidity ^0.8.0;



/**
 * @dev External interface of AccessControl declared to support ERC165 detection.
 */
interface IAccessControl {
    function hasRole(bytes32 role, address account) external view returns (bool);
    function getRoleAdmin(bytes32 role) external view returns (bytes32);
    function grantRole(bytes32 role, address account) external;
    function revokeRole(bytes32 role, address account) external;
    function renounceRole(bytes32 role, address account) external;
}

/**
 * @dev Contract module that allows children to implement role-based access
 * control mechanisms. This is a lightweight version that doesn't allow enumerating role
 * members except through off-chain means by accessing the contract event logs. Some
 * applications may benefit from on-chain enumerability, for those cases see
 * {AccessControlEnumerable}.
 *
 * Roles are referred to by their `bytes32` identifier. These should be exposed
 * in the external API and be unique. The best way to achieve this is by
 * using `public constant` hash digests:
 *
 * ```
 * bytes32 public constant MY_ROLE = keccak256("MY_ROLE");
 * ```
 *
 * Roles can be used to represent a set of permissions. To restrict access to a
 * function call, use {hasRole}:
 *
 * ```
 * function foo() public {
 *     require(hasRole(MY_ROLE, msg.sender));
 *     ...
 * }
 * ```
 *
 * Roles can be granted and revoked dynamically via the {grantRole} and
 * {revokeRole} functions. Each role has an associated admin role, and only
 * accounts that have a role's admin role can call {grantRole} and {revokeRole}.
 *
 * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means
 * that only accounts with this role will be able to grant or revoke other
 * roles. More complex role relationships can be created by using
 * {_setRoleAdmin}.
 *
 * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to
 * grant and revoke this role. Extra precautions should be taken to secure
 * accounts that have been granted it.
 */
abstract contract AccessControl is Context, IAccessControl, ERC165 {
    struct RoleData {
        mapping (address => bool) members;
        bytes32 adminRole;
    }

    mapping (bytes32 => RoleData) private _roles;

    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;

    /**
     * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`
     *
     * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite
     * {RoleAdminChanged} not being emitted signaling this.
     *
     * _Available since v3.1._
     */
    event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);

    /**
     * @dev Emitted when `account` is granted `role`.
     *
     * `sender` is the account that originated the contract call, an admin role
     * bearer except when using {_setupRole}.
     */
    event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);

    /**
     * @dev Emitted when `account` is revoked `role`.
     *
     * `sender` is the account that originated the contract call:
     *   - if using `revokeRole`, it is the admin role bearer
     *   - if using `renounceRole`, it is the role bearer (i.e. `account`)
     */
    event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);

    /**
     * @dev See {IERC165-supportsInterface}.
     */
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IAccessControl).interfaceId
            || super.supportsInterface(interfaceId);
    }

    /**
     * @dev Returns `true` if `account` has been granted `role`.
     */
    function hasRole(bytes32 role, address account) public view override returns (bool) {
        return _roles[role].members[account];
    }

    /**
     * @dev Returns the admin role that controls `role`. See {grantRole} and
     * {revokeRole}.
     *
     * To change a role's admin, use {_setRoleAdmin}.
     */
    function getRoleAdmin(bytes32 role) public view override returns (bytes32) {
        return _roles[role].adminRole;
    }

    /**
     * @dev Grants `role` to `account`.
     *
     * If `account` had not been already granted `role`, emits a {RoleGranted}
     * event.
     *
     * Requirements:
     *
     * - the caller must have ``role``'s admin role.
     */
    function grantRole(bytes32 role, address account) public virtual override {
        require(hasRole(getRoleAdmin(role), _msgSender()), "AccessControl: sender must be an admin to grant");

        _grantRole(role, account);
    }

    /**
     * @dev Revokes `role` from `account`.
     *
     * If `account` had been granted `role`, emits a {RoleRevoked} event.
     *
     * Requirements:
     *
     * - the caller must have ``role``'s admin role.
     */
    function revokeRole(bytes32 role, address account) public virtual override {
        require(hasRole(getRoleAdmin(role), _msgSender()), "AccessControl: sender must be an admin to revoke");

        _revokeRole(role, account);
    }

    /**
     * @dev Revokes `role` from the calling account.
     *
     * Roles are often managed via {grantRole} and {revokeRole}: this function's
     * purpose is to provide a mechanism for accounts to lose their privileges
     * if they are compromised (such as when a trusted device is misplaced).
     *
     * If the calling account had been granted `role`, emits a {RoleRevoked}
     * event.
     *
     * Requirements:
     *
     * - the caller must be `account`.
     */
    function renounceRole(bytes32 role, address account) public virtual override {
        require(account == _msgSender(), "AccessControl: can only renounce roles for self");

        _revokeRole(role, account);
    }

    /**
     * @dev Grants `role` to `account`.
     *
     * If `account` had not been already granted `role`, emits a {RoleGranted}
     * event. Note that unlike {grantRole}, this function doesn't perform any
     * checks on the calling account.
     *
     * [WARNING]
     * ====
     * This function should only be called from the constructor when setting
     * up the initial roles for the system.
     *
     * Using this function in any other way is effectively circumventing the admin
     * system imposed by {AccessControl}.
     * ====
     */
    function _setupRole(bytes32 role, address account) internal virtual {
        _grantRole(role, account);
    }

    /**
     * @dev Sets `adminRole` as ``role``'s admin role.
     *
     * Emits a {RoleAdminChanged} event.
     */
    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        emit RoleAdminChanged(role, getRoleAdmin(role), adminRole);
        _roles[role].adminRole = adminRole;
    }

    function _grantRole(bytes32 role, address account) private {
        if (!hasRole(role, account)) {
            _roles[role].members[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }

    function _revokeRole(bytes32 role, address account) private {
        if (hasRole(role, account)) {
            _roles[role].members[account] = false;
            emit RoleRevoked(role, account, _msgSender());
        }
    }
}

// File: node_modules\@openzeppelin\contracts\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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts\GuessItRewards.sol

pragma solidity ^0.8.0;



contract GuessItRewards is Ownable, AccessControl {
    event RewardsReceived(uint _amount);

    bytes32 public constant TRANSFER_ROLE = keccak256("TRASNFER_ROLE");
    address public dev;
    uint public immutable devPercentage = 500; //50%, percentage of the rewards distributed to the dev address, in per mille
    
    uint private _perMille = 1000; // 100%

    constructor(address _dev) {
        dev = _dev;

        _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());
    }

    receive() external payable {
        uint devShare = msg.value * devPercentage / _perMille;
        payable(dev).transfer(devShare);
        emit RewardsReceived(msg.value - devShare);
    }

    function getTransferRole() public pure returns (bytes32) {
        return TRANSFER_ROLE;
    }

    function transferRewards(address payable _to, uint _amount) external {        
        require(hasRole(TRANSFER_ROLE, _msgSender()), "GuessItRewards: caller is not able to transfer");
        _to.transfer(_amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dev","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"RewardsReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTransferRole","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526101f46080526103e860035534801561001c57600080fd5b50604051610c4b380380610c4b83398101604081905261003b91610143565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b0319166001600160a01b0383161790556100a860006100a33390565b6100ae565b50610171565b6100b882826100bc565b5050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166100b85760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600060208284031215610154578081fd5b81516001600160a01b038116811461016a578182fd5b9392505050565b608051610ab96101926000396000818160fc01526103960152610ab96000f3fe6080604052600436106100ec5760003560e01c8063858dee6e1161008a578063a217fddf11610059578063a217fddf1461036f578063c3a4382414610384578063d547741f146103b8578063f2fde38b146103d857600080fd5b8063858dee6e146102ca5780638da5cb5b146102fd57806391cca3db1461032f57806391d148541461034f57600080fd5b80632f2ff15d116100c65780632f2ff15d1461025357806336568abe14610275578063715018a61461029557806382723192146102aa57600080fd5b806301ffc9a7146101ab578063206b60f9146101e0578063248a9ca31461022257600080fd5b366101a6576003546000906101217f000000000000000000000000000000000000000000000000000000000000000034610a1f565b61012b91906109ff565b6002546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610166573d6000803e3d6000fd5b507fbb28dd7cd6be6f61828ea9158a04c5182c716a946a6d2f31f4864edb87471aa66101928234610a3e565b60405190815260200160405180910390a150005b600080fd5b3480156101b757600080fd5b506101cb6101c63660046109d7565b6103f8565b60405190151581526020015b60405180910390f35b3480156101ec57600080fd5b506102147f1d77cccfbf048d79b91f887be9018e06d30b0fd18cecd40e756439b2bb65e4bf81565b6040519081526020016101d7565b34801561022e57600080fd5b5061021461023d366004610990565b6000908152600160208190526040909120015490565b34801561025f57600080fd5b5061027361026e3660046109a8565b61042f565b005b34801561028157600080fd5b506102736102903660046109a8565b6104c4565b3480156102a157600080fd5b5061027361053e565b3480156102b657600080fd5b506102736102c5366004610965565b6105e2565b3480156102d657600080fd5b507f1d77cccfbf048d79b91f887be9018e06d30b0fd18cecd40e756439b2bb65e4bf610214565b34801561030957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d7565b34801561033b57600080fd5b50600254610317906001600160a01b031681565b34801561035b57600080fd5b506101cb61036a3660046109a8565b6106aa565b34801561037b57600080fd5b50610214600081565b34801561039057600080fd5b506102147f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c457600080fd5b506102736103d33660046109a8565b6106d5565b3480156103e457600080fd5b506102736103f3366004610942565b610756565b60006001600160e01b03198216637965db0b60e01b148061042957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000828152600160208190526040909120015461044d905b336106aa565b6104b65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084015b60405180910390fd5b6104c08282610870565b5050565b6001600160a01b03811633146105345760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104ad565b6104c082826108db565b6000546001600160a01b031633146105985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ad565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61060c7f1d77cccfbf048d79b91f887be9018e06d30b0fd18cecd40e756439b2bb65e4bf336106aa565b61066f5760405162461bcd60e51b815260206004820152602e60248201527f47756573734974526577617264733a2063616c6c6572206973206e6f7420616260448201526d3632903a37903a3930b739b332b960911b60648201526084016104ad565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156106a5573d6000803e3d6000fd5b505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600082815260016020819052604090912001546106f190610447565b6105345760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016104ad565b6000546001600160a01b031633146107b05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ad565b6001600160a01b0381166108155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ad565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61087a82826106aa565b6104c05760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6108e582826106aa565b156104c05760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600060208284031215610953578081fd5b813561095e81610a6b565b9392505050565b60008060408385031215610977578081fd5b823561098281610a6b565b946020939093013593505050565b6000602082840312156109a1578081fd5b5035919050565b600080604083850312156109ba578182fd5b8235915060208301356109cc81610a6b565b809150509250929050565b6000602082840312156109e8578081fd5b81356001600160e01b03198116811461095e578182fd5b600082610a1a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610a3957610a39610a55565b500290565b600082821015610a5057610a50610a55565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610a8057600080fd5b5056fea264697066735822122056e59a896a4e6123aa76485d5f65cffaa786db1f6b1a1c9c6cf6e138969c87f564736f6c634300080400330000000000000000000000001eb34d735a7a21394cd3cf03bdb1497bfc9d75d0

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

0000000000000000000000001eb34d735a7a21394cd3cf03bdb1497bfc9d75d0

-----Decoded View---------------
Arg [0] : _dev (address): 0x1eb34d735a7a21394cd3cf03bdb1497bfc9d75d0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001eb34d735a7a21394cd3cf03bdb1497bfc9d75d0


Deployed ByteCode Sourcemap

12779:1029:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13358:9;;13314:13;;13330:25;13342:13;13330:9;:25;:::i;:::-;:37;;;;:::i;:::-;13386:3;;13378:31;;13314:53;;-1:-1:-1;;;;;;13386:3:0;;13378:31;;;;;13314:53;;13386:3;13378:31;13386:3;13378:31;13314:53;13386:3;13378:31;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13425:37:0;13441:20;13453:8;13441:9;:20;:::i;:::-;13425:37;;1996:25:1;;;1984:2;1969:18;13425:37:0;;;;;;;13276:194;12779:1029;;;;;6436:217;;;;;;;;;;-1:-1:-1;6436:217:0;;;;;:::i;:::-;;:::i;:::-;;;1823:14:1;;1816:22;1798:41;;1786:2;1771:18;6436:217:0;;;;;;;;12880:66;;;;;;;;;;;;12920:26;12880:66;;;;;1996:25:1;;;1984:2;1969:18;12880:66:0;1951:76:1;7073:123:0;;;;;;;;;;-1:-1:-1;7073:123:0;;;;;:::i;:::-;7139:7;7166:12;;;:6;:12;;;;;;;;:22;;;7073:123;7458:232;;;;;;;;;;-1:-1:-1;7458:232:0;;;;;:::i;:::-;;:::i;:::-;;8677:218;;;;;;;;;;-1:-1:-1;8677:218:0;;;;;:::i;:::-;;:::i;12153:148::-;;;;;;;;;;;;;:::i;13582:223::-;;;;;;;;;;-1:-1:-1;13582:223:0;;;;;:::i;:::-;;:::i;13478:96::-;;;;;;;;;;-1:-1:-1;12920:26:0;13478:96;;11502:87;;;;;;;;;;-1:-1:-1;11548:7:0;11575:6;-1:-1:-1;;;;;11575:6:0;11502:87;;;-1:-1:-1;;;;;1614:32:1;;;1596:51;;1584:2;1569:18;11502:87:0;1551:102:1;12953:18:0;;;;;;;;;;-1:-1:-1;12953:18:0;;;;-1:-1:-1;;;;;12953:18:0;;;6745:139;;;;;;;;;;-1:-1:-1;6745:139:0;;;;;:::i;:::-;;:::i;5201:49::-;;;;;;;;;;-1:-1:-1;5201:49:0;5246:4;5201:49;;12978:41;;;;;;;;;;;;;;;7935:235;;;;;;;;;;-1:-1:-1;7935:235:0;;;;;:::i;:::-;;:::i;12456:244::-;;;;;;;;;;-1:-1:-1;12456:244:0;;;;;:::i;:::-;;:::i;6436:217::-;6521:4;-1:-1:-1;;;;;;6545:47:0;;-1:-1:-1;;;6545:47:0;;:100;;-1:-1:-1;;;;;;;;;;2755:40:0;;;6609:36;6538:107;6436:217;-1:-1:-1;;6436:217:0:o;7458:232::-;7139:7;7166:12;;;:6;:12;;;;;;;;:22;;7551:41;;7559:18;713:10;6745:139;:::i;7551:41::-;7543:101;;;;-1:-1:-1;;;7543:101:0;;2234:2:1;7543:101:0;;;2216:21:1;2273:2;2253:18;;;2246:30;2312:34;2292:18;;;2285:62;-1:-1:-1;;;2363:18:1;;;2356:45;2418:19;;7543:101:0;;;;;;;;;7657:25;7668:4;7674:7;7657:10;:25::i;:::-;7458:232;;:::o;8677:218::-;-1:-1:-1;;;;;8773:23:0;;713:10;8773:23;8765:83;;;;-1:-1:-1;;;8765:83:0;;4250:2:1;8765:83:0;;;4232:21:1;4289:2;4269:18;;;4262:30;4328:34;4308:18;;;4301:62;-1:-1:-1;;;4379:18:1;;;4372:45;4434:19;;8765:83:0;4222:237:1;8765:83:0;8861:26;8873:4;8879:7;8861:11;:26::i;12153:148::-;11548:7;11575:6;-1:-1:-1;;;;;11575:6:0;713:10;11722:23;11714:68;;;;-1:-1:-1;;;11714:68:0;;3889:2:1;11714:68:0;;;3871:21:1;;;3908:18;;;3901:30;3967:34;3947:18;;;3940:62;4019:18;;11714:68:0;3861:182:1;11714:68:0;12260:1:::1;12244:6:::0;;12223:40:::1;::::0;-1:-1:-1;;;;;12244:6:0;;::::1;::::0;12223:40:::1;::::0;12260:1;;12223:40:::1;12291:1;12274:19:::0;;-1:-1:-1;;;;;;12274:19:0::1;::::0;;12153:148::o;13582:223::-;13678:36;12920:26;713:10;6745:139;:::i;13678:36::-;13670:95;;;;-1:-1:-1;;;13670:95:0;;3057:2:1;13670:95:0;;;3039:21:1;3096:2;3076:18;;;3069:30;3135:34;3115:18;;;3108:62;-1:-1:-1;;;3186:18:1;;;3179:44;3240:19;;13670:95:0;3029:236:1;13670:95:0;13776:21;;-1:-1:-1;;;;;13776:12:0;;;:21;;;;;13789:7;;13776:21;;;;13789:7;13776:12;:21;;;;;;;;;;;;;;;;;;;;;13582:223;;:::o;6745:139::-;6823:4;6847:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6847:29:0;;;;;;;;;;;;;;;6745:139::o;7935:235::-;7139:7;7166:12;;;:6;:12;;;;;;;;:22;;8029:41;;8037:18;7073:123;8029:41;8021:102;;;;-1:-1:-1;;;8021:102:0;;3472:2:1;8021:102:0;;;3454:21:1;3511:2;3491:18;;;3484:30;3550:34;3530:18;;;3523:62;-1:-1:-1;;;3601:18:1;;;3594:46;3657:19;;8021:102:0;3444:238:1;12456:244:0;11548:7;11575:6;-1:-1:-1;;;;;11575:6:0;713:10;11722:23;11714:68;;;;-1:-1:-1;;;11714:68:0;;3889:2:1;11714:68:0;;;3871:21:1;;;3908:18;;;3901:30;3967:34;3947:18;;;3940:62;4019:18;;11714:68:0;3861:182:1;11714:68:0;-1:-1:-1;;;;;12545:22:0;::::1;12537:73;;;::::0;-1:-1:-1;;;12537:73:0;;2650:2:1;12537:73:0::1;::::0;::::1;2632:21:1::0;2689:2;2669:18;;;2662:30;2728:34;2708:18;;;2701:62;-1:-1:-1;;;2779:18:1;;;2772:36;2825:19;;12537:73:0::1;2622:228:1::0;12537:73:0::1;12647:6;::::0;;12626:38:::1;::::0;-1:-1:-1;;;;;12626:38:0;;::::1;::::0;12647:6;::::1;::::0;12626:38:::1;::::0;::::1;12675:6;:17:::0;;-1:-1:-1;;;;;;12675:17:0::1;-1:-1:-1::0;;;;;12675:17:0;;;::::1;::::0;;;::::1;::::0;;12456:244::o;9925:229::-;10000:22;10008:4;10014:7;10000;:22::i;:::-;9995:152;;10039:12;;;;10071:4;10039:12;;;;;;;;-1:-1:-1;;;;;10039:29:0;;;;;;;;;;:36;;-1:-1:-1;;10039:36:0;;;;;;;10095:40;;713:10;;10039:12;;10095:40;;10039:12;10095:40;9925:229;;:::o;10162:230::-;10237:22;10245:4;10251:7;10237;:22::i;:::-;10233:152;;;10308:5;10276:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;10276:29:0;;;;;;;;;;:37;;-1:-1:-1;;10276:37:0;;;10333:40;713:10;;10276:12;;10333:40;;10308:5;10333:40;10162:230;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:1:o;276:333::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:2;;;434:6;426;419:22;381:2;478:9;465:23;497:31;522:5;497:31;:::i;:::-;547:5;599:2;584:18;;;;571:32;;-1:-1:-1;;;371:238:1:o;614:190::-;673:6;726:2;714:9;705:7;701:23;697:32;694:2;;;747:6;739;732:22;694:2;-1:-1:-1;775:23:1;;684:120;-1:-1:-1;684:120:1:o;809:325::-;877:6;885;938:2;926:9;917:7;913:23;909:32;906:2;;;959:6;951;944:22;906:2;1000:9;987:23;977:33;;1060:2;1049:9;1045:18;1032:32;1073:31;1098:5;1073:31;:::i;:::-;1123:5;1113:15;;;896:238;;;;;:::o;1139:306::-;1197:6;1250:2;1238:9;1229:7;1225:23;1221:32;1218:2;;;1271:6;1263;1256:22;1218:2;1302:23;;-1:-1:-1;;;;;;1354:32:1;;1344:43;;1334:2;;1406:6;1398;1391:22;4646:217;4686:1;4712;4702:2;;-1:-1:-1;;;4737:31:1;;4791:4;4788:1;4781:15;4819:4;4744:1;4809:15;4702:2;-1:-1:-1;4848:9:1;;4692:171::o;4868:168::-;4908:7;4974:1;4970;4966:6;4962:14;4959:1;4956:21;4951:1;4944:9;4937:17;4933:45;4930:2;;;4981:18;;:::i;:::-;-1:-1:-1;5021:9:1;;4920:116::o;5041:125::-;5081:4;5109:1;5106;5103:8;5100:2;;;5114:18;;:::i;:::-;-1:-1:-1;5151:9:1;;5090:76::o;5171:127::-;5232:10;5227:3;5223:20;5220:1;5213:31;5263:4;5260:1;5253:15;5287:4;5284:1;5277:15;5303:131;-1:-1:-1;;;;;5378:31:1;;5368:42;;5358:2;;5424:1;5421;5414:12;5358:2;5348:86;:::o

Swarm Source

ipfs://56e59a896a4e6123aa76485d5f65cffaa786db1f6b1a1c9c6cf6e138969c87f5
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.