Source Code
Latest 9 from a total of 9 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Batch Withdraw I... | 13921309 | 23 days ago | IN | 0 GLMR | 0.00216145 | ||||
| Batch Withdraw L... | 13643257 | 46 days ago | IN | 0 GLMR | 0.00401525 | ||||
| Batch Withdraw I... | 12248286 | 157 days ago | IN | 0 GLMR | 0.00249937 | ||||
| Batch Withdraw I... | 12248285 | 157 days ago | IN | 0 GLMR | 0.00263812 | ||||
| Batch Withdraw I... | 12206517 | 160 days ago | IN | 0 GLMR | 0.00881073 | ||||
| Batch Withdraw L... | 11055440 | 242 days ago | IN | 0 GLMR | 0.0223758 | ||||
| Confirm Ownershi... | 11038911 | 243 days ago | IN | 0 GLMR | 0.00332402 | ||||
| Transfer Ownersh... | 11038910 | 243 days ago | IN | 0 GLMR | 0.0033375 | ||||
| Batch Withdraw I... | 7741830 | 477 days ago | IN | 0 GLMR | 0.038398 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 14216333 | 4 hrs ago | 448.875 GLMR | ||||
| 14216333 | 4 hrs ago | 450 GLMR | ||||
| 14214047 | 8 hrs ago | 4.87781861 GLMR | ||||
| 14214047 | 8 hrs ago | 4.93956315 GLMR | ||||
| 14213244 | 10 hrs ago | 4.17567263 GLMR | ||||
| 14213244 | 10 hrs ago | 4.18613798 GLMR | ||||
| 14207491 | 20 hrs ago | 59.88637279 GLMR | ||||
| 14207491 | 20 hrs ago | 60.03646395 GLMR | ||||
| 14204849 | 25 hrs ago | 4,549.4901661 GLMR | ||||
| 14204849 | 25 hrs ago | 4,560.8923971 GLMR | ||||
| 14199815 | 35 hrs ago | 14.65237508 GLMR | ||||
| 14199815 | 35 hrs ago | 14.68909782 GLMR | ||||
| 14198305 | 38 hrs ago | 222.2116785 GLMR | ||||
| 14198305 | 38 hrs ago | 222.7686 GLMR | ||||
| 14196290 | 42 hrs ago | 93.803 GLMR | ||||
| 14196290 | 42 hrs ago | 95 GLMR | ||||
| 14196256 | 42 hrs ago | 1,876.06 GLMR | ||||
| 14196256 | 42 hrs ago | 1,900 GLMR | ||||
| 14193757 | 46 hrs ago | 226.94039103 GLMR | ||||
| 14193757 | 46 hrs ago | 227.50916394 GLMR | ||||
| 14187457 | 2 days ago | 49.87778986 GLMR | ||||
| 14187457 | 2 days ago | 50.00279686 GLMR | ||||
| 14171572 | 3 days ago | 1,184.88 GLMR | ||||
| 14171572 | 3 days ago | 1,200 GLMR | ||||
| 14168271 | 3 days ago | 69.825 GLMR |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
FeeCollector
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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;
}
}// 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);
}
}
}
}{
"optimizer": {
"enabled": true,
"runs": 10000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$2,135,914.84
Net Worth in GLMR
Token Allocations
UXLINK
91.26%
USDC
3.57%
AVAX
1.67%
Others
3.50%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ARB | 91.26% | $0.011618 | 167,787,790.2434 | $1,949,335.06 | |
| ARB | 3.17% | $0.999695 | 67,662.7009 | $67,642.06 | |
| ARB | 1.19% | $2,936.27 | 8.6643 | $25,440.75 | |
| ARB | 0.53% | $0.998319 | 11,363.7284 | $11,344.63 | |
| ARB | 0.26% | $0.002741 | 2,000,000 | $5,481.05 | |
| ARB | 0.21% | $88,514 | 0.0504 | $4,458.89 | |
| ARB | 0.20% | $2,935.48 | 1.4526 | $4,263.98 | |
| ARB | 0.08% | $0.999392 | 1,754.8007 | $1,753.73 | |
| ARB | 0.04% | $0.999695 | 955.9636 | $955.67 | |
| ARB | 0.04% | $0.174385 | 5,388.2099 | $939.62 | |
| ARB | 0.03% | $34.96 | 16.0958 | $562.71 | |
| ARB | 0.02% | $12.06 | 39.4889 | $476.24 | |
| ARB | 0.02% | $0.009897 | 46,409.2552 | $459.33 | |
| ARB | 0.02% | $155 | 2.2211 | $344.27 | |
| ARB | 0.02% | $4.82 | 68.1948 | $328.7 | |
| ARB | 0.01% | $0.001663 | 170,526.6614 | $283.64 | |
| ARB | <0.01% | $0.998855 | 213.7693 | $213.52 | |
| ARB | <0.01% | $0.944449 | 217.8861 | $205.78 | |
| ARB | <0.01% | $7.19 | 17.7364 | $127.52 | |
| ARB | <0.01% | $2 | 61.5518 | $123.1 | |
| ARB | <0.01% | $0.068419 | 1,740.5499 | $119.09 | |
| ARB | <0.01% | $0.999306 | 95.8518 | $95.79 | |
| ARB | <0.01% | $3,596.39 | 0.0256 | $91.95 | |
| ARB | <0.01% | $88,700 | 0.00096006 | $85.16 | |
| ARB | <0.01% | $1.97 | 42.4283 | $83.58 | |
| ARB | <0.01% | $2,933.44 | 0.0242 | $70.96 | |
| ARB | <0.01% | $0.00453 | 15,512.6871 | $70.28 | |
| ARB | <0.01% | $0.036237 | 1,721.0527 | $62.37 | |
| ARB | <0.01% | $3.35 | 16.8807 | $56.55 | |
| ARB | <0.01% | $0.355775 | 156.5181 | $55.69 | |
| ARB | <0.01% | $0.516101 | 92.8978 | $47.94 | |
| ARB | <0.01% | $87,703 | 0.00053679 | $47.08 | |
| ARB | <0.01% | $1.9 | 24.6121 | $46.76 | |
| ARB | <0.01% | $2,937.93 | 0.0159 | $46.66 | |
| ARB | <0.01% | $116.5 | 0.3974 | $46.29 | |
| ARB | <0.01% | $3,138.7 | 0.0147 | $46.11 | |
| ARB | <0.01% | $1.19 | 35.1572 | $41.84 | |
| ARB | <0.01% | $0.001711 | 20,546.2589 | $35.16 | |
| ARB | <0.01% | $0.086188 | 403.4282 | $34.77 | |
| ARB | <0.01% | $88,626 | 0.0003734 | $33.09 | |
| ARB | <0.01% | $1.22 | 26.2988 | $32.08 | |
| ARB | <0.01% | $0.092052 | 348.3219 | $32.06 | |
| ARB | <0.01% | $1.18 | 24.3843 | $28.77 | |
| ARB | <0.01% | $0.000368 | 74,481.653 | $27.43 | |
| ARB | <0.01% | $0.021518 | 1,263.7006 | $27.19 | |
| ARB | <0.01% | $0.352645 | 75.0234 | $26.46 | |
| ARB | <0.01% | $0.015094 | 1,697.8832 | $25.63 | |
| ARB | <0.01% | $0.184966 | 121.1959 | $22.42 | |
| ARB | <0.01% | $0.170622 | 129.4294 | $22.08 | |
| ARB | <0.01% | $0.009048 | 2,253.1376 | $20.39 | |
| ARB | <0.01% | $0.000005 | 3,923,141.7992 | $19.5 | |
| ARB | <0.01% | $0.000007 | 2,580,306.9057 | $19.04 | |
| ARB | <0.01% | $3.63 | 4.8163 | $17.48 | |
| ARB | <0.01% | $0.021038 | 807.7548 | $16.99 | |
| ARB | <0.01% | $88,598 | 0.00018782 | $16.64 | |
| ARB | <0.01% | $0.998796 | 15.6292 | $15.61 | |
| ARB | <0.01% | $0.062394 | 242.568 | $15.13 | |
| ARB | <0.01% | $0.601154 | 23.0281 | $13.84 | |
| ARB | <0.01% | $0.207553 | 64.9859 | $13.49 | |
| ARB | <0.01% | $0.029564 | 452.5164 | $13.38 | |
| ARB | <0.01% | $5,536.56 | 0.0021111 | $11.69 | |
| ARB | <0.01% | $0.99974 | 11.2106 | $11.21 | |
| ARB | <0.01% | $0.999675 | 11.1541 | $11.15 | |
| ARB | <0.01% | $0.999749 | 11.0969 | $11.09 | |
| ARB | <0.01% | $2,097.26 | 0.00526309 | $11.04 | |
| ARB | <0.01% | $0.000009 | 1,226,685.4971 | $10.81 | |
| ARB | <0.01% | $0.00439 | 2,457.3704 | $10.79 | |
| ARB | <0.01% | $0.997337 | 10.153 | $10.13 | |
| ARB | <0.01% | $0.991703 | 9.0241 | $8.95 | |
| ARB | <0.01% | $0.998428 | 8.9224 | $8.91 | |
| ARB | <0.01% | $0.00004 | 221,151.9511 | $8.79 | |
| ARB | <0.01% | $0.988882 | 7.8228 | $7.74 | |
| ARB | <0.01% | $0.008729 | 882.5916 | $7.7 | |
| ARB | <0.01% | $0.000256 | 29,950.513 | $7.67 | |
| ARB | <0.01% | $5,049.87 | 0.001444 | $7.29 | |
| ARB | <0.01% | $0.001176 | 6,022.8569 | $7.08 | |
| ARB | <0.01% | $4.69 | 1.3975 | $6.55 | |
| ARB | <0.01% | $3.88 | 1.5739 | $6.11 | |
| ARB | <0.01% | $0.999341 | 6.0869 | $6.08 | |
| ARB | <0.01% | $0.051684 | 115.8301 | $5.99 | |
| ARB | <0.01% | $0.029985 | 188.5657 | $5.65 | |
| ARB | <0.01% | $87,755 | 0.00006156 | $5.4 | |
| ARB | <0.01% | $1.27 | 4.0124 | $5.1 | |
| ARB | <0.01% | $0.004109 | 1,239.7437 | $5.09 | |
| ARB | <0.01% | $3,596.41 | 0.00138101 | $4.97 | |
| ARB | <0.01% | $0.000245 | 18,806.1958 | $4.61 | |
| ARB | <0.01% | $0.178135 | 25.7204 | $4.58 | |
| ARB | <0.01% | $0.01962 | 230.8206 | $4.53 | |
| ARB | <0.01% | $24.12 | 0.183 | $4.41 | |
| ARB | <0.01% | $0.999562 | 4.3251 | $4.32 | |
| ARB | <0.01% | <$0.000001 | 106,709,035.6533 | $3.91 | |
| ARB | <0.01% | $175.84 | 0.0218 | $3.83 | |
| ARB | <0.01% | $0.30019 | 12.5645 | $3.77 | |
| ARB | <0.01% | $0.000913 | 4,121.5618 | $3.76 | |
| ARB | <0.01% | $0.998452 | 3.6676 | $3.66 | |
| ARB | <0.01% | $0.004652 | 739.9576 | $3.44 | |
| ARB | <0.01% | $88,656 | 0.0000364 | $3.23 | |
| ARB | <0.01% | $3,394.58 | 0.00091502 | $3.11 | |
| ARB | <0.01% | $1.1 | 2.7733 | $3.05 | |
| ARB | <0.01% | $0.00131 | 2,321.2358 | $3.04 | |
| ARB | <0.01% | $0.032818 | 86.2744 | $2.83 | |
| ARB | <0.01% | $0.048941 | 57.3715 | $2.81 | |
| ARB | <0.01% | $1.9 | 1.4711 | $2.8 | |
| ARB | <0.01% | $0.002033 | 1,328.861 | $2.7 | |
| ARB | <0.01% | $20.71 | 0.128 | $2.65 | |
| ARB | <0.01% | $0.742353 | 3.3483 | $2.49 | |
| ARB | <0.01% | $0.001952 | 1,233.2899 | $2.41 | |
| ARB | <0.01% | $0.012979 | 183.212 | $2.38 | |
| ARB | <0.01% | $0.999736 | 2.3157 | $2.32 | |
| ARB | <0.01% | $0.234542 | 9.4279 | $2.21 | |
| ARB | <0.01% | $0.200136 | 10.9922 | $2.2 | |
| ARB | <0.01% | $0.055914 | 39.1073 | $2.19 | |
| ARB | <0.01% | $0.024892 | 84.4253 | $2.1 | |
| ARB | <0.01% | $0.00201 | 996.1697 | $2 | |
| ARB | <0.01% | $0.000009 | 203,851.5112 | $1.88 | |
| ARB | <0.01% | $0.12417 | 14.4972 | $1.8 | |
| ARB | <0.01% | $3,365.22 | 0.0005149 | $1.73 | |
| ARB | <0.01% | $0.971863 | 1.6506 | $1.6 | |
| ARB | <0.01% | $1 | 1.554 | $1.56 | |
| ARB | <0.01% | $0.002176 | 711.625 | $1.55 | |
| ARB | <0.01% | $0.021263 | 71.9427 | $1.53 | |
| ARB | <0.01% | $0.025149 | 55.8897 | $1.41 | |
| ARB | <0.01% | $0.032363 | 42.9386 | $1.39 | |
| ARB | <0.01% | $0.210646 | 6.3814 | $1.34 | |
| ARB | <0.01% | $0.099974 | 13.3867 | $1.34 | |
| ARB | <0.01% | $0.024622 | 53.0702 | $1.31 | |
| ARB | <0.01% | $3,266.23 | 0.00039442 | $1.29 | |
| ARB | <0.01% | $0.002238 | 521.6988 | $1.17 | |
| ARB | <0.01% | <$0.000001 | 7,168,000 | $1.13 | |
| ARB | <0.01% | $0.000109 | 10,283.8735 | $1.13 | |
| ARB | <0.01% | $0.001917 | 585.8238 | $1.12 | |
| ARB | <0.01% | $0.000814 | 1,329.6512 | $1.08 | |
| ARB | <0.01% | $2.47 | 0.438 | $1.08 | |
| ARB | <0.01% | $0.996835 | 1.0541 | $1.05 | |
| ARB | <0.01% | $0.000042 | 24,756.7266 | $1.03 | |
| ARB | <0.01% | $0.002635 | 381.7015 | $1.01 | |
| ARB | <0.01% | $0.99802 | 1.0016 | $0.9995 | |
| ARB | <0.01% | $0.991369 | 1.0075 | $0.9988 | |
| ARB | <0.01% | $0.212229 | 4.5138 | $0.9579 | |
| ARB | <0.01% | <$0.000001 | 25,110,772.5277 | $0.9491 | |
| ARB | <0.01% | $1.08 | 0.871 | $0.9441 | |
| ARB | <0.01% | $1.2 | 0.7807 | $0.9368 | |
| ARB | <0.01% | $0.004959 | 186.5082 | $0.9249 | |
| ARB | <0.01% | $0.9997 | 0.9198 | $0.9195 | |
| ARB | <0.01% | $0.000192 | 4,723.6798 | $0.9045 | |
| ARB | <0.01% | $154.96 | 0.00571896 | $0.8862 | |
| ARB | <0.01% | $1 | 0.881 | $0.881 | |
| ARB | <0.01% | $0.011404 | 71.6131 | $0.8166 | |
| ARB | <0.01% | $0.000269 | 2,968.7981 | $0.7976 | |
| ARB | <0.01% | $0.073277 | 10.786 | $0.7903 | |
| ARB | <0.01% | $0.331526 | 2.3603 | $0.7825 | |
| ARB | <0.01% | $3,392.29 | 0.0002304 | $0.7815 | |
| ARB | <0.01% | $0.748921 | 0.9905 | $0.7418 | |
| ARB | <0.01% | $0.014463 | 50.6463 | $0.7324 | |
| ARB | <0.01% | $12.06 | 0.0563 | $0.6785 | |
| ARB | <0.01% | $0.977123 | 0.6714 | $0.656 | |
| ARB | <0.01% | $0.003629 | 180.496 | $0.655 | |
| ARB | <0.01% | $0.000109 | 6,000 | $0.653 | |
| ARB | <0.01% | $0.000303 | 2,119.6161 | $0.6432 | |
| ARB | <0.01% | $0.017128 | 35.8054 | $0.6132 | |
| ARB | <0.01% | $0.496509 | 1.2215 | $0.6064 | |
| ARB | <0.01% | $0.008346 | 71.5752 | $0.5973 | |
| ARB | <0.01% | $0.000489 | 1,211.0264 | $0.5927 | |
| ARB | <0.01% | $57.97 | 0.01 | $0.5812 | |
| ARB | <0.01% | $0.000256 | 2,250.1202 | $0.5751 | |
| ARB | <0.01% | $3,594.93 | 0.00014953 | $0.5375 | |
| ARB | <0.01% | $0.077359 | 6.2812 | $0.4859 | |
| ARB | <0.01% | $1.15 | 0.407 | $0.468 | |
| ARB | <0.01% | $0.115935 | 3.9218 | $0.4546 | |
| ARB | <0.01% | $254.13 | 0.00163134 | $0.4145 | |
| ARB | <0.01% | $0.004143 | 93.9184 | $0.3891 | |
| ARB | <0.01% | $0.000751 | 503.5792 | $0.3779 | |
| ARB | <0.01% | $0.244516 | 1.4928 | $0.365 | |
| ARB | <0.01% | $1.18 | 0.2925 | $0.3452 | |
| ARB | <0.01% | $2.59 | 0.1315 | $0.3406 | |
| ARB | <0.01% | $0.998443 | 0.3349 | $0.3343 | |
| ARB | <0.01% | $0.070793 | 4.6833 | $0.3315 | |
| ARB | <0.01% | $0.043089 | 7.6428 | $0.3293 | |
| ARB | <0.01% | $0.058825 | 5.2446 | $0.3085 | |
| ARB | <0.01% | $0.001415 | 203.1227 | $0.2873 | |
| ARB | <0.01% | $0.006571 | 43.7124 | $0.2872 | |
| ARB | <0.01% | $0.059677 | 4.7335 | $0.2824 | |
| ARB | <0.01% | $0.000812 | 338.9985 | $0.2753 | |
| ARB | <0.01% | $1.09 | 0.2535 | $0.275 | |
| ARB | <0.01% | $0.005326 | 50.3858 | $0.2683 | |
| ARB | <0.01% | $0.001028 | 254.9665 | $0.262 | |
| ARB | <0.01% | $1,782.35 | 0.00013905 | $0.2478 | |
| ARB | <0.01% | $0.003943 | 61.6772 | $0.2432 | |
| ARB | <0.01% | $0.001748 | 139.0595 | $0.2431 | |
| ARB | <0.01% | $0.145583 | 1.6659 | $0.2425 | |
| ARB | <0.01% | $0.173124 | 1.3169 | $0.2279 | |
| ARB | <0.01% | $0.001069 | 211.2457 | $0.2257 | |
| ARB | <0.01% | $0.000281 | 796.9408 | $0.2236 | |
| ARB | <0.01% | $1 | 0.2212 | $0.2212 | |
| ARB | <0.01% | $0.001767 | 124.8952 | $0.2206 | |
| ARB | <0.01% | $0.996888 | 0.2163 | $0.2156 | |
| ARB | <0.01% | $0.000385 | 556.6661 | $0.214 | |
| ARB | <0.01% | $1,667.38 | 0.00012673 | $0.2113 | |
| ARB | <0.01% | $0.000111 | 1,891 | $0.2091 | |
| ARB | <0.01% | $0.005198 | 39.6061 | $0.2058 | |
| ARB | <0.01% | $0.00231 | 88.2732 | $0.2038 | |
| ARB | <0.01% | $2.26 | 0.0898 | $0.2029 | |
| ARB | <0.01% | $0.003469 | 58.2027 | $0.2019 | |
| ARB | <0.01% | $88,566 | 0.00000216 | $0.1912 | |
| ARB | <0.01% | <$0.000001 | 19,307,147.0622 | $0.1872 | |
| ARB | <0.01% | $0.013461 | 13.7775 | $0.1854 | |
| ARB | <0.01% | $0.997196 | 0.1845 | $0.1839 | |
| ARB | <0.01% | $0.00014 | 1,295.6041 | $0.1811 | |
| ARB | <0.01% | $0.99974 | 0.1743 | $0.1742 | |
| ARB | <0.01% | $0.215236 | 0.8017 | $0.1725 | |
| ARB | <0.01% | $0.000275 | 617.5975 | $0.1698 | |
| ARB | <0.01% | $0.946432 | 0.1772 | $0.1677 | |
| ARB | <0.01% | $0.003425 | 48.6163 | $0.1665 | |
| ARB | <0.01% | $0.135393 | 1.0897 | $0.1475 | |
| ARB | <0.01% | $0.008329 | 17.0294 | $0.1418 | |
| ARB | <0.01% | $3,320.71 | 0.00004255 | $0.1413 | |
| ARB | <0.01% | $0.02746 | 5.0002 | $0.1373 | |
| ARB | <0.01% | $0.005739 | 23.5663 | $0.1352 | |
| ARB | <0.01% | $2.65 | 0.0506 | $0.1341 | |
| ARB | <0.01% | $88,667 | 0.00000148 | $0.1312 | |
| ARB | <0.01% | $0.001705 | 76.7294 | $0.1308 | |
| ARB | <0.01% | $0.000721 | 177.8684 | $0.1282 | |
| ARB | <0.01% | $0.000239 | 535.0438 | $0.1277 | |
| ARB | <0.01% | $28.28 | 0.00450781 | $0.1274 | |
| ARB | <0.01% | $0.913234 | 0.1394 | $0.1273 | |
| ARB | <0.01% | $0.0001 | 1,218.3875 | $0.1221 | |
| ARB | <0.01% | $0.014061 | 7.695 | $0.1081 | |
| ARB | <0.01% | $0.000266 | 402.7561 | $0.1071 | |
| ARB | <0.01% | $0.019208 | 5.5703 | $0.1069 | |
| ARB | <0.01% | $0.000841 | 121.6221 | $0.1022 | |
| ARB | <0.01% | $0.00 | 65,012.9938 | $0.00 | |
| AVAX | 1.67% | $11.93 | 2,994.3891 | $35,726.64 | |
| AVAX | 0.40% | $0.99971 | 8,522.3538 | $8,519.88 | |
| AVAX | 0.21% | $0.998429 | 4,488.0659 | $4,481.02 | |
| AVAX | 0.16% | $88,543 | 0.0375 | $3,317.35 | |
| AVAX | 0.08% | $2,933.51 | 0.5585 | $1,638.22 | |
| AVAX | 0.05% | $2 | 504.15 | $1,008.24 | |
| AVAX | 0.04% | $0.031449 | 27,722.0786 | $871.82 | |
| AVAX | 0.04% | $14.87 | 53.4714 | $795.12 | |
| AVAX | 0.01% | $11.92 | 25.8357 | $307.97 | |
| AVAX | 0.01% | $0.998429 | 262.1025 | $261.69 | |
| AVAX | 0.01% | $87,962 | 0.00280259 | $246.52 | |
| AVAX | 0.01% | $0.99971 | 215.6129 | $215.55 | |
| AVAX | <0.01% | $88,484.23 | 0.00194305 | $171.93 | |
| AVAX | <0.01% | $0.001525 | 92,595.4357 | $141.17 | |
| AVAX | <0.01% | $5,040.4 | 0.0238 | $119.86 | |
| AVAX | <0.01% | $0.00 | 117.2346 | $0.00 | |
| AVAX | <0.01% | $0.999586 | 114.3696 | $114.32 | |
| AVAX | <0.01% | $0.999621 | 91.6114 | $91.58 | |
| AVAX | <0.01% | $12.06 | 7.3991 | $89.2 | |
| AVAX | <0.01% | $2,937.93 | 0.0298 | $87.65 | |
| AVAX | <0.01% | $1.18 | 66.7229 | $78.9 | |
| AVAX | <0.01% | $21.52 | 2.5 | $53.8 | |
| AVAX | <0.01% | $0.055924 | 956.456 | $53.49 | |
| AVAX | <0.01% | $0.148246 | 327.149 | $48.5 | |
| AVAX | <0.01% | $0.035437 | 1,361.9571 | $48.26 | |
| AVAX | <0.01% | $5,542.77 | 0.00830481 | $46.03 | |
| AVAX | <0.01% | $0.002982 | 15,198.0393 | $45.33 | |
| AVAX | <0.01% | $7.19 | 5.9999 | $43.14 | |
| AVAX | <0.01% | $154.88 | 0.2679 | $41.49 | |
| AVAX | <0.01% | $0.99966 | 29.7945 | $29.78 | |
| AVAX | <0.01% | $88,484.23 | 0.00030856 | $27.3 | |
| AVAX | <0.01% | $2.39 | 10.3178 | $24.66 | |
| AVAX | <0.01% | $88,597 | 0.00027567 | $24.42 | |
| AVAX | <0.01% | $0.000436 | 47,190.8713 | $20.58 | |
| AVAX | <0.01% | $175.13 | 0.1028 | $18 | |
| AVAX | <0.01% | $0.006394 | 2,509.8025 | $16.05 | |
| AVAX | <0.01% | $163.39 | 0.0897 | $14.66 | |
| AVAX | <0.01% | <$0.000001 | 105,539,505.4862 | $14.04 | |
| AVAX | <0.01% | $0.008042 | 1,243.4414 | $10 | |
| AVAX | <0.01% | $0.002437 | 2,161.2991 | $5.27 | |
| AVAX | <0.01% | $32.24 | 0.1507 | $4.86 | |
| AVAX | <0.01% | $1.2 | 3.3344 | $4 | |
| AVAX | <0.01% | $14.94 | 0.2669 | $3.99 | |
| AVAX | <0.01% | $0.00297 | 1,337.0814 | $3.97 | |
| AVAX | <0.01% | $0.000245 | 15,700.7875 | $3.84 | |
| AVAX | <0.01% | $1.93 | 1.9352 | $3.73 | |
| AVAX | <0.01% | $1.28 | 2.8347 | $3.63 | |
| AVAX | <0.01% | $0.001178 | 2,802.5278 | $3.3 | |
| AVAX | <0.01% | $0.99974 | 2.6952 | $2.69 | |
| AVAX | <0.01% | $0.001994 | 953.6926 | $1.9 | |
| AVAX | <0.01% | $741.73 | 0.00250606 | $1.86 | |
| AVAX | <0.01% | $0.998428 | 1.7329 | $1.73 | |
| AVAX | <0.01% | $0.167461 | 10.1184 | $1.69 | |
| AVAX | <0.01% | $0.992078 | 1.5967 | $1.58 | |
| AVAX | <0.01% | $13.09 | 0.1177 | $1.54 | |
| AVAX | <0.01% | $0.007656 | 199.44 | $1.53 | |
| AVAX | <0.01% | $0.998108 | 1.2366 | $1.23 | |
| AVAX | <0.01% | $0.007994 | 136.8375 | $1.09 | |
| AVAX | <0.01% | $0.000327 | 3,340.9286 | $1.09 | |
| AVAX | <0.01% | $0.000358 | 2,590.8887 | $0.9264 | |
| AVAX | <0.01% | $0.069194 | 12.535 | $0.8673 | |
| AVAX | <0.01% | $0.060674 | 13.597 | $0.8249 | |
| AVAX | <0.01% | $0.99966 | 0.7743 | $0.774 | |
| AVAX | <0.01% | $4.81 | 0.1587 | $0.7632 | |
| AVAX | <0.01% | $0.00275 | 258.9839 | $0.7122 | |
| AVAX | <0.01% | $0.01744 | 39.8762 | $0.6954 | |
| AVAX | <0.01% | $0.299974 | 2.1367 | $0.6409 | |
| AVAX | <0.01% | $0.020324 | 28.2842 | $0.5748 | |
| AVAX | <0.01% | $0.007958 | 68.3092 | $0.5436 | |
| AVAX | <0.01% | $0.000737 | 718.6428 | $0.5294 | |
| AVAX | <0.01% | $0.000047 | 10,711.0776 | $0.5052 | |
| AVAX | <0.01% | $0.463307 | 1.0618 | $0.4919 | |
| AVAX | <0.01% | $0.331573 | 1.4601 | $0.4841 | |
| AVAX | <0.01% | $0.009434 | 50.7365 | $0.4786 | |
| AVAX | <0.01% | $0.017735 | 25.7397 | $0.4564 | |
| AVAX | <0.01% | $0.056983 | 6.3903 | $0.3641 | |
| AVAX | <0.01% | $0.207842 | 1.6832 | $0.3498 | |
| AVAX | <0.01% | $0.019343 | 15.6985 | $0.3036 | |
| AVAX | <0.01% | $0.000128 | 2,351.5181 | $0.30 | |
| AVAX | <0.01% | $0.17647 | 1.5404 | $0.2718 | |
| AVAX | <0.01% | $0.052596 | 4.7607 | $0.2503 | |
| AVAX | <0.01% | $0.039974 | 6.0137 | $0.2403 | |
| AVAX | <0.01% | $0.000645 | 330.1655 | $0.213 | |
| AVAX | <0.01% | $0.001761 | 76.692 | $0.135 | |
| AVAX | <0.01% | $0.021966 | 6.0139 | $0.132 | |
| AVAX | <0.01% | $0.009988 | 12.9843 | $0.1296 | |
| AVAX | <0.01% | $0.01602 | 7.5454 | $0.1208 | |
| AVAX | <0.01% | $0.00777 | 14.8587 | $0.1154 | |
| MOVR | <0.01% | $2,934.38 | 0.0103 | $30.09 | |
| MOVR | <0.01% | $0.99971 | 16.5643 | $16.56 | |
| MOVR | <0.01% | $2.31 | 2.276 | $5.26 | |
| MOVR | <0.01% | $0.992021 | 0.4212 | $0.4178 | |
| MOVR | <0.01% | $0.999504 | 0.2301 | $0.2299 | |
| MOVR | <0.01% | $0.998541 | 0.2205 | $0.2202 | |
| MOVR | <0.01% | $0.997333 | 0.1544 | $0.1539 | |
| MOVR | <0.01% | $0.999556 | 0.1063 | $0.1062 | |
| GLMR | <0.01% | $88,468 | 0.00022352 | $19.77 | |
| GLMR | <0.01% | $0.021132 | 459.8641 | $9.72 | |
| GLMR | <0.01% | $1.9 | 4.3944 | $8.35 | |
| GLMR | <0.01% | $2,933.51 | 0.00192927 | $5.66 | |
| GLMR | <0.01% | $0.99971 | 2.4728 | $2.47 | |
| GLMR | <0.01% | $0.99971 | 1.3228 | $1.32 | |
| GLMR | <0.01% | <$0.000001 | 102,844,577.3471 | $0.9564 | |
| GLMR | <0.01% | $0.997092 | 0.4554 | $0.4541 | |
| GLMR | <0.01% | $0.999582 | 0.4409 | $0.4406 | |
| GLMR | <0.01% | $1 | 0.4251 | $0.4255 | |
| GLMR | <0.01% | $0.99971 | 0.3439 | $0.3437 | |
| GLMR | <0.01% | $0.99971 | 0.2097 | $0.2096 | |
| GLMR | <0.01% | $0.021168 | 9.7214 | $0.2057 | |
| GLMR | <0.01% | $88,468 | 0.00000123 | $0.1088 | |
| GLMR | <0.01% | $2,933.51 | 0.0000368 | $0.1079 | |
| SONIC | <0.01% | $0.209861 | 30.2584 | $6.35 | |
| BASE | <0.01% | <$0.000001 | 295,774,647 | $3.7 | |
| BASE | <0.01% | $0.000753 | 3,000 | $2.26 | |
| BASE | <0.01% | $0.00175 | 100 | $0.1749 | |
| CELO | <0.01% | $0.999967 | 5.3355 | $5.34 | |
| CELO | <0.01% | $0.115922 | 0.3252 | $0.0377 |
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.