GLMR Price: $0.021464 (-3.38%)

Contract

0xB0210dE78E28e2633Ca200609D9f528c13c26cD9

Overview

GLMR Balance

Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo458.666904114680691317 GLMR

GLMR Value

$9.84 (@ $0.02/GLMR)

Token Holdings

More Info

Private Name Tags

Transaction Hash
Block
From
To
Batch Withdraw I...139213092026-01-01 10:40:3623 days ago1767264036IN
0xB0210dE7...c13c26cD9
0 GLMR0.0021614538.4
Batch Withdraw L...136432572025-12-09 18:02:2445 days ago1765303344IN
0xB0210dE7...c13c26cD9
0 GLMR0.0040152531.25
Batch Withdraw I...122482862025-08-20 14:49:06157 days ago1755701346IN
0xB0210dE7...c13c26cD9
0 GLMR0.0024993746.875
Batch Withdraw I...122482852025-08-20 14:49:00157 days ago1755701340IN
0xB0210dE7...c13c26cD9
0 GLMR0.0026381246.875
Batch Withdraw I...122065172025-08-17 15:38:36160 days ago1755445116IN
0xB0210dE7...c13c26cD9
0 GLMR0.0088107333
Batch Withdraw L...110554402025-05-27 21:34:12241 days ago1748381652IN
0xB0210dE7...c13c26cD9
0 GLMR0.022375837.5
Confirm Ownershi...110389112025-05-26 17:14:30242 days ago1748279670IN
0xB0210dE7...c13c26cD9
0 GLMR0.0033240231.27374147
Transfer Ownersh...110389102025-05-26 17:14:24242 days ago1748279664IN
0xB0210dE7...c13c26cD9
0 GLMR0.003337531.25
Batch Withdraw I...77418302024-10-04 10:30:18477 days ago1728037818IN
0xB0210dE7...c13c26cD9
0 GLMR0.038398125

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
142074912026-01-24 9:34:547 hrs ago1769247294
0xB0210dE7...c13c26cD9
59.88637279 GLMR
142074912026-01-24 9:34:547 hrs ago1769247294
0xB0210dE7...c13c26cD9
60.03646395 GLMR
142048492026-01-24 4:37:3612 hrs ago1769229456
0xB0210dE7...c13c26cD9
4,549.4901661 GLMR
142048492026-01-24 4:37:3612 hrs ago1769229456
0xB0210dE7...c13c26cD9
4,560.8923971 GLMR
141998152026-01-23 19:10:1222 hrs ago1769195412
0xB0210dE7...c13c26cD9
14.65237508 GLMR
141998152026-01-23 19:10:1222 hrs ago1769195412
0xB0210dE7...c13c26cD9
14.68909782 GLMR
141983052026-01-23 16:17:0024 hrs ago1769185020
0xB0210dE7...c13c26cD9
222.2116785 GLMR
141983052026-01-23 16:17:0024 hrs ago1769185020
0xB0210dE7...c13c26cD9
222.7686 GLMR
141962902026-01-23 12:27:1828 hrs ago1769171238
0xB0210dE7...c13c26cD9
93.803 GLMR
141962902026-01-23 12:27:1828 hrs ago1769171238
0xB0210dE7...c13c26cD9
95 GLMR
141962562026-01-23 12:23:3628 hrs ago1769171016
0xB0210dE7...c13c26cD9
1,876.06 GLMR
141962562026-01-23 12:23:3628 hrs ago1769171016
0xB0210dE7...c13c26cD9
1,900 GLMR
141937572026-01-23 7:38:3733 hrs ago1769153917
0xB0210dE7...c13c26cD9
226.94039103 GLMR
141937572026-01-23 7:38:3733 hrs ago1769153917
0xB0210dE7...c13c26cD9
227.50916394 GLMR
141874572026-01-22 19:48:3045 hrs ago1769111310
0xB0210dE7...c13c26cD9
49.87778986 GLMR
141874572026-01-22 19:48:3045 hrs ago1769111310
0xB0210dE7...c13c26cD9
50.00279686 GLMR
141715722026-01-21 14:04:063 days ago1769004246
0xB0210dE7...c13c26cD9
1,184.88 GLMR
141715722026-01-21 14:04:063 days ago1769004246
0xB0210dE7...c13c26cD9
1,200 GLMR
141682712026-01-21 7:52:123 days ago1768981932
0xB0210dE7...c13c26cD9
69.825 GLMR
141682712026-01-21 7:52:123 days ago1768981932
0xB0210dE7...c13c26cD9
70 GLMR
141599312026-01-20 16:08:244 days ago1768925304
0xB0210dE7...c13c26cD9
419.32322181 GLMR
141599312026-01-20 16:08:244 days ago1768925304
0xB0210dE7...c13c26cD9
420.3741572 GLMR
141573652026-01-20 11:22:124 days ago1768908132
0xB0210dE7...c13c26cD9
146.22947777 GLMR
141573652026-01-20 11:22:124 days ago1768908132
0xB0210dE7...c13c26cD9
146.59596769 GLMR
141461832026-01-19 14:12:065 days ago1768831926
0xB0210dE7...c13c26cD9
14,877.70692164 GLMR
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FeeCollector

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.13;

import { LibAsset } from "../Libraries/LibAsset.sol";

/// @title Fee Collector
/// @author LI.FI (https://li.fi)
/// @notice Provides functionality for collecting integrator fees
contract FeeCollector {
    /// State ///

    // Integrator -> TokenAddress -> Balance
    mapping(address => mapping(address => uint256)) private _balances;
    // TokenAddress -> Balance
    mapping(address => uint256) private _lifiBalances;
    address public owner;
    address public pendingOwner;

    /// Errors ///
    error Unauthorized(address);
    error NoNullOwner();
    error NewOwnerMustNotBeSelf();
    error NoPendingOwnershipTransfer();
    error NotPendingOwner();
    error TransferFailure();

    /// Events ///
    event FeesCollected(address indexed _token, address indexed _integrator, uint256 _integratorFee, uint256 _lifiFee);
    event FeesWithdrawn(address indexed _token, address indexed _to, uint256 _amount);
    event LiFiFeesWithdrawn(address indexed _token, address indexed _to, uint256 _amount);
    event OwnershipTransferRequested(address indexed _from, address indexed _to);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// Constructor ///

    constructor(address _owner) {
        owner = _owner;
    }

    /// External Methods ///

    /// @notice Collects fees for the integrator
    /// @param tokenAddress address of the token to collect fees for
    /// @param integratorFee amount of fees to collect going to the integrator
    /// @param lifiFee amount of fees to collect going to lifi
    /// @param integratorAddress address of the integrator
    function collectTokenFees(
        address tokenAddress,
        uint256 integratorFee,
        uint256 lifiFee,
        address integratorAddress
    ) external {
        LibAsset.depositAsset(tokenAddress, integratorFee + lifiFee);
        _balances[integratorAddress][tokenAddress] += integratorFee;
        _lifiBalances[tokenAddress] += lifiFee;
        emit FeesCollected(tokenAddress, integratorAddress, integratorFee, lifiFee);
    }

    /// @notice Collects fees for the integrator in native token
    /// @param integratorFee amount of fees to collect going to the integrator
    /// @param lifiFee amount of fees to collect going to lifi
    /// @param integratorAddress address of the integrator
    function collectNativeFees(
        uint256 integratorFee,
        uint256 lifiFee,
        address integratorAddress
    ) external payable {
        _balances[integratorAddress][LibAsset.NULL_ADDRESS] += integratorFee;
        _lifiBalances[LibAsset.NULL_ADDRESS] += lifiFee;
        uint256 remaining = msg.value - (integratorFee + lifiFee);
        // Prevent extra native token from being locked in the contract
        if (remaining > 0) {
            (bool success, ) = msg.sender.call{ value: remaining }("");
            if (!success) {
                revert TransferFailure();
            }
        }
        emit FeesCollected(LibAsset.NULL_ADDRESS, integratorAddress, integratorFee, lifiFee);
    }

    /// @notice Withdraw fees and sends to the integrator
    /// @param tokenAddress address of the token to withdraw fees for
    function withdrawIntegratorFees(address tokenAddress) external {
        uint256 balance = _balances[msg.sender][tokenAddress];
        if (balance == 0) {
            return;
        }
        _balances[msg.sender][tokenAddress] = 0;
        LibAsset.transferAsset(tokenAddress, payable(msg.sender), balance);
        emit FeesWithdrawn(tokenAddress, msg.sender, balance);
    }

    /// @notice Batch withdraw fees and sends to the integrator
    /// @param tokenAddresses addresses of the tokens to withdraw fees for
    function batchWithdrawIntegratorFees(address[] memory tokenAddresses) external {
        uint256 length = tokenAddresses.length;
        uint256 balance;
        for (uint256 i = 0; i < length; i++) {
            balance = _balances[msg.sender][tokenAddresses[i]];
            if (balance == 0) {
                continue;
            }
            _balances[msg.sender][tokenAddresses[i]] = 0;
            LibAsset.transferAsset(tokenAddresses[i], payable(msg.sender), balance);
            emit FeesWithdrawn(tokenAddresses[i], msg.sender, balance);
        }
    }

    /// @notice Withdraws fees and sends to lifi
    /// @param tokenAddress address of the token to withdraw fees for
    function withdrawLifiFees(address tokenAddress) external {
        _enforceIsContractOwner();

        uint256 balance = _lifiBalances[tokenAddress];
        if (balance == 0) {
            return;
        }
        _lifiBalances[tokenAddress] = 0;
        LibAsset.transferAsset(tokenAddress, payable(owner), balance);
        emit LiFiFeesWithdrawn(tokenAddress, msg.sender, balance);
    }

    /// @notice Batch withdraws fees and sends to lifi
    /// @param tokenAddresses addresses of the tokens to withdraw fees for
    function batchWithdrawLifiFees(address[] memory tokenAddresses) external {
        _enforceIsContractOwner();

        uint256 length = tokenAddresses.length;
        uint256 balance;
        for (uint256 i = 0; i < length; i++) {
            balance = _lifiBalances[tokenAddresses[i]];
            if (balance == 0) {
                continue;
            }
            _lifiBalances[tokenAddresses[i]] = 0;
            LibAsset.transferAsset(tokenAddresses[i], payable(owner), balance);
            emit LiFiFeesWithdrawn(tokenAddresses[i], msg.sender, balance);
        }
    }

    /// @notice Returns the balance of the integrator
    /// @param integratorAddress address of the integrator
    /// @param tokenAddress address of the token to get the balance of
    function getTokenBalance(address integratorAddress, address tokenAddress) external view returns (uint256) {
        return _balances[integratorAddress][tokenAddress];
    }

    /// @notice Returns the balance of lifi
    /// @param tokenAddress address of the token to get the balance of
    function getLifiTokenBalance(address tokenAddress) external view returns (uint256) {
        return _lifiBalances[tokenAddress];
    }

    /// @notice Intitiates transfer of ownership to a new address
    /// @param _newOwner the address to transfer ownership to
    function transferOwnership(address _newOwner) external {
        _enforceIsContractOwner();

        if (_newOwner == LibAsset.NULL_ADDRESS) revert NoNullOwner();

        if (_newOwner == owner) revert NewOwnerMustNotBeSelf();

        pendingOwner = _newOwner;
        emit OwnershipTransferRequested(msg.sender, pendingOwner);
    }

    /// @notice Cancel transfer of ownership
    function cancelOnwershipTransfer() external {
        _enforceIsContractOwner();

        if (pendingOwner == LibAsset.NULL_ADDRESS) revert NoPendingOwnershipTransfer();
        pendingOwner = LibAsset.NULL_ADDRESS;
    }

    /// @notice Confirms transfer of ownership to the calling address (msg.sender)
    function confirmOwnershipTransfer() external {
        if (msg.sender != pendingOwner) revert NotPendingOwner();
        owner = pendingOwner;
        pendingOwner = LibAsset.NULL_ADDRESS;
        emit OwnershipTransferred(owner, pendingOwner);
    }

    /// Private Methods ///

    /// @notice Ensures that the calling address is the owner of the contract
    function _enforceIsContractOwner() private view {
        if (msg.sender != owner) {
            revert Unauthorized(msg.sender);
        }
    }
}

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.13;
import { NullAddrIsNotAnERC20Token, NullAddrIsNotAValidSpender, NoTransferToNullAddress, InvalidAmount, NativeValueWithERC, NativeAssetTransferFailed } from "../Errors/GenericErrors.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

/// @title LibAsset
/// @author Connext <[email protected]>
/// @notice This library contains helpers for dealing with onchain transfers
///         of assets, including accounting for the native asset `assetId`
///         conventions and any noncompliant ERC20 transfers
library LibAsset {
    uint256 private constant MAX_INT = type(uint256).max;

    address internal constant NULL_ADDRESS = 0x0000000000000000000000000000000000000000; //address(0)

    /// @dev All native assets use the empty address for their asset id
    ///      by convention

    address internal constant NATIVE_ASSETID = NULL_ADDRESS; //address(0)

    /// @notice Gets the balance of the inheriting contract for the given asset
    /// @param assetId The asset identifier to get the balance of
    /// @return Balance held by contracts using this library
    function getOwnBalance(address assetId) internal view returns (uint256) {
        return assetId == NATIVE_ASSETID ? address(this).balance : IERC20(assetId).balanceOf(address(this));
    }

    /// @notice Transfers ether from the inheriting contract to a given
    ///         recipient
    /// @param recipient Address to send ether to
    /// @param amount Amount to send to given recipient
    function transferNativeAsset(address payable recipient, uint256 amount) private {
        if (recipient == NULL_ADDRESS) revert NoTransferToNullAddress();
        // solhint-disable-next-line avoid-low-level-calls
        (bool success, ) = recipient.call{ value: amount }("");
        if (!success) revert NativeAssetTransferFailed();
    }

    /// @notice Gives MAX approval for another address to spend tokens
    /// @param assetId Token address to transfer
    /// @param spender Address to give spend approval to
    /// @param amount Amount to approve for spending
    function maxApproveERC20(
        IERC20 assetId,
        address spender,
        uint256 amount
    ) internal {
        if (address(assetId) == NATIVE_ASSETID) return;
        if (spender == NULL_ADDRESS) revert NullAddrIsNotAValidSpender();
        uint256 allowance = assetId.allowance(address(this), spender);
        if (allowance < amount) SafeERC20.safeApprove(IERC20(assetId), spender, MAX_INT);
    }

    /// @notice Transfers tokens from the inheriting contract to a given
    ///         recipient
    /// @param assetId Token address to transfer
    /// @param recipient Address to send token to
    /// @param amount Amount to send to given recipient
    function transferERC20(
        address assetId,
        address recipient,
        uint256 amount
    ) private {
        if (isNativeAsset(assetId)) revert NullAddrIsNotAnERC20Token();
        SafeERC20.safeTransfer(IERC20(assetId), recipient, amount);
    }

    /// @notice Transfers tokens from a sender to a given recipient
    /// @param assetId Token address to transfer
    /// @param from Address of sender/owner
    /// @param to Address of recipient/spender
    /// @param amount Amount to transfer from owner to spender
    function transferFromERC20(
        address assetId,
        address from,
        address to,
        uint256 amount
    ) internal {
        if (assetId == NATIVE_ASSETID) revert NullAddrIsNotAnERC20Token();
        if (to == NULL_ADDRESS) revert NoTransferToNullAddress();
        SafeERC20.safeTransferFrom(IERC20(assetId), from, to, amount);
    }

    /// @notice Deposits an asset into the contract and performs checks to avoid NativeValueWithERC
    /// @param tokenId Token to deposit
    /// @param amount Amount to deposit
    /// @param isNative Wether the token is native or ERC20
    function depositAsset(
        address tokenId,
        uint256 amount,
        bool isNative
    ) internal {
        if (amount == 0) revert InvalidAmount();
        if (isNative) {
            if (msg.value != amount) revert InvalidAmount();
        } else {
            if (msg.value != 0) revert NativeValueWithERC();
            uint256 _fromTokenBalance = LibAsset.getOwnBalance(tokenId);
            LibAsset.transferFromERC20(tokenId, msg.sender, address(this), amount);
            if (LibAsset.getOwnBalance(tokenId) - _fromTokenBalance != amount) revert InvalidAmount();
        }
    }

    /// @notice Overload for depositAsset(address tokenId, uint256 amount, bool isNative)
    /// @param tokenId Token to deposit
    /// @param amount Amount to deposit
    function depositAsset(address tokenId, uint256 amount) internal {
        return depositAsset(tokenId, amount, tokenId == NATIVE_ASSETID);
    }

    /// @notice Determines whether the given assetId is the native asset
    /// @param assetId The asset identifier to evaluate
    /// @return Boolean indicating if the asset is the native asset
    function isNativeAsset(address assetId) internal pure returns (bool) {
        return assetId == NATIVE_ASSETID;
    }

    /// @notice Wrapper function to transfer a given asset (native or erc20) to
    ///         some recipient. Should handle all non-compliant return value
    ///         tokens as well by using the SafeERC20 contract by open zeppelin.
    /// @param assetId Asset id for transfer (address(0) for native asset,
    ///                token address for erc20s)
    /// @param recipient Address to send asset to
    /// @param amount Amount to send to given recipient
    function transferAsset(
        address assetId,
        address payable recipient,
        uint256 amount
    ) internal {
        (assetId == NATIVE_ASSETID)
            ? transferNativeAsset(recipient, amount)
            : transferERC20(assetId, recipient, amount);
    }

    /// @dev Checks whether the given address is a contract and contains code
    function isContract(address _contractAddr) internal view returns (bool) {
        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            size := extcodesize(_contractAddr)
        }
        return size > 0;
    }
}

File 3 of 6 : GenericErrors.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

error InvalidAmount();
error TokenAddressIsZero();
error CannotBridgeToSameNetwork();
error ZeroPostSwapBalance();
error InvalidBridgeConfigLength();
error NoSwapDataProvided();
error NativeValueWithERC();
error ContractCallNotAllowed();
error NullAddrIsNotAValidSpender();
error NullAddrIsNotAnERC20Token();
error NoTransferToNullAddress();
error NativeAssetTransferFailed();
error InvalidContract();
error InvalidConfig();

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../IERC20.sol";
import "../../../utils/Address.sol";

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure (when the token
 * contract returns false). Tokens that return no value (and instead revert or
 * throw on failure) are also supported, non-reverting calls are assumed to be
 * successful.
 * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using Address for address;

    function safeTransfer(
        IERC20 token,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(
        IERC20 token,
        address from,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    /**
     * @dev Deprecated. This function has issues similar to the ones found in
     * {IERC20-approve}, and its usage is discouraged.
     *
     * Whenever possible, use {safeIncreaseAllowance} and
     * {safeDecreaseAllowance} instead.
     */
    function safeApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        require(
            (value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        uint256 newAllowance = token.allowance(address(this), spender) + value;
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        unchecked {
            uint256 oldAllowance = token.allowance(address(this), spender);
            require(oldAllowance >= value, "SafeERC20: decreased allowance below zero");
            uint256 newAllowance = oldAllowance - value;
            _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
        }
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
        // the target address contains contract code and also asserts for success in the low-level call.

        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) {
            // Return data is optional
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidAmount","type":"error"},{"inputs":[],"name":"NativeAssetTransferFailed","type":"error"},{"inputs":[],"name":"NativeValueWithERC","type":"error"},{"inputs":[],"name":"NewOwnerMustNotBeSelf","type":"error"},{"inputs":[],"name":"NoNullOwner","type":"error"},{"inputs":[],"name":"NoPendingOwnershipTransfer","type":"error"},{"inputs":[],"name":"NoTransferToNullAddress","type":"error"},{"inputs":[],"name":"NotPendingOwner","type":"error"},{"inputs":[],"name":"NullAddrIsNotAnERC20Token","type":"error"},{"inputs":[],"name":"TransferFailure","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_integrator","type":"address"},{"indexed":false,"internalType":"uint256","name":"_integratorFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_lifiFee","type":"uint256"}],"name":"FeesCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FeesWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"LiFiFeesWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferRequested","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"},{"inputs":[{"internalType":"address[]","name":"tokenAddresses","type":"address[]"}],"name":"batchWithdrawIntegratorFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokenAddresses","type":"address[]"}],"name":"batchWithdrawLifiFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOnwershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"integratorFee","type":"uint256"},{"internalType":"uint256","name":"lifiFee","type":"uint256"},{"internalType":"address","name":"integratorAddress","type":"address"}],"name":"collectNativeFees","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"integratorFee","type":"uint256"},{"internalType":"uint256","name":"lifiFee","type":"uint256"},{"internalType":"address","name":"integratorAddress","type":"address"}],"name":"collectTokenFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getLifiTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"integratorAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"withdrawIntegratorFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"withdrawLifiFees","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161171338038061171383398101604081905261002f91610054565b600280546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611680806100936000396000f3fe6080604052600436106100d25760003560e01c8063bd0b380b1161007f578063e30c397811610059578063e30c39781461023b578063e5d647661461025b578063eedd56e11461027b578063f2fde38b1461029b57600080fd5b8063bd0b380b146101c4578063c489744b146101e4578063e0cbc5f21461022857600080fd5b806364bc5be1116100b057806364bc5be1146101575780637200b829146101775780638da5cb5b1461018c57600080fd5b80630f4efb90146100d75780630fe97f70146100ee578063461ad4f514610137575b600080fd5b3480156100e357600080fd5b506100ec6102bb565b005b3480156100fa57600080fd5b506101246101093660046112d6565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b34801561014357600080fd5b506100ec6101523660046112d6565b61032f565b34801561016357600080fd5b506100ec610172366004611320565b6103cb565b34801561018357600080fd5b506100ec610520565b34801561019857600080fd5b506002546101ac906001600160a01b031681565b6040516001600160a01b03909116815260200161012e565b3480156101d057600080fd5b506100ec6101df3660046112d6565b6105d3565b3480156101f057600080fd5b506101246101ff366004611403565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6100ec610236366004611436565b61066c565b34801561024757600080fd5b506003546101ac906001600160a01b031681565b34801561026757600080fd5b506100ec610276366004611320565b6107d3565b34801561028757600080fd5b506100ec61029636600461146b565b610929565b3480156102a757600080fd5b506100ec6102b63660046112d6565b6109e9565b6102c3610add565b6003546001600160a01b0316610305576040517f75cdea1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610337610add565b6001600160a01b0381166000908152600160205260408120549081900361035c575050565b6001600160a01b038083166000908152600160205260408120556002546103869184911683610b2a565b60405181815233906001600160a01b038416907fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc906020015b60405180910390a35050565b6103d3610add565b80516000805b8281101561051a57600160008583815181106103f7576103f76114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549150816000031561050857600060016000868481518110610443576104436114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506104a1848281518110610484576104846114b1565b60209081029190910101516002546001600160a01b031684610b2a565b336001600160a01b03168482815181106104bd576104bd6114b1565b60200260200101516001600160a01b03167fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc846040516104ff91815260200190565b60405180910390a35b806105128161150f565b9150506103d9565b50505050565b6003546001600160a01b03163314610564576040517f1853971c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054600280546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009182168117909255909116909155604051600091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b336000908152602081815260408083206001600160a01b038516845290915281205490819003610601575050565b336000818152602081815260408083206001600160a01b038716845290915281205561062f90839083610b2a565b60405181815233906001600160a01b038416907f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa8906020016103bf565b6001600160a01b0381166000908152602081815260408083208380529091528120805485929061069d908490611547565b9091555050600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4980548492906106dd908490611547565b90915550600090506106ef8385611547565b6106f9903461155f565b9050801561078557604051600090339083908381818185875af1925050503d8060008114610743576040519150601f19603f3d011682016040523d82523d6000602084013e610748565b606091505b5050905080610783576040517ff7e6817a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60408051858152602081018590526001600160a01b038416916000917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91015b60405180910390a350505050565b80516000805b8281101561051a573360009081526020819052604081208551909190869084908110610807576108076114b1565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054915081600003156109175733600090815260208190526040812085518290879085908110610860576108606114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506108b08482815181106108a1576108a16114b1565b60200260200101513384610b2a565b336001600160a01b03168482815181106108cc576108cc6114b1565b60200260200101516001600160a01b03167f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa88460405161090e91815260200190565b60405180910390a35b806109218161150f565b9150506107d9565b61093c846109378486611547565b610b53565b6001600160a01b0380821660009081526020818152604080832093881683529290529081208054859290610971908490611547565b90915550506001600160a01b0384166000908152600160205260408120805484929061099e908490611547565b909155505060408051848152602081018490526001600160a01b0380841692908716917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91016107c5565b6109f1610add565b6001600160a01b038116610a31576040517f1beca37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546001600160a01b0390811690821603610a79576040517fbf1ea9fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405133907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b6002546001600160a01b03163314610b28576040517f8e4a23d60000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b565b6001600160a01b03831615610b4957610b44838383610b6c565b505050565b610b448282610bb7565b610b6882826001600160a01b03821615610c84565b5050565b6001600160a01b038316610bac576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b44838383610d99565b6001600160a01b038216610bf7576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610c44576040519150601f19603f3d011682016040523d82523d6000602084013e610c49565b606091505b5050905080610b44576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600003610cbe576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610cfd57813414610b44576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3415610d34576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d3f84610e60565b9050610d4d84333086610eff565b8281610d5886610e60565b610d62919061155f565b1461051a576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610b449084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f8b565b60006001600160a01b03821615610ef7576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef29190611576565b610ef9565b475b92915050565b6001600160a01b038416610f3f576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216610f7f576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61051a8484848461108a565b6000610fe0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110db9092919063ffffffff16565b805190915015610b445780806020019051810190610ffe919061158f565b610b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610b1f565b6040516001600160a01b038085166024830152831660448201526064810182905261051a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610dde565b60606110ea84846000856110f4565b90505b9392505050565b606082471015611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610b1f565b843b6111ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b1f565b600080866001600160a01b0316858760405161120a91906115dd565b60006040518083038185875af1925050503d8060008114611247576040519150601f19603f3d011682016040523d82523d6000602084013e61124c565b606091505b509150915061125c828286611267565b979650505050505050565b606083156112765750816110ed565b8251156112865782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f91906115f9565b80356001600160a01b03811681146112d157600080fd5b919050565b6000602082840312156112e857600080fd5b6110ed826112ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602080838503121561133357600080fd5b823567ffffffffffffffff8082111561134b57600080fd5b818501915085601f83011261135f57600080fd5b813581811115611371576113716112f1565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156113b4576113b46112f1565b6040529182528482019250838101850191888311156113d257600080fd5b938501935b828510156113f7576113e8856112ba565b845293850193928501926113d7565b98975050505050505050565b6000806040838503121561141657600080fd5b61141f836112ba565b915061142d602084016112ba565b90509250929050565b60008060006060848603121561144b57600080fd5b8335925060208401359150611462604085016112ba565b90509250925092565b6000806000806080858703121561148157600080fd5b61148a856112ba565b935060208501359250604085013591506114a6606086016112ba565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611540576115406114e0565b5060010190565b6000821982111561155a5761155a6114e0565b500190565b600082821015611571576115716114e0565b500390565b60006020828403121561158857600080fd5b5051919050565b6000602082840312156115a157600080fd5b815180151581146110ed57600080fd5b60005b838110156115cc5781810151838201526020016115b4565b8381111561051a5750506000910152565b600082516115ef8184602087016115b1565b9190910192915050565b60208152600082518060208401526116188160408501602087016115b1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212203a25a29ea11b6d44241cff2cbf12d4eee8188286c36aba21312cc51c3fac07fd64736f6c634300080d0033000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee

Deployed Bytecode

0x6080604052600436106100d25760003560e01c8063bd0b380b1161007f578063e30c397811610059578063e30c39781461023b578063e5d647661461025b578063eedd56e11461027b578063f2fde38b1461029b57600080fd5b8063bd0b380b146101c4578063c489744b146101e4578063e0cbc5f21461022857600080fd5b806364bc5be1116100b057806364bc5be1146101575780637200b829146101775780638da5cb5b1461018c57600080fd5b80630f4efb90146100d75780630fe97f70146100ee578063461ad4f514610137575b600080fd5b3480156100e357600080fd5b506100ec6102bb565b005b3480156100fa57600080fd5b506101246101093660046112d6565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b34801561014357600080fd5b506100ec6101523660046112d6565b61032f565b34801561016357600080fd5b506100ec610172366004611320565b6103cb565b34801561018357600080fd5b506100ec610520565b34801561019857600080fd5b506002546101ac906001600160a01b031681565b6040516001600160a01b03909116815260200161012e565b3480156101d057600080fd5b506100ec6101df3660046112d6565b6105d3565b3480156101f057600080fd5b506101246101ff366004611403565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6100ec610236366004611436565b61066c565b34801561024757600080fd5b506003546101ac906001600160a01b031681565b34801561026757600080fd5b506100ec610276366004611320565b6107d3565b34801561028757600080fd5b506100ec61029636600461146b565b610929565b3480156102a757600080fd5b506100ec6102b63660046112d6565b6109e9565b6102c3610add565b6003546001600160a01b0316610305576040517f75cdea1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610337610add565b6001600160a01b0381166000908152600160205260408120549081900361035c575050565b6001600160a01b038083166000908152600160205260408120556002546103869184911683610b2a565b60405181815233906001600160a01b038416907fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc906020015b60405180910390a35050565b6103d3610add565b80516000805b8281101561051a57600160008583815181106103f7576103f76114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549150816000031561050857600060016000868481518110610443576104436114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506104a1848281518110610484576104846114b1565b60209081029190910101516002546001600160a01b031684610b2a565b336001600160a01b03168482815181106104bd576104bd6114b1565b60200260200101516001600160a01b03167fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc846040516104ff91815260200190565b60405180910390a35b806105128161150f565b9150506103d9565b50505050565b6003546001600160a01b03163314610564576040517f1853971c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054600280546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009182168117909255909116909155604051600091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b336000908152602081815260408083206001600160a01b038516845290915281205490819003610601575050565b336000818152602081815260408083206001600160a01b038716845290915281205561062f90839083610b2a565b60405181815233906001600160a01b038416907f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa8906020016103bf565b6001600160a01b0381166000908152602081815260408083208380529091528120805485929061069d908490611547565b9091555050600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4980548492906106dd908490611547565b90915550600090506106ef8385611547565b6106f9903461155f565b9050801561078557604051600090339083908381818185875af1925050503d8060008114610743576040519150601f19603f3d011682016040523d82523d6000602084013e610748565b606091505b5050905080610783576040517ff7e6817a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60408051858152602081018590526001600160a01b038416916000917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91015b60405180910390a350505050565b80516000805b8281101561051a573360009081526020819052604081208551909190869084908110610807576108076114b1565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054915081600003156109175733600090815260208190526040812085518290879085908110610860576108606114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506108b08482815181106108a1576108a16114b1565b60200260200101513384610b2a565b336001600160a01b03168482815181106108cc576108cc6114b1565b60200260200101516001600160a01b03167f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa88460405161090e91815260200190565b60405180910390a35b806109218161150f565b9150506107d9565b61093c846109378486611547565b610b53565b6001600160a01b0380821660009081526020818152604080832093881683529290529081208054859290610971908490611547565b90915550506001600160a01b0384166000908152600160205260408120805484929061099e908490611547565b909155505060408051848152602081018490526001600160a01b0380841692908716917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91016107c5565b6109f1610add565b6001600160a01b038116610a31576040517f1beca37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546001600160a01b0390811690821603610a79576040517fbf1ea9fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405133907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b6002546001600160a01b03163314610b28576040517f8e4a23d60000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b565b6001600160a01b03831615610b4957610b44838383610b6c565b505050565b610b448282610bb7565b610b6882826001600160a01b03821615610c84565b5050565b6001600160a01b038316610bac576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b44838383610d99565b6001600160a01b038216610bf7576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610c44576040519150601f19603f3d011682016040523d82523d6000602084013e610c49565b606091505b5050905080610b44576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600003610cbe576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610cfd57813414610b44576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3415610d34576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d3f84610e60565b9050610d4d84333086610eff565b8281610d5886610e60565b610d62919061155f565b1461051a576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610b449084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f8b565b60006001600160a01b03821615610ef7576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef29190611576565b610ef9565b475b92915050565b6001600160a01b038416610f3f576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216610f7f576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61051a8484848461108a565b6000610fe0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110db9092919063ffffffff16565b805190915015610b445780806020019051810190610ffe919061158f565b610b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610b1f565b6040516001600160a01b038085166024830152831660448201526064810182905261051a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610dde565b60606110ea84846000856110f4565b90505b9392505050565b606082471015611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610b1f565b843b6111ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b1f565b600080866001600160a01b0316858760405161120a91906115dd565b60006040518083038185875af1925050503d8060008114611247576040519150601f19603f3d011682016040523d82523d6000602084013e61124c565b606091505b509150915061125c828286611267565b979650505050505050565b606083156112765750816110ed565b8251156112865782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f91906115f9565b80356001600160a01b03811681146112d157600080fd5b919050565b6000602082840312156112e857600080fd5b6110ed826112ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602080838503121561133357600080fd5b823567ffffffffffffffff8082111561134b57600080fd5b818501915085601f83011261135f57600080fd5b813581811115611371576113716112f1565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156113b4576113b46112f1565b6040529182528482019250838101850191888311156113d257600080fd5b938501935b828510156113f7576113e8856112ba565b845293850193928501926113d7565b98975050505050505050565b6000806040838503121561141657600080fd5b61141f836112ba565b915061142d602084016112ba565b90509250929050565b60008060006060848603121561144b57600080fd5b8335925060208401359150611462604085016112ba565b90509250925092565b6000806000806080858703121561148157600080fd5b61148a856112ba565b935060208501359250604085013591506114a6606086016112ba565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611540576115406114e0565b5060010190565b6000821982111561155a5761155a6114e0565b500190565b600082821015611571576115716114e0565b500390565b60006020828403121561158857600080fd5b5051919050565b6000602082840312156115a157600080fd5b815180151581146110ed57600080fd5b60005b838110156115cc5781810151838201526020016115b4565b8381111561051a5750506000910152565b600082516115ef8184602087016115b1565b9190910192915050565b60208152600082518060208401526116188160408501602087016115b1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212203a25a29ea11b6d44241cff2cbf12d4eee8188286c36aba21312cc51c3fac07fd64736f6c634300080d0033

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

000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee

-----Decoded View---------------
Arg [0] : _owner (address): 0xCB1e9fA11Edd27098A6B2Ff23cB6b79183ccf8Ee

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee


Block Transaction Gas Used Reward
view all blocks collator

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xB0210dE78E28e2633Ca200609D9f528c13c26cD9
Net Worth in USD
$2,190,698.28

Net Worth in GLMR
Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo 102,062,422.364558

Token Allocations
UXLINK 91.45%
USDC 3.48%
AVAX 1.64%
Others 3.43%
Chain Token Portfolio % Price Amount Value
ARB91.45%$0.01194167,787,790.2434$2,003,401.32
ARB3.09%$0.99963867,726.4787$67,701.96
ARB1.17%$2,957.728.665$25,628.63
ARB0.52%$0.99864311,376.6312$11,361.19
ARB0.25%$0.0027412,000,000$5,481.05
ARB0.20%$89,0420.0504$4,484.45
ARB0.20%$2,956.151.4535$4,296.63
ARB0.08%$0.9992851,754.8007$1,753.55
ARB0.04%$0.999638957.5812$957.23
ARB0.04%$0.1762755,380.7059$948.48
ARB0.03%$35.0416.0958$564
ARB0.02%$12.1639.5479$480.9
ARB0.02%$0.00994846,367.2247$461.27
ARB0.02%$155.882.1968$342.43
ARB0.02%$4.8569.1529$335.39
ARB0.01%$0.02104515,512.6871$326.46
ARB0.01%$0.001663170,526.6614$283.64
ARB<0.01%$0.998668213.7693$213.48
ARB<0.01%$0.934304223.1703$208.51
ARB<0.01%$7.2417.7326$128.38
ARB<0.01%$2.0461.6258$125.72
ARB<0.01%$0.0672361,736.8699$116.78
ARB<0.01%$0.99909195.8518$95.76
ARB<0.01%$3,621.920.0256$92.6
ARB<0.01%$2.0342.3847$86.04
ARB<0.01%$89,1650.00096006$85.6
ARB<0.01%$2,931.10.0242$70.9
ARB<0.01%$0.0363761,721.0527$62.6
ARB<0.01%$3.4316.8807$57.9
ARB<0.01%$0.358279156.5181$56.08
ARB<0.01%$0.51834392.8978$48.15
ARB<0.01%$89,1540.00053679$47.86
ARB<0.01%$1.9124.6121$47.01
ARB<0.01%$2,955.170.0159$46.94
ARB<0.01%$3,159.880.0147$46.42
ARB<0.01%$115.560.3974$45.92
ARB<0.01%$1.235.1572$42.19
ARB<0.01%$0.092555403.4282$37.34
ARB<0.01%$0.00179920,546.2589$36.96
ARB<0.01%$89,1540.0003617$32.25
ARB<0.01%$1.2226.2988$32.08
ARB<0.01%$0.092019348.3219$32.05
ARB<0.01%$1.1824.3843$28.77
ARB<0.01%$0.00037974,481.653$28.2
ARB<0.01%$0.36864675.0234$27.66
ARB<0.01%$0.0215811,263.7006$27.27
ARB<0.01%$0.0148741,719.1324$25.57
ARB<0.01%$0.177205129.4294$22.94
ARB<0.01%$0.186508121.1959$22.6
ARB<0.01%$0.0000053,923,141.7992$19.58
ARB<0.01%$0.0000082,586,556.9057$19.5
ARB<0.01%$0.0086092,227.9651$19.18
ARB<0.01%$3.634.8163$17.48
ARB<0.01%$0.02144807.7548$17.32
ARB<0.01%$89,4310.00018782$16.8
ARB<0.01%$115.6292$15.64
ARB<0.01%$0.60361323.0281$13.9
ARB<0.01%$0.21074964.9859$13.7
ARB<0.01%$0.029981452.5164$13.57
ARB<0.01%$5,463.980.0021111$11.53
ARB<0.01%$0.9997411.2106$11.21
ARB<0.01%$0.99937111.1541$11.15
ARB<0.01%$0.99899811.0969$11.09
ARB<0.01%$2,097.260.00526309$11.04
ARB<0.01%$0.0000091,226,685.4971$10.93
ARB<0.01%$0.0043732,457.3704$10.75
ARB<0.01%$0.99722910.153$10.12
ARB<0.01%$0.9925349.0241$8.96
ARB<0.01%$0.9984288.9224$8.91
ARB<0.01%$0.00004221,151.9511$8.79
ARB<0.01%$0.9951467.8228$7.78
ARB<0.01%$0.008723882.5916$7.7
ARB<0.01%$0.00025629,950.513$7.67
ARB<0.01%$5,044.250.001444$7.28
ARB<0.01%$4.481.3975$6.26
ARB<0.01%$0.052707115.8301$6.11
ARB<0.01%$0.9994386.0869$6.08
ARB<0.01%$0.06292193.1871$5.86
ARB<0.01%$88,1250.00006156$5.42
ARB<0.01%$0.0008936,022.8569$5.38
ARB<0.01%$0.028457188.5657$5.37
ARB<0.01%$0.0041391,239.7437$5.13
ARB<0.01%$1.274.0124$5.1
ARB<0.01%$3,660.980.00138101$5.06
ARB<0.01%$0.00024618,806.1958$4.63
ARB<0.01%$0.17971825.7204$4.62
ARB<0.01%$0.019561230.8206$4.52
ARB<0.01%$23.940.1815$4.35
ARB<0.01%$0.9979284.3251$4.32
ARB<0.01%<$0.000001106,709,035.6533$3.95
ARB<0.01%$2.51.5739$3.93
ARB<0.01%$178.970.0218$3.9
ARB<0.01%$0.0009194,121.5618$3.79
ARB<0.01%$0.30053312.5645$3.78
ARB<0.01%$0.9984673.6676$3.66
ARB<0.01%$0.004529739.9576$3.35
ARB<0.01%$89,1760.0000364$3.25
ARB<0.01%$0.0013842,321.2358$3.21
ARB<0.01%$3,418.430.00091181$3.12
ARB<0.01%$1.112.7733$3.08
ARB<0.01%$0.03281886.2744$2.83
ARB<0.01%$1.911.4711$2.81
ARB<0.01%$0.04894157.3715$2.81
ARB<0.01%$0.0020541,328.861$2.73
ARB<0.01%$20.790.128$2.66
ARB<0.01%$0.7351913.3483$2.46
ARB<0.01%$0.0019521,233.2899$2.41
ARB<0.01%$0.01298183.212$2.38
ARB<0.01%$0.9994952.3157$2.31
ARB<0.01%$0.02678784.4253$2.26
ARB<0.01%$0.056939.1073$2.23
ARB<0.01%$0.2346789.4279$2.21
ARB<0.01%$0.20026810.9922$2.2
ARB<0.01%$0.002004996.1697$2
ARB<0.01%$0.000009203,851.5112$1.89
ARB<0.01%$0.12259314.4972$1.78
ARB<0.01%$3,387.170.0005149$1.74
ARB<0.01%$1.011.6506$1.67
ARB<0.01%$0.9988121.554$1.55
ARB<0.01%$0.002176711.625$1.55
ARB<0.01%$0.02126371.9427$1.53
ARB<0.01%$0.02514955.8897$1.41
ARB<0.01%$0.0323942.9386$1.39
ARB<0.01%$0.2106466.3814$1.34
ARB<0.01%$0.09997413.3867$1.34
ARB<0.01%$0.02482553.0702$1.32
ARB<0.01%$3,285.280.00039442$1.3
ARB<0.01%$0.002261521.6988$1.18
ARB<0.01%$0.001934585.8238$1.13
ARB<0.01%<$0.0000017,168,000$1.13
ARB<0.01%$0.00010910,283.8735$1.13
ARB<0.01%$0.0008031,329.6512$1.07
ARB<0.01%$0.9977561.0541$1.05
ARB<0.01%$2.370.438$1.04
ARB<0.01%$0.00004224,756.7266$1.03
ARB<0.01%$0.002635381.7015$1.01
ARB<0.01%$0.992491.0075$0.9999
ARB<0.01%$0.9973951.0016$0.9989
ARB<0.01%$0.2122294.5138$0.9579
ARB<0.01%$1.090.871$0.9467
ARB<0.01%<$0.00000125,110,772.5277$0.9466
ARB<0.01%$0.004951186.5082$0.9234
ARB<0.01%$0.9997160.9198$0.9195
ARB<0.01%$1.190.7653$0.9106
ARB<0.01%$155.890.00571896$0.8915
ARB<0.01%$10.881$0.881
ARB<0.01%$0.07662110.786$0.8264
ARB<0.01%$0.01140471.6131$0.8166
ARB<0.01%$0.0002742,968.7981$0.812
ARB<0.01%$3,415.90.0002304$0.787
ARB<0.01%$0.0001654,723.6798$0.7771
ARB<0.01%$0.3265412.3603$0.7707
ARB<0.01%$0.01446350.6463$0.7324
ARB<0.01%$0.738650.9905$0.7316
ARB<0.01%$0.0003452,119.6161$0.7303
ARB<0.01%$12.160.0563$0.6841
ARB<0.01%$0.9787140.6714$0.6571
ARB<0.01%$0.003634180.496$0.656
ARB<0.01%$0.0001096,000$0.653
ARB<0.01%$0.017235.8054$0.6158
ARB<0.01%$0.4967471.2215$0.6067
ARB<0.01%$0.00834671.5752$0.5973
ARB<0.01%$0.0004891,211.0264$0.5919
ARB<0.01%$58.620.01$0.5877
ARB<0.01%$0.0002562,250.1202$0.5751
ARB<0.01%$3,619.820.00014953$0.5412
ARB<0.01%$1.150.407$0.468
ARB<0.01%$0.1157833.9218$0.454
ARB<0.01%$0.0683716.2812$0.4294
ARB<0.01%$259.790.00163134$0.4238
ARB<0.01%$0.00414393.9184$0.3891
ARB<0.01%$0.000751503.5792$0.3782
ARB<0.01%$0.2440841.4928$0.3643
ARB<0.01%$1.180.2925$0.3452
ARB<0.01%$2.590.1315$0.3406
ARB<0.01%$0.9994110.3349$0.3346
ARB<0.01%$0.0437357.6428$0.3342
ARB<0.01%$0.0707414.6833$0.3312
ARB<0.01%$0.4087990.7825$0.3198
ARB<0.01%$0.0584175.2446$0.3063
ARB<0.01%$0.00662243.7124$0.2894
ARB<0.01%$0.001415203.1227$0.2873
ARB<0.01%$0.0596774.7335$0.2824
ARB<0.01%$0.000812338.9985$0.2753
ARB<0.01%$1.090.2535$0.275
ARB<0.01%$0.00532650.3858$0.2683
ARB<0.01%$0.001029254.9665$0.2622
ARB<0.01%$1,782.350.00013905$0.2478
ARB<0.01%$0.001748139.0595$0.2431
ARB<0.01%$0.1455831.6659$0.2425
ARB<0.01%$0.00382561.6772$0.2358
ARB<0.01%$0.1738021.3169$0.2288
ARB<0.01%$0.001069211.2457$0.2257
ARB<0.01%$0.000281796.9408$0.2236
ARB<0.01%$0.999720.2212$0.2211
ARB<0.01%$0.001767124.8952$0.2206
ARB<0.01%$0.9974450.2163$0.2157
ARB<0.01%$0.000385556.6661$0.214
ARB<0.01%$1,667.380.00012673$0.2113
ARB<0.01%$0.0001111,891$0.2091
ARB<0.01%$0.00519839.6061$0.2058
ARB<0.01%$0.0035158.2027$0.2043
ARB<0.01%$0.0023188.2732$0.2038
ARB<0.01%$87,9950.00000216$0.1899
ARB<0.01%<$0.00000119,307,147.0622$0.1892
ARB<0.01%$0.0134913.7775$0.1858
ARB<0.01%$0.9971010.1845$0.1839
ARB<0.01%$0.000141,295.6041$0.1811
ARB<0.01%<$0.00000147,635,754.2612$0.181
ARB<0.01%$1.960.0898$0.176
ARB<0.01%$0.9995160.1743$0.1742
ARB<0.01%$0.2152360.8017$0.1725
ARB<0.01%$0.000275617.5975$0.1698
ARB<0.01%$0.9464320.1772$0.1677
ARB<0.01%$0.00342548.6163$0.1665
ARB<0.01%$0.00877217.0294$0.1493
ARB<0.01%$0.1353931.0897$0.1475
ARB<0.01%$3,333.130.00004255$0.1418
ARB<0.01%$0.0274035.0002$0.137
ARB<0.01%$2.650.0506$0.1341
ARB<0.01%$89,4950.00000148$0.1324
ARB<0.01%$0.00549323.5663$0.1294
ARB<0.01%$0.001064121.6221$0.1293
ARB<0.01%$0.000722177.8684$0.1283
ARB<0.01%$0.000238535.0438$0.1274
ARB<0.01%$0.9132340.1394$0.1273
ARB<0.01%$28.140.00450781$0.1268
ARB<0.01%$0.00162776.7294$0.1248
ARB<0.01%$0.00011,218.3875$0.1221
ARB<0.01%$0.0140617.695$0.1081
ARB<0.01%$0.000267402.7561$0.1076
ARB<0.01%$0.0192275.5703$0.1071
AVAX1.64%$12.012,991.5887$35,928.29
AVAX0.39%$0.9999248,501.1338$8,500.49
AVAX0.21%$0.9984344,598.9748$4,591.77
AVAX0.15%$89,0790.0375$3,342.01
AVAX0.08%$2,956.630.5585$1,651.13
AVAX0.05%$2.02504.15$1,016.69
AVAX0.04%$0.03388227,722.1786$939.28
AVAX0.02%$14.9932.9746$494.29
AVAX0.01%$12.0125.7875$309.79
AVAX0.01%$0.998434262.1025$261.69
AVAX0.01%$89,1630.00280259$249.89
AVAX<0.01%$0.999924215.6129$215.6
AVAX<0.01%$88,922.520.00194305$172.78
AVAX<0.01%$0.00158388,743.0884$140.46
AVAX<0.01%$0.00117.2346$0.00
AVAX<0.01%$5,033.470.023$116.02
AVAX<0.01%$0.999543114.3696$114.32
AVAX<0.01%$0.99962291.6114$91.58
AVAX<0.01%$12.157.4007$89.91
AVAX<0.01%$2,954.110.0298$88.13
AVAX<0.01%$1.1866.7229$78.89
AVAX<0.01%$0.056746956.456$54.27
AVAX<0.01%$21.522.5$53.8
AVAX<0.01%$0.0356711,361.9571$48.58
AVAX<0.01%$0.148254327.149$48.5
AVAX<0.01%$0.00303515,198.0393$46.13
AVAX<0.01%$5,484.930.00830481$45.55
AVAX<0.01%$7.245.8047$42.03
AVAX<0.01%$155.820.268$41.76
AVAX<0.01%$0.99980129.7945$29.79
AVAX<0.01%$88,922.520.00030856$27.44
AVAX<0.01%$89,0990.00027567$24.56
AVAX<0.01%$2.3610.3178$24.35
AVAX<0.01%$0.00043847,190.8713$20.66
AVAX<0.01%$178.270.1028$18.32
AVAX<0.01%$0.006392,509.8025$16.04
AVAX<0.01%<$0.000001105,539,505.4862$14.83
AVAX<0.01%$164.150.0897$14.73
AVAX<0.01%$0.0080421,243.4414$10
AVAX<0.01%$0.0024491,996.2018$4.89
AVAX<0.01%$32.040.1507$4.83
AVAX<0.01%$14.920.2669$3.98
AVAX<0.01%$0.002971,337.0814$3.97
AVAX<0.01%$1.183.3344$3.93
AVAX<0.01%$2.031.9352$3.93
AVAX<0.01%$0.00024515,700.7875$3.85
AVAX<0.01%$1.282.8347$3.63
AVAX<0.01%$0.0011782,802.5278$3.3
AVAX<0.01%$0.999742.6952$2.69
AVAX<0.01%$0.002008953.6926$1.92
AVAX<0.01%$741.730.00250606$1.86
AVAX<0.01%$0.17727610.1184$1.79
AVAX<0.01%$0.9984281.7329$1.73
AVAX<0.01%$0.9924211.5967$1.58
AVAX<0.01%$13.090.1177$1.54
AVAX<0.01%$0.007264199.44$1.45
AVAX<0.01%$0.9983941.2366$1.23
AVAX<0.01%$0.007994136.8375$1.09
AVAX<0.01%$0.0003233,340.9286$1.08
AVAX<0.01%$0.0003582,590.8887$0.9273
AVAX<0.01%$0.06919412.535$0.8673
AVAX<0.01%$0.06067413.597$0.8249
AVAX<0.01%$0.9998010.7743$0.7741
AVAX<0.01%$4.840.1587$0.7679
AVAX<0.01%$0.002772258.9839$0.7178
AVAX<0.01%$0.0164139.8762$0.6543
AVAX<0.01%$0.2997152.1367$0.6404
AVAX<0.01%$0.02046428.2842$0.5787
AVAX<0.01%$0.00801668.3092$0.5475
AVAX<0.01%$0.000737718.6428$0.5294
AVAX<0.01%$0.4633071.0618$0.4919
AVAX<0.01%$0.3315731.4601$0.4841
AVAX<0.01%$0.00943450.7365$0.4786
AVAX<0.01%$0.00004410,711.0776$0.4734
AVAX<0.01%$0.01791625.7397$0.4611
AVAX<0.01%$0.0572896.3903$0.366
AVAX<0.01%$0.2074611.6832$0.3492
AVAX<0.01%$0.01934315.6985$0.3036
AVAX<0.01%$0.0001272,351.5181$0.2997
AVAX<0.01%$0.1816241.5404$0.2797
AVAX<0.01%$0.0531464.7607$0.253
AVAX<0.01%$0.0399746.0137$0.2403
AVAX<0.01%$0.000645330.1655$0.213
AVAX<0.01%$0.00176176.692$0.135
AVAX<0.01%$0.0218016.0139$0.1311
AVAX<0.01%$0.01006512.9843$0.1306
AVAX<0.01%$0.0161067.5454$0.1215
AVAX<0.01%$0.0077714.8587$0.1154
MOVR<0.01%$2,954.030.0103$30.29
MOVR<0.01%$0.99963616.5643$16.56
MOVR<0.01%$2.272.276$5.16
MOVR<0.01%$0.9924570.4212$0.418
MOVR<0.01%$0.9993740.2301$0.2299
MOVR<0.01%$0.9984740.2205$0.2201
MOVR<0.01%$0.997230.1544$0.1539
MOVR<0.01%$0.9998210.1063$0.1062
GLMR<0.01%$88,9860.00022352$19.89
GLMR
Moonbeam (GLMR)
<0.01%$0.021464458.6669$9.84
GLMR<0.01%$1.94.3944$8.37
GLMR<0.01%$2,956.630.00192927$5.7
GLMR<0.01%$0.9999242.4728$2.47
GLMR<0.01%$0.9999241.3228$1.32
GLMR<0.01%<$0.000001102,844,577.3471$0.9153
GLMR<0.01%$0.9976420.4554$0.4543
GLMR<0.01%$0.9996050.4409$0.4407
GLMR<0.01%$0.9983380.4251$0.4244
GLMR<0.01%$0.9999240.3439$0.3438
GLMR<0.01%$0.9999240.2097$0.2097
GLMR<0.01%$0.0213919.7214$0.2079
GLMR<0.01%$88,9860.00000123$0.1094
GLMR<0.01%$2,956.630.0000368$0.1087
BASE<0.01%<$0.000001295,774,647$3.82
BASE<0.01%$0.0007533,000$2.26
BASE<0.01%$0.001811100$0.1811
SONIC<0.01%$0.20017230.2584$6.06
CELO<0.01%$0.9997015.3355$5.33
CELO<0.01%$0.1154430.3252$0.037544
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.