More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 38,890 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Arbitrary Calls | 22290631 | 14 mins ago | IN | 0 ETH | 0.00003103 | ||||
0xca218276 | 22290626 | 15 mins ago | IN | 0 ETH | 0.00009665 | ||||
Arbitrary Calls ... | 22290568 | 26 mins ago | IN | 0 ETH | 0.00011495 | ||||
0xca218276 | 22290562 | 27 mins ago | IN | 0 ETH | 0.00008887 | ||||
Arbitrary Calls ... | 22290492 | 41 mins ago | IN | 0 ETH | 0.00006911 | ||||
0xca218276 | 22290472 | 45 mins ago | IN | 0 ETH | 0.00007458 | ||||
Arbitrary Calls | 22290452 | 49 mins ago | IN | 0 ETH | 0.00005735 | ||||
0x77412532 | 22290445 | 51 mins ago | IN | 0 ETH | 0.00020754 | ||||
Arbitrary Calls | 22290427 | 54 mins ago | IN | 0 ETH | 0.00002937 | ||||
Arbitrary Calls ... | 22290419 | 56 mins ago | IN | 0 ETH | 0.00005725 | ||||
0xca218276 | 22290410 | 58 mins ago | IN | 0 ETH | 0.00009834 | ||||
Arbitrary Calls | 22290387 | 1 hr ago | IN | 0 ETH | 0.00006157 | ||||
Arbitrary Calls | 22290378 | 1 hr ago | IN | 0 ETH | 0.00003259 | ||||
Arbitrary Calls | 22290368 | 1 hr ago | IN | 0 ETH | 0.00003668 | ||||
0xca218276 | 22290364 | 1 hr ago | IN | 0 ETH | 0.00010032 | ||||
0xca218276 | 22290362 | 1 hr ago | IN | 0 ETH | 0.00008818 | ||||
Arbitrary Calls | 22290343 | 1 hr ago | IN | 0 ETH | 0.00003558 | ||||
Arbitrary Calls | 22290315 | 1 hr ago | IN | 0 ETH | 0.00004001 | ||||
0xca218276 | 22290303 | 1 hr ago | IN | 0 ETH | 0.0001555 | ||||
Arbitrary Calls | 22290293 | 1 hr ago | IN | 0 ETH | 0.00008421 | ||||
Arbitrary Calls | 22290280 | 1 hr ago | IN | 0 ETH | 0.00004574 | ||||
Arbitrary Calls | 22290272 | 1 hr ago | IN | 0 ETH | 0.00004229 | ||||
0xca218276 | 22290270 | 1 hr ago | IN | 0 ETH | 0.00012853 | ||||
Arbitrary Calls ... | 22290265 | 1 hr ago | IN | 0 ETH | 0.00010851 | ||||
Arbitrary Calls | 22290258 | 1 hr ago | IN | 0 ETH | 0.00006239 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 22290631 | 14 mins ago | 0.000086 ETH | ||||
Transfer | 22290626 | 15 mins ago | 0.000086 ETH | ||||
Transfer | 22290568 | 26 mins ago | 0.00007979 ETH | ||||
Transfer | 22290562 | 27 mins ago | 0.00007979 ETH | ||||
Transfer | 22290492 | 41 mins ago | 0.0000884 ETH | ||||
Transfer | 22290472 | 45 mins ago | 0.0000884 ETH | ||||
Transfer | 22290452 | 49 mins ago | 0.00009065 ETH | ||||
Create Dst Escro... | 22290445 | 51 mins ago | 0.00009065 ETH | ||||
Call Bytes | 22290445 | 51 mins ago | 2.47412378 ETH | ||||
Transfer | 22290427 | 54 mins ago | 0.00011598 ETH | ||||
Transfer | 22290419 | 56 mins ago | 0.00009182 ETH | ||||
Transfer | 22290410 | 58 mins ago | 0.00009182 ETH | ||||
Create Dst Escro... | 22290387 | 1 hr ago | 0.00011598 ETH | ||||
Transfer | 22290378 | 1 hr ago | 0.34492835 ETH | ||||
Transfer | 22290378 | 1 hr ago | 0.00009457 ETH | ||||
Transfer | 22290368 | 1 hr ago | 0.1 ETH | ||||
Transfer | 22290368 | 1 hr ago | 0.00009686 ETH | ||||
Transfer | 22290364 | 1 hr ago | 0.00009457 ETH | ||||
Transfer | 22290362 | 1 hr ago | 0.00009686 ETH | ||||
Transfer | 22290343 | 1 hr ago | 0.00014034 ETH | ||||
Transfer | 22290315 | 1 hr ago | 3.817893 ETH | ||||
Transfer | 22290315 | 1 hr ago | 0.00012728 ETH | ||||
Transfer | 22290303 | 1 hr ago | 0.00012728 ETH | ||||
Create Dst Escro... | 22290293 | 1 hr ago | 0.00014034 ETH | ||||
Transfer | 22290280 | 1 hr ago | 0.975 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
TransparentUpgradeableProxy
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/transparent/TransparentUpgradeableProxy.sol) pragma solidity ^0.8.20; import {ERC1967Utils} from "../ERC1967/ERC1967Utils.sol"; import {ERC1967Proxy} from "../ERC1967/ERC1967Proxy.sol"; import {IERC1967} from "../../interfaces/IERC1967.sol"; import {ProxyAdmin} from "./ProxyAdmin.sol"; /** * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy} * does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not * include them in the ABI so this interface must be used to interact with it. */ interface ITransparentUpgradeableProxy is IERC1967 { function upgradeToAndCall(address, bytes calldata) external payable; } /** * @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance. * * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector * clashing], which can potentially be used in an attack, this contract uses the * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two * things that go hand in hand: * * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if * that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself. * 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to * the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating * the proxy admin cannot fallback to the target implementation. * * These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a * dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to * call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and * allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative * interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership. * * NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not * inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch * mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to * fully implement transparency without decoding reverts caused by selector clashes between the proxy and the * implementation. * * NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a * meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract. * * IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an * immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be * overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an * undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot * is generally fine if the implementation is trusted. * * WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the * compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new * function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This * could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency. */ contract TransparentUpgradeableProxy is ERC1967Proxy { // An immutable address for the admin to avoid unnecessary SLOADs before each call // at the expense of removing the ability to change the admin once it's set. // This is acceptable if the admin is always a ProxyAdmin instance or similar contract // with its own ability to transfer the permissions to another account. address private immutable _admin; /** * @dev The proxy caller is the current admin, and can't fallback to the proxy target. */ error ProxyDeniedAdminAccess(); /** * @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`, * backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in * {ERC1967Proxy-constructor}. */ constructor(address _logic, address initialOwner, bytes memory _data) payable ERC1967Proxy(_logic, _data) { _admin = address(new ProxyAdmin(initialOwner)); // Set the storage value and emit an event for ERC-1967 compatibility ERC1967Utils.changeAdmin(_proxyAdmin()); } /** * @dev Returns the admin of this proxy. */ function _proxyAdmin() internal view virtual returns (address) { return _admin; } /** * @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior. */ function _fallback() internal virtual override { if (msg.sender == _proxyAdmin()) { if (msg.sig != ITransparentUpgradeableProxy.upgradeToAndCall.selector) { revert ProxyDeniedAdminAccess(); } else { _dispatchUpgradeToAndCall(); } } else { super._fallback(); } } /** * @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}. * * Requirements: * * - If `data` is empty, `msg.value` must be zero. */ function _dispatchUpgradeToAndCall() private { (address newImplementation, bytes memory data) = abi.decode(msg.data[4:], (address, bytes)); ERC1967Utils.upgradeToAndCall(newImplementation, data); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Utils.sol) pragma solidity ^0.8.20; import {IBeacon} from "../beacon/IBeacon.sol"; import {Address} from "../../utils/Address.sol"; import {StorageSlot} from "../../utils/StorageSlot.sol"; /** * @dev This abstract contract provides getters and event emitting update functions for * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots. */ library ERC1967Utils { /** * @dev Emitted when the implementation is upgraded. */ event Upgraded(address indexed implementation); /** * @dev Emitted when the admin account has changed. */ event AdminChanged(address previousAdmin, address newAdmin); /** * @dev Emitted when the beacon is changed. */ event BeaconUpgraded(address indexed beacon); /** * @dev Storage slot with the address of the current implementation. * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1. */ // solhint-disable-next-line private-vars-leading-underscore bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /** * @dev The `implementation` of the proxy is invalid. */ error ERC1967InvalidImplementation(address implementation); /** * @dev The `admin` of the proxy is invalid. */ error ERC1967InvalidAdmin(address admin); /** * @dev The `beacon` of the proxy is invalid. */ error ERC1967InvalidBeacon(address beacon); /** * @dev An upgrade function sees `msg.value > 0` that may be lost. */ error ERC1967NonPayable(); /** * @dev Returns the current implementation address. */ function getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value; } /** * @dev Stores a new address in the ERC-1967 implementation slot. */ function _setImplementation(address newImplementation) private { if (newImplementation.code.length == 0) { revert ERC1967InvalidImplementation(newImplementation); } StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation; } /** * @dev Performs implementation upgrade with additional setup call if data is nonempty. * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected * to avoid stuck value in the contract. * * Emits an {IERC1967-Upgraded} event. */ function upgradeToAndCall(address newImplementation, bytes memory data) internal { _setImplementation(newImplementation); emit Upgraded(newImplementation); if (data.length > 0) { Address.functionDelegateCall(newImplementation, data); } else { _checkNonPayable(); } } /** * @dev Storage slot with the admin of the contract. * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1. */ // solhint-disable-next-line private-vars-leading-underscore bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; /** * @dev Returns the current admin. * * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103` */ function getAdmin() internal view returns (address) { return StorageSlot.getAddressSlot(ADMIN_SLOT).value; } /** * @dev Stores a new address in the ERC-1967 admin slot. */ function _setAdmin(address newAdmin) private { if (newAdmin == address(0)) { revert ERC1967InvalidAdmin(address(0)); } StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin; } /** * @dev Changes the admin of the proxy. * * Emits an {IERC1967-AdminChanged} event. */ function changeAdmin(address newAdmin) internal { emit AdminChanged(getAdmin(), newAdmin); _setAdmin(newAdmin); } /** * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. * This is the keccak-256 hash of "eip1967.proxy.beacon" subtracted by 1. */ // solhint-disable-next-line private-vars-leading-underscore bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; /** * @dev Returns the current beacon. */ function getBeacon() internal view returns (address) { return StorageSlot.getAddressSlot(BEACON_SLOT).value; } /** * @dev Stores a new beacon in the ERC-1967 beacon slot. */ function _setBeacon(address newBeacon) private { if (newBeacon.code.length == 0) { revert ERC1967InvalidBeacon(newBeacon); } StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon; address beaconImplementation = IBeacon(newBeacon).implementation(); if (beaconImplementation.code.length == 0) { revert ERC1967InvalidImplementation(beaconImplementation); } } /** * @dev Change the beacon and trigger a setup call if data is nonempty. * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected * to avoid stuck value in the contract. * * Emits an {IERC1967-BeaconUpgraded} event. * * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for * efficiency. */ function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal { _setBeacon(newBeacon); emit BeaconUpgraded(newBeacon); if (data.length > 0) { Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data); } else { _checkNonPayable(); } } /** * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract * if an upgrade doesn't perform an initialization call. */ function _checkNonPayable() private { if (msg.value > 0) { revert ERC1967NonPayable(); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Proxy.sol) pragma solidity ^0.8.20; import {Proxy} from "../Proxy.sol"; import {ERC1967Utils} from "./ERC1967Utils.sol"; /** * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an * implementation address that can be changed. This address is stored in storage in the location specified by * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the * implementation behind the proxy. */ contract ERC1967Proxy is Proxy { /** * @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`. * * If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an * encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. * * Requirements: * * - If `data` is empty, `msg.value` must be zero. */ constructor(address implementation, bytes memory _data) payable { ERC1967Utils.upgradeToAndCall(implementation, _data); } /** * @dev Returns the current implementation address. * * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` */ function _implementation() internal view virtual override returns (address) { return ERC1967Utils.getImplementation(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol) pragma solidity ^0.8.20; /** * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC. */ interface IERC1967 { /** * @dev Emitted when the implementation is upgraded. */ event Upgraded(address indexed implementation); /** * @dev Emitted when the admin account has changed. */ event AdminChanged(address previousAdmin, address newAdmin); /** * @dev Emitted when the beacon is changed. */ event BeaconUpgraded(address indexed beacon); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/transparent/ProxyAdmin.sol) pragma solidity ^0.8.20; import {ITransparentUpgradeableProxy} from "./TransparentUpgradeableProxy.sol"; import {Ownable} from "../../access/Ownable.sol"; /** * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}. */ contract ProxyAdmin is Ownable { /** * @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address)` * and `upgradeAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, * while `upgradeAndCall` will invoke the `receive` function if the second argument is the empty byte string. * If the getter returns `"5.0.0"`, only `upgradeAndCall(address,bytes)` is present, and the second argument must * be the empty byte string if no function should be called, making it impossible to invoke the `receive` function * during an upgrade. */ string public constant UPGRADE_INTERFACE_VERSION = "5.0.0"; /** * @dev Sets the initial owner who can perform upgrades. */ constructor(address initialOwner) Ownable(initialOwner) {} /** * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. * See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}. * * Requirements: * * - This contract must be the admin of `proxy`. * - If `data` is empty, `msg.value` must be zero. */ function upgradeAndCall( ITransparentUpgradeableProxy proxy, address implementation, bytes memory data ) public payable virtual onlyOwner { proxy.upgradeToAndCall{value: msg.value}(implementation, data); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol) pragma solidity ^0.8.20; /** * @dev This is the interface that {BeaconProxy} expects of its beacon. */ interface IBeacon { /** * @dev Must return an address that can be used as a delegate call target. * * {UpgradeableBeacon} will check that this address is a contract. */ function implementation() external view returns (address); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol) pragma solidity ^0.8.20; import {Errors} from "./Errors.sol"; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev There's no code at `target` (it is not a contract). */ error AddressEmptyCode(address target); /** * @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://consensys.net/diligence/blog/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.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { if (address(this).balance < amount) { revert Errors.InsufficientBalance(address(this).balance, amount); } (bool success, ) = recipient.call{value: amount}(""); if (!success) { revert Errors.FailedCall(); } } /** * @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 or custom error, it is bubbled * up by this function (like regular Solidity function calls). However, if * the call reverted with no returned reason, this function reverts with a * {Errors.FailedCall} error. * * 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. */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0); } /** * @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`. */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { if (address(this).balance < value) { revert Errors.InsufficientBalance(address(this).balance, value); } (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case * of an unsuccessful call. */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata ) internal view returns (bytes memory) { if (!success) { _revert(returndata); } else { // only check if target is a contract if the call was successful and the return data is empty // otherwise we already know that it was a contract if (returndata.length == 0 && target.code.length == 0) { revert AddressEmptyCode(target); } return returndata; } } /** * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the * revert reason or with a default {Errors.FailedCall} error. */ function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) { if (!success) { _revert(returndata); } else { return returndata; } } /** * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}. */ function _revert(bytes memory returndata) private pure { // 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 /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert Errors.FailedCall(); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) // This file was procedurally generated from scripts/generate/templates/StorageSlot.js. pragma solidity ^0.8.20; /** * @dev Library for reading and writing primitive types to specific storage slots. * * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. * This library helps with reading and writing to such slots without the need for inline assembly. * * The functions in this library return Slot structs that contain a `value` member that can be used to read or write. * * Example usage to set ERC-1967 implementation slot: * ```solidity * contract ERC1967 { * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; * * function _getImplementation() internal view returns (address) { * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; * } * * function _setImplementation(address newImplementation) internal { * require(newImplementation.code.length > 0); * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; * } * } * ``` * * TIP: Consider using this library along with {SlotDerivation}. */ library StorageSlot { struct AddressSlot { address value; } struct BooleanSlot { bool value; } struct Bytes32Slot { bytes32 value; } struct Uint256Slot { uint256 value; } struct Int256Slot { int256 value; } struct StringSlot { string value; } struct BytesSlot { bytes value; } /** * @dev Returns an `AddressSlot` with member `value` located at `slot`. */ function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `BooleanSlot` with member `value` located at `slot`. */ function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. */ function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `Uint256Slot` with member `value` located at `slot`. */ function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `Int256Slot` with member `value` located at `slot`. */ function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `StringSlot` with member `value` located at `slot`. */ function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `StringSlot` representation of the string storage pointer `store`. */ function getStringSlot(string storage store) internal pure returns (StringSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := store.slot } } /** * @dev Returns an `BytesSlot` with member `value` located at `slot`. */ function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := slot } } /** * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`. */ function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) { /// @solidity memory-safe-assembly assembly { r.slot := store.slot } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol) pragma solidity ^0.8.20; /** * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to * be specified by overriding the virtual {_implementation} function. * * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a * different contract through the {_delegate} function. * * The success and return data of the delegated call will be returned back to the caller of the proxy. */ abstract contract Proxy { /** * @dev Delegates the current call to `implementation`. * * This function does not return to its internal call site, it will return directly to the external caller. */ function _delegate(address implementation) internal virtual { assembly { // Copy msg.data. We take full control of memory in this inline assembly // block because it will not return to Solidity code. We overwrite the // Solidity scratch pad at memory position 0. calldatacopy(0, 0, calldatasize()) // Call the implementation. // out and outsize are 0 because we don't know the size yet. let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) // Copy the returned data. returndatacopy(0, 0, returndatasize()) switch result // delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @dev This is a virtual function that should be overridden so it returns the address to which the fallback * function and {_fallback} should delegate. */ function _implementation() internal view virtual returns (address); /** * @dev Delegates the current call to the address returned by `_implementation()`. * * This function does not return to its internal call site, it will return directly to the external caller. */ function _fallback() internal virtual { _delegate(_implementation()); } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other * function in the contract matches the call data. */ fallback() external payable virtual { _fallback(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; /** * @dev Collection of common custom errors used in multiple contracts * * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library. * It is recommended to avoid relying on the error API for critical functionality. */ library Errors { /** * @dev The ETH balance of the account is not enough to perform the operation. */ error InsufficientBalance(uint256 balance, uint256 needed); /** * @dev A call to an address target failed. The target may have reverted. */ error FailedCall(); /** * @dev The deployment failed. */ error FailedDeployment(); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "remappings": [ "cross-chain-swap/=lib/cross-chain-swap/", "evm-helpers/=lib/evm-helpers/", "@1inch/limit-order-protocol-contract/=lib/limit-order-protocol/", "limit-order-protocol/=lib/limit-order-protocol/", "solidity-utils/=lib/solidity-utils/", "@1inch/solidity-utils/=lib/solidity-utils/", "limit-order-settlement/=lib/cross-chain-swap/lib/limit-order-settlement/", "@1inch/limit-order-settlement/=lib/cross-chain-swap/lib/limit-order-settlement/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "ds-test/=lib/cross-chain-swap/lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "murky/=lib/cross-chain-swap/lib/murky/", "openzeppelin-contracts/=lib/openzeppelin-contracts/" ], "optimizer": { "enabled": true, "runs": 1000000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "shanghai", "viaIR": true, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"name":"ERC1967InvalidAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[],"name":"ProxyDeniedAdminAccess","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
604060a08152610e418038038061001581610278565b9283398101906060818303126102745761002e8161029d565b60209161003c83820161029d565b8582015190916001600160401b039190828211610274570185601f820112156102745780519061007361006e836102b1565b610278565b968288528683830101116102745785905f5b8381106102605750505f9187010152823b15610240577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b038581166001600160a01b0319928316811790935588519097919591927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561022357505f80838861013e95519101845af43d1561021b573d9161013061006e846102b1565b9283523d5f8985013e6102cc565b505b85519161068291828401908111848210176102075786849287946107bf85391681520301905ff080156101fd57831691826080527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f857fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103958587549483519286168352820152a182156101e657161790555161048f9081610330823960805181601c0152f35b8451633173bdd160e11b81525f6004820152602490fd5b84513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6060916102cc565b915050346102315750610140565b63b398979f60e01b8152600490fd5b8551634c9c8ce360e01b81526001600160a01b0384166004820152602490fd5b818101830151898201840152879201610085565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761020757604052565b51906001600160a01b038216820361027457565b6001600160401b03811161020757601f01601f191660200190565b906102f357508051156102e157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580610326575b610304575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156102fc56fe608060405273ffffffffffffffffffffffffffffffffffffffff337f00000000000000000000000000000000000000000000000000000000000000008216036100c0575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100b65760046040517fd2b576ec000000000000000000000000000000000000000000000000000000008152fd5b6100be6101b0565b005b5f80917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416368280378136915af43d5f803e156100fc573d5ff35b3d5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761017157604052565b610100565b67ffffffffffffffff811161017157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b366004116102635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102635760043573ffffffffffffffffffffffffffffffffffffffff8116809103610263576024359067ffffffffffffffff821161026357366023830112156102635781600401359061023861023383610176565b61012d565b918083523660248286010111610263576020815f92602461026197018387013784010152610267565b565b5f80fd5b90813b156103395773ffffffffffffffffffffffffffffffffffffffff82167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156103065761030391610380565b50565b50503461030f57565b60046040517fb398979f000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f4c9c8ce3000000000000000000000000000000000000000000000000000000008352166004820152fd5b5f806103b293602081519101845af43d156103b5573d916103a361023384610176565b9283523d5f602085013e6103b9565b90565b6060915b906103f857508051156103ce57805190602001fd5b60046040517fd6bda275000000000000000000000000000000000000000000000000000000008152fd5b81511580610450575b610409575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b1561040156fea26469706673582212209c7d45ec6c53b7895c5e3dcc5295a5e33ca50a3b90b82d24ac2010263cd36c0864736f6c634300081700336080346100b957601f61068238819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b957516001600160a01b0390818116908190036100b95780156100a1575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36105b090816100d28239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe604060808152600480361015610013575f80fd5b5f915f3560e01c8063715018a6146104345780638da5cb5b146103e35780639623609d146101fe578063ad3cb1cc1461013e5763f2fde38b14610054575f80fd5b3461013a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a5781359173ffffffffffffffffffffffffffffffffffffffff91828416809403610136576100ae61052a565b83156101075750505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b8280fd5b5082346101fb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb575080519080820182811067ffffffffffffffff8211176101cf576101cb93508152600582527f352e302e300000000000000000000000000000000000000000000000000000006020830152519182916020835260208301906104ce565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b80fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365781359173ffffffffffffffffffffffffffffffffffffffff908184168094036101365760249182359081168091036101365767ffffffffffffffff90604435828111610136573660238201121561013657808401358381116103b8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091875192603f81601f850116011683018381108682111761038d5788528183523687838301011161013657815f92886020930183860137830101526102e961052a565b863b1561013657610334965f9287518099819482937f4f1ef286000000000000000000000000000000000000000000000000000000008452898401528a8a84015260448301906104ce565b039134905af1801561038357610348578580f35b909192938095501161035957505052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b84513d5f823e3d90fd5b876041887f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b856041867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b5034610136575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b34610136575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365761046a61052a565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b91908251928382525f5b8481106105165750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b6020818301810151848301820152016104d8565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361054a57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220f6ac857d26b247634500bc7ac7ff5a5f181e9e86f85f598a85d5b52ff9366fd064736f6c634300081700330000000000000000000000001d68da0290df4b77a7aafbda6729351dbe4d6fa700000000000000000000000011799622f4d98a24514011e8527b969f7488ef4700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405273ffffffffffffffffffffffffffffffffffffffff337f0000000000000000000000003305184a01049d7c1e850c6be565bc447212e9768216036100c0575f357fffffffff00000000000000000000000000000000000000000000000000000000167f4f1ef28600000000000000000000000000000000000000000000000000000000146100b65760046040517fd2b576ec000000000000000000000000000000000000000000000000000000008152fd5b6100be6101b0565b005b5f80917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416368280378136915af43d5f803e156100fc573d5ff35b3d5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761017157604052565b610100565b67ffffffffffffffff811161017157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b366004116102635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102635760043573ffffffffffffffffffffffffffffffffffffffff8116809103610263576024359067ffffffffffffffff821161026357366023830112156102635781600401359061023861023383610176565b61012d565b918083523660248286010111610263576020815f92602461026197018387013784010152610267565b565b5f80fd5b90813b156103395773ffffffffffffffffffffffffffffffffffffffff82167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156103065761030391610380565b50565b50503461030f57565b60046040517fb398979f000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f4c9c8ce3000000000000000000000000000000000000000000000000000000008352166004820152fd5b5f806103b293602081519101845af43d156103b5573d916103a361023384610176565b9283523d5f602085013e6103b9565b90565b6060915b906103f857508051156103ce57805190602001fd5b60046040517fd6bda275000000000000000000000000000000000000000000000000000000008152fd5b81511580610450575b610409575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b1561040156fea26469706673582212209c7d45ec6c53b7895c5e3dcc5295a5e33ca50a3b90b82d24ac2010263cd36c0864736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001d68da0290df4b77a7aafbda6729351dbe4d6fa700000000000000000000000011799622f4d98a24514011e8527b969f7488ef4700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _logic (address): 0x1D68dA0290dF4b77a7AafbDa6729351DBe4D6FA7
Arg [1] : initialOwner (address): 0x11799622F4D98A24514011E8527B969f7488eF47
Arg [2] : _data (bytes): 0x
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000001d68da0290df4b77a7aafbda6729351dbe4d6fa7
Arg [1] : 00000000000000000000000011799622f4d98a24514011e8527b969f7488ef47
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 10.57% | $0.999921 | 199,633.9349 | $199,618.26 | |
BSC | 6.75% | $1 | 127,446.4554 | $127,446.46 | |
BSC | 3.60% | $591.81 | 114.9506 | $68,029.31 | |
BSC | <0.01% | $0.005153 | 20,674.1537 | $106.53 | |
BSC | <0.01% | $75.86 | 1.148 | $87.09 | |
BSC | <0.01% | $1 | 79.0692 | $79.1 | |
BSC | <0.01% | $134.96 | 0.1378 | $18.6 | |
BSC | <0.01% | $85,141.28 | 0.00015691 | $13.36 | |
BSC | <0.01% | $0.625119 | 18.8111 | $11.76 | |
BSC | <0.01% | $592.34 | 0.013 | $7.72 | |
BSC | <0.01% | $1.82 | 3.7819 | $6.88 | |
BSC | <0.01% | $0.005084 | 1,242.6652 | $6.32 | |
BSC | <0.01% | $3.66 | 1.7171 | $6.28 | |
BSC | <0.01% | $1,603.48 | 0.00369668 | $5.93 | |
BSC | <0.01% | $2.08 | 2.1925 | $4.56 | |
BSC | <0.01% | $1.3 | 2.8516 | $3.71 | |
BSC | <0.01% | $1 | 2.8937 | $2.89 | |
BSC | <0.01% | $0.479826 | 5.9205 | $2.84 | |
BSC | <0.01% | $3.16 | 0.6321 | $2 | |
BSC | <0.01% | $2.98 | 0.6309 | $1.88 | |
BSC | <0.01% | $12.61 | 0.1474 | $1.86 | |
BSC | <0.01% | $0.74832 | 1.8693 | $1.4 | |
BSC | <0.01% | $0.158225 | 7.4086 | $1.17 | |
BSC | <0.01% | <$0.000001 | 83,301,294.9773 | $0.924 | |
BSC | <0.01% | $0.184233 | 4.4335 | $0.8167 | |
BSC | <0.01% | $2.41 | 0.3186 | $0.7677 | |
BSC | <0.01% | $140.03 | 0.00540901 | $0.7574 | |
BSC | <0.01% | $0.667255 | 0.9801 | $0.6539 | |
BSC | <0.01% | $0.168426 | 3.5386 | $0.5959 | |
BSC | <0.01% | $5.26 | 0.106 | $0.5576 | |
BSC | <0.01% | $0.017264 | 28.7288 | $0.4959 | |
BSC | <0.01% | $0.511573 | 0.7953 | $0.4068 | |
BSC | <0.01% | $7.84 | 0.0509 | $0.3987 | |
BSC | <0.01% | $0.006769 | 57.9123 | $0.3919 | |
BSC | <0.01% | $2.09 | 0.185 | $0.386 | |
BSC | <0.01% | $0.025587 | 13.1264 | $0.3358 | |
BSC | <0.01% | $2.46 | 0.1297 | $0.3189 | |
BSC | <0.01% | $4.17 | 0.0713 | $0.2972 | |
BSC | <0.01% | $0.639635 | 0.4207 | $0.269 | |
BSC | <0.01% | $0.999093 | 0.2619 | $0.2616 | |
BSC | <0.01% | $333.33 | 0.00065592 | $0.2186 | |
BSC | <0.01% | $0.153107 | 1.2223 | $0.1871 | |
BSC | <0.01% | $0.457399 | 0.3725 | $0.1703 | |
BSC | <0.01% | $0.291797 | 0.3967 | $0.1157 | |
BSC | <0.01% | $39.75 | 0.00291269 | $0.1157 | |
BSC | <0.01% | $0.115144 | 0.9197 | $0.1059 | |
BSC | <0.01% | $0.025376 | 3.9544 | $0.1003 | |
ARB | 7.20% | $0.999897 | 136,094.2148 | $136,080.2 | |
ARB | 6.77% | $1 | 127,823.8034 | $127,823.8 | |
ARB | 4.52% | $1,601.87 | 53.3017 | $85,382.52 | |
ARB | 0.05% | $139.55 | 6.2446 | $871.43 | |
ARB | 0.02% | $0.999107 | 304.7968 | $304.52 | |
ARB | 0.02% | $0.999897 | 291.4541 | $291.42 | |
ARB | 0.01% | $3.14 | 82.8662 | $260.2 | |
ARB | 0.01% | $1,681.69 | 0.121 | $203.5 | |
ARB | 0.01% | $0.285025 | 705.6606 | $201.13 | |
ARB | <0.01% | $1 | 109.667 | $109.67 | |
ARB | <0.01% | $1,928.12 | 0.0457 | $88.03 | |
ARB | <0.01% | $0.999903 | 59.9344 | $59.93 | |
ARB | <0.01% | $1 | 50.9399 | $50.94 | |
ARB | <0.01% | $0.603596 | 74.3746 | $44.89 | |
ARB | <0.01% | $85,077 | 0.00027217 | $23.16 | |
ARB | <0.01% | $1,606.74 | 0.0113 | $18.22 | |
ARB | <0.01% | $5.25 | 0.9072 | $4.76 | |
ARB | <0.01% | $85,012 | 0.0000557 | $4.74 | |
ARB | <0.01% | $0.077714 | 53.1129 | $4.13 | |
ARB | <0.01% | $1,808.15 | 0.00153674 | $2.78 | |
ARB | <0.01% | $0.694626 | 2.9073 | $2.02 | |
ARB | <0.01% | $0.99968 | 0.5293 | $0.5291 | |
ARB | <0.01% | $0.008027 | 64.2164 | $0.5154 | |
ARB | <0.01% | $0.026814 | 15.6483 | $0.4195 | |
ARB | <0.01% | $1.82 | 0.1888 | $0.3435 | |
ARB | <0.01% | $0.040898 | 7.9036 | $0.3232 | |
ARB | <0.01% | $0.072612 | 2.9941 | $0.2174 | |
ARB | <0.01% | $15.13 | 0.0139 | $0.2104 | |
ARB | <0.01% | $0.067273 | 2.8205 | $0.1897 | |
ARB | <0.01% | $1 | 0.1878 | $0.1879 | |
ARB | <0.01% | $1,607.32 | 0.00008678 | $0.1394 | |
ARB | <0.01% | $0.184359 | 0.7283 | $0.1342 | |
ARB | <0.01% | $84,954 | 0.00000147 | $0.1248 | |
BASE | 11.59% | $0.999978 | 218,914.9566 | $218,910.14 | |
BASE | 4.46% | $1,602.11 | 52.5801 | $84,239.34 | |
BASE | <0.01% | $0.997599 | 22.091 | $22.04 | |
BASE | <0.01% | $35.27 | 0.3005 | $10.6 | |
BASE | <0.01% | $0.405016 | 22.6969 | $9.19 | |
BASE | <0.01% | $0.566843 | 15.2774 | $8.66 | |
BASE | <0.01% | $0.447622 | 14.4454 | $6.47 | |
BASE | <0.01% | $85,079 | 0.00006766 | $5.76 | |
BASE | <0.01% | $1,604.12 | 0.00357747 | $5.74 | |
BASE | <0.01% | $0.999945 | 4.5807 | $4.58 | |
BASE | <0.01% | $1 | 4.5422 | $4.54 | |
BASE | <0.01% | $2.46 | 1.5603 | $3.84 | |
BASE | <0.01% | $2.15 | 1.6051 | $3.45 | |
BASE | <0.01% | $0.938405 | 3.3099 | $3.11 | |
BASE | <0.01% | $1,763.82 | 0.00162833 | $2.87 | |
BASE | <0.01% | $1,813.21 | 0.00138205 | $2.51 | |
BASE | <0.01% | $2.2 | 1.0451 | $2.3 | |
BASE | <0.01% | $2.41 | 0.5828 | $1.4 | |
BASE | <0.01% | $0.000002 | 743,000 | $1.39 | |
BASE | <0.01% | $0.667199 | 1.1528 | $0.7691 | |
BASE | <0.01% | $84,917 | 0.00000893 | $0.7579 | |
BASE | <0.01% | $1,930.44 | 0.0003157 | $0.6094 | |
BASE | <0.01% | $0.009808 | 58.3392 | $0.5721 | |
BASE | <0.01% | $0.067377 | 7.6206 | $0.5134 | |
BASE | <0.01% | $0.002191 | 201.7554 | $0.4421 | |
BASE | <0.01% | $0.634195 | 0.6933 | $0.4396 | |
BASE | <0.01% | $0.998547 | 0.3438 | $0.3432 | |
BASE | <0.01% | $0.037862 | 7.1661 | $0.2713 | |
BASE | <0.01% | $0.394994 | 0.5626 | $0.2222 | |
BASE | <0.01% | $0.998483 | 0.1817 | $0.1814 | |
BASE | <0.01% | $0.998642 | 0.1733 | $0.173 | |
BASE | <0.01% | $0.168239 | 0.9602 | $0.1615 | |
BASE | <0.01% | <$0.000001 | 10,315,828.9682 | $0.1454 | |
BASE | <0.01% | $0.003747 | 33.0206 | $0.1237 | |
BASE | <0.01% | $0.004148 | 24.5868 | $0.1019 | |
ETH | 6.62% | $0.999897 | 125,076.6794 | $125,063.8 | |
ETH | 6.49% | $1,601.96 | 76.5615 | $122,648.3 | |
ETH | 2.73% | $1 | 51,619.8383 | $51,619.84 | |
ETH | 0.08% | $0.771009 | 2,068.435 | $1,594.78 | |
ETH | 0.02% | $0.162287 | 2,868.4208 | $465.51 | |
ETH | 0.02% | $3,330.32 | 0.0918 | $305.85 | |
ETH | 0.01% | $1 | 277.8354 | $277.84 | |
ETH | <0.01% | $1.04 | 161.4482 | $167.91 | |
ETH | <0.01% | $85,072 | 0.00134823 | $114.7 | |
ETH | <0.01% | $1.05 | 92.8349 | $97.29 | |
ETH | <0.01% | $85,196 | 0.00110218 | $93.9 | |
ETH | <0.01% | $0.279264 | 244.7009 | $68.34 | |
ETH | <0.01% | $6.91 | 8.345 | $57.7 | |
ETH | <0.01% | $1,606.39 | 0.0272 | $43.65 | |
ETH | <0.01% | $1.17 | 36.7131 | $42.95 | |
ETH | <0.01% | $0.000007 | 5,356,800.1007 | $39.59 | |
ETH | <0.01% | $1,931.17 | 0.0173 | $33.42 | |
ETH | <0.01% | $0.696009 | 38.1188 | $26.53 | |
ETH | <0.01% | $135.05 | 0.1959 | $26.45 | |
ETH | <0.01% | $5.26 | 4.592 | $24.15 | |
ETH | <0.01% | $0.500399 | 35.3972 | $17.71 | |
ETH | <0.01% | $0.999654 | 17.5963 | $17.59 | |
ETH | <0.01% | $4.04 | 4.2557 | $17.19 | |
ETH | <0.01% | $1 | 14.3292 | $14.33 | |
ETH | <0.01% | $1.15 | 11.8706 | $13.65 | |
ETH | <0.01% | $4.03 | 3.0347 | $12.23 | |
ETH | <0.01% | $12.63 | 0.9361 | $11.82 | |
ETH | <0.01% | $0.761546 | 14.7981 | $11.27 | |
ETH | <0.01% | $0.179589 | 58.1747 | $10.45 | |
ETH | <0.01% | $1,713.75 | 0.00584487 | $10.02 | |
ETH | <0.01% | $0.083366 | 107.8578 | $8.99 | |
ETH | <0.01% | $0.014065 | 638.3518 | $8.98 | |
ETH | <0.01% | $85,116 | 0.00010274 | $8.74 | |
ETH | <0.01% | $247.24 | 0.0334 | $8.26 | |
ETH | <0.01% | $0.418776 | 19.6513 | $8.23 | |
ETH | <0.01% | $2.18 | 3.7141 | $8.1 | |
ETH | <0.01% | $3,333.73 | 0.00240122 | $8.01 | |
ETH | <0.01% | $592.7 | 0.0124 | $7.33 | |
ETH | <0.01% | $0.146399 | 40.1617 | $5.88 | |
ETH | <0.01% | $1.14 | 5.1154 | $5.83 | |
ETH | <0.01% | $3.17 | 1.7726 | $5.62 | |
ETH | <0.01% | $1 | 4.9952 | $5 | |
ETH | <0.01% | $4,493.53 | 0.00104238 | $4.68 | |
ETH | <0.01% | $85,002 | 0.00005388 | $4.58 | |
ETH | <0.01% | $1 | 4.5231 | $4.52 | |
ETH | <0.01% | $39.69 | 0.1095 | $4.35 | |
ETH | <0.01% | $0.607017 | 6.7613 | $4.1 | |
ETH | <0.01% | $13.21 | 0.2987 | $3.95 | |
ETH | <0.01% | $0.999944 | 3.6467 | $3.65 | |
ETH | <0.01% | $0.544896 | 6.5453 | $3.57 | |
ETH | <0.01% | $0.570025 | 5.6966 | $3.25 | |
ETH | <0.01% | $2.98 | 1.0855 | $3.23 | |
ETH | <0.01% | $0.013557 | 232.4017 | $3.15 | |
ETH | <0.01% | $0.311746 | 9.4558 | $2.95 | |
ETH | <0.01% | $0.936844 | 3.1101 | $2.91 | |
ETH | <0.01% | $0.026875 | 107.8009 | $2.9 | |
ETH | <0.01% | $0.961096 | 2.4926 | $2.4 | |
ETH | <0.01% | $7.85 | 0.2844 | $2.23 | |
ETH | <0.01% | $0.000012 | 178,007.2668 | $2.13 | |
ETH | <0.01% | $0.843483 | 2.4311 | $2.05 | |
ETH | <0.01% | $1,601.96 | 0.00125993 | $2.02 | |
ETH | <0.01% | $85,242 | 0.00002203 | $1.88 | |
ETH | <0.01% | $0.997949 | 1.8433 | $1.84 | |
ETH | <0.01% | $0.004608 | 391.77 | $1.81 | |
ETH | <0.01% | $5.17 | 0.3461 | $1.79 | |
ETH | <0.01% | $2.08 | 0.8556 | $1.78 | |
ETH | <0.01% | $0.065869 | 27.0129 | $1.78 | |
ETH | <0.01% | $0.202126 | 8.7784 | $1.77 | |
ETH | <0.01% | $0.001621 | 1,090.0554 | $1.77 | |
ETH | <0.01% | $0.284102 | 6.1906 | $1.76 | |
ETH | <0.01% | $6.9 | 0.2499 | $1.72 | |
ETH | <0.01% | $0.366599 | 4.6823 | $1.72 | |
ETH | <0.01% | $140.09 | 0.0116 | $1.62 | |
ETH | <0.01% | $0.007186 | 223.5667 | $1.61 | |
ETH | <0.01% | $0.001258 | 1,224.6365 | $1.54 | |
ETH | <0.01% | $0.473831 | 3.1949 | $1.51 | |
ETH | <0.01% | $0.168462 | 8.9112 | $1.5 | |
ETH | <0.01% | $0.004049 | 363.5187 | $1.47 | |
ETH | <0.01% | $1,367.56 | 0.00107024 | $1.46 | |
ETH | <0.01% | $0.076192 | 17.6003 | $1.34 | |
ETH | <0.01% | $0.999654 | 1.3128 | $1.31 | |
ETH | <0.01% | $7.75 | 0.1681 | $1.3 | |
ETH | <0.01% | $0.418299 | 3.0789 | $1.29 | |
ETH | <0.01% | $0.129603 | 9.8334 | $1.27 | |
ETH | <0.01% | $0.008787 | 138.9585 | $1.22 | |
ETH | <0.01% | $0.666169 | 1.6637 | $1.11 | |
ETH | <0.01% | $1,811.47 | 0.00058585 | $1.06 | |
ETH | <0.01% | $0.567931 | 1.8326 | $1.04 | |
ETH | <0.01% | $0.482303 | 2.0798 | $1 | |
ETH | <0.01% | $0.217859 | 4.3493 | $0.9475 | |
ETH | <0.01% | $3.55 | 0.2523 | $0.8957 | |
ETH | <0.01% | $0.158771 | 5.6242 | $0.8929 | |
ETH | <0.01% | $0.029646 | 30.0498 | $0.8908 | |
ETH | <0.01% | $0.011026 | 78.9304 | $0.8703 | |
ETH | <0.01% | $2.08 | 0.4079 | $0.8483 | |
ETH | <0.01% | $0.698237 | 1.2001 | $0.8379 | |
ETH | <0.01% | $0.08891 | 9.4152 | $0.8371 | |
ETH | <0.01% | $0.008853 | 91.8422 | $0.813 | |
ETH | <0.01% | $0.939957 | 0.8544 | $0.803 | |
ETH | <0.01% | $0.530659 | 1.381 | $0.7328 | |
ETH | <0.01% | $0.122086 | 5.806 | $0.7088 | |
ETH | <0.01% | $0.769417 | 0.8993 | $0.6919 | |
ETH | <0.01% | $0.009284 | 68.3986 | $0.635 | |
ETH | <0.01% | $2.24 | 0.2761 | $0.6185 | |
ETH | <0.01% | $28.76 | 0.0215 | $0.6174 | |
ETH | <0.01% | $0.098205 | 6.1749 | $0.6064 | |
ETH | <0.01% | $2.42 | 0.2483 | $0.6009 | |
ETH | <0.01% | $66.6 | 0.00863294 | $0.5749 | |
ETH | <0.01% | $0.285378 | 1.9777 | $0.5643 | |
ETH | <0.01% | $0.812184 | 0.6669 | $0.5416 | |
ETH | <0.01% | $0.63572 | 0.8056 | $0.5121 | |
ETH | <0.01% | $141.08 | 0.00362924 | $0.512 | |
ETH | <0.01% | $14.13 | 0.036 | $0.5091 | |
ETH | <0.01% | $2.47 | 0.2047 | $0.5055 | |
ETH | <0.01% | $1.04 | 0.4568 | $0.475 | |
ETH | <0.01% | $0.005946 | 77.9216 | $0.4633 | |
ETH | <0.01% | $0.270426 | 1.6839 | $0.4553 | |
ETH | <0.01% | $0.292004 | 1.4819 | $0.4327 | |
ETH | <0.01% | $0.017283 | 24.9188 | $0.4306 | |
ETH | <0.01% | $0.012624 | 32.879 | $0.415 | |
ETH | <0.01% | <$0.000001 | 3,143,933.731 | $0.3995 | |
ETH | <0.01% | $0.238517 | 1.5929 | $0.3799 | |
ETH | <0.01% | $0.000224 | 1,611.7343 | $0.3609 | |
ETH | <0.01% | $1.04 | 0.3464 | $0.3592 | |
ETH | <0.01% | $0.061568 | 5.4357 | $0.3346 | |
ETH | <0.01% | $0.125559 | 2.6635 | $0.3344 | |
ETH | <0.01% | $1.69 | 0.1975 | $0.3338 | |
ETH | <0.01% | $1.19 | 0.2693 | $0.3204 | |
ETH | <0.01% | $0.189485 | 1.653 | $0.3132 | |
ETH | <0.01% | $1.24 | 0.2492 | $0.309 | |
ETH | <0.01% | $0.015718 | 19.5777 | $0.3077 | |
ETH | <0.01% | $0.029909 | 9.6768 | $0.2894 | |
ETH | <0.01% | $0.412987 | 0.6995 | $0.2888 | |
ETH | <0.01% | $0.003036 | 95.0842 | $0.2887 | |
ETH | <0.01% | $22.91 | 0.0125 | $0.2869 | |
ETH | <0.01% | $0.000922 | 295.8258 | $0.2726 | |
ETH | <0.01% | $0.250344 | 1.0574 | $0.2647 | |
ETH | <0.01% | $0.071658 | 3.5547 | $0.2547 | |
ETH | <0.01% | $0.076326 | 3.2893 | $0.251 | |
ETH | <0.01% | $590.29 | 0.00040592 | $0.2396 | |
ETH | <0.01% | $0.216272 | 1.1068 | $0.2393 | |
ETH | <0.01% | $0.000528 | 449.2254 | $0.2372 | |
ETH | <0.01% | $1,930.91 | 0.00012099 | $0.2336 | |
ETH | <0.01% | $0.003755 | 60.9179 | $0.2287 | |
ETH | <0.01% | $0.184191 | 1.189 | $0.219 | |
ETH | <0.01% | $0.122341 | 1.7711 | $0.2166 | |
ETH | <0.01% | $0.18079 | 1.1708 | $0.2116 | |
ETH | <0.01% | $0.086654 | 2.2781 | $0.1974 | |
ETH | <0.01% | $0.0009 | 217.5073 | $0.1956 | |
ETH | <0.01% | $0.001346 | 145.0207 | $0.1952 | |
ETH | <0.01% | $0.998573 | 0.1877 | $0.1874 | |
ETH | <0.01% | $0.001445 | 129.0709 | $0.1864 | |
ETH | <0.01% | $0.097577 | 1.8561 | $0.1811 | |
ETH | <0.01% | $0.691496 | 0.2605 | $0.1801 | |
ETH | <0.01% | $0.123275 | 1.4367 | $0.1771 | |
ETH | <0.01% | $15.79 | 0.011 | $0.1742 | |
ETH | <0.01% | $0.088809 | 1.9619 | $0.1742 | |
ETH | <0.01% | $0.134 | 1.2116 | $0.1623 | |
ETH | <0.01% | $0.434968 | 0.362 | $0.1574 | |
ETH | <0.01% | $0.000637 | 245.6472 | $0.1565 | |
ETH | <0.01% | $0.257569 | 0.5875 | $0.1513 | |
ETH | <0.01% | $0.009241 | 13.3353 | $0.1232 | |
ETH | <0.01% | $0.031178 | 3.8527 | $0.1201 | |
ETH | <0.01% | $0.111115 | 1.0162 | $0.1129 | |
ETH | <0.01% | $1.02 | 0.1 | $0.1017 | |
POL | 6.74% | $0.999897 | 127,428.1701 | $127,415.05 | |
POL | 3.00% | $1 | 56,608.6967 | $56,608.7 | |
POL | 2.33% | $0.183893 | 239,800.8554 | $44,097.78 | |
POL | <0.01% | $0.696301 | 27.6094 | $19.22 | |
POL | <0.01% | $0.760936 | 9.3263 | $7.1 | |
POL | <0.01% | $85,211 | 0.00008278 | $7.05 | |
POL | <0.01% | $12.62 | 0.3843 | $4.85 | |
POL | <0.01% | $134.83 | 0.0276 | $3.72 | |
POL | <0.01% | $139.95 | 0.0236 | $3.31 | |
POL | <0.01% | $4.04 | 0.7269 | $2.94 | |
POL | <0.01% | $0.007081 | 288.9861 | $2.05 | |
POL | <0.01% | $0.025418 | 67.2975 | $1.71 | |
POL | <0.01% | $4.02 | 0.3653 | $1.47 | |
POL | <0.01% | $0.25105 | 4.9536 | $1.24 | |
POL | <0.01% | $1,931.15 | 0.00061394 | $1.19 | |
POL | <0.01% | $0.999897 | 1.0597 | $1.06 | |
POL | <0.01% | $1,366.61 | 0.0004946 | $0.6759 | |
POL | <0.01% | $0.274632 | 2.4475 | $0.6721 | |
POL | <0.01% | $5.26 | 0.0932 | $0.4904 | |
POL | <0.01% | $1 | 0.408 | $0.4083 | |
POL | <0.01% | $1,603.48 | 0.00022912 | $0.3673 | |
POL | <0.01% | $0.604922 | 0.5817 | $0.3518 | |
POL | <0.01% | $0.00161 | 198.008 | $0.3188 | |
POL | <0.01% | $0.184075 | 1.7279 | $0.318 | |
POL | <0.01% | $0.077806 | 4.068 | $0.3165 | |
POL | <0.01% | <$0.000001 | 47,799,876.9304 | $0.2915 | |
POL | <0.01% | $19.34 | 0.0143 | $0.2762 | |
POL | <0.01% | $0.395095 | 0.6778 | $0.2678 | |
POL | <0.01% | $0.99978 | 0.2324 | $0.2323 | |
POL | <0.01% | $0.001671 | 126.6907 | $0.2116 | |
POL | <0.01% | $0.012076 | 15.7647 | $0.1903 | |
POL | <0.01% | $0.004608 | 38.9 | $0.1792 | |
POL | <0.01% | $84,995 | 0.00000172 | $0.1461 | |
POL | <0.01% | $1.03 | 0.1256 | $0.129 | |
POL | <0.01% | $0.327087 | 0.319 | $0.1043 | |
AVAX | 4.57% | $0.999999 | 86,296.3322 | $86,296.25 | |
AVAX | 1.56% | $19.29 | 1,531.0774 | $29,535.45 | |
AVAX | <0.01% | $1,607.33 | 0.0106 | $16.97 | |
AVAX | <0.01% | $85,077 | 0.00010369 | $8.82 | |
AVAX | <0.01% | $0.158558 | 49.6137 | $7.87 | |
AVAX | <0.01% | $1.14 | 5.518 | $6.28 | |
AVAX | <0.01% | $23.26 | 0.2677 | $6.23 | |
AVAX | <0.01% | $19.31 | 0.2259 | $4.36 | |
AVAX | <0.01% | $139.63 | 0.0268 | $3.74 | |
AVAX | <0.01% | $0.999999 | 3.2113 | $3.21 | |
AVAX | <0.01% | $15.13 | 0.1656 | $2.51 | |
AVAX | <0.01% | $1 | 2.3325 | $2.33 | |
AVAX | <0.01% | $1 | 1.655 | $1.66 | |
AVAX | <0.01% | $0.132233 | 11.6237 | $1.54 | |
AVAX | <0.01% | $85,122.38 | 0.00001483 | $1.26 | |
AVAX | <0.01% | $1 | 0.8731 | $0.8731 | |
AVAX | <0.01% | $1.69 | 0.1644 | $0.2779 | |
AVAX | <0.01% | $12.6 | 0.0168 | $0.2117 | |
AVAX | <0.01% | $2.46 | 0.0515 | $0.1265 | |
GNO | 3.33% | $0.999897 | 62,983.2866 | $62,976.8 | |
GNO | 1.13% | $1 | 21,366.889 | $21,371.99 | |
GNO | 0.03% | $1.13 | 552.6354 | $624.48 | |
GNO | 0.03% | $1.13 | 552.6354 | $624.48 | |
GNO | 0.03% | $0.999897 | 579.3759 | $579.32 | |
GNO | <0.01% | $1 | 17.5618 | $17.56 | |
GNO | <0.01% | $1,928.12 | 0.00891473 | $17.19 | |
GNO | <0.01% | $1.17 | 11.4618 | $13.41 | |
GNO | <0.01% | $1,607.32 | 0.00445031 | $7.15 | |
GNO | <0.01% | $1 | 3.2269 | $3.23 | |
GNO | <0.01% | $109.32 | 0.02 | $2.19 | |
GNO | <0.01% | $0.284226 | 6.6089 | $1.88 | |
GNO | <0.01% | $1 | 0.6295 | $0.6296 | |
GNO | <0.01% | $85,077 | 0.00000205 | $0.1744 | |
OP | 2.22% | $0.999897 | 41,969.2261 | $41,964.9 | |
OP | 1.36% | $1,601.96 | 16.0664 | $25,737.71 | |
OP | 0.93% | $1 | 17,635.4302 | $17,635.43 | |
OP | <0.01% | $0.711635 | 44.311 | $31.53 | |
OP | <0.01% | $0.650442 | 47.7483 | $31.06 | |
OP | <0.01% | $0.634775 | 31.1224 | $19.76 | |
OP | <0.01% | $0.767149 | 14.1736 | $10.87 | |
OP | <0.01% | $12.6 | 0.7206 | $9.08 | |
OP | <0.01% | $1,808.15 | 0.00372143 | $6.73 | |
OP | <0.01% | $85,077 | 0.00007693 | $6.54 | |
OP | <0.01% | $0.044201 | 103.2222 | $4.56 | |
OP | <0.01% | $148.88 | 0.0244 | $3.63 | |
OP | <0.01% | $139.55 | 0.0126 | $1.75 | |
OP | <0.01% | $1 | 1.0162 | $1.02 | |
OP | <0.01% | $0.999778 | 1.0135 | $1.01 | |
OP | <0.01% | $1,607.32 | 0.0001666 | $0.2677 | |
OP | <0.01% | $0.998645 | 0.249 | $0.2486 | |
OP | <0.01% | $2.46 | 0.0986 | $0.2424 | |
OP | <0.01% | $1,530.83 | 0.00014403 | $0.2204 | |
OP | <0.01% | $1,928.12 | 0.00008449 | $0.1629 | |
LINEA | 0.52% | $0.999897 | 9,847.8304 | $9,846.82 | |
LINEA | 0.26% | $1,601.71 | 3.0802 | $4,933.66 | |
LINEA | 0.26% | $1 | 4,920.4661 | $4,920.47 | |
LINEA | <0.01% | $85,196 | 0.00004319 | $3.68 | |
LINEA | <0.01% | $1,612.59 | 0.00069493 | $1.12 | |
LINEA | <0.01% | $1 | 0.5435 | $0.5434 |
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.