More Info
Private Name Tags
ContractCreator
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Allow | 19025732 | 76 days ago | IN | 0 ETH | 0.00013759 | ||||
Transfer Ownersh... | 19019494 | 76 days ago | IN | 0 ETH | 0.00000177 | ||||
Withdraw | 18664315 | 90 days ago | IN | 0 ETH | 0.00000494 | ||||
Withdraw | 18659608 | 90 days ago | IN | 0 ETH | 0.0000054 | ||||
Execute | 18659602 | 90 days ago | IN | 0 ETH | 0.00005365 | ||||
Transfer Ownersh... | 18659455 | 90 days ago | IN | 0 ETH | 0.00000297 | ||||
Allow | 16982597 | 156 days ago | IN | 0 ETH | 0.00027951 | ||||
Allow | 16704877 | 167 days ago | IN | 0 ETH | 0.00108686 | ||||
Init | 16704847 | 167 days ago | IN | 0 ETH | 0.00000816 |
Latest 23 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18659608 | 90 days ago | 0.00803504 ETH | ||||
18659608 | 90 days ago | 0.00137278 ETH | ||||
18659602 | 90 days ago | 0.0055229 ETH | ||||
17287706 | 144 days ago | 0.00002129 ETH | ||||
17265903 | 145 days ago | 0.00006507 ETH | ||||
17034806 | 154 days ago | 0.00002666 ETH | ||||
17033722 | 154 days ago | 0.0000446 ETH | ||||
17032220 | 154 days ago | 0.0000479 ETH | ||||
17027421 | 154 days ago | 0.0000246 ETH | ||||
17021128 | 155 days ago | 0.00004393 ETH | ||||
17019450 | 155 days ago | 0.00005001 ETH | ||||
17018534 | 155 days ago | 0.0000446 ETH | ||||
17018284 | 155 days ago | 0.00004866 ETH | ||||
17013501 | 155 days ago | 0.00035822 ETH | ||||
17008760 | 155 days ago | 0.00004731 ETH | ||||
17006663 | 155 days ago | 0.00002842 ETH | ||||
16988175 | 156 days ago | 0.0000909 ETH | ||||
16986514 | 156 days ago | 0.00003818 ETH | ||||
16986452 | 156 days ago | 0.00004122 ETH | ||||
16986381 | 156 days ago | 0.00003649 ETH | ||||
16979765 | 156 days ago | 0.00003954 ETH | ||||
16970059 | 157 days ago | 0.00004164 ETH | ||||
16704847 | 167 days ago | Contract Creation | 0 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 Name:
Admin
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.x; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {SafeERC20, IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {Consts} from "./Consts.sol"; import {IWETH} from "./IWETH.sol"; contract Admin is Ownable { using SafeERC20 for IERC20; mapping(address => bool) public allowed; IWETH public weth; constructor(address _owner) Ownable() { allowed[_owner] = true; transferOwnership(_owner); } function init(address _weth) external onlyOwner { if (address(weth) != address(0)) revert(); weth = IWETH(_weth); } function allow(address[] calldata addr, bool value) external onlyOwner { for (uint256 i = 0; i < addr.length; i++) { allowed[addr[i]] = value; } } function execute(IMulticall3.Call[] calldata calls) external onlyOwner { Address.functionDelegateCall( Consts.MULTICALL_ADDRESS, abi.encodeWithSelector(IMulticall3.aggregate.selector, calls) ); } function withdraw(IERC20[] calldata tokens) external onlyOwner { uint256 balance = weth.balanceOf(address(this)); if (balance > 0) weth.withdraw(balance); for (uint256 i = 0; i < tokens.length; i++) { balance = tokens[i].balanceOf(address(this)); if (balance > 0) tokens[i].safeTransfer(owner(), balance); } Address.sendValue(payable(owner()), address(this).balance); } receive() external payable { // accept ETH } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.9.0; pragma experimental ABIEncoderV2; interface IMulticall3 { struct Call { address target; bytes callData; } struct Call3 { address target; bool allowFailure; bytes callData; } struct Call3Value { address target; bool allowFailure; uint256 value; bytes callData; } struct Result { bool success; bytes returnData; } function aggregate(Call[] calldata calls) external payable returns (uint256 blockNumber, bytes[] memory returnData); function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData); function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData); function blockAndAggregate(Call[] calldata calls) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData); function getBasefee() external view returns (uint256 basefee); function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash); function getBlockNumber() external view returns (uint256 blockNumber); function getChainId() external view returns (uint256 chainid); function getCurrentBlockCoinbase() external view returns (address coinbase); function getCurrentBlockDifficulty() external view returns (uint256 difficulty); function getCurrentBlockGasLimit() external view returns (uint256 gaslimit); function getCurrentBlockTimestamp() external view returns (uint256 timestamp); function getEthBalance(address addr) external view returns (uint256 balance); function getLastBlockHash() external view returns (bytes32 blockHash); function tryAggregate(bool requireSuccess, Call[] calldata calls) external payable returns (Result[] memory returnData); function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @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 * * Furthermore, `isContract` will also return true if the target contract within * the same transaction is already scheduled for destruction by `SELFDESTRUCT`, * which only has an effect at the end of a transaction. * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 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://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.0/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 functionCallWithValue(target, data, 0, "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"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, 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) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, 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) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or 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 { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) 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(errorMessage); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @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 { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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 // OpenZeppelin Contracts (last updated v4.9.3) (token/ERC20/utils/SafeERC20.sol) pragma solidity ^0.8.0; import "../IERC20.sol"; import "../extensions/IERC20Permit.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; /** * @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value, * non-reverting calls are assumed to be successful. */ function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } /** * @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the * calling contract. If `token` returns no value, non-reverting calls are assumed to be successful. */ 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)); } /** * @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value, * non-reverting calls are assumed to be successful. */ function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 oldAllowance = token.allowance(address(this), spender); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, oldAllowance + value)); } /** * @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value, * non-reverting calls are assumed to be successful. */ 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"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, oldAllowance - value)); } } /** * @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value, * non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval * to be set to zero before setting it to a non-zero value, such as USDT. */ function forceApprove(IERC20 token, address spender, uint256 value) internal { bytes memory approvalCall = abi.encodeWithSelector(token.approve.selector, spender, value); if (!_callOptionalReturnBool(token, approvalCall)) { _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, 0)); _callOptionalReturn(token, approvalCall); } } /** * @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`. * Revert on invalid signature. */ function safePermit( IERC20Permit token, address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) internal { uint256 nonceBefore = token.nonces(owner); token.permit(owner, spender, value, deadline, v, r, s); uint256 nonceAfter = token.nonces(owner); require(nonceAfter == nonceBefore + 1, "SafeERC20: permit did not succeed"); } /** * @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"); require(returndata.length == 0 || abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } /** * @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). * * This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead. */ function _callOptionalReturnBool(IERC20 token, bytes memory data) private returns (bool) { // 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 cannot use {Address-functionCall} here since this should return false // and not revert is the subcall reverts. (bool success, bytes memory returndata) = address(token).call(data); return success && (returndata.length == 0 || abi.decode(returndata, (bool))) && Address.isContract(address(token)); } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.x; library Consts { address public constant MULTICALL_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11; address public constant PERMIT2_ADDRESS = 0x000000000022D473030F116dDEE9F6B43aC78BA3; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.x; import {IERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; interface IWETH is IERC20 { function deposit() external payable; function withdraw(uint256 wad) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. * * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't * need to send a transaction, and thus is not required to hold Ether at all. */ interface IERC20Permit { /** * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens, * given ``owner``'s signed approval. * * IMPORTANT: The same issues {IERC20-approve} has related to transaction * ordering also apply here. * * Emits an {Approval} event. * * Requirements: * * - `spender` cannot be the zero address. * - `deadline` must be a timestamp in the future. * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` * over the EIP712-formatted function arguments. * - the signature must use ``owner``'s current nonce (see {nonces}). * * For more information on the signature format, see the * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP * section]. */ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; /** * @dev Returns the current nonce for `owner`. This value must be * included whenever a signature is generated for {permit}. * * Every successful call to {permit} increases ``owner``'s nonce by one. This * prevents a signature from being used multiple times. */ function nonces(address owner) external view returns (uint256); /** * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. */ // solhint-disable-next-line func-name-mixedcase function DOMAIN_SEPARATOR() external view returns (bytes32); }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", "uniswapx/=lib/UniswapX/", "solmate/=lib/solmate/", "UniswapX/=lib/UniswapX/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-gas-snapshot/=lib/UniswapX/lib/forge-gas-snapshot/src/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", "permit2/=lib/UniswapX/lib/permit2/" ], "optimizer": { "enabled": true, "runs": 1000000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "viaIR": false, "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"},{"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":"addr","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"allow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_weth","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200144b3803806200144b8339810160408190526200003491620001a8565b6200003f3362000077565b6001600160a01b0381166000908152600160208190526040909120805460ff191690911790556200007081620000c7565b50620001da565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620000d16200014a565b6001600160a01b0381166200013c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620001478162000077565b50565b6000546001600160a01b03163314620001a65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000133565b565b600060208284031215620001bb57600080fd5b81516001600160a01b0381168114620001d357600080fd5b9392505050565b61126180620001ea6000396000f3fe60806040526004361061009a5760003560e01c80638da5cb5b11610069578063bd5dec981161004e578063bd5dec981461019f578063d63a8e11146101bf578063f2fde38b146101ff57600080fd5b80638da5cb5b14610154578063baae8abf1461017f57600080fd5b806319ab453c146100a65780633fc8cef3146100c857806364c958081461011f578063715018a61461013f57600080fd5b366100a157005b600080fd5b3480156100b257600080fd5b506100c66100c1366004610e34565b61021f565b005b3480156100d457600080fd5b506002546100f59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561012b57600080fd5b506100c661013a366004610eab565b610291565b34801561014b57600080fd5b506100c661033b565b34801561016057600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166100f5565b34801561018b57600080fd5b506100c661019a366004610f02565b61034f565b3480156101ab57600080fd5b506100c66101ba366004610f02565b610411565b3480156101cb57600080fd5b506101ef6101da366004610e34565b60016020526000908152604090205460ff1681565b6040519015158152602001610116565b34801561020b57600080fd5b506100c661021a366004610e34565b6106a5565b610227610761565b60025473ffffffffffffffffffffffffffffffffffffffff161561024a57600080fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610299610761565b60005b828110156103355781600160008686858181106102bb576102bb610f44565b90506020020160208101906102d09190610e34565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790558061032d81610f73565b91505061029c565b50505050565b610343610761565b61034d60006107e2565b565b610357610761565b61040c73ca11bde05977b3631167028862be2a173976ca1163252dba4260e01b848460405160240161038a929190610fd2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610857565b505050565b610419610761565b6002546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac919061113d565b90508015610539576002546040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90602401600060405180830381600087803b15801561052057600080fd5b505af1158015610534573d6000803e3d6000fd5b505050505b60005b8281101561067c5783838281811061055657610556610f44565b905060200201602081019061056b9190610e34565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb919061113d565b9150811561066a5761066a61062560005473ffffffffffffffffffffffffffffffffffffffff1690565b8386868581811061063857610638610f44565b905060200201602081019061064d9190610e34565b73ffffffffffffffffffffffffffffffffffffffff169190610883565b8061067481610f73565b91505061053c565b5061040c61069f60005473ffffffffffffffffffffffffffffffffffffffff1690565b47610910565b6106ad610761565b73ffffffffffffffffffffffffffffffffffffffff8116610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61075e816107e2565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461034d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161074c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606061087c838360405180606001604052806027815260200161120560279139610a6a565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261040c908490610aef565b8047101561097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161074c565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146109d4576040519150601f19603f3d011682016040523d82523d6000602084013e6109d9565b606091505b505090508061040c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161074c565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610a94919061117a565b600060405180830381855af49150503d8060008114610acf576040519150601f19603f3d011682016040523d82523d6000602084013e610ad4565b606091505b5091509150610ae586838387610bfe565b9695505050505050565b6000610b51826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610ca69092919063ffffffff16565b9050805160001480610b72575080806020019051810190610b729190611196565b61040c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161074c565b60608315610c94578251600003610c8d5773ffffffffffffffffffffffffffffffffffffffff85163b610c8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161074c565b5081610c9e565b610c9e8383610cb5565b949350505050565b6060610c9e8484600085610cf9565b815115610cc55781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074c91906111b3565b606082471015610d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161074c565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610db4919061117a565b60006040518083038185875af1925050503d8060008114610df1576040519150601f19603f3d011682016040523d82523d6000602084013e610df6565b606091505b5091509150610e0787838387610bfe565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461075e57600080fd5b600060208284031215610e4657600080fd5b813561087c81610e12565b60008083601f840112610e6357600080fd5b50813567ffffffffffffffff811115610e7b57600080fd5b6020830191508360208260051b8501011115610e9657600080fd5b9250929050565b801515811461075e57600080fd5b600080600060408486031215610ec057600080fd5b833567ffffffffffffffff811115610ed757600080fd5b610ee386828701610e51565b9094509250506020840135610ef781610e9d565b809150509250925092565b60008060208385031215610f1557600080fd5b823567ffffffffffffffff811115610f2c57600080fd5b610f3885828601610e51565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fcb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60208082528181018390526000906040808401600586901b8501820187855b8881101561112f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18b360301811261105257600080fd5b8a01803561105f81610e12565b73ffffffffffffffffffffffffffffffffffffffff16845280870135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126110ac57600080fd5b01868101903567ffffffffffffffff8111156110c757600080fd5b8036038213156110d657600080fd5b868886015280878601526060818382880137600086830182015295880195601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909401909301925090850190600101610ff1565b509098975050505050505050565b60006020828403121561114f57600080fd5b5051919050565b60005b83811015611171578181015183820152602001611159565b50506000910152565b6000825161118c818460208701611156565b9190910192915050565b6000602082840312156111a857600080fd5b815161087c81610e9d565b60208152600082518060208401526111d2816040850160208701611156565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b60406fab62a461032a6d499a081d611def408cc133f9c2004ada6f8b1e5790764736f6c63430008130033000000000000000000000000fcd300aafe1fdb3166cd1a3b46463144fc2d46ad
Deployed Bytecode
0x60806040526004361061009a5760003560e01c80638da5cb5b11610069578063bd5dec981161004e578063bd5dec981461019f578063d63a8e11146101bf578063f2fde38b146101ff57600080fd5b80638da5cb5b14610154578063baae8abf1461017f57600080fd5b806319ab453c146100a65780633fc8cef3146100c857806364c958081461011f578063715018a61461013f57600080fd5b366100a157005b600080fd5b3480156100b257600080fd5b506100c66100c1366004610e34565b61021f565b005b3480156100d457600080fd5b506002546100f59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561012b57600080fd5b506100c661013a366004610eab565b610291565b34801561014b57600080fd5b506100c661033b565b34801561016057600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166100f5565b34801561018b57600080fd5b506100c661019a366004610f02565b61034f565b3480156101ab57600080fd5b506100c66101ba366004610f02565b610411565b3480156101cb57600080fd5b506101ef6101da366004610e34565b60016020526000908152604090205460ff1681565b6040519015158152602001610116565b34801561020b57600080fd5b506100c661021a366004610e34565b6106a5565b610227610761565b60025473ffffffffffffffffffffffffffffffffffffffff161561024a57600080fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610299610761565b60005b828110156103355781600160008686858181106102bb576102bb610f44565b90506020020160208101906102d09190610e34565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790558061032d81610f73565b91505061029c565b50505050565b610343610761565b61034d60006107e2565b565b610357610761565b61040c73ca11bde05977b3631167028862be2a173976ca1163252dba4260e01b848460405160240161038a929190610fd2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610857565b505050565b610419610761565b6002546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac919061113d565b90508015610539576002546040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90602401600060405180830381600087803b15801561052057600080fd5b505af1158015610534573d6000803e3d6000fd5b505050505b60005b8281101561067c5783838281811061055657610556610f44565b905060200201602081019061056b9190610e34565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb919061113d565b9150811561066a5761066a61062560005473ffffffffffffffffffffffffffffffffffffffff1690565b8386868581811061063857610638610f44565b905060200201602081019061064d9190610e34565b73ffffffffffffffffffffffffffffffffffffffff169190610883565b8061067481610f73565b91505061053c565b5061040c61069f60005473ffffffffffffffffffffffffffffffffffffffff1690565b47610910565b6106ad610761565b73ffffffffffffffffffffffffffffffffffffffff8116610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61075e816107e2565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461034d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161074c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606061087c838360405180606001604052806027815260200161120560279139610a6a565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261040c908490610aef565b8047101561097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161074c565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146109d4576040519150601f19603f3d011682016040523d82523d6000602084013e6109d9565b606091505b505090508061040c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161074c565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610a94919061117a565b600060405180830381855af49150503d8060008114610acf576040519150601f19603f3d011682016040523d82523d6000602084013e610ad4565b606091505b5091509150610ae586838387610bfe565b9695505050505050565b6000610b51826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610ca69092919063ffffffff16565b9050805160001480610b72575080806020019051810190610b729190611196565b61040c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161074c565b60608315610c94578251600003610c8d5773ffffffffffffffffffffffffffffffffffffffff85163b610c8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161074c565b5081610c9e565b610c9e8383610cb5565b949350505050565b6060610c9e8484600085610cf9565b815115610cc55781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074c91906111b3565b606082471015610d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161074c565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610db4919061117a565b60006040518083038185875af1925050503d8060008114610df1576040519150601f19603f3d011682016040523d82523d6000602084013e610df6565b606091505b5091509150610e0787838387610bfe565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461075e57600080fd5b600060208284031215610e4657600080fd5b813561087c81610e12565b60008083601f840112610e6357600080fd5b50813567ffffffffffffffff811115610e7b57600080fd5b6020830191508360208260051b8501011115610e9657600080fd5b9250929050565b801515811461075e57600080fd5b600080600060408486031215610ec057600080fd5b833567ffffffffffffffff811115610ed757600080fd5b610ee386828701610e51565b9094509250506020840135610ef781610e9d565b809150509250925092565b60008060208385031215610f1557600080fd5b823567ffffffffffffffff811115610f2c57600080fd5b610f3885828601610e51565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fcb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60208082528181018390526000906040808401600586901b8501820187855b8881101561112f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18b360301811261105257600080fd5b8a01803561105f81610e12565b73ffffffffffffffffffffffffffffffffffffffff16845280870135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe10181126110ac57600080fd5b01868101903567ffffffffffffffff8111156110c757600080fd5b8036038213156110d657600080fd5b868886015280878601526060818382880137600086830182015295880195601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909401909301925090850190600101610ff1565b509098975050505050505050565b60006020828403121561114f57600080fd5b5051919050565b60005b83811015611171578181015183820152602001611159565b50506000910152565b6000825161118c818460208701611156565b9190910192915050565b6000602082840312156111a857600080fd5b815161087c81610e9d565b60208152600082518060208401526111d2816040850160208701611156565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b60406fab62a461032a6d499a081d611def408cc133f9c2004ada6f8b1e5790764736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fcd300aafe1fdb3166cd1a3b46463144fc2d46ad
-----Decoded View---------------
Arg [0] : _owner (address): 0xFcd300AaFE1fDB3166cd1A3B46463144fc2D46ad
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fcd300aafe1fdb3166cd1a3b46463144fc2d46ad
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 27.35% | $1 | 7,500.2787 | $7,500.28 | |
BSC | 8.82% | $0.999991 | 2,417.4216 | $2,417.4 | |
BSC | 6.77% | $0.007907 | 234,678.6188 | $1,855.56 | |
BSC | 3.16% | $2,004.6 | 0.4328 | $867.56 | |
BSC | 2.88% | $87,158.49 | 0.00907015 | $790.54 | |
BSC | 2.37% | $619.52 | 1.0469 | $648.58 | |
BSC | 1.28% | $0.002755 | 127,492.6697 | $351.22 | |
BSC | 0.70% | $0.618313 | 312.6592 | $193.32 | |
BSC | 0.70% | $0.999022 | 192.1567 | $191.97 | |
BSC | 0.58% | $0.999295 | 158.5216 | $158.41 | |
BSC | 0.53% | $137.9 | 1.0501 | $144.81 | |
BSC | 0.50% | $0.015378 | 8,943.4118 | $137.53 | |
BSC | 0.39% | $1 | 106.5653 | $106.97 | |
BSC | 0.32% | $0.998441 | 87.5355 | $87.4 | |
BSC | 0.28% | $2.3 | 33.877 | $77.92 | |
BSC | 0.28% | $0.000002 | 42,555,019.9491 | $77.88 | |
BSC | 0.28% | $3.13 | 24.7691 | $77.53 | |
BSC | 0.26% | $0.999796 | 70.0869 | $70.07 | |
BSC | 0.23% | $3.05 | 20.7923 | $63.33 | |
BSC | 0.22% | $0.037298 | 1,621.968 | $60.5 | |
BSC | 0.22% | $15.17 | 3.8906 | $59.01 | |
BSC | 0.21% | $0.000002 | 37,310,653.971 | $58.2 | |
BSC | 0.21% | $0.031318 | 1,797.2785 | $56.29 | |
BSC | 0.20% | $0.074346 | 755.4428 | $56.16 | |
BSC | 0.20% | $0.00065 | 84,248.8285 | $54.77 | |
BSC | 0.19% | $6.17 | 8.5518 | $52.79 | |
BSC | 0.15% | $677.67 | 0.0606 | $41.08 | |
BSC | 0.15% | $86,748 | 0.00046864 | $40.65 | |
BSC | 0.14% | $11.05 | 3.5173 | $38.87 | |
BSC | 0.14% | $676.6 | 0.0574 | $38.82 | |
BSC | 0.12% | $0.096085 | 354.6038 | $34.07 | |
BSC | 0.12% | $0.728897 | 46.3913 | $33.81 | |
BSC | 0.11% | $0.195655 | 160.1448 | $31.33 | |
BSC | 0.10% | $0.010115 | 2,831.2524 | $28.64 | |
BSC | 0.09% | $619.3 | 0.0412 | $25.5 | |
BSC | 0.08% | $1,995.14 | 0.0108 | $21.58 | |
BSC | 0.07% | $0.030031 | 668.1561 | $20.07 | |
BSC | 0.07% | $0.000912 | 21,896.154 | $19.97 | |
BSC | 0.07% | <$0.000001 | 1,146,248,006.1816 | $18 | |
BSC | 0.06% | $2,381.96 | 0.00732917 | $17.46 | |
BSC | 0.06% | $6.76 | 2.5733 | $17.4 | |
BSC | 0.06% | $0.010851 | 1,481.5038 | $16.08 | |
BSC | 0.04% | $1.55 | 7.6774 | $11.9 | |
BSC | 0.04% | $1.3 | 9.0569 | $11.8 | |
BSC | 0.04% | $625.27 | 0.0156 | $9.73 | |
BSC | 0.03% | $0.002966 | 3,192.9735 | $9.47 | |
BSC | 0.03% | $0.235017 | 38.095 | $8.95 | |
BSC | 0.03% | <$0.000001 | 617,545,393.105 | $8.11 | |
BSC | 0.03% | $0.000008 | 917,609.2871 | $7.41 | |
BSC | 0.03% | $0.00007 | 102,119.279 | $7.13 | |
BSC | 0.03% | $85,936 | 0.00007979 | $6.86 | |
BSC | 0.02% | $2.37 | 2.8655 | $6.79 | |
BSC | 0.02% | $0.999352 | 6.6842 | $6.68 | |
BSC | 0.02% | $0.726374 | 7.1048 | $5.16 | |
BSC | 0.02% | $336.36 | 0.0153 | $5.14 | |
BSC | 0.02% | $0.920124 | 5.4301 | $5 | |
BSC | 0.02% | $2.25 | 2.1774 | $4.9 | |
BSC | 0.02% | $1 | 4.668 | $4.67 | |
BSC | 0.02% | $2.04 | 2.2027 | $4.49 | |
BSC | 0.01% | $3 | 1.3581 | $4.08 | |
BSC | 0.01% | $0.000283 | 13,965.7079 | $3.95 | |
BSC | 0.01% | $2.87 | 1.3378 | $3.84 | |
BSC | 0.01% | $2,235.21 | 0.00153104 | $3.42 | |
BSC | 0.01% | $10.58 | 0.3164 | $3.35 | |
BSC | 0.01% | $0.230427 | 14.0104 | $3.23 | |
BSC | 0.01% | $0.037272 | 82.5379 | $3.08 | |
BSC | <0.01% | <$0.000001 | 1,640,463,815.2119 | $2.32 | |
BSC | <0.01% | $0.019783 | 106.7956 | $2.11 | |
BSC | <0.01% | $0.086382 | 22.4252 | $1.94 | |
BSC | <0.01% | $4.7 | 0.4114 | $1.93 | |
BSC | <0.01% | $1.26 | 1.4621 | $1.85 | |
BSC | <0.01% | $0.003943 | 463.2408 | $1.83 | |
BSC | <0.01% | $0.000009 | 206,738.7004 | $1.76 | |
BSC | <0.01% | $0.026294 | 63.2482 | $1.66 | |
BSC | <0.01% | $0.000014 | 114,071.3715 | $1.63 | |
BSC | <0.01% | $649.05 | 0.00235278 | $1.53 | |
BSC | <0.01% | $0.012546 | 112.3417 | $1.41 | |
BSC | <0.01% | $0.076784 | 16.6205 | $1.28 | |
BSC | <0.01% | $1.08 | 1.0679 | $1.16 | |
BSC | <0.01% | $0.006782 | 168.5768 | $1.14 | |
BSC | <0.01% | $0.275874 | 3.9856 | $1.1 | |
BSC | <0.01% | $0.132334 | 7.0693 | $0.9355 | |
BSC | <0.01% | $92.67 | 0.00946163 | $0.8768 | |
BSC | <0.01% | $0.020746 | 40.4121 | $0.8383 | |
BSC | <0.01% | $0.281579 | 2.7537 | $0.7753 | |
BSC | <0.01% | $0.102314 | 6.2928 | $0.6438 | |
BSC | <0.01% | $3.64 | 0.175 | $0.637 | |
BSC | <0.01% | $0.004815 | 119.7966 | $0.5768 | |
BSC | <0.01% | $0.025904 | 21.3706 | $0.5535 | |
BSC | <0.01% | $0.624773 | 0.8703 | $0.5437 | |
BSC | <0.01% | $86,747 | 0.00000611 | $0.53 | |
BSC | <0.01% | $0.186789 | 2.6868 | $0.5018 | |
BSC | <0.01% | $0.148576 | 3.3696 | $0.5006 | |
BSC | <0.01% | $0.056137 | 8.7545 | $0.4914 | |
BSC | <0.01% | $0.060348 | 7.034 | $0.4244 | |
BSC | <0.01% | $0.030212 | 12.9149 | $0.3901 | |
BSC | <0.01% | $0.021082 | 16.2851 | $0.3433 | |
BSC | <0.01% | $0.037019 | 6.0404 | $0.2236 | |
BSC | <0.01% | $0.003341 | 41.9327 | $0.14 | |
LINEA | 5.69% | $0.999875 | 1,561.7788 | $1,561.58 | |
LINEA | 2.28% | $1 | 625.608 | $625.61 | |
LINEA | 1.38% | $0.019844 | 19,039.5289 | $377.82 | |
LINEA | 1.16% | $0.002219 | 143,691.694 | $318.87 | |
LINEA | 0.97% | $0.031665 | 8,392.5635 | $265.75 | |
LINEA | 0.78% | $86,747 | 0.00246595 | $213.91 | |
LINEA | 0.71% | $2,010.35 | 0.0975 | $195.93 | |
LINEA | 0.40% | $2,081.39 | 0.053 | $110.21 | |
LINEA | 0.33% | $0.000257 | 348,274.8 | $89.49 | |
LINEA | 0.20% | $2,080.83 | 0.0266 | $55.26 | |
LINEA | 0.20% | $0.999555 | 54.6777 | $54.65 | |
LINEA | 0.16% | $2,397.29 | 0.0186 | $44.6 | |
LINEA | 0.14% | $0.000121 | 318,882.7346 | $38.43 | |
LINEA | 0.12% | $0.00124 | 25,861.4357 | $32.07 | |
LINEA | 0.06% | $0.999709 | 17.4841 | $17.48 | |
LINEA | 0.06% | $0.000185 | 90,412.8572 | $16.71 | |
LINEA | 0.06% | $2,172.13 | 0.00766596 | $16.65 | |
LINEA | 0.04% | $1.21 | 9.3909 | $11.36 | |
LINEA | 0.04% | $0.000229 | 43,240.5315 | $9.91 | |
LINEA | 0.03% | $0.999796 | 7.8733 | $7.87 | |
LINEA | 0.03% | $0.996067 | 7.5083 | $7.48 | |
LINEA | 0.03% | $3,980.29 | 0.00187446 | $7.46 | |
LINEA | 0.02% | $1 | 5.3798 | $5.38 | |
LINEA | 0.02% | $0.000009 | 577,924.9716 | $4.95 | |
LINEA | 0.02% | $0.000536 | 8,444.8625 | $4.53 | |
LINEA | 0.01% | $0.007773 | 357.2695 | $2.78 | |
LINEA | <0.01% | $1 | 2.7015 | $2.7 | |
LINEA | <0.01% | $0.000001 | 3,630,113.613 | $2.34 | |
LINEA | <0.01% | $0.235081 | 1.6348 | $0.3843 | |
POL | 2.92% | $1 | 799.4862 | $799.49 | |
POL | 2.26% | $0.999875 | 619.9955 | $619.92 | |
POL | 0.72% | $0.999875 | 198.503 | $198.48 | |
POL | 0.70% | $2,004.6 | 0.0951 | $190.73 | |
POL | 0.56% | $0.12659 | 1,212.3584 | $153.47 | |
POL | 0.43% | $86,747 | 0.00136703 | $118.59 | |
POL | 0.39% | $0.001276 | 84,432.9632 | $107.71 | |
POL | 0.34% | $0.999555 | 92.708 | $92.67 | |
POL | 0.19% | $0.250646 | 206.3374 | $51.72 | |
POL | 0.16% | $0.027797 | 1,544.1326 | $42.92 | |
POL | 0.13% | $0.235857 | 151.9591 | $35.84 | |
POL | 0.13% | $16.6 | 2.1024 | $34.9 | |
POL | 0.10% | $15.11 | 1.8972 | $28.67 | |
POL | 0.10% | $0.005979 | 4,376.03 | $26.16 | |
POL | 0.05% | $0.211317 | 62.0765 | $13.12 | |
POL | 0.05% | $0.497694 | 26.0029 | $12.94 | |
POL | 0.04% | $0.234982 | 44.073 | $10.36 | |
POL | 0.04% | $0.310052 | 31.7986 | $9.86 | |
POL | 0.03% | $0.257355 | 35.9719 | $9.26 | |
POL | 0.03% | $0.000373 | 24,180.5137 | $9.02 | |
POL | 0.03% | $0.000013 | 675,471.7717 | $8.9 | |
POL | 0.03% | $3.82 | 2.2063 | $8.44 | |
POL | 0.03% | $2,397.29 | 0.00351399 | $8.42 | |
POL | 0.03% | $0.012499 | 666.3356 | $8.33 | |
POL | 0.03% | $177.55 | 0.0425 | $7.54 | |
POL | 0.03% | $0.00223 | 3,159.8526 | $7.05 | |
POL | 0.03% | $0.536209 | 13.1431 | $7.05 | |
POL | 0.03% | $0.000441 | 15,863.1347 | $7 | |
POL | 0.02% | $0.002963 | 1,947.4703 | $5.77 | |
POL | 0.02% | $8.26 | 0.693 | $5.72 | |
POL | 0.02% | $1.58 | 3.374 | $5.33 | |
POL | 0.02% | <$0.000001 | 883,703,258.4049 | $4.77 | |
POL | 0.02% | $0.093947 | 50.487 | $4.74 | |
POL | 0.02% | $0.028547 | 155.4077 | $4.44 | |
POL | 0.02% | $6.45 | 0.6485 | $4.18 | |
POL | 0.01% | <$0.000001 | 8,175,729.7497 | $3.37 | |
POL | 0.01% | $0.127874 | 23.2422 | $2.97 | |
POL | 0.01% | $0.999796 | 2.8793 | $2.88 | |
POL | 0.01% | $0.000171 | 16,589.9528 | $2.84 | |
POL | <0.01% | $0.000984 | 2,739.5514 | $2.7 | |
POL | <0.01% | $0.013167 | 201.0985 | $2.65 | |
POL | <0.01% | $0.000233 | 10,960.2879 | $2.56 | |
POL | <0.01% | $0.038605 | 60.5095 | $2.34 | |
POL | <0.01% | $0.000803 | 2,905.8373 | $2.33 | |
POL | <0.01% | $0.004996 | 425.9066 | $2.13 | |
POL | <0.01% | $0.009739 | 218.2982 | $2.13 | |
POL | <0.01% | $0.000137 | 15,422.3502 | $2.12 | |
POL | <0.01% | $0.008475 | 245.0921 | $2.08 | |
POL | <0.01% | $0.411307 | 4.9882 | $2.05 | |
POL | <0.01% | <$0.000001 | 12,567,167.9084 | $2.04 | |
POL | <0.01% | $0.001041 | 1,910.65 | $1.99 | |
POL | <0.01% | $0.004124 | 457.9936 | $1.89 | |
POL | <0.01% | $0.05397 | 34.8578 | $1.88 | |
POL | <0.01% | $0.00196 | 867.0495 | $1.7 | |
POL | <0.01% | $0.004857 | 344.7029 | $1.67 | |
POL | <0.01% | $0.000189 | 8,835.229 | $1.67 | |
POL | <0.01% | $0.006662 | 219.8532 | $1.46 | |
POL | <0.01% | $0.006416 | 227.0678 | $1.46 | |
POL | <0.01% | $0.019584 | 72.0614 | $1.41 | |
POL | <0.01% | $0.000229 | 5,749.399 | $1.31 | |
POL | <0.01% | $0.00372 | 343.8883 | $1.28 | |
POL | <0.01% | $0.00047 | 2,343.3948 | $1.1 | |
POL | <0.01% | $6.73 | 0.1606 | $1.08 | |
POL | <0.01% | $0.231271 | 4.5129 | $1.04 | |
POL | <0.01% | $0.444668 | 2.3245 | $1.03 | |
POL | <0.01% | $0.000064 | 16,117.4124 | $1.03 | |
POL | <0.01% | $0.001114 | 853.9317 | $0.9514 | |
POL | <0.01% | $0.014075 | 63.9223 | $0.8997 | |
POL | <0.01% | $0.282324 | 2.9758 | $0.8401 | |
POL | <0.01% | $0.000222 | 3,606.4358 | $0.8007 | |
POL | <0.01% | $21.94 | 0.0364 | $0.7992 | |
POL | <0.01% | $0.001329 | 588.574 | $0.7822 | |
POL | <0.01% | $0.01002 | 77.7095 | $0.7786 | |
POL | <0.01% | $0.078915 | 9.7561 | $0.7699 | |
POL | <0.01% | $1.02 | 0.6666 | $0.6812 | |
POL | <0.01% | $0.085717 | 7.6241 | $0.6535 | |
POL | <0.01% | $0.00122 | 534.8868 | $0.6523 | |
POL | <0.01% | $0.001085 | 585.1736 | $0.635 | |
POL | <0.01% | $0.001278 | 485.9211 | $0.6211 | |
POL | <0.01% | $0.142178 | 4.2231 | $0.6004 | |
POL | <0.01% | $0.099835 | 5.562 | $0.5552 | |
POL | <0.01% | $0.001063 | 520.2565 | $0.5528 | |
POL | <0.01% | $0.003488 | 157.7921 | $0.5503 | |
POL | <0.01% | $0.001179 | 466.4608 | $0.55 | |
POL | <0.01% | $0.000118 | 3,935.2823 | $0.4654 | |
POL | <0.01% | $1,368.09 | 0.00032664 | $0.4468 | |
POL | <0.01% | $0.053564 | 8.1877 | $0.4385 | |
POL | <0.01% | $0.002352 | 173.6934 | $0.4085 | |
POL | <0.01% | $0.00055 | 722.1792 | $0.397 | |
POL | <0.01% | $0.000484 | 790.7619 | $0.3829 | |
POL | <0.01% | $0.034498 | 10.7156 | $0.3696 | |
POL | <0.01% | $3.95 | 0.0909 | $0.359 | |
POL | <0.01% | $0.66177 | 0.5169 | $0.342 | |
POL | <0.01% | $0.00011 | 3,069.1852 | $0.3386 | |
POL | <0.01% | $0.000093 | 3,593.0916 | $0.3326 | |
POL | <0.01% | $1.18 | 0.2679 | $0.3161 | |
POL | <0.01% | $0.464031 | 0.6559 | $0.3043 | |
POL | <0.01% | $0.001584 | 190.2371 | $0.3012 | |
POL | <0.01% | $0.0005 | 588.7542 | $0.2944 | |
POL | <0.01% | $1.42 | 0.1861 | $0.2643 | |
POL | <0.01% | $0.000471 | 558.6077 | $0.2629 | |
POL | <0.01% | $0.001066 | 242.1477 | $0.2581 | |
POL | <0.01% | $0.002161 | 118.69 | $0.2564 | |
POL | <0.01% | $1.17 | 0.2118 | $0.2479 | |
POL | <0.01% | $0.081274 | 2.9329 | $0.2383 | |
POL | <0.01% | $0.000314 | 726.8171 | $0.2281 | |
POL | <0.01% | $0.002457 | 90.8737 | $0.2232 | |
POL | <0.01% | $26.24 | 0.00837334 | $0.2197 | |
POL | <0.01% | $0.248554 | 0.8806 | $0.2188 | |
POL | <0.01% | $0.341047 | 0.624 | $0.2128 | |
POL | <0.01% | $0.072775 | 2.9221 | $0.2126 | |
POL | <0.01% | $0.268592 | 0.7064 | $0.1897 | |
POL | <0.01% | $0.002507 | 75.0128 | $0.188 | |
POL | <0.01% | $0.270307 | 0.6366 | $0.172 | |
POL | <0.01% | $2,189.86 | 0.00007793 | $0.1706 | |
POL | <0.01% | $0.043208 | 3.5488 | $0.1533 | |
POL | <0.01% | $0.015855 | 9.4438 | $0.1497 | |
POL | <0.01% | $0.076418 | 1.9151 | $0.1463 | |
POL | <0.01% | $1.04 | 0.1362 | $0.1416 | |
POL | <0.01% | $3,023.52 | 0.00004583 | $0.1385 | |
POL | <0.01% | $0.001623 | 85.1195 | $0.1381 | |
POL | <0.01% | $0.000204 | 667.5959 | $0.1363 | |
POL | <0.01% | $0.007447 | 17.5478 | $0.1306 | |
POL | <0.01% | $0.050268 | 2.5847 | $0.1299 | |
POL | <0.01% | $0.523858 | 0.2402 | $0.1258 | |
POL | <0.01% | $0.000003 | 37,789.6015 | $0.1092 | |
POL | <0.01% | $0.993616 | 0.109 | $0.1083 | |
SONIC | 2.04% | $0.999875 | 558.6274 | $558.56 | |
SONIC | 0.71% | $0.600237 | 326.0266 | $195.69 | |
SONIC | 0.64% | $0.593515 | 296.3396 | $175.88 | |
SONIC | 0.42% | $0.286093 | 403.6846 | $115.49 | |
SONIC | 0.28% | $0.999312 | 75.4908 | $75.44 | |
SONIC | 0.24% | $0.605936 | 106.4349 | $64.49 | |
SONIC | 0.18% | $2,000.78 | 0.0246 | $49.21 | |
SONIC | 0.16% | $6.55 | 6.7819 | $44.42 | |
SONIC | 0.09% | $1 | 24.6076 | $24.61 | |
SONIC | 0.06% | $0.022684 | 761.8376 | $17.28 | |
SONIC | 0.03% | $0.005888 | 1,298.7929 | $7.65 | |
SONIC | 0.03% | $0.151722 | 48.2588 | $7.32 | |
SONIC | 0.02% | $0.99938 | 5.7231 | $5.72 | |
SONIC | 0.02% | $1.12 | 5.042 | $5.65 | |
SONIC | 0.02% | $1,995.14 | 0.00261151 | $5.21 | |
SONIC | 0.02% | $0.021721 | 223.4239 | $4.85 | |
SONIC | 0.02% | $0.053088 | 89.286 | $4.74 | |
SONIC | 0.01% | $86,747 | 0.00003316 | $2.88 | |
SONIC | <0.01% | $0.041732 | 39.0357 | $1.63 | |
SONIC | <0.01% | $1.31 | 1.1042 | $1.45 | |
SONIC | <0.01% | $2.87 | 0.3823 | $1.1 | |
SONIC | <0.01% | $0.014721 | 73.9873 | $1.09 | |
SONIC | <0.01% | $0.000246 | 4,356.9533 | $1.07 | |
SONIC | <0.01% | $0.002925 | 299.8421 | $0.8768 | |
SONIC | <0.01% | $0.038522 | 22.7121 | $0.8749 | |
SONIC | <0.01% | $0.01242 | 63.5827 | $0.7897 | |
SONIC | <0.01% | $0.307276 | 1.7945 | $0.5514 | |
SONIC | <0.01% | $0.002145 | 204.5907 | $0.4388 | |
SONIC | <0.01% | $1.08 | 0.4064 | $0.4369 | |
SONIC | <0.01% | $0.002108 | 196.5742 | $0.4143 | |
SONIC | <0.01% | $82.93 | 0.00399723 | $0.3314 | |
SONIC | <0.01% | $0.888266 | 0.2977 | $0.2643 | |
SONIC | <0.01% | $0.214151 | 1.1252 | $0.2409 | |
SONIC | <0.01% | $0.003154 | 71.3496 | $0.225 | |
ETH | 1.30% | $0.99984 | 356.8618 | $356.8 | |
ETH | 1.16% | $0.005984 | 53,382.43 | $319.45 | |
ETH | 0.94% | $1 | 256.5799 | $256.58 | |
ETH | 0.23% | $2,004.75 | 0.0318 | $63.66 | |
ETH | 0.16% | $0.999694 | 43.1164 | $43.1 | |
ETH | 0.15% | $0.001581 | 26,129.6903 | $41.32 | |
ETH | 0.11% | $0.217859 | 136.4886 | $29.74 | |
ETH | 0.08% | $2,004.75 | 0.0116 | $23.19 | |
ETH | 0.08% | $5.06 | 4.4659 | $22.6 | |
ETH | 0.07% | $0.015844 | 1,211.4624 | $19.19 | |
ETH | 0.07% | $86,887 | 0.00021081 | $18.32 | |
ETH | 0.05% | $0.007111 | 2,082.167 | $14.81 | |
ETH | 0.03% | $0.309792 | 28.7929 | $8.92 | |
ETH | 0.02% | $177.86 | 0.0377 | $6.7 | |
ETH | 0.02% | $3.15 | 1.9065 | $6.01 | |
ETH | <0.01% | $0.000002 | 1,112,641.4406 | $2.2 | |
ETH | <0.01% | $0.060637 | 11.9291 | $0.7233 | |
ETH | <0.01% | $0.003896 | 76.0868 | $0.2964 | |
FTM | 2.76% | <$0.000001 | 9,586,727,510.4285 | $757.35 | |
FTM | 0.52% | $86,803 | 0.00165056 | $143.27 | |
FTM | 0.15% | $1.02 | 41.3608 | $42.27 | |
FTM | 0.12% | $0.999875 | 33.8687 | $33.86 | |
FTM | 0.06% | $0.053179 | 322.0265 | $17.13 | |
FTM | 0.04% | $0.596407 | 20.0258 | $11.94 | |
FTM | 0.04% | $0.367334 | 28.5377 | $10.48 | |
FTM | 0.02% | $0.02175 | 304.5876 | $6.62 | |
FTM | 0.02% | $0.996656 | 5.1547 | $5.14 | |
FTM | 0.02% | $0.210024 | 21.5377 | $4.52 | |
FTM | 0.02% | $2,004.62 | 0.00216236 | $4.33 | |
FTM | 0.01% | $29.42 | 0.1251 | $3.68 | |
FTM | 0.01% | $0.567982 | 5.6144 | $3.19 | |
FTM | 0.01% | $0.003455 | 857.8569 | $2.96 | |
FTM | 0.01% | $1.31 | 2.2555 | $2.95 | |
FTM | <0.01% | $1 | 2.6284 | $2.63 | |
FTM | <0.01% | $5.73 | 0.3454 | $1.98 | |
FTM | <0.01% | $2,004.62 | 0.0006842 | $1.37 | |
FTM | <0.01% | $0.019615 | 59.4087 | $1.17 | |
FTM | <0.01% | $15.17 | 0.0556 | $0.8433 | |
FTM | <0.01% | $0.005881 | 134.9954 | $0.7938 | |
FTM | <0.01% | $5,346.94 | 0.00010773 | $0.576 | |
FTM | <0.01% | $0.003718 | 132.2451 | $0.4916 | |
FTM | <0.01% | $0.356057 | 1.3571 | $0.4832 | |
FTM | <0.01% | $86,803 | 0.00000543 | $0.4713 | |
FTM | <0.01% | $0.999266 | 0.4258 | $0.4255 | |
FTM | <0.01% | $0.003518 | 120.7719 | $0.4248 | |
FTM | <0.01% | $0.797017 | 0.5243 | $0.4178 | |
FTM | <0.01% | $0.199839 | 1.8888 | $0.3774 | |
FTM | <0.01% | $0.22254 | 1.4303 | $0.3183 | |
FTM | <0.01% | $0.999816 | 0.3172 | $0.3171 | |
FTM | <0.01% | $0.000663 | 447.4894 | $0.2964 | |
FTM | <0.01% | $0.000011 | 20,842.1675 | $0.2207 | |
FTM | <0.01% | $197.66 | 0.00105048 | $0.2076 | |
FTM | <0.01% | $0.008808 | 22.272 | $0.1961 | |
FTM | <0.01% | <$0.000001 | 2,964,168.2809 | $0.1802 | |
FTM | <0.01% | $0.000042 | 2,840.2602 | $0.1187 | |
ZKEVM | 0.09% | $1 | 25.3252 | $25.33 | |
ZKEVM | 0.02% | $1 | 6.0846 | $6.08 | |
ZKEVM | 0.02% | $0.235265 | 18.7424 | $4.41 | |
ZKEVM | 0.01% | $0.235218 | 17.157 | $4.04 | |
ZKEVM | <0.01% | $86,876 | 0.00001988 | $1.73 | |
ZKEVM | <0.01% | $0.999526 | 1.051 | $1.05 | |
ZKEVM | <0.01% | $15.12 | 0.0646 | $0.9768 | |
ZKEVM | <0.01% | $0.003175 | 290.163 | $0.9211 | |
ZKEVM | <0.01% | $2,002.99 | 0.00032916 | $0.6593 | |
ZKEVM | <0.01% | $1 | 0.5077 | $0.5077 | |
ZKEVM | <0.01% | $177.85 | 0.00265329 | $0.4718 | |
ARB | 0.01% | $2,002.99 | 0.00166054 | $3.33 | |
ARB | <0.01% | $1 | 1.9758 | $1.98 | |
ARB | <0.01% | $0.999854 | 1.8432 | $1.84 | |
ARB | <0.01% | $86,876 | 0.0000076 | $0.6602 | |
BASE | <0.01% | $0.99984 | 2.1372 | $2.14 | |
BASE | <0.01% | $0.006965 | 100 | $0.6964 |
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.