BNB Price: $628.02 (+1.69%)
 

Overview

BNB Balance

BNB Smart Chain LogoBNB Smart Chain LogoBNB Smart Chain Logo100.070416709541642374 BNB

BNB Value

$62,846.34 (@ $628.02/BNB)

Token Holdings

More Info

Private Name Tags

ContractCreator

N/A (Genesis Contract)

Multichain Info

Transaction Hash
Block
From
To
Transfer808938922026-02-13 1:58:493 days ago1770947929IN
BSC: System Reward
0.00001 BNB0.000001930.08611292
Claim Rewards801175762026-02-09 0:55:167 days ago1770598516IN
BSC: System Reward
0 BNB0.000003290.125
Claim Rewards747827882026-01-10 23:57:0136 days ago1768089421IN
BSC: System Reward
0 BNB0.000001310.05
0x44d227ae713215242025-12-11 22:41:0566 days ago1765492865IN
BSC: System Reward
0 BNB0.000001580.05
0x44d227ae710553282025-12-09 15:13:2768 days ago1765293207IN
BSC: System Reward
0 BNB0.000001580.05
0x44d227ae710552962025-12-09 15:13:0368 days ago1765293183IN
BSC: System Reward
0 BNB0.000001580.05
Transfer707129472025-12-06 15:53:1371 days ago1765036393IN
BSC: System Reward
0.001 BNB0.000001120.05
Transfer703810492025-12-03 18:41:5774 days ago1764787317IN
BSC: System Reward
0.00011936 BNB0.000001120.05
0x44d227ae660485822025-10-27 3:54:39112 days ago1761537279IN
BSC: System Reward
0 BNB0.000001580.05
0x44d227ae660345722025-10-27 0:59:31112 days ago1761526771IN
BSC: System Reward
0 BNB0.000001580.05
0x44d227ae660329692025-10-27 0:39:29112 days ago1761525569IN
BSC: System Reward
0 BNB0.000001580.05
0x44d227ae658947592025-10-25 19:51:38113 days ago1761421898IN
BSC: System Reward
0 BNB0.000001580.05
Claim Rewards633765072025-10-03 22:47:39135 days ago1759531659IN
BSC: System Reward
0 BNB0.000001450.055
0x44d227ae606829692025-09-10 13:26:43158 days ago1757510803IN
BSC: System Reward
0 BNB0.000003160.1
0x44d227ae605160992025-09-09 2:40:20160 days ago1757385620IN
BSC: System Reward
0 BNB0.000003160.1
0x44d227ae605156802025-09-09 2:35:06160 days ago1757385306IN
BSC: System Reward
0 BNB0.000003160.1
Transfer593253562025-08-29 18:32:28170 days ago1756492348IN
BSC: System Reward
0.00052 BNB0.00000450.2
Transfer593241732025-08-29 18:17:41170 days ago1756491461IN
BSC: System Reward
0.0005073 BNB0.00000450.2
Transfer576161102025-08-14 22:23:18185 days ago1755210198IN
BSC: System Reward
0.002993 BNB0.000002250.1
Transfer570006412025-08-09 14:09:13190 days ago1754748553IN
BSC: System Reward
0.00021152 BNB0.000002250.1
0x44d227ae537294612025-07-12 4:35:36219 days ago1752294936IN
BSC: System Reward
0 BNB0.000002980.11
0x44d227ae537294582025-07-12 4:35:34219 days ago1752294934IN
BSC: System Reward
0 BNB0.000002960.11
0x44d227ae537293962025-07-12 4:34:48219 days ago1752294888IN
BSC: System Reward
0 BNB0.000002980.11
0x44d227ae537293912025-07-12 4:34:44219 days ago1752294884IN
BSC: System Reward
0 BNB0.000002960.11
0x44d227ae524339882025-06-30 22:41:15230 days ago1751323275IN
BSC: System Reward
0 BNB0.000003250.1
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
815595552026-02-16 13:12:046 secs ago1771247524
BSC: System Reward
0.00083933 BNB
815595542026-02-16 13:12:046 secs ago1771247524
BSC: System Reward
0.00030532 BNB
815595532026-02-16 13:12:046 secs ago1771247524
BSC: System Reward
0.00015611 BNB
815595522026-02-16 13:12:037 secs ago1771247523
BSC: System Reward
0.00017542 BNB
815595512026-02-16 13:12:037 secs ago1771247523
BSC: System Reward
0.0002547 BNB
815595502026-02-16 13:12:028 secs ago1771247522
BSC: System Reward
0.0004149 BNB
815595492026-02-16 13:12:028 secs ago1771247522
BSC: System Reward
0.00022823 BNB
815595482026-02-16 13:12:019 secs ago1771247521
BSC: System Reward
0.00040454 BNB
815595472026-02-16 13:12:019 secs ago1771247521
BSC: System Reward
0.0003088 BNB
815595462026-02-16 13:12:0010 secs ago1771247520
BSC: System Reward
0.00030374 BNB
815595452026-02-16 13:12:0010 secs ago1771247520
BSC: System Reward
0.000525 BNB
815595442026-02-16 13:12:0010 secs ago1771247520
BSC: System Reward
0.00022123 BNB
815595432026-02-16 13:11:5911 secs ago1771247519
BSC: System Reward
0.00008545 BNB
815595422026-02-16 13:11:5911 secs ago1771247519
BSC: System Reward
0.00015127 BNB
815595412026-02-16 13:11:5812 secs ago1771247518
BSC: System Reward
0.00025712 BNB
815595402026-02-16 13:11:5812 secs ago1771247518
BSC: System Reward
0.00050799 BNB
815595392026-02-16 13:11:5713 secs ago1771247517
BSC: System Reward
0.00059033 BNB
815595382026-02-16 13:11:5713 secs ago1771247517
BSC: System Reward
0.00011657 BNB
815595372026-02-16 13:11:5614 secs ago1771247516
BSC: System Reward
0.00028122 BNB
815595362026-02-16 13:11:5614 secs ago1771247516
BSC: System Reward
0.00033125 BNB
815595352026-02-16 13:11:5515 secs ago1771247515
BSC: System Reward
0.00016411 BNB
815595342026-02-16 13:11:5515 secs ago1771247515
BSC: System Reward
0.0002184 BNB
815595332026-02-16 13:11:5515 secs ago1771247515
BSC: System Reward
0.00029896 BNB
815595322026-02-16 13:11:5416 secs ago1771247514
BSC: System Reward
0.00021994 BNB
815595312026-02-16 13:11:5416 secs ago1771247514
BSC: System Reward
0.00040137 BNB
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Genesis Bytecode Match Only)

Contract Name:
SystemReward

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at BscScan.com on 2020-09-02
*/

pragma solidity 0.6.4;

interface ISystemReward {
    function claimRewards(address payable to, uint256 amount) external returns (uint256 actualAmount);
}

interface IRelayerHub {
    function isRelayer(address sender) external view returns (bool);
}

interface ILightClient {
    function isHeaderSynced(uint64 height) external view returns (bool);

    function getAppHash(uint64 height) external view returns (bytes32);

    function getSubmitter(uint64 height) external view returns (address payable);
}

contract System {
    bool public alreadyInit;

    uint32 public constant CODE_OK = 0;
    uint16 public constant bscChainID = 0x0038;
    address public constant VALIDATOR_CONTRACT_ADDR = 0x0000000000000000000000000000000000001000;
    address public constant SLASH_CONTRACT_ADDR = 0x0000000000000000000000000000000000001001;
    address public constant SYSTEM_REWARD_ADDR = 0x0000000000000000000000000000000000001002;
    address public constant LIGHT_CLIENT_ADDR = 0x0000000000000000000000000000000000001003;
    address public constant TOKEN_HUB_ADDR = 0x0000000000000000000000000000000000001004;
    address public constant INCENTIVIZE_ADDR = 0x0000000000000000000000000000000000001005;
    address public constant RELAYERHUB_CONTRACT_ADDR = 0x0000000000000000000000000000000000001006;
    address public constant GOV_HUB_ADDR = 0x0000000000000000000000000000000000001007;
    address public constant TOKEN_MANAGER_ADDR = 0x0000000000000000000000000000000000001008;
    address public constant CROSS_CHAIN_CONTRACT_ADDR = 0x0000000000000000000000000000000000002000;
    address public constant STAKING_CONTRACT_ADDR = 0x0000000000000000000000000000000000002001;
    address public constant STAKE_HUB_ADDR = 0x0000000000000000000000000000000000002002;
    address public constant STAKE_CREDIT_ADDR = 0x0000000000000000000000000000000000002003;
    address public constant GOVERNOR_ADDR = 0x0000000000000000000000000000000000002004;
    address public constant GOV_TOKEN_ADDR = 0x0000000000000000000000000000000000002005;
    address public constant TIMELOCK_ADDR = 0x0000000000000000000000000000000000002006;
    address public constant TOKEN_RECOVER_PORTAL_ADDR = 0x0000000000000000000000000000000000003000;

    modifier onlyCoinbase() {
        require(msg.sender == block.coinbase, "the message sender must be the block producer");
        _;
    }

    modifier onlyZeroGasPrice() {
        require(tx.gasprice == 0, "gasprice is not zero");
        _;
    }

    modifier onlyNotInit() {
        require(!alreadyInit, "the contract already init");
        _;
    }

    modifier onlyInit() {
        require(alreadyInit, "the contract not init yet");
        _;
    }

    modifier onlySlash() {
        require(msg.sender == SLASH_CONTRACT_ADDR, "the message sender must be slash contract");
        _;
    }

    modifier onlyTokenHub() {
        require(msg.sender == TOKEN_HUB_ADDR, "the message sender must be token hub contract");
        _;
    }

    modifier onlyGov() {
        require(msg.sender == GOV_HUB_ADDR, "the message sender must be governance contract");
        _;
    }

    modifier onlyValidatorContract() {
        require(msg.sender == VALIDATOR_CONTRACT_ADDR, "the message sender must be validatorSet contract");
        _;
    }

    modifier onlyCrossChainContract() {
        require(msg.sender == CROSS_CHAIN_CONTRACT_ADDR, "the message sender must be cross chain contract");
        _;
    }

    modifier onlyRelayerIncentivize() {
        require(msg.sender == INCENTIVIZE_ADDR, "the message sender must be incentivize contract");
        _;
    }

    modifier onlyRelayer() {
        require(IRelayerHub(RELAYERHUB_CONTRACT_ADDR).isRelayer(msg.sender), "the msg sender is not a relayer");
        _;
    }

    modifier onlyTokenManager() {
        require(msg.sender == TOKEN_MANAGER_ADDR, "the msg sender must be tokenManager");
        _;
    }

    modifier onlyStakeHub() {
        require(msg.sender == STAKE_HUB_ADDR, "the msg sender must be stakeHub");
        _;
    }

    modifier onlyGovernorTimelock() {
        require(msg.sender == TIMELOCK_ADDR, "the msg sender must be governor timelock contract");
        _;
    }

    modifier onlyTokenRecoverPortal() {
        require(msg.sender == TOKEN_RECOVER_PORTAL_ADDR, "the msg sender must be token recover portal");
        _;
    }

    // Not reliable, do not use when need strong verify
    function isContract(address addr) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(addr)
        }
        return size > 0;
    }
}

library Memory {
    // Size of a word, in bytes.
    uint256 internal constant WORD_SIZE = 32;
    // Size of the header of a 'bytes' array.
    uint256 internal constant BYTES_HEADER_SIZE = 32;
    // Address of the free memory pointer.
    uint256 internal constant FREE_MEM_PTR = 0x40;

    // Compares the 'len' bytes starting at address 'addr' in memory with the 'len'
    // bytes starting at 'addr2'.
    // Returns 'true' if the bytes are the same, otherwise 'false'.
    function equals(uint256 addr, uint256 addr2, uint256 len) internal pure returns (bool equal) {
        assembly {
            equal := eq(keccak256(addr, len), keccak256(addr2, len))
        }
    }

    // Compares the 'len' bytes starting at address 'addr' in memory with the bytes stored in
    // 'bts'. It is allowed to set 'len' to a lower value then 'bts.length', in which case only
    // the first 'len' bytes will be compared.
    // Requires that 'bts.length >= len'
    function equals(uint256 addr, uint256 len, bytes memory bts) internal pure returns (bool equal) {
        require(bts.length >= len);
        uint256 addr2;
        assembly {
            addr2 := add(bts, /*BYTES_HEADER_SIZE*/ 32)
        }
        return equals(addr, addr2, len);
    }

    function compareStrings(string memory a, string memory b) internal pure returns (bool) {
        return (keccak256(abi.encodePacked((a))) == keccak256(abi.encodePacked((b))));
    }

    // Copy 'len' bytes from memory address 'src', to address 'dest'.
    // This function does not check the or destination, it only copies
    // the bytes.
    function copy(uint256 src, uint256 dest, uint256 len) internal pure {
        // Copy word-length chunks while possible
        for (; len >= WORD_SIZE; len -= WORD_SIZE) {
            assembly {
                mstore(dest, mload(src))
            }
            dest += WORD_SIZE;
            src += WORD_SIZE;
        }

        // Copy remaining bytes
        uint256 mask = 256 ** (WORD_SIZE - len) - 1;
        assembly {
            let srcpart := and(mload(src), not(mask))
            let destpart := and(mload(dest), mask)
            mstore(dest, or(destpart, srcpart))
        }
    }

    // Returns a memory pointer to the provided bytes array.
    function ptr(bytes memory bts) internal pure returns (uint256 addr) {
        assembly {
            addr := bts
        }
    }

    // Returns a memory pointer to the data portion of the provided bytes array.
    function dataPtr(bytes memory bts) internal pure returns (uint256 addr) {
        assembly {
            addr := add(bts, /*BYTES_HEADER_SIZE*/ 32)
        }
    }

    // This function does the same as 'dataPtr(bytes memory)', but will also return the
    // length of the provided bytes array.
    function fromBytes(bytes memory bts) internal pure returns (uint256 addr, uint256 len) {
        len = bts.length;
        assembly {
            addr := add(bts, /*BYTES_HEADER_SIZE*/ 32)
        }
    }

    // Creates a 'bytes memory' variable from the memory address 'addr', with the
    // length 'len'. The function will allocate new memory for the bytes array, and
    // the 'len bytes starting at 'addr' will be copied into that new memory.
    function toBytes(uint256 addr, uint256 len) internal pure returns (bytes memory bts) {
        bts = new bytes(len);
        uint256 btsptr;
        assembly {
            btsptr := add(bts, /*BYTES_HEADER_SIZE*/ 32)
        }
        copy(addr, btsptr, len);
    }

    // Get the word stored at memory address 'addr' as a 'uint'.
    function toUint(uint256 addr) internal pure returns (uint256 n) {
        assembly {
            n := mload(addr)
        }
    }

    // Get the word stored at memory address 'addr' as a 'bytes32'.
    function toBytes32(uint256 addr) internal pure returns (bytes32 bts) {
        assembly {
            bts := mload(addr)
        }
    }
}

interface IParamSubscriber {
    function updateParam(string calldata key, bytes calldata value) external;
}

contract SystemReward is System, IParamSubscriber, ISystemReward {
    uint256 public constant MAX_REWARDS = 5e18;

    uint256 public numOperator;
    mapping(address => bool) operators;

    modifier doInit() {
        if (!alreadyInit) {
            operators[LIGHT_CLIENT_ADDR] = true;
            operators[INCENTIVIZE_ADDR] = true;
            numOperator = 2;
            alreadyInit = true;
        }
        _;
    }

    modifier onlyOperator() {
        require(operators[msg.sender], "only operator is allowed to call the method");
        _;
    }

    event rewardTo(address indexed to, uint256 amount);
    event rewardEmpty();
    event receiveDeposit(address indexed from, uint256 amount);
    event addOperator(address indexed operator);
    event deleteOperator(address indexed operator);
    event paramChange(string key, bytes value);

    receive() external payable {
        if (msg.value > 0) {
            emit receiveDeposit(msg.sender, msg.value);
        }
    }

    function claimRewards(
        address payable to,
        uint256 amount
    ) external override(ISystemReward) doInit onlyOperator returns (uint256) {
        uint256 actualAmount = amount < address(this).balance ? amount : address(this).balance;
        if (actualAmount > MAX_REWARDS) {
            actualAmount = MAX_REWARDS;
        }
        if (actualAmount != 0) {
            to.transfer(actualAmount);
            emit rewardTo(to, actualAmount);
        } else {
            emit rewardEmpty();
        }
        return actualAmount;
    }

    function isOperator(address addr) external view returns (bool) {
        return operators[addr];
    }

    function updateParam(string calldata key, bytes calldata value) external override onlyGov {
        if (Memory.compareStrings(key, "addOperator")) {
            bytes memory valueLocal = value;
            require(valueLocal.length == 20, "length of value for addOperator should be 20");
            address operatorAddr;
            assembly {
                operatorAddr := mload(add(valueLocal, 20))
            }
            operators[operatorAddr] = true;
            emit addOperator(operatorAddr);
        } else if (Memory.compareStrings(key, "deleteOperator")) {
            bytes memory valueLocal = value;
            require(valueLocal.length == 20, "length of value for deleteOperator should be 20");
            address operatorAddr;
            assembly {
                operatorAddr := mload(add(valueLocal, 20))
            }
            delete operators[operatorAddr];
            emit deleteOperator(operatorAddr);
        } else {
            require(false, "unknown param");
        }
        emit paramChange(key, value);
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "operator","type": "address"}],"name": "addOperator","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "operator","type": "address"}],"name": "deleteOperator","type": "event"},{"anonymous": false,"inputs": [{"indexed": false,"internalType": "string","name": "key","type": "string"},{"indexed": false,"internalType": "bytes","name": "value","type": "bytes"}],"name": "paramChange","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "from","type": "address"},{"indexed": false,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "receiveDeposit","type": "event"},{"anonymous": false,"inputs": [],"name": "rewardEmpty","type": "event"},{"anonymous": false,"inputs": [{"indexed": true,"internalType": "address","name": "to","type": "address"},{"indexed": false,"internalType": "uint256","name": "amount","type": "uint256"}],"name": "rewardTo","type": "event"},{"inputs": [],"name": "CODE_OK","outputs": [{"internalType": "uint32","name": "","type": "uint32"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "CROSS_CHAIN_CONTRACT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "GOVERNOR_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "GOV_HUB_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "GOV_TOKEN_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "INCENTIVIZE_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "LIGHT_CLIENT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "MAX_REWARDS","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "RELAYERHUB_CONTRACT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "SLASH_CONTRACT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "STAKE_CREDIT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "STAKE_HUB_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "STAKING_CONTRACT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "SYSTEM_REWARD_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "TIMELOCK_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "TOKEN_HUB_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "TOKEN_MANAGER_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "TOKEN_RECOVER_PORTAL_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "VALIDATOR_CONTRACT_ADDR","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "alreadyInit","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "bscChainID","outputs": [{"internalType": "uint16","name": "","type": "uint16"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address payable","name": "to","type": "address"},{"internalType": "uint256","name": "amount","type": "uint256"}],"name": "claimRewards","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "addr","type": "address"}],"name": "isOperator","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "numOperator","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "string","name": "key","type": "string"},{"internalType": "bytes","name": "value","type": "bytes"}],"name": "updateParam","outputs": [],"stateMutability": "nonpayable","type": "function"},{"stateMutability": "payable","type": "receive"}]

0x60806040526004361061016a5760003560e01c80639dc09262116100d1578063ac4317511161008a578063df8079e911610064578063df8079e9146104da578063f9a2bbc7146104ef578063fb5478b314610504578063fd6a687914610519576101ae565b8063ac431751146103e1578063c81b1662146104b0578063dc927faf146104c5576101ae565b80639dc092621461034a578063a1a11bf51461035f578063a78abc1614610374578063aa82dce114610389578063aad560631461039e578063ab51bb96146103b3576101ae565b806351e806721161012357806351e80672146102765780636d70f7ae1461028b5780636e47b482146102d257806375d47a0a146102e75780637e434d54146102fc5780639a99b4f014610311576101ae565b80630e2374a5146101b357806328087028146101e45780633a0b0eff146101f957806343756e5c14610220578063493279b11461023557806351b4dce314610261576101ae565b366101ae5734156101ac5760408051348152905133917f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db919081900360200190a25b005b600080fd5b3480156101bf57600080fd5b506101c861052e565b604080516001600160a01b039092168252519081900360200190f35b3480156101f057600080fd5b506101c8610534565b34801561020557600080fd5b5061020e61053a565b60408051918252519081900360200190f35b34801561022c57600080fd5b506101c8610540565b34801561024157600080fd5b5061024a610546565b6040805161ffff9092168252519081900360200190f35b34801561026d57600080fd5b506101c861054b565b34801561028257600080fd5b506101c8610551565b34801561029757600080fd5b506102be600480360360208110156102ae57600080fd5b50356001600160a01b0316610557565b604080519115158252519081900360200190f35b3480156102de57600080fd5b506101c8610575565b3480156102f357600080fd5b506101c861057b565b34801561030857600080fd5b506101c8610581565b34801561031d57600080fd5b5061020e6004803603604081101561033457600080fd5b506001600160a01b038135169060200135610587565b34801561035657600080fd5b506101c8610732565b34801561036b57600080fd5b506101c8610738565b34801561038057600080fd5b506102be61073e565b34801561039557600080fd5b506101c8610747565b3480156103aa57600080fd5b506101c861074d565b3480156103bf57600080fd5b506103c8610753565b6040805163ffffffff9092168252519081900360200190f35b3480156103ed57600080fd5b506101ac6004803603604081101561040457600080fd5b81019060208101813564010000000081111561041f57600080fd5b82018360208201111561043157600080fd5b8035906020019184600183028401116401000000008311171561045357600080fd5b91939092909160208101903564010000000081111561047157600080fd5b82018360208201111561048357600080fd5b803590602001918460018302840111640100000000831117156104a557600080fd5b509092509050610758565b3480156104bc57600080fd5b506101c8610adb565b3480156104d157600080fd5b506101c8610ae1565b3480156104e657600080fd5b506101c8610ae7565b3480156104fb57600080fd5b506101c8610aed565b34801561051057600080fd5b5061020e610af3565b34801561052557600080fd5b506101c8610aff565b61200181565b61200581565b60015481565b61100181565b603881565b61200681565b61200081565b6001600160a01b031660009081526002602052604090205460ff1690565b61100581565b61100881565b61200381565b6000805460ff1661060457600260208190527fe57bda0a954a7c7381b17b2c763e646ba2c60f67292d287ba583603e2c1c41668054600160ff19918216811790925561100560009081527fe25235fc0de9d7165652bef0846fefda506174abb9a190f03d0f7bcc6146dbce80548316841790559282558254161790555b3360009081526002602052604090205460ff166106525760405162461bcd60e51b815260040180806020018281038252602b815260200180610bed602b913960400191505060405180910390fd5b60004783106106615747610663565b825b9050674563918244f400008111156106805750674563918244f400005b8015610701576040516001600160a01b0385169082156108fc029083906000818181858888f193505050501580156106bc573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0919081900360200190a261072b565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b61100781565b61100681565b60005460ff1681565b61200281565b61300081565b600081565b33611007146107985760405162461bcd60e51b815260040180806020018281038252602e815260200180610c47602e913960400191505060405180910390fd5b6107fa84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81526a30b23227b832b930ba37b960a91b60208201529150610b059050565b156108d257606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250508251929350506014909114905061087d5760405162461bcd60e51b815260040180806020018281038252602c815260200180610c75602c913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19166001179055517f9870d7fe5d112134c55844951dedf365363006d9c588db07c4c85af6322a06199190a25050610a49565b61093784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81526d3232b632ba32a7b832b930ba37b960911b60208201529150610b059050565b15610a0c57606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911490506109ba5760405162461bcd60e51b815260040180806020018281038252602f815260200180610c18602f913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19169055517fb40992a19dba61ea600e87fce607102bf5908dc89076217b6ca6ae195224f7029190a25050610a49565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b61200481565b61100081565b674563918244f4000081565b61100481565b6000816040516020018082805190602001908083835b60208310610b3a5780518252601f199092019160209182019101610b1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310610ba85780518252601f199092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490509291505056fe6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c20746865206d6574686f646c656e677468206f662076616c756520666f722064656c6574654f70657261746f722073686f756c64206265203230746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f72206164644f70657261746f722073686f756c64206265203230a164736f6c6343000604000a

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80639dc09262116100d1578063ac4317511161008a578063df8079e911610064578063df8079e9146104da578063f9a2bbc7146104ef578063fb5478b314610504578063fd6a687914610519576101ae565b8063ac431751146103e1578063c81b1662146104b0578063dc927faf146104c5576101ae565b80639dc092621461034a578063a1a11bf51461035f578063a78abc1614610374578063aa82dce114610389578063aad560631461039e578063ab51bb96146103b3576101ae565b806351e806721161012357806351e80672146102765780636d70f7ae1461028b5780636e47b482146102d257806375d47a0a146102e75780637e434d54146102fc5780639a99b4f014610311576101ae565b80630e2374a5146101b357806328087028146101e45780633a0b0eff146101f957806343756e5c14610220578063493279b11461023557806351b4dce314610261576101ae565b366101ae5734156101ac5760408051348152905133917f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db919081900360200190a25b005b600080fd5b3480156101bf57600080fd5b506101c861052e565b604080516001600160a01b039092168252519081900360200190f35b3480156101f057600080fd5b506101c8610534565b34801561020557600080fd5b5061020e61053a565b60408051918252519081900360200190f35b34801561022c57600080fd5b506101c8610540565b34801561024157600080fd5b5061024a610546565b6040805161ffff9092168252519081900360200190f35b34801561026d57600080fd5b506101c861054b565b34801561028257600080fd5b506101c8610551565b34801561029757600080fd5b506102be600480360360208110156102ae57600080fd5b50356001600160a01b0316610557565b604080519115158252519081900360200190f35b3480156102de57600080fd5b506101c8610575565b3480156102f357600080fd5b506101c861057b565b34801561030857600080fd5b506101c8610581565b34801561031d57600080fd5b5061020e6004803603604081101561033457600080fd5b506001600160a01b038135169060200135610587565b34801561035657600080fd5b506101c8610732565b34801561036b57600080fd5b506101c8610738565b34801561038057600080fd5b506102be61073e565b34801561039557600080fd5b506101c8610747565b3480156103aa57600080fd5b506101c861074d565b3480156103bf57600080fd5b506103c8610753565b6040805163ffffffff9092168252519081900360200190f35b3480156103ed57600080fd5b506101ac6004803603604081101561040457600080fd5b81019060208101813564010000000081111561041f57600080fd5b82018360208201111561043157600080fd5b8035906020019184600183028401116401000000008311171561045357600080fd5b91939092909160208101903564010000000081111561047157600080fd5b82018360208201111561048357600080fd5b803590602001918460018302840111640100000000831117156104a557600080fd5b509092509050610758565b3480156104bc57600080fd5b506101c8610adb565b3480156104d157600080fd5b506101c8610ae1565b3480156104e657600080fd5b506101c8610ae7565b3480156104fb57600080fd5b506101c8610aed565b34801561051057600080fd5b5061020e610af3565b34801561052557600080fd5b506101c8610aff565b61200181565b61200581565b60015481565b61100181565b603881565b61200681565b61200081565b6001600160a01b031660009081526002602052604090205460ff1690565b61100581565b61100881565b61200381565b6000805460ff1661060457600260208190527fe57bda0a954a7c7381b17b2c763e646ba2c60f67292d287ba583603e2c1c41668054600160ff19918216811790925561100560009081527fe25235fc0de9d7165652bef0846fefda506174abb9a190f03d0f7bcc6146dbce80548316841790559282558254161790555b3360009081526002602052604090205460ff166106525760405162461bcd60e51b815260040180806020018281038252602b815260200180610bed602b913960400191505060405180910390fd5b60004783106106615747610663565b825b9050674563918244f400008111156106805750674563918244f400005b8015610701576040516001600160a01b0385169082156108fc029083906000818181858888f193505050501580156106bc573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0919081900360200190a261072b565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b61100781565b61100681565b60005460ff1681565b61200281565b61300081565b600081565b33611007146107985760405162461bcd60e51b815260040180806020018281038252602e815260200180610c47602e913960400191505060405180910390fd5b6107fa84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81526a30b23227b832b930ba37b960a91b60208201529150610b059050565b156108d257606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250508251929350506014909114905061087d5760405162461bcd60e51b815260040180806020018281038252602c815260200180610c75602c913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19166001179055517f9870d7fe5d112134c55844951dedf365363006d9c588db07c4c85af6322a06199190a25050610a49565b61093784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81526d3232b632ba32a7b832b930ba37b960911b60208201529150610b059050565b15610a0c57606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911490506109ba5760405162461bcd60e51b815260040180806020018281038252602f815260200180610c18602f913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19169055517fb40992a19dba61ea600e87fce607102bf5908dc89076217b6ca6ae195224f7029190a25050610a49565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b61200481565b61100081565b674563918244f4000081565b61100481565b6000816040516020018082805190602001908083835b60208310610b3a5780518252601f199092019160209182019101610b1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310610ba85780518252601f199092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490509291505056fe6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c20746865206d6574686f646c656e677468206f662076616c756520666f722064656c6574654f70657261746f722073686f756c64206265203230746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f72206164644f70657261746f722073686f756c64206265203230a164736f6c6343000604000a

Block Transaction Gas Used Reward
view all blocks produced
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
View All Validatorset

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x0000000000000000000000000000000000001002
Net Worth in USD
$64,416.55

Net Worth in BNB
BNB Smart Chain LogoBNB Smart Chain LogoBNB Smart Chain Logo 102.57067

Token Allocations
BNB 97.45%
POL 0.96%
TERK 0.72%
Others 0.87%
Chain Token Portfolio % Price Amount Value
BSC
BNB (BNB)
97.45%$627.31100.0704$62,775.29
BSC0.72%$0.0010,000$0.00
BSC0.40%$0.0010,000$0.00
BSC0.04%200,000,000$26.68
BSC0.02%$0.99958216.01$16
BSC$0.00008950,000$4.43
BSC$0.000007603,333$4.01
BSC9,813,292,109.9193$1.59
BSC$628.060.0005012$0.3147
BSC$69,587.240.00000306$0.2127
BSC$0.0000275,147.5322$0.1391
POL0.96%$0.1063215,804.4899$617.14
POL$0.000001500,000$0.2737
ETH0.35%$2,011.910.111$223.37
ETH0.03%$0.99995620$20
ETH$8.540.1908$1.63
ETH$51.640.006$0.3098
HYPEREVM$30.570.1$3.06
OP$2,009.730.000783$1.57
MANTLE$0.6422231.2$0.770668
BASE$2,011.90.0001$0.20119
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

`; } let ensZeroWidthWarningHtml = ""; if ($("#hdnIsEnsContainZeroWidthChars").val() == "true") { ensZeroWidthWarningHtml = `
${zeroWidthWarningMessage} Check the actual text at SPACE ID.
`; } const ensOnL2NoteHtml = ensOnL2Note != "" ? `
  • ${ensOnL2Note}
  • ` : ""; const contentHtml = `
    Additional Info
    Full Name:
    ${ensNameForkIconSrc}


    Note:
    • Name tag is displayed due to forward and reverse resolution. Find out more.
    • A Domain Name is not necessarily held by a person popularly associated with the name.
    • ${ensOnL2NoteHtml}
    ${ensUnicodeWarningHtml} ${ensZeroWidthWarningHtml}
    `; $('#ensName').popover({ html: true, content: contentHtml, trigger: 'manual', placement: 'right' }); $('#ensName').click(function (event) { $("#udName").popover('hide') $("#ensName").popover('toggle'); event.stopPropagation(); }); $('#ensName').on('shown.bs.popover', async () => { //disable tooltip when hovering over ens name in the main page $("[rel='tooltipEns']").each(function () { $(this).tooltip('hide'); $(this).tooltip('disable'); }); //call ajax here to get result if (!otherENSNamesHtml) { const resolvedAddressesModel = await getEnsResolvedAddress($("#hdnAddress").val(), primaryDomainNameLabel); otherENSNamesHtml = generateEnsPopoverGrid(resolvedAddressesModel.d); if (!otherENSNamesHtml) { otherENSNamesHtml = "There are no other names resolving to this address." } } $(".popOverEnsOwnedAddressTable").html(otherENSNamesHtml); $("#divENSDisplayName").html(ensDisplayName); // append more copy button for ENS let domainName = $("#hdnEnsText").val(); const copyEnsButtonHtml = ` `; $("#spanCopyENSAddress").html(copyEnsButtonHtml); $("[data-bs-toggle='tooltip']").tooltip(); }); $('#ensName').on('hidden.bs.popover', () => { $("[rel='tooltipEns']").each(function () { $(this).tooltip('enable'); }); }); $('#ensName').on('hide.bs.popover', () => { $("[data-bs-toggle='tooltip']").tooltip('hide'); }); $(document).click(function (e) { const popoverElement = document.getElementById('popover-ens-preview'); const popoverTrigger = document.getElementById('ensName'); if (!popoverTrigger.contains(e.target) && (!popoverElement || !popoverElement.contains(e.target))) { $("#ensName").popover('hide'); } }) } async function getEnsResolvedAddress(address, currentEnsText) { try { const requestModel = { "lookupAddress": address, "primaryDomainName": currentEnsText, "provider": ensNameProvider }; const response = await $.ajax({ url: "/name-lookup-search.aspx/GetOtherDomainNameForAddress", type: "POST", contentType: "application/json", dataType: "json", data: JSON.stringify({ requestModel: requestModel }) }) return response; } catch { return ""; } } function generateEnsPopoverGrid(model) { if (!model || model.DomainNames.length == 0) { return ""; } let listOtherENSNames = ""; model.DomainNames.forEach(x => listOtherENSNames += x.Name); let moreOtherENSNames = ""; if (model.Total > 5) { moreOtherENSNames = `More ` } const result = `
    Other names resolving to this address:
    ${listOtherENSNames} ${moreOtherENSNames}
    `; return result; } function removeSpecificDomain(url, domain) { return url.replace(new RegExp(domain + '$'), ''); } // ===== UD name tag const displayUDName = ''; const primaryUDName = ''; const showUDPublicNote = 'false'; let otherUDNamesHtml = ""; function initUDNamePopOver() { //required to allow bootstrap popover to support table $.fn.popover.Constructor.Default.allowList.table = []; $.fn.popover.Constructor.Default.allowList.tr = []; $.fn.popover.Constructor.Default.allowList.td = []; $.fn.popover.Constructor.Default.allowList.th = []; $.fn.popover.Constructor.Default.allowList.div = []; $.fn.popover.Constructor.Default.allowList.tbody = []; $.fn.popover.Constructor.Default.allowList.thead = []; //allowList my inline styling for bootstrap $.fn.popover.Constructor.Default.allowList['*'].push('style') let unicodeWarningHtml = ""; if ($("#hdnIsUDContainUnicodeChars").val() == "true") { unicodeWarningHtml = `
    ${unicodeWarningMessage} Check the actual text at Unstoppable Domains.
    `; } let zeroWidthWarningHtml = ""; if ($("#hdnIsUDContainZeroWidthChars").val() == "true") { zeroWidthWarningHtml = `
    ${unicodeWarningMessage} Check the actual text at Unstoppable Domains.
    `; } const contentHtml = `
    Additional Info
    Full Name:
    Unstoppable Domains Name


    Note:
    • Name tag is displayed due to forward and reverse resolution. Find out more
    • A Domain Name is not necessarily held by a person popularly associated with the name.
    ${unicodeWarningHtml} ${zeroWidthWarningHtml}
    `; $('#udName').popover({ html: true, content: contentHtml, trigger: 'manual' }); $('#udName').click(function (event) { $("#ensName").popover('hide'); $("#udName").popover('toggle'); event.stopPropagation(); }); $('#udName').on('shown.bs.popover', async () => { //disable tooltip when hovering over SID name in the main page $("[rel='tooltipUDName']").each(function () { $(this).tooltip('hide'); $(this).tooltip('disable'); }); //call ajax here to get result if (!otherUDNamesHtml) { const resolvedAddressesModel = await getUDNamesResolvedAddress($("#hdnAddress").val(), primaryUDName); //format the ajax to otherUDNamesHtml otherUDNamesHtml = generateUDPopoverGrid(resolvedAddressesModel.d); if (!otherUDNamesHtml) { otherUDNamesHtml = "There are no other names resolving to this address." } } $(".popoverUDNamesOwnedByAddress").html(otherUDNamesHtml); $("#divDisplayUDName").html(displayUDName); if (showUDPublicNote == true) { $("#noteUD").html('The Unstoppable Domains NFT is minted on the Ethereum blockchain. View and verify its details on Etherscan.'); $("#noteUD").show(); } $("[data-bs-toggle='tooltip']").tooltip(); }); $('#udName').on('hidden.bs.popover', () => { $("[rel='tooltipUDName']").each(function () { $(this).tooltip('enable'); }); }); $('#udName').on('hide.bs.popover', () => { $("[data-bs-toggle='tooltip']").tooltip('hide'); }); // Hide Unstoppable Domains Name popover when click outside the popover popup. $(document).click(function () { $("#udName").popover('hide') }); } async function getUDNamesResolvedAddress(address, primaryUDName) { try { const requestModel = { "lookupAddress": address, "primaryDomainName": primaryUDName, "provider": "UD" }; const response = await $.ajax({ url: "/name-lookup-search.aspx/GetOtherDomainNameForAddress", type: "POST", contentType: "application/json", dataType: "json", data: JSON.stringify({ requestModel: requestModel }) }) return response; } catch { return ""; } } function generateUDPopoverGrid(model) { if (!model || model.DomainNames.length == 0) { return ""; } let listOtherUDNames = ""; model.DomainNames.forEach(x => listOtherUDNames += x.Name); let moreOtherUDNames = ""; if (model.Total > 5) { moreOtherUDNames = `More `; } const result = `
    Other names resolving to this address:
    ${listOtherUDNames} ${moreOtherUDNames}
    `; return result; } // ===== end UD name tag const tooltipForTokenHolding = 'More than 102 tokens found, listing and displaying the total balance of the first 100 tokens only. Click on the Coins icon to see the full list and balance.'; var adjustPosition = 0; $(document).ready(function () { switchAmountToValue(document.getElementById("headerAmountValue"), 'Value (USD)', 'Amount', true); switchAmountToValue(document.getElementById("headerIntAmountValue"), 'Value (USD)', 'Amount', true); switchMethodColumn(document.getElementById("headerMethod"), 'Method', 'Action', true); onDocumentReady(); $("[rel='tooltip']").tooltip(); $("[data-bs-toggle-second='tooltip']").tooltip({ trigger: 'hover' }); $("[rel='tooltipEns']").each(function () { $(this).tooltip({ title: $(this).attr("tooltip-title") }); }); if (hash != '') { activaTab(hash); }; onAddressDocReady(); // Note: this is causing "Copied" tooltip not showing when copy button is clicked in V3, and seems like not applicable to v3, comment out first in case there is issue //$('[data-bs-toggle="tooltip"]').click(function () { // $('[data-bs-toggle="tooltip"]').tooltip("hide"); //}); document.getElementById("copyaddressbutton").classList.remove("disabled"); if ($("#txtSearchContract").length) { initialiseKeyupOnDocReady(); } if (!!$('#ensName')[0]) { initEnsNamePopOver(); } if (!!$("#udName")[0]) { initUDNamePopOver(); } handleToggle(); if (window.matchMedia("(max-width: 767px)").matches) { // Mobile adjustPosition = 90; } else { // Others adjustPosition = 50; } if (tooltipForTokenHolding) { const dropdownMenuBalance = document.getElementById("dropdownMenuBalance"); if (dropdownMenuBalance) { const dropdownWrapper = dropdownMenuBalance.closest(".dropdown"); if (dropdownWrapper) { dropdownWrapper.setAttribute("title", tooltipForTokenHolding); new bootstrap.Tooltip(dropdownWrapper); } } } }); function displayAudit() { $('html, body').animate({ scrollTop: $("#auditReportId").offset().top - adjustPosition }); } var cThemeMode = getCookie('displaymode'); function handleToggle() { var className = document.getElementsByClassName('editor'); var classNameCount = className.length; for (var j = 0; j t.innerWidth()) { if (mb + d > tb) { t.css('padding-bottom', ((mb + d) - tb)); } } else { t.css('overflow', 'visible'); } }).on('hidden.bs.dropdown', function () { $(this).css({ 'padding-bottom': '', 'overflow': '' }); }); var btn_ERC20_sort = { count: 0, reminder_count: 2, list: [], default_list: [], ERC20_sort_start: function (count) { if (document.getElementsByClassName('list-custom-divider-ERC20')[0]) { var self = this if (count != undefined) { self.count = count } var before_el = document.getElementsByClassName('list-custom-divider-ERC20')[0] var parent_el = before_el.parentNode var element_selector = parent_el.querySelectorAll(".list-custom-ERC20"); if (self.list.length == 0) { element_selector.forEach(function (e) { self.list.push(e); self.default_list.push(e); }); } $(".list-custom-ERC20").remove() var type = self.count % self.reminder_count self.sortList(type, parent_el, before_el); self.count++ } }, sortList: function (type, parent_el, before_el) { var self = this var sorted_list = [] var icon_el = $(before_el).find('button').find('i') switch (type) { case 1: icon_el.attr("class", "fad fa-sort-up") sorted_list = self.sortUsdAsc() break; default: icon_el.attr("class", "fad fa-sort-down") sorted_list = self.sortUsdDesc() } for (var i = sorted_list.length - 1; i >= 0; i--) { before_el.insertAdjacentElement('afterend', sorted_list[i]) } }, sortUsdAsc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value == -1 || target_b_value == -1) { return 1; } if (target_a_value target_b_value) { return 1; } return 0 }); return sort_list }, sortUsdDesc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value target_b_value) { return -1; } return 0 }); return sort_list }, formatCurrencyToNumber: function (strCurrency) { if (typeof strCurrency == "number") return strCurrency else return Number(strCurrency.replace(/[^0-9.-]+/g, "")); }, } function hrefTokenHolding() { var location = "/tokenholdings?a=0x0000000000000000000000000000000000001002" var queryString = $("input.form-control.form-control-xs.search.mb-3")[0].value if (queryString) { location += "&q=" + queryString } window.location.href = location } $(document).ready(function () { $("#btn_ERC20_sort").on("click", function (event) { event.preventDefault(); setTimeout(function () { btn_ERC20_sort.ERC20_sort_start() }, 10) }) btn_ERC20_sort.ERC20_sort_start() var mainAddress = $("#hdnAddress").val(); // user search for method filters var searchFuncTimeOut; $("#ContentPlaceHolder1_inputMethodName").on("keyup", function ($event) { if (searchFuncTimeOut) { clearTimeout(searchFuncTimeOut) } var searchTerm = $(this).val(); searchFuncTimeOut = setTimeout(function () { searchFunctions(searchTerm); }, 350); }); var isSearchFunctions = false; $("#dropdownMethod").on("click", function (e) { if (isSearchFunctions === false) { searchFunctions(''); isSearchFunctions = true; } }); const litDefaultMethodFilterHtml = ''; function searchFunctions(searchTerm) { if (searchTerm === '' || searchTerm.length > 3) { const curPath = encodeURIComponent(window.location.search); $.ajax({ type: 'Get', url: `/functionSearchHandler.ashx?ca=${mainAddress}&func=${searchTerm ?? ''}&curPath=${curPath}`, success: function (response) { $("#searchFunctionResult").html(''); if (response && response.length > 0) { for (var i = 0; i ${response[i].name} ${response[i].methodId} ` ); } $("[data-bs-toggle='tooltip']").tooltip(); } else { $("#searchFunctionResult").append( `` ); } $("#inputMethodSpinner").hide(); }, error: function (XMLHttpRequest, textStatus, errorThrown) { $("#searchFunctionResult").html(''); $("#inputMethodSpinner").hide(); } }); } else { $("#inputMethodSpinner").hide(); $("#searchFunctionResult").html(litDefaultMethodFilterHtml); } } // Resize window for analytic tab let isBusy = false; $(window).resize(function () { isBusy = true; if (isBusy) { let analyticFrame = document.getElementById('analytics_pageiframe'); if (analyticFrame && analyticFrame.contentWindow != undefined) { let navtab = analyticFrame.contentWindow.document.getElementsByClassName("nav_tabs1"); let hIframe = "0px"; if (navtab != null && navtab != undefined && navtab.length > 0) { let navH = Number(navtab[0].scrollHeight); hIframe = (Number(analyticFrame.contentWindow.document.getElementsByClassName("tab-content")[0].scrollHeight) + navH + 20) + 'px'; } else { hIframe = analyticFrame.contentWindow.document.body.scrollHeight + 'px'; } analyticFrame.style.height = hIframe } } }); // detect tooltip for token holding dropdown if ($(".addresses-tooltip-over").length > 0) { if (!isMobile()) { $(".addresses-tooltip-over").attr("data-bs-trigger", "hover"); let tooltip = bootstrap.Tooltip.getInstance(".addresses-tooltip-over"); if (tooltip !== null) { tooltip.dispose(); tooltip = new bootstrap.Tooltip($(".addresses-tooltip-over")); tooltip._config.trigger = 'hover'; tooltip.update(); } } } // Quick export transaction csv const quickExportCsvData = '[{"Txhash":"0xaedd57f1ad010aea2352e3a2aa2ffe36543a5c71758514faaeac7c967ed6a6c8","Status":"Success","Method":"Transfer","Blockno":"80893892","DateTime":"2026-02-13 01:58:49","Sender":"0x7c0214a130a7EAFb1bc3b4a95a3607635C59d56D","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.00001 BNB","Value":"$0.01","TxnFee":"0.00000193"},{"Txhash":"0x4ed73fffb32e7bbac650813df3b0070c2866d0b0f5c971e5c812a9349f48b88c","Status":"Error in Main Txn : execution reverted","Method":"Claim Rewards","Blockno":"80117576","DateTime":"2026-02-09 00:55:16","Sender":"0xce4b4c78bF2AbCf89599BD547c3da62064AEc942","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000329"},{"Txhash":"0xef23bfe4b4ad62e63b29b4e2e40e95dd8a2c211986c0a732d80c478d30fd6209","Status":"Error in Main Txn : execution reverted","Method":"Claim Rewards","Blockno":"74782788","DateTime":"2026-01-10 23:57:01","Sender":"0xfe964ac5461fA8c2642EB75d8CE9A675b864CbA9","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000131"},{"Txhash":"0xc1d3b5ed60c4d75b1cea97bc4da2aa7c9b186260055ae40cfd3c11d9ba9572df","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"71321524","DateTime":"2025-12-11 22:41:05","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0xa87e89b3dd640e846457d2b7a24ed584e6791a7ec31e6c1b26357fdf8f2e6009","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"71055328","DateTime":"2025-12-09 15:13:27","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0xdacb659205c489823a78903a92a03f8cb5083506a576d69df27df6dbbc8f850c","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"71055296","DateTime":"2025-12-09 15:13:03","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0x9c69380a90259b320812479f82aedb46d4c036419b3411f30b4d2c331e9e7641","Status":"Success","Method":"Transfer","Blockno":"70712947","DateTime":"2025-12-06 15:53:13","Sender":"0x3Ff1d56925e9418D97F9Ce2cE0c772C958985bc5","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.001 BNB","Value":"$0.63","TxnFee":"0.00000112"},{"Txhash":"0x74aac995ff9e60b6b6923afa256c7712705809a4806a49f65395a1b20242a4c6","Status":"Success","Method":"Transfer","Blockno":"70381049","DateTime":"2025-12-03 18:41:57","Sender":"0x855e396DaAe8c41b56106F282cc089f9E5E1E141","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.00011936 BNB","Value":"$0.07","TxnFee":"0.00000112"},{"Txhash":"0x5860c98bd6a685423073bed151ec558e9cad746c5963f366a696c9052457db39","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"66048582","DateTime":"2025-10-27 03:54:39","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0x9492cf81f673aeeb65fc3754b05ea833cdef655df64968ad025daed2311705f2","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"66034572","DateTime":"2025-10-27 00:59:31","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0x53c6477852c6eea079aea559302ad4fa766f6a224010ec843549e80d2d523567","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"66032969","DateTime":"2025-10-27 00:39:29","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0x55924fdf0b3c5d53e023f7b72eaf482e4a549698c1fb208f675846b3a797704b","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"65894759","DateTime":"2025-10-25 19:51:38","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000158"},{"Txhash":"0x19101e2104c5d43b4f08ddb61f972b0271323c45d5e5623fa2b47320353b5736","Status":"Error in Main Txn : execution reverted","Method":"Claim Rewards","Blockno":"63376507","DateTime":"2025-10-03 22:47:39","Sender":"0xd75D8EE1422B32A87Fb8e8664F32BEA87F2a09fA","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000145"},{"Txhash":"0xf9fce4a9c149d8ae3e7f3c5e9ffc6e659e357c731f5ce0262e4630032c2c34bc","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"60682969","DateTime":"2025-09-10 13:26:43","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000316"},{"Txhash":"0x289cf66b70f40c43357fad85e78df053f13506a66b74f33435b720a68f839522","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"60516099","DateTime":"2025-09-09 02:40:20","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000316"},{"Txhash":"0x99bb8ad402cbe751a44d560644ede9b2152e722cdaf3a7624d2136b5c9a27d82","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"60515680","DateTime":"2025-09-09 02:35:06","Sender":"0xA8CFB71568340507731B4ACFEcFc9eD23ADC0AC4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000316"},{"Txhash":"0x54a7516c6826e790a8eb909ae868bfebab053e555db53731bd9c4fa89289a556","Status":"Success","Method":"Transfer","Blockno":"59325356","DateTime":"2025-08-29 18:32:28","Sender":"0x3c783c21a0383057D128bae431894a5C19F9Cf06","SenderLable":"Binance 47","Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.00052 BNB","Value":"$0.33","TxnFee":"0.0000045"},{"Txhash":"0x377e7c2a765b280a7582f0bcc491d0f636d67fc5444b51bfc7b742d6fb474a52","Status":"Success","Method":"Transfer","Blockno":"59324173","DateTime":"2025-08-29 18:17:41","Sender":"0xBD612a3f30dcA67bF60a39Fd0D35e39B7aB80774","SenderLable":"Binance: Hot Wallet 13","Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.0005073 BNB","Value":"$0.32","TxnFee":"0.0000045"},{"Txhash":"0x7746f0dd6ae8b9aaab8f26056038aa0f7b638592a9f349d39ea452d0acdcf0e6","Status":"Success","Method":"Transfer","Blockno":"57616110","DateTime":"2025-08-14 22:23:18","Sender":"0x5741f364E0800D1dfa64f854cE55982045e771dA","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.002993 BNB","Value":"$1.88","TxnFee":"0.00000225"},{"Txhash":"0xcab988ea951af9b16474665d5abbabdec00c4a4b555fb1e9bbd92cca183b2178","Status":"Success","Method":"Transfer","Blockno":"57000641","DateTime":"2025-08-09 14:09:13","Sender":"0xF5512B29Dc23Dc2573504003719440cf97f73dCC","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0.00021152 BNB","Value":"$0.13","TxnFee":"0.00000225"},{"Txhash":"0x8bcb5c7c8c62dbcda80ce09c08ac6a20981ca9599bfb7aac05435901a058fcfa","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"53729461","DateTime":"2025-07-12 04:35:36","Sender":"0x043E5a620A691533AB1f069a84b8BB8438d5b90d","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000298"},{"Txhash":"0x2af4fec56f84ee204212aa268b688cd4f1f39a715dc6e04961dc0b962ee9255b","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"53729458","DateTime":"2025-07-12 04:35:34","Sender":"0x043E5a620A691533AB1f069a84b8BB8438d5b90d","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000296"},{"Txhash":"0xb37087e001a03d2a7957791f1f71e1c890d8d8050a281f83c609047855585258","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"53729396","DateTime":"2025-07-12 04:34:48","Sender":"0x043E5a620A691533AB1f069a84b8BB8438d5b90d","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000298"},{"Txhash":"0x716d6449d012fea166580878e9ab64d09bded098c5f005407fe104a4c4110c12","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"53729391","DateTime":"2025-07-12 04:34:44","Sender":"0x043E5a620A691533AB1f069a84b8BB8438d5b90d","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000296"},{"Txhash":"0x8b956482ea8d69bf16a322089eed205e07f480dcfd4990538fa4a01fc7f5cacf","Status":"Error in Main Txn : execution reverted","Method":"0x44d227ae","Blockno":"52433988","DateTime":"2025-06-30 22:41:15","Sender":"0x790bAa37bE3cfacaDE101e613eC542e097C473d4","SenderLable":null,"Receiver":"0x0000000000000000000000000000000000001002","ReceiverLable":"BSC: System Reward","Amount":"0 BNB","Value":"$0.00","TxnFee":"0.00000325"}]'; const quickExportCsvTitle = 'Transaction Hash,Status,Method,Blockno,"DateTime (UTC)",From,From_Nametag,To,To_Nametag,Amount,Value (USD),Txn Fee'; let isExportFinish = true; if ($("#btnExportQuickTableToCSV").length > 0 && quickExportCsvData) { $("#btnExportQuickTableToCSV").click(function () { if (isExportFinish == true) { isExportFinish = false; $("#btnExportQuickTableToCSV").append(''); let lstTxsObj = JSON.parse(quickExportCsvData); if (lstTxsObj.length > 0) { let csvRows = []; csvRows.push(quickExportCsvTitle.replace(/"/g, "")); for (let i = 0; i 0 && quickExportInternalTxsData) { $("#ContentPlaceHolder1_btnQuickExportInternalTxs").click(function () { if (isExportFinish == true) { isExportFinish = false; $("#ContentPlaceHolder1_btnQuickExportInternalTxs").append(''); let lstTxsObj = JSON.parse(quickExportInternalTxsData); if (lstTxsObj.length > 0) { let csvRows = []; csvRows.push(quickExportInternalTxsTitle.replace(/"/g, "")); for (let i = 0; i { if (x.startsWith("F")) { file = x.replace("F", ""); } else if (x.startsWith("L")) { line = x.replace("L", ""); } }) var editorId = "editor" + file var editorElem = $("#" + editorId); if (!editorElem.length) { return; } if (!line) { return; } var editor = ace.edit(editorId); editor.resize(true); editor.scrollToLine(line, true, true, function () { }); editor.gotoLine(line); var Range = ace.require('ace/range').Range $(document).scrollTop($("#" + editorId).offset().top - 95); //document.getElementById(editorId).scrollIntoView(); editor.session.addMarker(new Range(line - 1, 0, line - 1, 1), "myMarker", "fullLine"); //window.onbeforeunload = function () { $(document).scrollTop($("#" + editorId).offset().top); }; } setTimeout(function () { editorGoToLine(); }, 500); }); $("body,html").click(function (evt) { let elm = $(evt.target).attr("id"); let isClickedMode = elm === "darkModaBtn" || elm === "darkModaBtnIcon"; if (isClickedMode) { let isClickedSunMode = false; let clrBorder = "#112641"; if (elm === "darkModaBtn") isClickedSunMode = $(evt.target).find("#darkModaBtnIcon").hasClass("fa-moon"); if (elm === "darkModaBtnIcon") isClickedSunMode = $(evt.target).hasClass("fa-moon"); if (isClickedSunMode) { clrBorder = "#fff"; } let iframes = document.getElementById('analytics_pageiframe'); let heatcell = iframes.contentWindow.document.getElementsByClassName("ch-day").length; for (let i = 0; i