Contract 0xb1bcc3bacbbbd02f02f9c1335f79c9dd98684905 1

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf69f3e9034025742a0e8ff4b99ed3bfd81e2b5d7b904d7c978a04ef3f25b2754Transfer166540432022-07-03 13:51:019 hrs 56 mins ago0xf139ecbadee513a8ea0637dbbcaec9e15cec6fb2 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xcb1cf2df3e7b26237076fa145b0708b85aaa4333d47221cb37b9e43faea49992Transfer166540292022-07-03 13:50:199 hrs 56 mins ago0x4fee364a12ec11b7b179b37f1f7bf6f83e4e04a0 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x725edecd123c5de84192edc8c105177f0a23fe08e7f544c9d9bffebfb50c764eTransfer166540092022-07-03 13:49:199 hrs 57 mins ago0xb9d6e67660dbb8abc00710a8dee2e76e5c6d99c2 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x555a45540228a019751d15a08e5e91f691c09998c259d04c8bdd6353a73f6a99Transfer166539952022-07-03 13:48:379 hrs 58 mins ago0x1bc9ab35b6cc5cf21f799bea96bab5af18243a17 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xee2965fc5dd41b85c12b8b530831ca8574a7d3f6dbeac852076e5325d786aae0Transfer166539812022-07-03 13:47:559 hrs 59 mins ago0xb99869635a07f82114fba1a2c034d3d93d9bd420 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x14490e8014b22f8310352feb9da65cbbc1ee5d5b8e96b44fa48ad7f10bb862a0Transfer166539662022-07-03 13:47:109 hrs 59 mins ago0x473af5d3269d1dea7930a0771955c9fe50ab7808 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xf444e8f192b044e1a941f287f4cfacbb22c923dc9932737d5fcca8f0a596e464Transfer166539472022-07-03 13:46:1310 hrs ago0x57384dc38b714f1fc3aa3b730e8a77d45fccaa65 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x025e855f7ecbcc45876f108199f8b26a0f1774196b67aa3ce93dfda5922d29e0Transfer166539332022-07-03 13:45:3110 hrs 1 min ago0x1acb4c4b15fd4dc95ad65a3b8b1b98fbd1c27a6f IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xcea62cc17e5188e19fbbc473a99b740d911326f0828d0c43b24f746ec683b878Transfer166539192022-07-03 13:44:4910 hrs 2 mins ago0x7f87293e2c77b8a735843417f0491d9cf93d4a1f IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xe653841aea5a9692ecdeb300c4d5f3411029ec79c3ba26aab50addf105bf44d5Transfer166539042022-07-03 13:44:0410 hrs 3 mins ago0xc985affa23228837fd0aef0439da6ac0df050a1f IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x660c52fd0d17af8b49da85440b5e019e4dff735ccdbe6a307d4d892df3a063ddTransfer166538872022-07-03 13:43:1310 hrs 3 mins ago0xd97bf2373dbbba12ed57cc2502e1a2503c9595fc IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x998817b9b6b6d08df6e1f5c7449a2d4909b85f729aa7caa2839ccc754f9cdf53Transfer166538732022-07-03 13:42:3110 hrs 4 mins ago0x4824f362bfcb77c04b64e1bdae52515fe4ab4fec IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xc5d86eee1b93fac8a76122ce8664a73ee8dd6785a7ac4d82edf4c91eb02a1a8bTransfer166538552022-07-03 13:41:3710 hrs 5 mins ago0xb2fb566f86332641e44246ed26daffcfd37026e9 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x11f869fe2b9490e658e2f8768a0f57882d63cc51b74bdc94887f175fffff5af0Transfer166538392022-07-03 13:40:4910 hrs 6 mins ago0x88010d71d7180127b79af1c9be1c39fb58a07dab IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x3d2e3d4f68679fb15fa253b4615cb85d33b3437563d2e1c24bfd23fec41efcf5Transfer166537852022-07-03 13:38:0710 hrs 9 mins ago0x2d9168933816c1ae4bae05cb8ffaaaf64f4f589c IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xa5fd3532c5d4b74c900c7a2be7bb1d8ff5ee96100de56207c29605eae6e9787aTransfer166537282022-07-03 13:35:1610 hrs 11 mins ago0x8ad8d5a324cbe473d901a4bcf6c0f44664ae9afa IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xdcf8c15145dc89f6a28e64c36f83efaf1c2b609718e9f6d991e842b9c5b37b31Transfer166537072022-07-03 13:34:1310 hrs 12 mins ago0x21cb7234b71e641d7bc13204392df7d35e28cbb6 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x6ef72e37d2816040e3a393295c7417123a3c7c1937afaaf2735425708c39b337Transfer166536862022-07-03 13:33:1010 hrs 13 mins ago0x71a4eb3111992f07fa3be933f3bfd24f31ba9fe0 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x0aa728749ed05eb3da06245b723b62eec923b381ceaeeb86369e1f1e82fb6840Transfer166536652022-07-03 13:32:0710 hrs 15 mins ago0x849de02c03950ee3a75274f4600b5c9539fce16a IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x6208d2d0212147bba2b4247aab93907be954422d045ff6ee84e606d39810e484Transfer166536492022-07-03 13:31:1910 hrs 15 mins ago0x5d7c33b56038e04cd8be35090d63f5fc1d41d400 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xa6edb16af8205b5ef344076da45276be897ecdb80074a8d93ec925e9f8c3125eTransfer166536322022-07-03 13:30:2810 hrs 16 mins ago0xd9a6631e519c0634938343e0123f9ab81c38b607 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xd957b112dd5b3beafbff01efa132d314f9ee340e808adca78aecce97aa6e8670Transfer166536152022-07-03 13:29:3710 hrs 17 mins ago0x855021cab6037b68c209cafa0aabf19f4f6923cf IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x3aaa65432cd32df52d967aa21bc67433fb1bededebd83dab04776c6070eea47fTransfer166535942022-07-03 13:28:3410 hrs 18 mins ago0x431556a33b6014161337a12ff3bb762edc6be7e4 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0xbe8aa739ff2a6fc76335cd781ae57588d7b4c1404d6fe09d0d4eac617a0e2a72Transfer166535622022-07-03 13:26:5810 hrs 20 mins ago0x22b02a8d028da94c3fdde6e2a141441d663ce5e7 IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
0x18d415b7942d1718522d985500bed151ab43f4fed65eb4698dcba908433272f5Transfer166535382022-07-03 13:25:4610 hrs 21 mins ago0x6e87ac957cd10c27a0ba8ad54182e1952de2822f IN  0xb1bcc3bacbbbd02f02f9c1335f79c9dd986849050 HT0.000103542.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
ERC777_1TokenStorage

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 2000 runs

Other Settings:
byzantium EvmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at hecoinfo.com on 2021-05-10
*/

pragma solidity >=0.5.0 <0.6.0;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function cbrt(uint256 n) internal pure returns (uint256) {
        if (n == 0) {
            return 0;
        }

        uint256[12] memory divisor =
            [
                uint256(1000000),
                uint256(100000),
                uint256(10000),
                uint256(1000),
                uint256(100),
                uint256(10),
                uint256(9),
                uint256(7),
                uint256(5),
                uint256(3),
                uint256(2),
                uint256(1)
            ];

        uint256[12] memory cube_root =
            [
                uint256(100.000000 * 1e6),
                uint256(46.415888 * 1e6),
                uint256(21.544347 * 1e6),
                uint256(10.000000 * 1e6),
                uint256(4.641589 * 1e6),
                uint256(2.154434 * 1e6),
                uint256(2.080083 * 1e6),
                uint256(1.912931 * 1e6),
                uint256(1.709975 * 1e6),
                uint256(1.442249 * 1e6),
                uint256(1.259921 * 1e6),
                uint256(1.000000 * 1e6)
            ];

        uint256 a = n;
        uint256 r = 1;

        for (uint256 j = 0; j < divisor.length; ) {
            if (a >= divisor[j]) {
                r = (r * cube_root[j]) / 1e6;
                a /= divisor[j];
            } else if (a <= 1) {
                break;
            } else {
                j++;
            }
        }

        return r;
    }
}

contract KTimeController {
    uint256 public offsetTime;

    function timestemp() external view returns (uint256) {
        return now + offsetTime;
    }

    function increaseTime(uint256 t) external {
        offsetTime += t;
    }
}

pragma solidity >=0.5.0 <0.6.0;

contract KOwnerable {
    address[] internal _authAddress = [
        address(0x013a0Fe4a79afFF253Fd0ACBDC891384EBbD0630)
    ];

    address[] public KContractOwners = [
        address(0x013a0Fe4a79afFF253Fd0ACBDC891384EBbD0630)
    ];

    bool private _call_locked;

    constructor() public {
        KContractOwners.push(msg.sender);
        _authAddress.push(msg.sender);
    }

    function KAuthAddresses() external view returns (address[] memory) {
        return _authAddress;
    }

    function KAddAuthAddress(address auther) external KOwnerOnly {
        _authAddress.push(auther);
    }

    function KDelAuthAddress(address auther) external KOwnerOnly {
        for (uint256 i = 0; i < _authAddress.length; i++) {
            if (_authAddress[i] == auther) {
                for (uint256 j = 0; j < _authAddress.length - 1; j++) {
                    _authAddress[j] = _authAddress[j + 1];
                }
                delete _authAddress[_authAddress.length - 1];
                _authAddress.pop();
                return;
            }
        }
    }

    modifier KOwnerOnly() {
        bool exist = false;
        for (uint256 i = 0; i < KContractOwners.length; i++) {
            if (KContractOwners[i] == msg.sender) {
                exist = true;
                break;
            }
        }
        require(exist, "NotAuther");
        _;
    }

    modifier KOwnerOnlyAPI() {
        bool exist = false;
        for (uint256 i = 0; i < KContractOwners.length; i++) {
            if (KContractOwners[i] == msg.sender) {
                exist = true;
                break;
            }
        }
        require(exist, "NotAuther");
        _;
    }

    modifier KRejectContractCall() {
        uint256 size;
        address payable safeAddr = msg.sender;
        assembly {
            size := extcodesize(safeAddr)
        }
        require(size == 0, "Sender Is Contract");
        _;
    }

    modifier KDAODefense() {
        require(!_call_locked, "DAO_Warning");
        _call_locked = true;
        _;
        _call_locked = false;
    }

    modifier KDelegateMethod() {
        bool exist = false;
        for (uint256 i = 0; i < _authAddress.length; i++) {
            if (_authAddress[i] == msg.sender) {
                exist = true;
                break;
            }
        }
        require(exist, "PermissionDeny");
        _;
    }

    function uint2str(uint256 i) internal pure returns (string memory c) {
        if (i == 0) return "0";
        uint256 j = i;
        uint256 length;
        while (j != 0) {
            length++;
            j /= 10;
        }
        bytes memory bstr = new bytes(length);
        uint256 k = length - 1;
        while (i != 0) {
            bstr[k--] = bytes1(uint8(48 + (i % 10)));
            i /= 10;
        }
        c = string(bstr);
    }
}

contract KPausable is KOwnerable {
    event Paused(address account);

    event Unpaused(address account);

    bool public paused;

    constructor() internal {
        paused = false;
    }

    modifier KWhenNotPaused() {
        require(!paused, "Pausable: paused");
        _;
    }

    modifier KWhenPaused() {
        require(paused, "Pausable: not paused");
        _;
    }

    function Pause() public KOwnerOnly {
        paused = true;
        emit Paused(msg.sender);
    }

    function Unpause() public KOwnerOnly {
        paused = false;
        emit Unpaused(msg.sender);
    }
}

contract KDebug is KPausable {
    KTimeController internal debugTimeController;

    function timestempZero() internal view returns (uint256) {
        return (timestemp() / 1 days) * 1 days;
    }

    function timestemp() internal view returns (uint256) {
        if (debugTimeController != KTimeController(0)) {
            return debugTimeController.timestemp();
        } else {
            return now;
        }
    }

    function KSetDebugTimeController(address tc) external KOwnerOnly {
        debugTimeController = KTimeController(tc);
    }
}

contract KStorage is KDebug {
    address public KImplementAddress;

    function SetKImplementAddress(address impl) external KOwnerOnly {
        KImplementAddress = impl;
    }

    function() external {
        address impl_address = KImplementAddress;
        assembly {
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(
                sub(gas(), 10000),
                impl_address,
                0x0,
                calldatasize(),
                0,
                0
            )
            let retSz := returndatasize()
            returndatacopy(0, 0, retSz)
            switch success
                case 0 {
                    revert(0, retSz)
                }
                default {
                    return(0, retSz)
                }
        }
    }
}

contract KStoragePayable is KDebug {
    address public KImplementAddress;

    function SetKImplementAddress(address impl) external KOwnerOnly {
        KImplementAddress = impl;
    }

    function() external payable {
        address impl_address = KImplementAddress;
        assembly {
            if eq(calldatasize(), 0) {
                return(0, 0)
            }

            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(
                gas(),
                impl_address,
                0x0,
                calldatasize(),
                0,
                0
            )
            let retSz := returndatasize()
            returndatacopy(0, 0, retSz)
            switch success
                case 0 {
                    revert(0, retSz)
                }
                default {
                    return(0, retSz)
                }
        }
    }
}

pragma solidity >=0.5.0 <0.6.0;

pragma solidity >=0.5.1 <0.7.0;

interface iERC777_1 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    function increaseAllowance(address spender, uint256 addedValue)
        external
        returns (bool);

    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function granularity() external view returns (uint256);

    function defaultOperators() external view returns (address[] memory);

    function addDefaultOperators(address owner) external returns (bool);

    function removeDefaultOperators(address owner) external returns (bool);

    function isOperatorFor(address operator, address holder)
        external
        view
        returns (bool);

    function authorizeOperator(address operator) external;

    function revokeOperator(address operator) external;

    function send(
        address to,
        uint256 amount,
        bytes calldata data
    ) external;

    function operatorSend(
        address from,
        address to,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    function burn(uint256 amount, bytes calldata data) external;

    function operatorBurn(
        address from,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    event Sent(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event Minted(
        address indexed operator,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event Burned(
        address indexed operator,
        address indexed from,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event AuthorizedOperator(address indexed operator, address indexed holder);
    event RevokedOperator(address indexed operator, address indexed holder);
}

pragma solidity >=0.5.1 <0.6.0;

contract ERC777_1TokenStorage is KStorage {
    using SafeMath for uint256;

    address[] internal _defaultOperators;

    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    mapping(address => mapping(address => bool)) internal _authorized;

    string public name;
    string public symbol;
    uint8 public decimals = 18;
    uint256 public totalSupply;
    uint256 public granularity = 1;

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _totalSupply
    ) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalSupply;

        _balances[msg.sender] = _totalSupply;
        _defaultOperators.push(msg.sender);
    }
}

contract ERC777_1Token is iERC777_1, ERC777_1TokenStorage {
    constructor() public ERC777_1TokenStorage("", "", 0, 0) {}

    function balanceOf(address account) external view returns (uint256) {
        return _balances[account];
    }

    function allowance(address owner, address spender)
        external
        view
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function transfer(address recipient, uint256 amount)
        external
        KWhenNotPaused
        returns (bool)
    {
        _send(msg.sender, recipient, amount, "", msg.sender, "");
        return true;
    }

    function approve(address spender, uint256 value)
        external
        KWhenNotPaused
        returns (bool)
    {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external KWhenNotPaused returns (bool) {
        require(amount <= _allowances[sender][msg.sender]);
        _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(
            amount
        );
        _send(sender, recipient, amount, "", msg.sender, "");
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        external
        KWhenNotPaused
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        KWhenNotPaused
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function addDefaultOperators(address owner)
        external
        KOwnerOnly
        returns (bool)
    {
        _defaultOperators.push(owner);
    }

    function removeDefaultOperators(address owner)
        external
        KOwnerOnly
        returns (bool)
    {
        for (uint256 i = 0; i < _defaultOperators.length; i++) {
            if (_defaultOperators[i] == owner) {
                for (uint256 j = i; j < _defaultOperators.length - 1; j++) {
                    _defaultOperators[j] = _defaultOperators[j + 1];
                }
                delete _defaultOperators[_defaultOperators.length - 1];
                _defaultOperators.length--;
                return true;
            }
        }
        return false;
    }

    function defaultOperators() external view returns (address[] memory) {
        return _defaultOperators;
    }

    function authorizeOperator(address _operator) external {
        require(_operator != msg.sender);
        _authorized[_operator][msg.sender] = true;
        emit AuthorizedOperator(_operator, msg.sender);
    }

    function revokeOperator(address _operator) external {
        require(_operator != msg.sender);
        _authorized[_operator][msg.sender] = false;
        emit RevokedOperator(_operator, msg.sender);
    }

    function send(
        address _to,
        uint256 _amount,
        bytes calldata _userData
    ) external {
        _send(msg.sender, _to, _amount, _userData, msg.sender, "");
    }

    function isOperatorFor(address _operator, address _tokenHolder)
        public
        view
        returns (bool)
    {
        for (uint256 i = 0; i < _defaultOperators.length; i++) {
            if (_defaultOperators[i] == _operator) {
                return true;
            }
        }
        return
            _operator == _tokenHolder || _authorized[_operator][_tokenHolder];
    }

    function operatorSend(
        address _from,
        address _to,
        uint256 _amount,
        bytes calldata _userData,
        bytes calldata _operatorData
    ) external {
        require(isOperatorFor(msg.sender, _from), "NotAuthorized");
        _send(_from, _to, _amount, _userData, msg.sender, _operatorData);
    }

    function mint(
        address _tokenHolder,
        uint256 _amount,
        bytes calldata _operatorData
    ) external KOwnerOnly {
        totalSupply = totalSupply.add(_amount);
        _balances[_tokenHolder] = _balances[_tokenHolder].add(_amount);
        emit Minted(msg.sender, _tokenHolder, _amount, "", _operatorData);
    }

    function burn(uint256 _amount, bytes calldata _data) external {
        _send(msg.sender, address(0x0), _amount, _data, msg.sender, "");
    }

    function operatorBurn(
        address _from,
        uint256 _amount,
        bytes calldata _data,
        bytes calldata _operatorData
    ) external {
        require(isOperatorFor(msg.sender, _from), "NotAuthorized");

        if (totalSupply <= 10000000e6) {
            _send(
                _from,
                KContractOwners[0],
                _amount,
                _data,
                msg.sender,
                _operatorData
            );
        } else {
            _send(
                _from,
                address(0x0),
                _amount,
                _data,
                msg.sender,
                _operatorData
            );
        }
    }

    function _send(
        address _from,
        address _to,
        uint256 _amount,
        bytes memory _userData,
        address _operator,
        bytes memory _operatorData
    ) internal {
        require(_balances[_from] >= _amount);
        _balances[_from] = _balances[_from].sub(_amount);
        _balances[_to] = _balances[_to].add(_amount);

        if (_to == address(0)) {
            totalSupply -= _amount;
            emit Burned(_operator, _from, _amount, _userData, _operatorData);
        } else {
            emit Sent(_operator, _from, _to, _amount, _userData, _operatorData);
        }

        emit Transfer(_from, _to, _amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"auther","type":"address"}],"name":"KAddAuthAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"KAuthAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"KContractOwners","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"auther","type":"address"}],"name":"KDelAuthAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"KImplementAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tc","type":"address"}],"name":"KSetDebugTimeController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"Pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"impl","type":"address"}],"name":"SetKImplementAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"Unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

60a060405273013a0fe4a79afff253fd0acbdc891384ebbd063060809081526200002e9060009060016200033f565b50604080516020810190915273013a0fe4a79afff253fd0acbdc891384ebbd063081526200006090600190816200033f565b50600a805460ff191660121790556001600c553480156200008057600080fd5b506040516200123f3803806200123f83398181016040526080811015620000a657600080fd5b8101908080516040519392919084640100000000821115620000c757600080fd5b908301906020820185811115620000dd57600080fd5b8251640100000000811182820188101715620000f857600080fd5b82525081516020918201929091019080838360005b83811015620001275781810151838201526020016200010d565b50505050905090810190601f168015620001555780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200017957600080fd5b9083019060208201858111156200018f57600080fd5b8251640100000000811182820188101715620001aa57600080fd5b82525081516020918201929091019080838360005b83811015620001d9578181015183820152602001620001bf565b50505050905090810190601f168015620002075780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101516001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805433600160a060020a0319918216811790925560008054938401815580527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390920180549092161790556002805461ff001916905586519294509250620002b191600891870190620003a9565b508251620002c7906009906020860190620003a9565b50600a805460ff191660ff9390931692909217909155600b819055336000818152600560205260408120929092556004805460018101825592527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9091018054600160a060020a031916909117905550620004719050565b82805482825590600052602060002090810192821562000397579160200282015b82811115620003975782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019062000360565b50620003a59291506200042a565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ec57805160ff19168380011785556200041c565b828001600101855582156200041c579182015b828111156200041c578251825591602001919060010190620003ff565b50620003a592915062000454565b6200045191905b80821115620003a5578054600160a060020a031916815560010162000431565b90565b6200045191905b80821115620003a557600081556001016200045b565b610dbe80620004816000396000f3fe608060405234801561001057600080fd5b5060043610610112576000357c010000000000000000000000000000000000000000000000000000000090048063556f0dc7116100b45780637805862f116100835780637805862f1461031e57806383fce35a1461032657806395d89b4114610359578063dd021ff81461036157610112565b8063556f0dc7146102bf5780635c975abb146102c75780636985a022146102e35780637391cca2146102eb57610112565b8063313ce567116100f0578063313ce56714610220578063476190fd1461023e5780634cc1fc07146102715780635261f2dc146102a257610112565b8063042132c11461015457806306fdde031461018957806318160ddd14610206575b60035473ffffffffffffffffffffffffffffffffffffffff163660008037600080366000846127105a03f43d806000803e81801561014f57816000f35b816000fd5b6101876004803603602081101561016a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166103b9565b005b61019161060b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020e610699565b60408051918252519081900360200190f35b61022861069f565b6040805160ff9092168252519081900360200190f35b6101876004803603602081101561025457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106a8565b6102796107ea565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610279600480360360208110156102b857600080fd5b5035610806565b61020e61083a565b6102cf610840565b604080519115158252519081900360200190f35b61018761084e565b6101876004803603602081101561030157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661096b565b610187610a91565b6101876004803603602081101561033c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610baa565b610191610cbf565b610369610d1a565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103a557818101518382015260200161038d565b505050509050019250505060405180910390f35b6000805b600154811015610424573373ffffffffffffffffffffffffffffffffffffffff16600182815481106103eb57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561041c5760019150610424565b6001016103bd565b508061049157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b600054811015610605578273ffffffffffffffffffffffffffffffffffffffff16600082815481106104c257fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156105fd5760005b60005460001901811015610587576000816001018154811061050b57fe5b6000918252602082200154815473ffffffffffffffffffffffffffffffffffffffff90911691908390811061053c57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff929092169190911790556001016104ed565b5060008054600019810190811061059a57fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff191690558054806105c857fe5b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905550610607565b600101610494565b505b5050565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106915780601f1061066657610100808354040283529160200191610691565b820191906000526020600020905b81548152906001019060200180831161067457829003601f168201915b505050505081565b600b5481565b600a5460ff1681565b6000805b600154811015610713573373ffffffffffffffffffffffffffffffffffffffff16600182815481106106da57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561070b5760019150610713565b6001016106ac565b508061078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b50600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6001818154811061081357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b600c5481565b600254610100900460ff1681565b6000805b6001548110156108b9573373ffffffffffffffffffffffffffffffffffffffff166001828154811061088057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156108b157600191506108b9565b600101610852565b508061092657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6002805461ff0019166101001790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a150565b6000805b6001548110156109d6573373ffffffffffffffffffffffffffffffffffffffff166001828154811061099d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156109ce57600191506109d6565b60010161096f565b5080610a4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b506002805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6000805b600154811015610afc573373ffffffffffffffffffffffffffffffffffffffff1660018281548110610ac357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610af45760019150610afc565b600101610a95565b5080610b6957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6002805461ff00191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a150565b6000805b600154811015610c15573373ffffffffffffffffffffffffffffffffffffffff1660018281548110610bdc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610c0d5760019150610c15565b600101610bae565b5080610c8257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f744175746865720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b506003805473ffffffffffffffffffffffffffffffffffffffff191673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106915780601f1061066657610100808354040283529160200191610691565b60606000805480602002602001604051908101604052809291908181526020018280548015610d7f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d54575b505050505090509056fea265627a7a72315820530e19b1e14ee9a7156fb4ba00b4c1eb195b1e99144998bda10594c2eeb78edd64736f6c634300050c0032000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000003555043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035550430000000000000000000000000000000000000000000000000000000000

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000003555043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035550430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): UPC
Arg [1] : _symbol (string): UPC
Arg [2] : _decimals (uint8): 18
Arg [3] : _totalSupply (uint256): 1000000000000000000000000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 5550430000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 5550430000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

12458:856:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12458:856:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7821:17;;;;7896:14;7798:20;;7873:38;8113:1;8093;8060:14;8038:3;8007:12;7982:5;7975;7971:17;7940:189;8156:16;8207:5;8204:1;8201;8186:27;8234:7;8259:65;;;;8383:5;8380:1;8373:16;8259:65;8299:5;8296:1;8289:16;4042:479;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4042:479:0;;;;:::i;:::-;;12789:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12789:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12874:26;;;:::i;:::-;;;;;;;;;;;;;;;;12841;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3929:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3929:105:0;;;;:::i;7611:32::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3549:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3549:104:0;;:::i;12907:30::-;;;:::i;6484:18::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;6777:101;;;:::i;7444:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7444:125:0;;;;:::i;6886:106::-;;;:::i;7652:107::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7652:107:0;;;;:::i;12814:20::-;;;:::i;3816:105::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3816:105:0;;;;;;;;;;;;;;;;;4042:479;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4119:9;4114:400;4138:12;:19;4134:23;;4114:400;;;4202:6;4183:25;;:12;4196:1;4183:15;;;;;;;;;;;;;;;;;;;;:25;4179:324;;;4234:9;4229:134;4253:12;:19;-1:-1:-1;;4253:23:0;4249:27;;4229:134;;;4324:12;4337:1;4341;4337:5;4324:19;;;;;;;;;;;;;;;;;4306:15;;4324:19;;;;;;4319:1;;4306:15;;;;;;;;;;;;;;;:37;;-1:-1:-1;;4306:37:0;;;;;;;;;;;;-1:-1:-1;4278:3:0;4229:134;;;-1:-1:-1;4388:12:0;4401:19;;-1:-1:-1;;4401:23:0;;;4388:37;;;;;;;;;;;;;;4381:44;;-1:-1:-1;;4381:44:0;;;4444:18;;;;;;;;;;;;;;;;-1:-1:-1;;4444:18:0;;;;;-1:-1:-1;;4444:18:0;;;;;;-1:-1:-1;4481:7:0;;4179:324;4159:3;;4114:400;;;;4827:1;4042:479;;:::o;12789:18::-;;;;;;;;;;;;;;;-1:-1:-1;;12789:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12874:26::-;;;;:::o;12841:::-;;;;;;:::o;3929:105::-;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4001:12:0;27:10:-1;;39:1;23:18;;45:23;;4001:25:0;;;;;;;-1:-1:-1;;4001:25:0;;;;;;;;;;;;3929:105::o;7611:32::-;;;;;;:::o;3549:104::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3549:104:0;:::o;12907:30::-;;;;:::o;6484:18::-;;;;;;;;;:::o;6777:101::-;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6823:6;:13;;-1:-1:-1;;6823:13:0;;;;;6852:18;;;6859:10;6852:18;;;;;;;;;;;;;6777:101;:::o;7444:125::-;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7520:19:0;:41;;;;;;;;;;;;;;;;;;7444:125::o;6886:106::-;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6934:6;:14;;-1:-1:-1;;6934:14:0;;;6964:20;;;6973:10;6964:20;;;;;;;;;;;;;6886:106;:::o;7652:107::-;4562:10;;4591:188;4615:15;:22;4611:26;;4591:188;;;4685:10;4663:32;;:15;4679:1;4663:18;;;;;;;;;;;;;;;;;;;;:32;4659:109;;;4724:4;4716:12;;4747:5;;4659:109;4639:3;;4591:188;;;;4797:5;4789:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7727:17:0;:24;;-1:-1:-1;;7727:24:0;;;;;;;;;;;;7652:107::o;12814:20::-;;;;;;;;;;;;;;;-1:-1:-1;;12814:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3816:105;3865:16;3901:12;3894:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3816:105;:::o

Swarm Source

bzzr://530e19b1e14ee9a7156fb4ba00b4c1eb195b1e99144998bda10594c2eeb78edd
Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading