This nametag was submitted by Kleros Curate.
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| 0x7ba6e99fd06d1d8e0da515d4c175fa97adfcaf387182a76f2a5ffa9fde536ee7 | Deposit ETH | (pending) | 6 days ago | IN | 0.0009 ETH | (Pending) | |||
| Deposit ERC20To | 24601460 | 3 hrs ago | IN | 0 ETH | 0.00002773 | ||||
| Deposit ETH | 24600730 | 6 hrs ago | IN | 5.6 ETH | 0.00003784 | ||||
| Deposit ERC20 | 24599728 | 9 hrs ago | IN | 0 ETH | 0.00016641 | ||||
| Deposit ETH | 24598589 | 13 hrs ago | IN | 900 ETH | 0.00073147 | ||||
| Deposit ETH | 24596684 | 19 hrs ago | IN | 11 ETH | 0.00002738 | ||||
| Deposit ETH To | 24595151 | 25 hrs ago | IN | 0.004172 ETH | 0.00003555 | ||||
| Deposit ETH | 24595012 | 25 hrs ago | IN | 0.09636354 ETH | 0.00002435 | ||||
| Deposit ERC20 | 24593510 | 30 hrs ago | IN | 0 ETH | 0.00005733 | ||||
| Deposit MNT To | 24592837 | 32 hrs ago | IN | 0 ETH | 0.00011406 | ||||
| Deposit ETH To | 24592788 | 33 hrs ago | IN | 0.002 ETH | 0.00007425 | ||||
| Deposit ETH | 24592473 | 34 hrs ago | IN | 2.96 ETH | 0.00020506 | ||||
| Deposit MNT To | 24592385 | 34 hrs ago | IN | 0 ETH | 0.00045437 | ||||
| Deposit MNT | 24592128 | 35 hrs ago | IN | 0 ETH | 0.00042786 | ||||
| Deposit ERC20 | 24590589 | 40 hrs ago | IN | 0 ETH | 0.000293 | ||||
| Deposit ERC20 | 24590220 | 41 hrs ago | IN | 0 ETH | 0.00004464 | ||||
| Deposit ETH | 24590135 | 41 hrs ago | IN | 9.95 ETH | 0.00004689 | ||||
| Deposit ERC20 | 24588926 | 45 hrs ago | IN | 0 ETH | 0.000166 | ||||
| Deposit ERC20 | 24587869 | 2 days ago | IN | 0 ETH | 0.0000528 | ||||
| Deposit ERC20To | 24587868 | 2 days ago | IN | 0 ETH | 0.00007481 | ||||
| Deposit ERC20 | 24587822 | 2 days ago | IN | 0 ETH | 0.00005946 | ||||
| Deposit ERC20 | 24587805 | 2 days ago | IN | 0 ETH | 0.0000576 | ||||
| Deposit MNT | 24586998 | 2 days ago | IN | 0 ETH | 0.00006129 | ||||
| Deposit ERC20 | 24586547 | 2 days ago | IN | 0 ETH | 0.00007007 | ||||
| Deposit ETH | 24586250 | 2 days ago | IN | 11 ETH | 0.00023791 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Send Message | 24600730 | 6 hrs ago | 5.6 ETH | ||||
| Transfer | 24598907 | 12 hrs ago | 0.007652 ETH | ||||
| Finalize Bridge ... | 24598907 | 12 hrs ago | 0.007652 ETH | ||||
| Send Message | 24598589 | 13 hrs ago | 900 ETH | ||||
| Send Message | 24596684 | 19 hrs ago | 11 ETH | ||||
| Send Message | 24595151 | 25 hrs ago | 0.004172 ETH | ||||
| Send Message | 24595012 | 25 hrs ago | 0.09636354 ETH | ||||
| Send Message | 24592788 | 33 hrs ago | 0.002 ETH | ||||
| Send Message | 24592473 | 34 hrs ago | 2.96 ETH | ||||
| Transfer | 24592078 | 35 hrs ago | 1,315 ETH | ||||
| Finalize Bridge ... | 24592078 | 35 hrs ago | 1,315 ETH | ||||
| Send Message | 24590135 | 41 hrs ago | 9.95 ETH | ||||
| Send Message | 24586250 | 2 days ago | 11 ETH | ||||
| Send Message | 24583148 | 2 days ago | 7.5 ETH | ||||
| Send Message | 24583128 | 2 days ago | 11.5 ETH | ||||
| Send Message | 24582673 | 2 days ago | 0.001 ETH | ||||
| Transfer | 24582537 | 2 days ago | 142.000535 ETH | ||||
| Finalize Bridge ... | 24582537 | 2 days ago | 142.000535 ETH | ||||
| Send Message | 24582071 | 2 days ago | 80 ETH | ||||
| Send Message | 24578064 | 3 days ago | 10 ETH | ||||
| Send Message | 24577136 | 3 days ago | 1,765.2 ETH | ||||
| Send Message | 24576580 | 3 days ago | 16.6 ETH | ||||
| Transfer | 24576504 | 3 days ago | 91.920581 ETH | ||||
| Finalize Bridge ... | 24576504 | 3 days ago | 91.920581 ETH | ||||
| Send Message | 24575967 | 3 days ago | 1,327.4 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
L1ChugSplashProxy
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
import { iL1ChugSplashDeployer } from "./interfaces/iL1ChugSplashDeployer.sol";
/**
* @title L1ChugSplashProxy
* @dev Basic ChugSplash proxy contract for L1. Very close to being a normal proxy but has added
* functions `setCode` and `setStorage` for changing the code or storage of the contract. Nifty!
*
* Note for future developers: do NOT make anything in this contract 'public' unless you know what
* you're doing. Anything public can potentially have a function signature that conflicts with a
* signature attached to the implementation contract. Public functions SHOULD always have the
* 'proxyCallIfNotOwner' modifier unless there's some *really* good reason not to have that
* modifier. And there almost certainly is not a good reason to not have that modifier. Beware!
*/
contract L1ChugSplashProxy {
/*************
* Constants *
*************/
// "Magic" prefix. When prepended to some arbitrary bytecode and used to create a contract, the
// appended bytecode will be deployed as given.
bytes13 internal constant DEPLOY_CODE_PREFIX = 0x600D380380600D6000396000f3;
// bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
bytes32 internal constant IMPLEMENTATION_KEY =
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
// bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1)
bytes32 internal constant OWNER_KEY =
0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
/***************
* Constructor *
***************/
/**
* @param _owner Address of the initial contract owner.
*/
constructor(address _owner) {
_setOwner(_owner);
}
/**********************
* Function Modifiers *
**********************/
/**
* Blocks a function from being called when the parent signals that the system should be paused
* via an isUpgrading function.
*/
modifier onlyWhenNotPaused() {
address owner = _getOwner();
// We do a low-level call because there's no guarantee that the owner actually *is* an
// L1ChugSplashDeployer contract and Solidity will throw errors if we do a normal call and
// it turns out that it isn't the right type of contract.
(bool success, bytes memory returndata) = owner.staticcall(
abi.encodeWithSelector(iL1ChugSplashDeployer.isUpgrading.selector)
);
// If the call was unsuccessful then we assume that there's no "isUpgrading" method and we
// can just continue as normal. We also expect that the return value is exactly 32 bytes
// long. If this isn't the case then we can safely ignore the result.
if (success && returndata.length == 32) {
// Although the expected value is a *boolean*, it's safer to decode as a uint256 in the
// case that the isUpgrading function returned something other than 0 or 1. But we only
// really care about the case where this value is 0 (= false).
uint256 ret = abi.decode(returndata, (uint256));
require(ret == 0, "L1ChugSplashProxy: system is currently being upgraded");
}
_;
}
/**
* Makes a proxy call instead of triggering the given function when the caller is either the
* owner or the zero address. Caller can only ever be the zero address if this function is
* being called off-chain via eth_call, which is totally fine and can be convenient for
* client-side tooling. Avoids situations where the proxy and implementation share a sighash
* and the proxy function ends up being called instead of the implementation one.
*
* Note: msg.sender == address(0) can ONLY be triggered off-chain via eth_call. If there's a
* way for someone to send a transaction with msg.sender == address(0) in any real context then
* we have much bigger problems. Primary reason to include this additional allowed sender is
* because the owner address can be changed dynamically and we do not want clients to have to
* keep track of the current owner in order to make an eth_call that doesn't trigger the
* proxied contract.
*/
// slither-disable-next-line incorrect-modifier
modifier proxyCallIfNotOwner() {
if (msg.sender == _getOwner() || msg.sender == address(0)) {
_;
} else {
// This WILL halt the call frame on completion.
_doProxyCall();
}
}
/*********************
* Fallback Function *
*********************/
// slither-disable-next-line locked-ether
fallback() external payable {
// Proxy call by default.
_doProxyCall();
}
/********************
* Public Functions *
********************/
/**
* Sets the code that should be running behind this proxy. Note that this scheme is a bit
* different from the standard proxy scheme where one would typically deploy the code
* separately and then set the implementation address. We're doing it this way because it gives
* us a lot more freedom on the client side. Can only be triggered by the contract owner.
* @param _code New contract code to run inside this contract.
*/
// slither-disable-next-line external-function
function setCode(bytes memory _code) public proxyCallIfNotOwner {
// Get the code hash of the current implementation.
address implementation = _getImplementation();
// If the code hash matches the new implementation then we return early.
if (keccak256(_code) == _getAccountCodeHash(implementation)) {
return;
}
// Create the deploycode by appending the magic prefix.
bytes memory deploycode = abi.encodePacked(DEPLOY_CODE_PREFIX, _code);
// Deploy the code and set the new implementation address.
address newImplementation;
assembly {
newImplementation := create(0x0, add(deploycode, 0x20), mload(deploycode))
}
// Check that the code was actually deployed correctly. I'm not sure if you can ever
// actually fail this check. Should only happen if the contract creation from above runs
// out of gas but this parent execution thread does NOT run out of gas. Seems like we
// should be doing this check anyway though.
require(
_getAccountCodeHash(newImplementation) == keccak256(_code),
"L1ChugSplashProxy: code was not correctly deployed."
);
_setImplementation(newImplementation);
}
/**
* Modifies some storage slot within the proxy contract. Gives us a lot of power to perform
* upgrades in a more transparent way. Only callable by the owner.
* @param _key Storage key to modify.
* @param _value New value for the storage key.
*/
// slither-disable-next-line external-function
function setStorage(bytes32 _key, bytes32 _value) public proxyCallIfNotOwner {
assembly {
sstore(_key, _value)
}
}
/**
* Changes the owner of the proxy contract. Only callable by the owner.
* @param _owner New owner of the proxy contract.
*/
// slither-disable-next-line external-function
function setOwner(address _owner) public proxyCallIfNotOwner {
_setOwner(_owner);
}
/**
* Queries the owner of the proxy contract. Can only be called by the owner OR by making an
* eth_call and setting the "from" address to address(0).
* @return Owner address.
*/
// slither-disable-next-line external-function
function getOwner() public proxyCallIfNotOwner returns (address) {
return _getOwner();
}
/**
* Queries the implementation address. Can only be called by the owner OR by making an
* eth_call and setting the "from" address to address(0).
* @return Implementation address.
*/
// slither-disable-next-line external-function
function getImplementation() public proxyCallIfNotOwner returns (address) {
return _getImplementation();
}
/**********************
* Internal Functions *
**********************/
/**
* Sets the implementation address.
* @param _implementation New implementation address.
*/
function _setImplementation(address _implementation) internal {
assembly {
sstore(IMPLEMENTATION_KEY, _implementation)
}
}
/**
* Queries the implementation address.
* @return Implementation address.
*/
function _getImplementation() internal view returns (address) {
address implementation;
assembly {
implementation := sload(IMPLEMENTATION_KEY)
}
return implementation;
}
/**
* Changes the owner of the proxy contract.
* @param _owner New owner of the proxy contract.
*/
function _setOwner(address _owner) internal {
assembly {
sstore(OWNER_KEY, _owner)
}
}
/**
* Queries the owner of the proxy contract.
* @return Owner address.
*/
function _getOwner() internal view returns (address) {
address owner;
assembly {
owner := sload(OWNER_KEY)
}
return owner;
}
/**
* Gets the code hash for a given account.
* @param _account Address of the account to get a code hash for.
* @return Code hash for the account.
*/
function _getAccountCodeHash(address _account) internal view returns (bytes32) {
bytes32 codeHash;
assembly {
codeHash := extcodehash(_account)
}
return codeHash;
}
/**
* Performs the proxy call via a delegatecall.
*/
function _doProxyCall() internal onlyWhenNotPaused {
address implementation = _getImplementation();
require(implementation != address(0), "L1ChugSplashProxy: implementation is not set yet");
assembly {
// Copy calldata into memory at 0x0....calldatasize.
calldatacopy(0x0, 0x0, calldatasize())
// Perform the delegatecall, make sure to pass all available gas.
let success := delegatecall(gas(), implementation, 0x0, calldatasize(), 0x0, 0x0)
// Copy returndata into memory at 0x0....returndatasize. Note that this *will*
// overwrite the calldata that we just copied into memory but that doesn't really
// matter because we'll be returning in a second anyway.
returndatacopy(0x0, 0x0, returndatasize())
// Success == 0 means a revert. We'll revert too and pass the data up.
if iszero(success) {
revert(0x0, returndatasize())
}
// Otherwise we'll just return and pass the data up.
return(0x0, returndatasize())
}
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
/**
* @title iL1ChugSplashDeployer
*/
interface iL1ChugSplashDeployer {
function isUpgrading() external view returns (bool);
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_code","type":"bytes"}],"name":"setCode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"setStorage","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5060405161081138038061081183398101604081905261002f9161005d565b610057817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b5061008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b6107758061009c6000396000f3fe60806040526004361061004a5760003560e01c806313af4035146100545780636c5d4ad014610074578063893d20e8146100945780639b0b0fda146100c5578063aaf10f42146100e5575b6100526100fa565b005b34801561006057600080fd5b5061005261006f366004610556565b6102e8565b34801561008057600080fd5b5061005261008f36600461059c565b61033b565b3480156100a057600080fd5b506100a961046d565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d157600080fd5b506100526100e036600461064d565b6104c6565b3480156100f157600080fd5b506100a9610508565b60006101126000805160206107008339815191525490565b60408051600481526024810182526020810180516001600160e01b0316635bca393160e11b179052905191925060009182916001600160a01b0385169161015991906106aa565b600060405180830381855afa9150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50915091508180156101ac575080516020145b1561023c576000818060200190518101906101c791906106b6565b9050801561023a5760405162461bcd60e51b815260206004820152603560248201527f4c314368756753706c61736850726f78793a2073797374656d206973206375726044820152741c995b9d1b1e4818995a5b99c81d5c19dc98591959605a1b60648201526084015b60405180910390fd5b505b60006102546000805160206107208339815191525490565b90506001600160a01b0381166102c55760405162461bcd60e51b815260206004820152603060248201527f4c314368756753706c61736850726f78793a20696d706c656d656e746174696f60448201526f1b881a5cc81b9bdd081cd95d081e595d60821b6064820152608401610231565b3660008037600080366000845af43d6000803e806102e2573d6000fd5b503d6000f35b600080516020610700833981519152546001600160a01b0316336001600160a01b03161480610315575033155b15610333576103308160008051602061070083398151915255565b50565b6103306100fa565b600080516020610700833981519152546001600160a01b0316336001600160a01b03161480610368575033155b156103335760006103856000805160206107208339815191525490565b9050803f82516020840120141561039a575050565b6040516000906103c0906c600d380380600d6000396000f360981b9085906020016106cf565b604051602081830303815290604052905060008151602083016000f084516020860120909150813f146104515760405162461bcd60e51b815260206004820152603360248201527f4c314368756753706c61736850726f78793a20636f646520776173206e6f742060448201527231b7b93932b1ba363c903232b83637bcb2b21760691b6064820152608401610231565b6104678160008051602061072083398151915255565b50505050565b60006104856000805160206107008339815191525490565b6001600160a01b0316336001600160a01b031614806104a2575033155b156104bb57506000805160206107008339815191525490565b6104c36100fa565b90565b600080516020610700833981519152546001600160a01b0316336001600160a01b031614806104f3575033155b156104fc579055565b6105046100fa565b5050565b60006105206000805160206107008339815191525490565b6001600160a01b0316336001600160a01b0316148061053d575033155b156104bb57506000805160206107208339815191525490565b60006020828403121561056857600080fd5b81356001600160a01b038116811461057f57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105ae57600080fd5b813567ffffffffffffffff808211156105c657600080fd5b818401915084601f8301126105da57600080fd5b8135818111156105ec576105ec610586565b604051601f8201601f19908116603f0116810190838211818310171561061457610614610586565b8160405282815287602084870101111561062d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561066057600080fd5b50508035926020909101359150565b6000815160005b818110156106905760208185018101518683015201610676565b8181111561069f576000828601525b509290920192915050565b600061057f828461066f565b6000602082840312156106c857600080fd5b5051919050565b72ffffffffffffffffffffffffffffffffffffff198316815260006106f7600d83018461066f565b94935050505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a2b9ac5ee1a01cc226ef31c36d5125ab2eb4383b5896a35053c0d882360df2ea64736f6c634300080900330000000000000000000000002a2954f3989a83cc43dd58b0f038d5f276f21333
Deployed Bytecode
0x60806040526004361061004a5760003560e01c806313af4035146100545780636c5d4ad014610074578063893d20e8146100945780639b0b0fda146100c5578063aaf10f42146100e5575b6100526100fa565b005b34801561006057600080fd5b5061005261006f366004610556565b6102e8565b34801561008057600080fd5b5061005261008f36600461059c565b61033b565b3480156100a057600080fd5b506100a961046d565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d157600080fd5b506100526100e036600461064d565b6104c6565b3480156100f157600080fd5b506100a9610508565b60006101126000805160206107008339815191525490565b60408051600481526024810182526020810180516001600160e01b0316635bca393160e11b179052905191925060009182916001600160a01b0385169161015991906106aa565b600060405180830381855afa9150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50915091508180156101ac575080516020145b1561023c576000818060200190518101906101c791906106b6565b9050801561023a5760405162461bcd60e51b815260206004820152603560248201527f4c314368756753706c61736850726f78793a2073797374656d206973206375726044820152741c995b9d1b1e4818995a5b99c81d5c19dc98591959605a1b60648201526084015b60405180910390fd5b505b60006102546000805160206107208339815191525490565b90506001600160a01b0381166102c55760405162461bcd60e51b815260206004820152603060248201527f4c314368756753706c61736850726f78793a20696d706c656d656e746174696f60448201526f1b881a5cc81b9bdd081cd95d081e595d60821b6064820152608401610231565b3660008037600080366000845af43d6000803e806102e2573d6000fd5b503d6000f35b600080516020610700833981519152546001600160a01b0316336001600160a01b03161480610315575033155b15610333576103308160008051602061070083398151915255565b50565b6103306100fa565b600080516020610700833981519152546001600160a01b0316336001600160a01b03161480610368575033155b156103335760006103856000805160206107208339815191525490565b9050803f82516020840120141561039a575050565b6040516000906103c0906c600d380380600d6000396000f360981b9085906020016106cf565b604051602081830303815290604052905060008151602083016000f084516020860120909150813f146104515760405162461bcd60e51b815260206004820152603360248201527f4c314368756753706c61736850726f78793a20636f646520776173206e6f742060448201527231b7b93932b1ba363c903232b83637bcb2b21760691b6064820152608401610231565b6104678160008051602061072083398151915255565b50505050565b60006104856000805160206107008339815191525490565b6001600160a01b0316336001600160a01b031614806104a2575033155b156104bb57506000805160206107008339815191525490565b6104c36100fa565b90565b600080516020610700833981519152546001600160a01b0316336001600160a01b031614806104f3575033155b156104fc579055565b6105046100fa565b5050565b60006105206000805160206107008339815191525490565b6001600160a01b0316336001600160a01b0316148061053d575033155b156104bb57506000805160206107208339815191525490565b60006020828403121561056857600080fd5b81356001600160a01b038116811461057f57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105ae57600080fd5b813567ffffffffffffffff808211156105c657600080fd5b818401915084601f8301126105da57600080fd5b8135818111156105ec576105ec610586565b604051601f8201601f19908116603f0116810190838211818310171561061457610614610586565b8160405282815287602084870101111561062d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561066057600080fd5b50508035926020909101359150565b6000815160005b818110156106905760208185018101518683015201610676565b8181111561069f576000828601525b509290920192915050565b600061057f828461066f565b6000602082840312156106c857600080fd5b5051919050565b72ffffffffffffffffffffffffffffffffffffff198316815260006106f7600d83018461066f565b94935050505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a2b9ac5ee1a01cc226ef31c36d5125ab2eb4383b5896a35053c0d882360df2ea64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002a2954f3989a83cc43dd58b0f038d5f276f21333
-----Decoded View---------------
Arg [0] : _owner (address): 0x2A2954F3989a83Cc43DD58B0f038D5F276f21333
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002a2954f3989a83cc43dd58b0f038d5f276f21333
Loading...
Loading
Loading...
Loading
Net Worth in USD
$238,080,384.59
Net Worth in ETH
120,480.549107
Token Allocations
PUFF
28.19%
METH
27.07%
USDC
19.89%
Others
24.85%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 28.19% | $0.075499 | 888,876,990.2499 | $67,109,400.72 | |
| ETH | 27.07% | $2,151.63 | 29,952.9252 | $64,447,725.75 | |
| ETH | 19.89% | $0.999962 | 47,356,919.297 | $47,355,119.73 | |
| ETH | 12.54% | $0.999938 | 29,866,990.8943 | $29,865,139.14 | |
| ETH | 10.79% | $5,140.6 | 4,995.2387 | $25,678,523.84 | |
| ETH | 1.46% | $68,088.12 | 51.2003 | $3,486,131.5 | |
| ETH | 0.02% | $1.23 | 39,076.7221 | $48,064.37 | |
| ETH | 0.02% | $17.43 | 2,078.3827 | $36,226.21 | |
| ETH | 0.01% | $0.287489 | 90,128.7729 | $25,911.03 | |
| ETH | <0.01% | $1.02 | 11,915.9517 | $12,102.54 | |
| ETH | <0.01% | $0.043351 | 49,940.5786 | $2,164.96 | |
| ETH | <0.01% | $0.096052 | 8,156.3614 | $783.43 | |
| ETH | <0.01% | $0.000005 | 76,920,939.9101 | $416.14 | |
| ETH | <0.01% | $2,433.25 | 0.1622 | $394.72 | |
| ETH | <0.01% | $0.000003 | 27,226,401.2897 | $92.3 | |
| ETH | <0.01% | $0.000028 | 3,207,605.4777 | $90.26 | |
| ETH | <0.01% | $0.000007 | 11,205,505.4345 | $78.33 | |
| ETH | <0.01% | $0.013917 | 1,454.5451 | $20.24 | |
| ETH | <0.01% | $0.683753 | 17 | $11.62 | |
| ETH | <0.01% | $0.669859 | 10 | $6.7 | |
| ETH | <0.01% | <$0.000001 | 10,404,662,901.2941 | $4 | |
| ETH | <0.01% | $3.85 | 1 | $3.85 | |
| ETH | <0.01% | $14.7 | 0.1531 | $2.25 | |
| ETH | <0.01% | $0.242277 | 6.5 | $1.57 | |
| ETH | <0.01% | $0.997412 | 1 | $0.9974 | |
| ETH | <0.01% | $0.000228 | 1,000 | $0.2281 | |
| ETH | <0.01% | $0.00 | 0.01 | $0.00 | |
| BSC | <0.01% | $1.86 | 6,417.2739 | $11,962.15 | |
| BSC | <0.01% | $0.000002 | 229,189.1743 | $0.3735 | |
| BSC | <0.01% | <$0.000001 | 1,122,661.9172 | $0.2495 | |
| OP | <0.01% | $1,975.8 | 0.00142479 | $2.82 | |
| ARB | <0.01% | $1,975.97 | 0.00061288 | $1.21 | |
| MANTLE | <0.01% | $0.682325 | 1.361 | $0.928644 | |
| BASE | <0.01% | $1,975.92 | 0.0001003 | $0.198185 | |
| BASE | <0.01% | $0.000936 | 131.5118 | $0.1231 | |
| POL | <0.01% | $0.098577 | 0.0001 | $0.00001 |
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.