MATIC Price: $0.61305 (+1.85%)
Gas: 30 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

SAND (SAND) (@$0.3838)

Multichain Info

Transaction Hash
Method
Block
From
To
Value
Transfer582205432024-06-16 6:45:212 mins ago1718520321IN
The Sandbox: SAND Token
0 MATIC0.0016186230.00000005
Transfer582204112024-06-16 6:40:417 mins ago1718520041IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000004
Transfer582203372024-06-16 6:38:059 mins ago1718519885IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000003
Withdraw582202262024-06-16 6:34:0913 mins ago1718519649IN
The Sandbox: SAND Token
0 MATIC0.0009527130.00000004
Transfer582198292024-06-16 6:20:0527 mins ago1718518805IN
The Sandbox: SAND Token
0 MATIC0.0009619830.00000008
Transfer582197402024-06-16 6:16:5530 mins ago1718518615IN
The Sandbox: SAND Token
0 MATIC0.0015733132
Transfer582196042024-06-16 6:12:0735 mins ago1718518327IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000005
Transfer582195182024-06-16 6:09:0338 mins ago1718518143IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000004
Transfer582194852024-06-16 6:07:5339 mins ago1718518073IN
The Sandbox: SAND Token
0 MATIC0.0016182630.00000004
Transfer582193562024-06-16 6:03:1744 mins ago1718517797IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000004
Transfer582192812024-06-16 6:00:3947 mins ago1718517639IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000004
Transfer582191952024-06-16 5:57:3350 mins ago1718517453IN
The Sandbox: SAND Token
0 MATIC0.0014742630.00000004
Transfer582191752024-06-16 5:56:5151 mins ago1718517411IN
The Sandbox: SAND Token
0 MATIC0.0016182630.00000004
Transfer582190992024-06-16 5:54:0953 mins ago1718517249IN
The Sandbox: SAND Token
0 MATIC0.0014746230.00000004
Transfer582185472024-06-16 5:34:371 hr ago1718516077IN
The Sandbox: SAND Token
0 MATIC0.0009440830.28810988
Transfer582183842024-06-16 5:28:511 hr ago1718515731IN
The Sandbox: SAND Token
0 MATIC0.0014746230.00000003
Transfer582183692024-06-16 5:28:191 hr ago1718515699IN
The Sandbox: SAND Token
0 MATIC0.0014132730.00000003
Transfer582183522024-06-16 5:27:431 hr ago1718515663IN
The Sandbox: SAND Token
0 MATIC0.0011052630.00000003
Transfer582182492024-06-16 5:24:031 hr ago1718515443IN
The Sandbox: SAND Token
0 MATIC0.0014746230.00000004
Transfer582180172024-06-16 5:15:511 hr ago1718514951IN
The Sandbox: SAND Token
0 MATIC0.0016186230.00000003
Transfer582178192024-06-16 5:08:481 hr ago1718514528IN
The Sandbox: SAND Token
0 MATIC0.0013824737.50000002
Transfer582176672024-06-16 5:03:261 hr ago1718514206IN
The Sandbox: SAND Token
0 MATIC0.0020232737.50000004
Approve582174192024-06-16 4:54:381 hr ago1718513678IN
The Sandbox: SAND Token
0 MATIC0.0008042730.28812
Approve582174162024-06-16 4:54:321 hr ago1718513672IN
The Sandbox: SAND Token
0 MATIC0.0008060830.28812
Approve582171312024-06-16 4:44:262 hrs ago1718513066IN
The Sandbox: SAND Token
0 MATIC0.0014669430.00000003
View all transactions

Latest 11 internal transactions

Parent Transaction Hash Block From To Value
557227022024-04-12 2:05:0065 days ago1712887500
The Sandbox: SAND Token
0.00509959 MATIC
462995212023-08-14 14:41:54306 days ago1692024114
The Sandbox: SAND Token
0.00328566 MATIC
352464752022-11-05 21:20:05588 days ago1667683205
The Sandbox: SAND Token
0.00015543 MATIC
352461172022-11-05 21:07:45588 days ago1667682465
The Sandbox: SAND Token
0.00014854 MATIC
307855212022-07-16 11:32:31700 days ago1657971151
The Sandbox: SAND Token
0.00012192 MATIC
290209552022-06-01 5:22:22746 days ago1654060942
The Sandbox: SAND Token
0.00010482 MATIC
273576292022-04-20 9:51:42787 days ago1650448302
The Sandbox: SAND Token
0.00003722 MATIC
250320772022-02-17 2:30:35850 days ago1645065035
The Sandbox: SAND Token
0.00003695 MATIC
247241142022-02-09 5:56:17858 days ago1644386177
The Sandbox: SAND Token
0.00000032 MATIC
242951102022-01-29 7:05:44868 days ago1643439944
The Sandbox: SAND Token
0.00000016 MATIC
242948072022-01-29 6:48:54868 days ago1643438934
The Sandbox: SAND Token
0.00000006 MATIC
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PolygonSand

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion
File 1 of 13 : PolygonSand.sol
//SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
pragma solidity 0.8.2;

import "@openzeppelin/contracts-0.8/access/Ownable.sol";
import "../../../common/BaseWithStorage/ERC2771Handler.sol";
import "../../../Sand/SandBaseToken.sol";

contract PolygonSand is SandBaseToken, Ownable, ERC2771Handler {
    address public childChainManagerProxy;

    constructor(
        address _childChainManagerProxy,
        address trustedForwarder,
        address sandAdmin,
        address executionAdmin
    ) SandBaseToken(sandAdmin, executionAdmin, address(0), 0) {
        require(_childChainManagerProxy != address(0), "Bad ChildChainManagerProxy address");
        childChainManagerProxy = _childChainManagerProxy;
        __ERC2771Handler_initialize(trustedForwarder);
    }

    /// @notice update the ChildChainManager Proxy address
    /// @param newChildChainManagerProxy address of the new childChainManagerProxy
    function updateChildChainManager(address newChildChainManagerProxy) external onlyOwner {
        require(newChildChainManagerProxy != address(0), "Bad ChildChainManagerProxy address");
        childChainManagerProxy = newChildChainManagerProxy;
    }

    /// @notice called when tokens are deposited on root chain
    /// @param user user address for whom deposit is being done
    /// @param depositData abi encoded amount
    function deposit(address user, bytes calldata depositData) external {
        require(_msgSender() == childChainManagerProxy, "You're not allowed to deposit");
        uint256 amount = abi.decode(depositData, (uint256));
        _mint(user, amount);
    }

    /// @notice called when user wants to withdraw tokens back to root chain
    /// @dev Should burn user's tokens. This transaction will be verified when exiting on root chain
    /// @param amount amount to withdraw
    function withdraw(uint256 amount) external {
        _burn(_msgSender(), amount);
    }

    function setTrustedForwarder(address trustedForwarder) external onlyOwner {
        _trustedForwarder = trustedForwarder;
    }

    function _msgSender() internal view override(Context, ERC2771Handler) returns (address sender) {
        return ERC2771Handler._msgSender();
    }

    function _msgData() internal view override(Context, ERC2771Handler) returns (bytes calldata) {
        return ERC2771Handler._msgData();
    }
}

File 2 of 13 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

File 3 of 13 : ERC2771Handler.sol
// SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
pragma solidity ^0.8.0;

/// @dev minimal ERC2771 handler to keep bytecode-size down.
/// based on: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol

contract ERC2771Handler {
    address internal _trustedForwarder;

    function __ERC2771Handler_initialize(address forwarder) internal {
        _trustedForwarder = forwarder;
    }

    function isTrustedForwarder(address forwarder) public view returns (bool) {
        return forwarder == _trustedForwarder;
    }

    function getTrustedForwarder() external view returns (address trustedForwarder) {
        return _trustedForwarder;
    }

    function _msgSender() internal view virtual returns (address sender) {
        if (isTrustedForwarder(msg.sender)) {
            // The assembly code is more direct than the Solidity version using `abi.decode`.
            // solhint-disable-next-line no-inline-assembly
            assembly {
                sender := shr(96, calldataload(sub(calldatasize(), 20)))
            }
        } else {
            return msg.sender;
        }
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        if (isTrustedForwarder(msg.sender)) {
            return msg.data[:msg.data.length - 20];
        } else {
            return msg.data;
        }
    }
}

File 4 of 13 : SandBaseToken.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.2;

import "../common/BaseWithStorage/ERC20/extensions/ERC20BasicApproveExtension.sol";
import "../common/BaseWithStorage/ERC20/ERC20BaseToken.sol";

contract SandBaseToken is ERC20BaseToken, ERC20BasicApproveExtension {
    constructor(
        address sandAdmin,
        address executionAdmin,
        address beneficiary,
        uint256 amount
    ) ERC20BaseToken("SAND", "SAND", sandAdmin, executionAdmin) {
        _admin = sandAdmin;
        if (beneficiary != address(0)) {
            uint256 initialSupply = amount * (1 ether);
            _mint(beneficiary, initialSupply);
        }
    }
}

File 5 of 13 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 6 of 13 : ERC20BasicApproveExtension.sol
//SPDX-License-Identifier: MIT

pragma solidity 0.8.2;

import "@openzeppelin/contracts-0.8/utils/Context.sol";
import "./ERC20Internal.sol";
import "../../../Libraries/BytesUtil.sol";

abstract contract ERC20BasicApproveExtension is ERC20Internal, Context {
    /// @notice Approve `target` to spend `amount` and call it with data.
    /// @param target The address to be given rights to transfer and destination of the call.
    /// @param amount The number of tokens allowed.
    /// @param data The bytes for the call.
    /// @return The data of the call.
    function approveAndCall(
        address target,
        uint256 amount,
        bytes calldata data
    ) external payable returns (bytes memory) {
        require(BytesUtil.doFirstParamEqualsAddress(data, _msgSender()), "FIRST_PARAM_NOT_SENDER");

        _approveFor(_msgSender(), target, amount);

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returnData) = target.call{value: msg.value}(data);
        require(success, string(returnData));
        return returnData;
    }

    /// @notice Temporarily approve `target` to spend `amount` and call it with data.
    /// Previous approvals remains unchanged.
    /// @param target The destination of the call, allowed to spend the amount specified
    /// @param amount The number of tokens allowed to spend.
    /// @param data The bytes for the call.
    /// @return The data of the call.
    function paidCall(
        address target,
        uint256 amount,
        bytes calldata data
    ) external payable returns (bytes memory) {
        require(BytesUtil.doFirstParamEqualsAddress(data, _msgSender()), "FIRST_PARAM_NOT_SENDER");

        if (amount > 0) {
            _addAllowanceIfNeeded(_msgSender(), target, amount);
        }

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returnData) = target.call{value: msg.value}(data);
        require(success, string(returnData));

        return returnData;
    }
}

File 7 of 13 : ERC20BaseToken.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.2;

import "@openzeppelin/contracts-0.8/utils/Context.sol";
import "./extensions/ERC20Internal.sol";
import "../../interfaces/IERC20Extended.sol";
import "../WithSuperOperators.sol";

abstract contract ERC20BaseToken is WithSuperOperators, IERC20, IERC20Extended, ERC20Internal, Context {
    string internal _name;
    string internal _symbol;
    address internal immutable _operator;
    uint256 internal _totalSupply;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

    constructor(
        string memory tokenName,
        string memory tokenSymbol,
        address admin,
        address operator
    ) {
        _name = tokenName;
        _symbol = tokenSymbol;
        _admin = admin;
        _operator = operator;
    }

    /// @notice Transfer `amount` tokens to `to`.
    /// @param to The recipient address of the tokens being transfered.
    /// @param amount The number of tokens being transfered.
    /// @return success Whether or not the transfer succeeded.
    function transfer(address to, uint256 amount) external override returns (bool success) {
        _transfer(_msgSender(), to, amount);
        return true;
    }

    /// @notice Transfer `amount` tokens from `from` to `to`.
    /// @param from The origin address  of the tokens being transferred.
    /// @param to The recipient address of the tokensbeing  transfered.
    /// @param amount The number of tokens transfered.
    /// @return success Whether or not the transfer succeeded.
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external override returns (bool success) {
        if (_msgSender() != from && !_superOperators[_msgSender()] && _msgSender() != _operator) {
            uint256 currentAllowance = _allowances[from][_msgSender()];
            if (currentAllowance != ~uint256(0)) {
                // save gas when allowance is maximal by not reducing it (see https://github.com/ethereum/EIPs/issues/717)
                require(currentAllowance >= amount, "NOT_AUTHORIZED_ALLOWANCE");
                _allowances[from][_msgSender()] = currentAllowance - amount;
            }
        }
        _transfer(from, to, amount);
        return true;
    }

    /// @notice Burn `amount` tokens.
    /// @param amount The number of tokens to burn.
    function burn(uint256 amount) external override {
        _burn(_msgSender(), amount);
    }

    /// @notice Burn `amount` tokens from `owner`.
    /// @param from The address whose token to burn.
    /// @param amount The number of tokens to burn.
    function burnFor(address from, uint256 amount) external override {
        _burn(from, amount);
    }

    /// @notice Approve `spender` to transfer `amount` tokens.
    /// @param spender The address to be given rights to transfer.
    /// @param amount The number of tokens allowed.
    /// @return success Whether or not the call succeeded.
    function approve(address spender, uint256 amount) external override returns (bool success) {
        _approveFor(_msgSender(), spender, amount);
        return true;
    }

    /// @notice Get the name of the token collection.
    /// @return The name of the token collection.
    function name() external view virtual returns (string memory) {
        //added virtual
        return _name;
    }

    /// @notice Get the symbol for the token collection.
    /// @return The symbol of the token collection.
    function symbol() external view virtual returns (string memory) {
        //added virtual
        return _symbol;
    }

    /// @notice Get the total number of tokens in existence.
    /// @return The total number of tokens in existence.
    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    /// @notice Get the balance of `owner`.
    /// @param owner The address to query the balance of.
    /// @return The amount owned by `owner`.
    function balanceOf(address owner) external view override returns (uint256) {
        return _balances[owner];
    }

    /// @notice Get the allowance of `spender` for `owner`'s tokens.
    /// @param owner The address whose token is allowed.
    /// @param spender The address allowed to transfer.
    /// @return remaining The amount of token `spender` is allowed to transfer on behalf of `owner`.
    function allowance(address owner, address spender) external view override returns (uint256 remaining) {
        return _allowances[owner][spender];
    }

    /// @notice Get the number of decimals for the token collection.
    /// @return The number of decimals.
    function decimals() external pure virtual returns (uint8) {
        return uint8(18);
    }

    /// @notice Approve `spender` to transfer `amount` tokens from `owner`.
    /// @param owner The address whose token is allowed.
    /// @param spender The address to be given rights to transfer.
    /// @param amount The number of tokens allowed.
    /// @return success Whether or not the call succeeded.
    function approveFor(
        address owner,
        address spender,
        uint256 amount
    ) public override returns (bool success) {
        require(_msgSender() == owner || _superOperators[_msgSender()] || _msgSender() == _operator, "NOT_AUTHORIZED");
        _approveFor(owner, spender, amount);
        return true;
    }

    /// @notice Increase the allowance for the spender if needed
    /// @param owner The address of the owner of the tokens
    /// @param spender The address wanting to spend tokens
    /// @param amountNeeded The amount requested to spend
    /// @return success Whether or not the call succeeded.
    function addAllowanceIfNeeded(
        address owner,
        address spender,
        uint256 amountNeeded
    ) public returns (bool success) {
        require(_msgSender() == owner || _superOperators[_msgSender()] || _msgSender() == _operator, "INVALID_SENDER");
        _addAllowanceIfNeeded(owner, spender, amountNeeded);
        return true;
    }

    /// @dev See addAllowanceIfNeeded.
    function _addAllowanceIfNeeded(
        address owner,
        address spender,
        uint256 amountNeeded /*(ERC20Internal, ERC20ExecuteExtension, ERC20BasicApproveExtension)*/
    ) internal virtual override {
        if (amountNeeded > 0 && !isSuperOperator(spender) && spender != _operator) {
            uint256 currentAllowance = _allowances[owner][spender];
            if (currentAllowance < amountNeeded) {
                _approveFor(owner, spender, amountNeeded);
            }
        }
    }

    /// @dev See approveFor.
    function _approveFor(
        address owner,
        address spender,
        uint256 amount /*(ERC20BasicApproveExtension, ERC20Internal)*/
    ) internal virtual override {
        require(owner != address(0) && spender != address(0), "INVALID_OWNER_||_SPENDER");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /// @dev See transfer.
    function _transfer(
        address from,
        address to,
        uint256 amount /*(ERC20Internal, ERC20ExecuteExtension)*/
    ) internal virtual override {
        require(to != address(0), "NOT_TO_ZEROADDRESS");
        require(to != address(this), "NOT_TO_THIS");
        uint256 currentBalance = _balances[from];
        require(currentBalance >= amount, "INSUFFICIENT_FUNDS");
        _balances[from] = currentBalance - amount;
        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    /// @dev Mint tokens for a recipient.
    /// @param to The recipient address.
    /// @param amount The number of token to mint.
    function _mint(address to, uint256 amount) internal {
        require(to != address(0), "NOT_TO_ZEROADDRESS");
        require(amount > 0, "MINT_O_TOKENS");
        uint256 currentTotalSupply = _totalSupply;
        uint256 newTotalSupply = currentTotalSupply + amount;
        require(newTotalSupply > currentTotalSupply, "OVERFLOW");
        _totalSupply = newTotalSupply;
        _balances[to] += amount;
        emit Transfer(address(0), to, amount);
    }

    /// @dev Burn tokens from an address.
    /// @param from The address whose tokens to burn.
    /// @param amount The number of token to burn.
    function _burn(address from, uint256 amount) internal {
        require(amount > 0, "BURN_O_TOKENS");
        if (_msgSender() != from && !_superOperators[_msgSender()] && _msgSender() != _operator) {
            uint256 currentAllowance = _allowances[from][_msgSender()];
            if (currentAllowance != ~uint256(0)) {
                // save gas when allowance is maximal by not reducing it (see https://github.com/ethereum/EIPs/issues/717)
                require(currentAllowance >= amount, "INSUFFICIENT_ALLOWANCE");
                _allowances[from][_msgSender()] = currentAllowance - amount;
            }
        }

        uint256 currentBalance = _balances[from];
        require(currentBalance >= amount, "INSUFFICIENT_FUNDS");
        _balances[from] = currentBalance - amount;
        _totalSupply -= amount;
        emit Transfer(from, address(0), amount);
    }
}

File 8 of 13 : ERC20Internal.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.2;

abstract contract ERC20Internal {
    function _approveFor(
        address owner,
        address target,
        uint256 amount
    ) internal virtual;

    function _addAllowanceIfNeeded(
        address owner,
        address spender,
        uint256 amountNeeded
    ) internal virtual;

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual;
}

File 9 of 13 : BytesUtil.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.2;

library BytesUtil {
    uint256 private constant DATA_MIN_LENGTH = 68;

    /// @dev Check if the data == _address.
    /// @param data The bytes passed to the function.
    /// @param _address The address to compare to.
    /// @return Whether the first param == _address.
    function doFirstParamEqualsAddress(bytes memory data, address _address) internal pure returns (bool) {
        if (data.length < DATA_MIN_LENGTH) {
            return false;
        }
        uint256 value;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            value := mload(add(data, 36))
        }
        return value == uint256(uint160(_address));
    }
}

File 10 of 13 : IERC20Extended.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.2;

import "./IERC20.sol";

interface IERC20Extended is IERC20 {
    function burnFor(address from, uint256 amount) external;

    function burn(uint256 amount) external;

    function approveFor(
        address owner,
        address spender,
        uint256 amount
    ) external returns (bool success);
}

File 11 of 13 : WithSuperOperators.sol
//SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
pragma solidity 0.8.2;

import "./WithAdmin.sol";

contract WithSuperOperators is WithAdmin {
    mapping(address => bool) internal _superOperators;

    event SuperOperator(address superOperator, bool enabled);

    /// @notice Enable or disable the ability of `superOperator` to transfer tokens of all (superOperator rights).
    /// @param superOperator address that will be given/removed superOperator right.
    /// @param enabled set whether the superOperator is enabled or disabled.
    function setSuperOperator(address superOperator, bool enabled) external {
        require(msg.sender == _admin, "only admin is allowed to add super operators");
        _superOperators[superOperator] = enabled;
        emit SuperOperator(superOperator, enabled);
    }

    /// @notice check whether address `who` is given superOperator rights.
    /// @param who The address to query.
    /// @return whether the address has superOperator rights.
    function isSuperOperator(address who) public view returns (bool) {
        return _superOperators[who];
    }
}

File 12 of 13 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.2;

/// @dev see https://eips.ethereum.org/EIPS/eip-20
interface IERC20 {
    /// @notice emitted when tokens are transfered from one address to another.
    /// @param from address from which the token are transfered from (zero means tokens are minted).
    /// @param to destination address which the token are transfered to (zero means tokens are burnt).
    /// @param value amount of tokens transferred.
    event Transfer(address indexed from, address indexed to, uint256 value);

    /// @notice emitted when owner grant transfer rights to another address
    /// @param owner address allowing its token to be transferred.
    /// @param spender address allowed to spend on behalf of `owner`
    /// @param value amount of tokens allowed.
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /// @notice return the current total amount of tokens owned by all holders.
    /// @return supply total number of tokens held.
    function totalSupply() external view returns (uint256 supply);

    /// @notice return the number of tokens held by a particular address.
    /// @param who address being queried.
    /// @return balance number of token held by that address.
    function balanceOf(address who) external view returns (uint256 balance);

    /// @notice transfer tokens to a specific address.
    /// @param to destination address receiving the tokens.
    /// @param value number of tokens to transfer.
    /// @return success whether the transfer succeeded.
    function transfer(address to, uint256 value) external returns (bool success);

    /// @notice transfer tokens from one address to another.
    /// @param from address tokens will be sent from.
    /// @param to destination address receiving the tokens.
    /// @param value number of tokens to transfer.
    /// @return success whether the transfer succeeded.
    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool success);

    /// @notice approve an address to spend on your behalf.
    /// @param spender address entitled to transfer on your behalf.
    /// @param value amount allowed to be transfered.
    /// @param success whether the approval succeeded.
    function approve(address spender, uint256 value) external returns (bool success);

    /// @notice return the current allowance for a particular owner/spender pair.
    /// @param owner address allowing spender.
    /// @param spender address allowed to spend.
    /// @return amount number of tokens `spender` can spend on behalf of `owner`.
    function allowance(address owner, address spender) external view returns (uint256 amount);
}

File 13 of 13 : WithAdmin.sol
//SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
pragma solidity 0.8.2;

contract WithAdmin {
    address internal _admin;

    /// @dev Emits when the contract administrator is changed.
    /// @param oldAdmin The address of the previous administrator.
    /// @param newAdmin The address of the new administrator.
    event AdminChanged(address oldAdmin, address newAdmin);

    modifier onlyAdmin() {
        require(msg.sender == _admin, "ADMIN_ONLY");
        _;
    }

    /// @dev Get the current administrator of this contract.
    /// @return The current administrator of this contract.
    function getAdmin() external view returns (address) {
        return _admin;
    }

    /// @dev Change the administrator to be `newAdmin`.
    /// @param newAdmin The address of the new administrator.
    function changeAdmin(address newAdmin) external {
        require(msg.sender == _admin, "ADMIN_ACCESS_DENIED");
        emit AdminChanged(_admin, newAdmin);
        _admin = newAdmin;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_childChainManagerProxy","type":"address"},{"internalType":"address","name":"trustedForwarder","type":"address"},{"internalType":"address","name":"sandAdmin","type":"address"},{"internalType":"address","name":"executionAdmin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"superOperator","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SuperOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amountNeeded","type":"uint256"}],"name":"addAllowanceIfNeeded","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveFor","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"childChainManagerProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTrustedForwarder","outputs":[{"internalType":"address","name":"trustedForwarder","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"isSuperOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"paidCall","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"superOperator","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSuperOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"trustedForwarder","type":"address"}],"name":"setTrustedForwarder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newChildChainManagerProxy","type":"address"}],"name":"updateChildChainManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a06040523480156200001157600080fd5b506040516200234b3803806200234b83398101604081905262000034916200049b565b81816000806040518060400160405280600481526020016314d0539160e21b8152506040518060400160405280600481526020016314d0539160e21b815250858583600290805190602001906200008d929190620003dd565b508251620000a3906003906020860190620003dd565b506000805460609290921b6001600160601b0319166080526001600160a01b03199182166001600160a01b039384161790911688831617905584161591506200010e9050576000620000fe82670de0b6b3a764000062000512565b90506200010c838262000225565b505b505050506000620001246200037e60201b60201c565b600780546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038416620001d95760405162461bcd60e51b815260206004820152602260248201527f426164204368696c64436861696e4d616e6167657250726f7879206164647265604482015261737360f01b60648201526084015b60405180910390fd5b600980546001600160a01b0319166001600160a01b0386161790556200021b83600880546001600160a01b0319166001600160a01b0392909216919091179055565b5050505062000587565b6001600160a01b038216620002725760405162461bcd60e51b81526020600482015260126024820152714e4f545f544f5f5a45524f4144445245535360701b6044820152606401620001d0565b60008111620002b45760405162461bcd60e51b815260206004820152600d60248201526c4d494e545f4f5f544f4b454e5360981b6044820152606401620001d0565b6004546000620002c58383620004f7565b9050818111620003035760405162461bcd60e51b81526020600482015260086024820152674f564552464c4f5760c01b6044820152606401620001d0565b60048190556001600160a01b0384166000908152600560205260408120805485929062000332908490620004f7565b90915550506040518381526001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b6000620003956200039b60201b6200123c1760201c565b90505b90565b6000620003a833620003c6565b15620003be575060131936013560601c62000398565b503362000398565b6008546001600160a01b038281169116145b919050565b828054620003eb9062000534565b90600052602060002090601f0160209004810192826200040f57600085556200045a565b82601f106200042a57805160ff19168380011785556200045a565b828001600101855582156200045a579182015b828111156200045a5782518255916020019190600101906200043d565b50620004689291506200046c565b5090565b5b808211156200046857600081556001016200046d565b80516001600160a01b0381168114620003d857600080fd5b60008060008060808587031215620004b1578384fd5b620004bc8562000483565b9350620004cc6020860162000483565b9250620004dc6040860162000483565b9150620004ec6060860162000483565b905092959194509250565b600082198211156200050d576200050d62000571565b500190565b60008160001904831182151516156200052f576200052f62000571565b500290565b6002810460018216806200054957607f821691505b602082108114156200056b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c611d89620005c2600039600081816106af0152818161083e0152818161093a0152818161140501526117ec0152611d896000f3fe6080604052600436106101c25760003560e01c80636e9960c3116100f7578063ac9fe42111610095578063cf2c52cb11610064578063cf2c52cb146104f0578063da74222814610510578063dd62ed3e14610530578063f2fde38b14610576576101c2565b8063ac9fe4211461048c578063bb1e23cb146104ac578063cae9ca51146104bf578063ce1b815f146104d2576101c2565b80638da5cb5b116100d15780638da5cb5b146104195780638f2839701461043757806395d89b4114610457578063a9059cbb1461046c576101c2565b80636e9960c3146103b057806370a08231146103ce578063715018a614610404576101c2565b8063313ce56711610164578063445a67971161013e578063445a6797146102ff578063572b6c051461031f57806362f629e71461033f578063654b748a14610377576101c2565b8063313ce567146102c35780633b7b5a16146102df57806342966c68146102a3576101c2565b80631dd319cb116101a05780631dd319cb1461024157806323b872dd146102635780632b991746146102835780632e1a7d4d146102a3576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd14610222575b600080fd5b3480156101d357600080fd5b506101dc610596565b6040516101e99190611c8e565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611b7c565b610629565b60405190151581526020016101e9565b34801561022e57600080fd5b506004545b6040519081526020016101e9565b34801561024d57600080fd5b5061026161025c366004611b7c565b610647565b005b34801561026f57600080fd5b5061021261027e366004611ab6565b610655565b34801561028f57600080fd5b5061021261029e366004611ab6565b6107e8565b3480156102af57600080fd5b506102616102be366004611bfd565b6108d0565b3480156102cf57600080fd5b50604051601281526020016101e9565b3480156102eb57600080fd5b506102126102fa366004611ab6565b6108e4565b34801561030b57600080fd5b5061026161031a366004611a63565b6109cc565b34801561032b57600080fd5b5061021261033a366004611a63565b610af0565b34801561034b57600080fd5b5060095461035f906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561038357600080fd5b50610212610392366004611a63565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156103bc57600080fd5b506000546001600160a01b031661035f565b3480156103da57600080fd5b506102336103e9366004611a63565b6001600160a01b031660009081526005602052604090205490565b34801561041057600080fd5b50610261610b07565b34801561042557600080fd5b506007546001600160a01b031661035f565b34801561044357600080fd5b50610261610452366004611a63565b610bd7565b34801561046357600080fd5b506101dc610ca7565b34801561047857600080fd5b50610212610487366004611b7c565b610cb6565b34801561049857600080fd5b506102616104a7366004611af1565b610cca565b6101dc6104ba366004611ba5565b610dcb565b6101dc6104cd366004611ba5565b610f09565b3480156104de57600080fd5b506008546001600160a01b031661035f565b3480156104fc57600080fd5b5061026161050b366004611b2b565b610fac565b34801561051c57600080fd5b5061026161052b366004611a63565b611036565b34801561053c57600080fd5b5061023361054b366004611a84565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561058257600080fd5b50610261610591366004611a63565b6110de565b6060600280546105a590611cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546105d190611cd0565b801561061e5780601f106105f35761010080835404028352916020019161061e565b820191906000526020600020905b81548152906001019060200180831161060157829003601f168201915b505050505090505b90565b600061063d610636611280565b848461128f565b5060015b92915050565b610651828261135d565b5050565b6000836001600160a01b0316610669611280565b6001600160a01b0316141580156106a6575060016000610687611280565b6001600160a01b0316815260208101919091526040016000205460ff16155b80156106eb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106df611280565b6001600160a01b031614155b156107d3576001600160a01b038416600090815260066020526040812081610711611280565b6001600160a01b03168152602081019190915260400160002054905060001981146107d1578281101561078b5760405162461bcd60e51b815260206004820152601860248201527f4e4f545f415554484f52495a45445f414c4c4f57414e4345000000000000000060448201526064015b60405180910390fd5b6107958382611cb9565b6001600160a01b0386166000908152600660205260408120906107b6611280565b6001600160a01b031681526020810191909152604001600020555b505b6107de848484611608565b5060019392505050565b6000836001600160a01b03166107fc611280565b6001600160a01b03161480610836575060016000610818611280565b6001600160a01b0316815260208101919091526040016000205460ff165b8061087957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661086e611280565b6001600160a01b0316145b6108c55760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610782565b6107de84848461128f565b6108e16108db611280565b8261135d565b50565b6000836001600160a01b03166108f8611280565b6001600160a01b03161480610932575060016000610914611280565b6001600160a01b0316815260208101919091526040016000205460ff165b8061097557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661096a611280565b6001600160a01b0316145b6109c15760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f53454e4445520000000000000000000000000000000000006044820152606401610782565b6107de8484846117ba565b6109d4611280565b6001600160a01b03166109ef6007546001600160a01b031690565b6001600160a01b031614610a455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6001600160a01b038116610ac15760405162461bcd60e51b815260206004820152602260248201527f426164204368696c64436861696e4d616e6167657250726f787920616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610782565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6008546001600160a01b038281169116145b919050565b610b0f611280565b6001600160a01b0316610b2a6007546001600160a01b031690565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6007546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36007805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b03163314610c315760405162461bcd60e51b815260206004820152601360248201527f41444d494e5f4143434553535f44454e494544000000000000000000000000006044820152606401610782565b600054604080516001600160a01b03928316815291831660208301527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a16000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600380546105a590611cd0565b600061063d610cc3611280565b8484611608565b6000546001600160a01b03163314610d4a5760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c792061646d696e20697320616c6c6f77656420746f206164642073757060448201527f6572206f70657261746f727300000000000000000000000000000000000000006064820152608401610782565b6001600160a01b03821660008181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f44f92d27abdf4cfb6a7d712c3af68f3be086d4ca747ab802c36f67d6790060d8910160405180910390a15050565b6060610e1583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e109250611280915050565b611864565b610e615760405162461bcd60e51b815260206004820152601660248201527f46495253545f504152414d5f4e4f545f53454e444552000000000000000000006044820152606401610782565b8315610e7957610e79610e72611280565b86866117ba565b600080866001600160a01b0316348686604051610e97929190611c7e565b60006040518083038185875af1925050503d8060008114610ed4576040519150601f19603f3d011682016040523d82523d6000602084013e610ed9565b606091505b5091509150818190610efe5760405162461bcd60e51b81526004016107829190611c8e565b509695505050505050565b6060610f4e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e109250611280915050565b610f9a5760405162461bcd60e51b815260206004820152601660248201527f46495253545f504152414d5f4e4f545f53454e444552000000000000000000006044820152606401610782565b610e79610fa5611280565b868661128f565b6009546001600160a01b0316610fc0611280565b6001600160a01b0316146110165760405162461bcd60e51b815260206004820152601d60248201527f596f75277265206e6f7420616c6c6f77656420746f206465706f7369740000006044820152606401610782565b600061102482840184611bfd565b9050611030848261188f565b50505050565b61103e611280565b6001600160a01b03166110596007546001600160a01b031690565b6001600160a01b0316146110af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6008805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6110e6611280565b6001600160a01b03166111016007546001600160a01b031690565b6001600160a01b0316146111575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6001600160a01b0381166111d35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610782565b6007546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061124733610af0565b1561127957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c610626565b5033610626565b600061128a61123c565b905090565b6001600160a01b038316158015906112af57506001600160a01b03821615155b6112fb5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f4f574e45525f7c7c5f5350454e44455200000000000000006044820152606401610782565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600081116113ad5760405162461bcd60e51b815260206004820152600d60248201527f4255524e5f4f5f544f4b454e53000000000000000000000000000000000000006044820152606401610782565b816001600160a01b03166113bf611280565b6001600160a01b0316141580156113fc5750600160006113dd611280565b6001600160a01b0316815260208101919091526040016000205460ff16155b801561144157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611435611280565b6001600160a01b031614155b15611524576001600160a01b038216600090815260066020526040812081611467611280565b6001600160a01b031681526020810191909152604001600020549050600019811461152257818110156114dc5760405162461bcd60e51b815260206004820152601660248201527f494e53554646494349454e545f414c4c4f57414e4345000000000000000000006044820152606401610782565b6114e68282611cb9565b6001600160a01b038416600090815260066020526040812090611507611280565b6001600160a01b031681526020810191909152604001600020555b505b6001600160a01b0382166000908152600560205260409020548181101561158d5760405162461bcd60e51b815260206004820152601260248201527f494e53554646494349454e545f46554e445300000000000000000000000000006044820152606401610782565b6115978282611cb9565b6001600160a01b038416600090815260056020526040812091909155600480548492906115c5908490611cb9565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611350565b6001600160a01b03821661165e5760405162461bcd60e51b815260206004820152601260248201527f4e4f545f544f5f5a45524f4144445245535300000000000000000000000000006044820152606401610782565b6001600160a01b0382163014156116b75760405162461bcd60e51b815260206004820152600b60248201527f4e4f545f544f5f544849530000000000000000000000000000000000000000006044820152606401610782565b6001600160a01b038316600090815260056020526040902054818110156117205760405162461bcd60e51b815260206004820152601260248201527f494e53554646494349454e545f46554e445300000000000000000000000000006044820152606401610782565b61172a8282611cb9565b6001600160a01b038086166000908152600560205260408082209390935590851681529081208054849290611760908490611ca1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117ac91815260200190565b60405180910390a350505050565b6000811180156117e357506001600160a01b03821660009081526001602052604090205460ff16155b801561182157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b1561185f576001600160a01b03808416600090815260066020908152604080832093861683529290522054818110156110305761103084848461128f565b505050565b600060448351101561187857506000610641565b5060248201516001600160a01b0382161492915050565b6001600160a01b0382166118e55760405162461bcd60e51b815260206004820152601260248201527f4e4f545f544f5f5a45524f4144445245535300000000000000000000000000006044820152606401610782565b600081116119355760405162461bcd60e51b815260206004820152600d60248201527f4d494e545f4f5f544f4b454e53000000000000000000000000000000000000006044820152606401610782565b60045460006119448383611ca1565b90508181116119955760405162461bcd60e51b815260206004820152600860248201527f4f564552464c4f570000000000000000000000000000000000000000000000006044820152606401610782565b60048190556001600160a01b038416600090815260056020526040812080548592906119c2908490611ca1565b90915550506040518381526001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016117ac565b80356001600160a01b0381168114610b0257600080fd5b60008083601f840112611a2d578182fd5b50813567ffffffffffffffff811115611a44578182fd5b602083019150836020828501011115611a5c57600080fd5b9250929050565b600060208284031215611a74578081fd5b611a7d82611a05565b9392505050565b60008060408385031215611a96578081fd5b611a9f83611a05565b9150611aad60208401611a05565b90509250929050565b600080600060608486031215611aca578081fd5b611ad384611a05565b9250611ae160208501611a05565b9150604084013590509250925092565b60008060408385031215611b03578182fd5b611b0c83611a05565b915060208301358015158114611b20578182fd5b809150509250929050565b600080600060408486031215611b3f578283fd5b611b4884611a05565b9250602084013567ffffffffffffffff811115611b63578283fd5b611b6f86828701611a1c565b9497909650939450505050565b60008060408385031215611b8e578182fd5b611b9783611a05565b946020939093013593505050565b60008060008060608587031215611bba578081fd5b611bc385611a05565b935060208501359250604085013567ffffffffffffffff811115611be5578182fd5b611bf187828801611a1c565b95989497509550505050565b600060208284031215611c0e578081fd5b5035919050565b60008151808452815b81811015611c3a57602081850181015186830182015201611c1e565b81811115611c4b5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b600060208252611a7d6020830184611c15565b60008219821115611cb457611cb4611d24565b500190565b600082821015611ccb57611ccb611d24565b500390565b600281046001821680611ce457607f821691505b60208210811415611d1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122062a887365b69f1c5fb4fb5b0be071e4c0dc583555fa546d72053d18702a5dfe064736f6c63430008020033000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa00000000000000000000000086c80a8aa58e0a4fa09a69624c31ab2a6cad56b8000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa

Deployed Bytecode

0x6080604052600436106101c25760003560e01c80636e9960c3116100f7578063ac9fe42111610095578063cf2c52cb11610064578063cf2c52cb146104f0578063da74222814610510578063dd62ed3e14610530578063f2fde38b14610576576101c2565b8063ac9fe4211461048c578063bb1e23cb146104ac578063cae9ca51146104bf578063ce1b815f146104d2576101c2565b80638da5cb5b116100d15780638da5cb5b146104195780638f2839701461043757806395d89b4114610457578063a9059cbb1461046c576101c2565b80636e9960c3146103b057806370a08231146103ce578063715018a614610404576101c2565b8063313ce56711610164578063445a67971161013e578063445a6797146102ff578063572b6c051461031f57806362f629e71461033f578063654b748a14610377576101c2565b8063313ce567146102c35780633b7b5a16146102df57806342966c68146102a3576101c2565b80631dd319cb116101a05780631dd319cb1461024157806323b872dd146102635780632b991746146102835780632e1a7d4d146102a3576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd14610222575b600080fd5b3480156101d357600080fd5b506101dc610596565b6040516101e99190611c8e565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611b7c565b610629565b60405190151581526020016101e9565b34801561022e57600080fd5b506004545b6040519081526020016101e9565b34801561024d57600080fd5b5061026161025c366004611b7c565b610647565b005b34801561026f57600080fd5b5061021261027e366004611ab6565b610655565b34801561028f57600080fd5b5061021261029e366004611ab6565b6107e8565b3480156102af57600080fd5b506102616102be366004611bfd565b6108d0565b3480156102cf57600080fd5b50604051601281526020016101e9565b3480156102eb57600080fd5b506102126102fa366004611ab6565b6108e4565b34801561030b57600080fd5b5061026161031a366004611a63565b6109cc565b34801561032b57600080fd5b5061021261033a366004611a63565b610af0565b34801561034b57600080fd5b5060095461035f906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561038357600080fd5b50610212610392366004611a63565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156103bc57600080fd5b506000546001600160a01b031661035f565b3480156103da57600080fd5b506102336103e9366004611a63565b6001600160a01b031660009081526005602052604090205490565b34801561041057600080fd5b50610261610b07565b34801561042557600080fd5b506007546001600160a01b031661035f565b34801561044357600080fd5b50610261610452366004611a63565b610bd7565b34801561046357600080fd5b506101dc610ca7565b34801561047857600080fd5b50610212610487366004611b7c565b610cb6565b34801561049857600080fd5b506102616104a7366004611af1565b610cca565b6101dc6104ba366004611ba5565b610dcb565b6101dc6104cd366004611ba5565b610f09565b3480156104de57600080fd5b506008546001600160a01b031661035f565b3480156104fc57600080fd5b5061026161050b366004611b2b565b610fac565b34801561051c57600080fd5b5061026161052b366004611a63565b611036565b34801561053c57600080fd5b5061023361054b366004611a84565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561058257600080fd5b50610261610591366004611a63565b6110de565b6060600280546105a590611cd0565b80601f01602080910402602001604051908101604052809291908181526020018280546105d190611cd0565b801561061e5780601f106105f35761010080835404028352916020019161061e565b820191906000526020600020905b81548152906001019060200180831161060157829003601f168201915b505050505090505b90565b600061063d610636611280565b848461128f565b5060015b92915050565b610651828261135d565b5050565b6000836001600160a01b0316610669611280565b6001600160a01b0316141580156106a6575060016000610687611280565b6001600160a01b0316815260208101919091526040016000205460ff16155b80156106eb57507f000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa6001600160a01b03166106df611280565b6001600160a01b031614155b156107d3576001600160a01b038416600090815260066020526040812081610711611280565b6001600160a01b03168152602081019190915260400160002054905060001981146107d1578281101561078b5760405162461bcd60e51b815260206004820152601860248201527f4e4f545f415554484f52495a45445f414c4c4f57414e4345000000000000000060448201526064015b60405180910390fd5b6107958382611cb9565b6001600160a01b0386166000908152600660205260408120906107b6611280565b6001600160a01b031681526020810191909152604001600020555b505b6107de848484611608565b5060019392505050565b6000836001600160a01b03166107fc611280565b6001600160a01b03161480610836575060016000610818611280565b6001600160a01b0316815260208101919091526040016000205460ff165b8061087957507f000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa6001600160a01b031661086e611280565b6001600160a01b0316145b6108c55760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610782565b6107de84848461128f565b6108e16108db611280565b8261135d565b50565b6000836001600160a01b03166108f8611280565b6001600160a01b03161480610932575060016000610914611280565b6001600160a01b0316815260208101919091526040016000205460ff165b8061097557507f000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa6001600160a01b031661096a611280565b6001600160a01b0316145b6109c15760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f53454e4445520000000000000000000000000000000000006044820152606401610782565b6107de8484846117ba565b6109d4611280565b6001600160a01b03166109ef6007546001600160a01b031690565b6001600160a01b031614610a455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6001600160a01b038116610ac15760405162461bcd60e51b815260206004820152602260248201527f426164204368696c64436861696e4d616e6167657250726f787920616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610782565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6008546001600160a01b038281169116145b919050565b610b0f611280565b6001600160a01b0316610b2a6007546001600160a01b031690565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6007546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36007805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b03163314610c315760405162461bcd60e51b815260206004820152601360248201527f41444d494e5f4143434553535f44454e494544000000000000000000000000006044820152606401610782565b600054604080516001600160a01b03928316815291831660208301527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a16000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600380546105a590611cd0565b600061063d610cc3611280565b8484611608565b6000546001600160a01b03163314610d4a5760405162461bcd60e51b815260206004820152602c60248201527f6f6e6c792061646d696e20697320616c6c6f77656420746f206164642073757060448201527f6572206f70657261746f727300000000000000000000000000000000000000006064820152608401610782565b6001600160a01b03821660008181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f44f92d27abdf4cfb6a7d712c3af68f3be086d4ca747ab802c36f67d6790060d8910160405180910390a15050565b6060610e1583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e109250611280915050565b611864565b610e615760405162461bcd60e51b815260206004820152601660248201527f46495253545f504152414d5f4e4f545f53454e444552000000000000000000006044820152606401610782565b8315610e7957610e79610e72611280565b86866117ba565b600080866001600160a01b0316348686604051610e97929190611c7e565b60006040518083038185875af1925050503d8060008114610ed4576040519150601f19603f3d011682016040523d82523d6000602084013e610ed9565b606091505b5091509150818190610efe5760405162461bcd60e51b81526004016107829190611c8e565b509695505050505050565b6060610f4e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e109250611280915050565b610f9a5760405162461bcd60e51b815260206004820152601660248201527f46495253545f504152414d5f4e4f545f53454e444552000000000000000000006044820152606401610782565b610e79610fa5611280565b868661128f565b6009546001600160a01b0316610fc0611280565b6001600160a01b0316146110165760405162461bcd60e51b815260206004820152601d60248201527f596f75277265206e6f7420616c6c6f77656420746f206465706f7369740000006044820152606401610782565b600061102482840184611bfd565b9050611030848261188f565b50505050565b61103e611280565b6001600160a01b03166110596007546001600160a01b031690565b6001600160a01b0316146110af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6008805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6110e6611280565b6001600160a01b03166111016007546001600160a01b031690565b6001600160a01b0316146111575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610782565b6001600160a01b0381166111d35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610782565b6007546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061124733610af0565b1561127957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c610626565b5033610626565b600061128a61123c565b905090565b6001600160a01b038316158015906112af57506001600160a01b03821615155b6112fb5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f4f574e45525f7c7c5f5350454e44455200000000000000006044820152606401610782565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600081116113ad5760405162461bcd60e51b815260206004820152600d60248201527f4255524e5f4f5f544f4b454e53000000000000000000000000000000000000006044820152606401610782565b816001600160a01b03166113bf611280565b6001600160a01b0316141580156113fc5750600160006113dd611280565b6001600160a01b0316815260208101919091526040016000205460ff16155b801561144157507f000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa6001600160a01b0316611435611280565b6001600160a01b031614155b15611524576001600160a01b038216600090815260066020526040812081611467611280565b6001600160a01b031681526020810191909152604001600020549050600019811461152257818110156114dc5760405162461bcd60e51b815260206004820152601660248201527f494e53554646494349454e545f414c4c4f57414e4345000000000000000000006044820152606401610782565b6114e68282611cb9565b6001600160a01b038416600090815260066020526040812090611507611280565b6001600160a01b031681526020810191909152604001600020555b505b6001600160a01b0382166000908152600560205260409020548181101561158d5760405162461bcd60e51b815260206004820152601260248201527f494e53554646494349454e545f46554e445300000000000000000000000000006044820152606401610782565b6115978282611cb9565b6001600160a01b038416600090815260056020526040812091909155600480548492906115c5908490611cb9565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611350565b6001600160a01b03821661165e5760405162461bcd60e51b815260206004820152601260248201527f4e4f545f544f5f5a45524f4144445245535300000000000000000000000000006044820152606401610782565b6001600160a01b0382163014156116b75760405162461bcd60e51b815260206004820152600b60248201527f4e4f545f544f5f544849530000000000000000000000000000000000000000006044820152606401610782565b6001600160a01b038316600090815260056020526040902054818110156117205760405162461bcd60e51b815260206004820152601260248201527f494e53554646494349454e545f46554e445300000000000000000000000000006044820152606401610782565b61172a8282611cb9565b6001600160a01b038086166000908152600560205260408082209390935590851681529081208054849290611760908490611ca1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117ac91815260200190565b60405180910390a350505050565b6000811180156117e357506001600160a01b03821660009081526001602052604090205460ff16155b801561182157507f000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa6001600160a01b0316826001600160a01b031614155b1561185f576001600160a01b03808416600090815260066020908152604080832093861683529290522054818110156110305761103084848461128f565b505050565b600060448351101561187857506000610641565b5060248201516001600160a01b0382161492915050565b6001600160a01b0382166118e55760405162461bcd60e51b815260206004820152601260248201527f4e4f545f544f5f5a45524f4144445245535300000000000000000000000000006044820152606401610782565b600081116119355760405162461bcd60e51b815260206004820152600d60248201527f4d494e545f4f5f544f4b454e53000000000000000000000000000000000000006044820152606401610782565b60045460006119448383611ca1565b90508181116119955760405162461bcd60e51b815260206004820152600860248201527f4f564552464c4f570000000000000000000000000000000000000000000000006044820152606401610782565b60048190556001600160a01b038416600090815260056020526040812080548592906119c2908490611ca1565b90915550506040518381526001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016117ac565b80356001600160a01b0381168114610b0257600080fd5b60008083601f840112611a2d578182fd5b50813567ffffffffffffffff811115611a44578182fd5b602083019150836020828501011115611a5c57600080fd5b9250929050565b600060208284031215611a74578081fd5b611a7d82611a05565b9392505050565b60008060408385031215611a96578081fd5b611a9f83611a05565b9150611aad60208401611a05565b90509250929050565b600080600060608486031215611aca578081fd5b611ad384611a05565b9250611ae160208501611a05565b9150604084013590509250925092565b60008060408385031215611b03578182fd5b611b0c83611a05565b915060208301358015158114611b20578182fd5b809150509250929050565b600080600060408486031215611b3f578283fd5b611b4884611a05565b9250602084013567ffffffffffffffff811115611b63578283fd5b611b6f86828701611a1c565b9497909650939450505050565b60008060408385031215611b8e578182fd5b611b9783611a05565b946020939093013593505050565b60008060008060608587031215611bba578081fd5b611bc385611a05565b935060208501359250604085013567ffffffffffffffff811115611be5578182fd5b611bf187828801611a1c565b95989497509550505050565b600060208284031215611c0e578081fd5b5035919050565b60008151808452815b81811015611c3a57602081850181015186830182015201611c1e565b81811115611c4b5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b600060208252611a7d6020830184611c15565b60008219821115611cb457611cb4611d24565b500190565b600082821015611ccb57611ccb611d24565b500390565b600281046001821680611ce457607f821691505b60208210811415611d1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122062a887365b69f1c5fb4fb5b0be071e4c0dc583555fa546d72053d18702a5dfe064736f6c63430008020033

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

000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa00000000000000000000000086c80a8aa58e0a4fa09a69624c31ab2a6cad56b8000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa

-----Decoded View---------------
Arg [0] : _childChainManagerProxy (address): 0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa
Arg [1] : trustedForwarder (address): 0x86C80a8aa58e0A4fa09A69624c31Ab2a6CAD56b8
Arg [2] : sandAdmin (address): 0xe75Ce341C98400a45F579e32C95fF49681Fc93fa
Arg [3] : executionAdmin (address): 0xe75Ce341C98400a45F579e32C95fF49681Fc93fa

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa
Arg [1] : 00000000000000000000000086c80a8aa58e0a4fa09a69624c31ab2a6cad56b8
Arg [2] : 000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa
Arg [3] : 000000000000000000000000e75ce341c98400a45f579e32c95ff49681fc93fa


Block Transaction Gas Used Reward
view all blocks produced

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

OVERVIEW

The Sandbox is a virtual world where players can build, own, and monetize their gaming experiences in the Ethereum blockchain using SAND, the platform’s utility token.

Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Chain Token Portfolio % Price Amount Value
ETH50.18%$0.3837917,582.3116$6,747.92
ETH34.20%$3,564.021.2903$4,598.67
ETH0.49%$0.387186171.5946$66.44
ETH0.38%$0.99933150.4903$50.46
ETH0.37%$0.00259719,140.2116$49.71
ETH0.30%$0.215322189.1665$40.73
ETH0.01%$0.6128673.0628$1.88
BSC4.45%$605.160.9893$598.7
BSC2.37%$30.410.4707$318.35
BSC2.23%$0.99905300$299.71
BSC1.84%$11.421.7584$248.04
BSC0.58%$40.881.9016$77.74
BSC0.45%$0.99885760$59.93
BSC0.30%$0.17474228.878$39.99
BSC0.26%$0.279336126.4588$35.32
BSC0.19%$0.0195391,290.3448$25.21
BSC0.14%$0.0077122,501.7637$19.29
BSC0.12%$0.000099169,117.4328$16.75
BSC0.02%$0.02866896.97$2.78
CRONOS0.92%$0.999421123.3836$123.31
OP0.15%$3.345.8541$19.54
BLAST0.04%$3,563.970.00160986$5.74
[ 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.