Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 16 from a total of 16 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Deploy Proxy | 22929659 | 252 days ago | IN | 0 ETH | 0.00023933 | ||||
| Deploy Proxy | 20469924 | 596 days ago | IN | 0 ETH | 0.00070343 | ||||
| Deploy Proxy | 20469919 | 596 days ago | IN | 0 ETH | 0.00505565 | ||||
| Deploy Proxy | 20469909 | 596 days ago | IN | 0 ETH | 0.00354548 | ||||
| Deploy Proxy | 20469901 | 596 days ago | IN | 0 ETH | 0.00458471 | ||||
| Deploy Proxy | 19519173 | 729 days ago | IN | 0 ETH | 0.0401024 | ||||
| Deploy Proxy | 19084957 | 790 days ago | IN | 0 ETH | 0.02125934 | ||||
| Deploy Proxy | 19078415 | 791 days ago | IN | 0 ETH | 0.01321181 | ||||
| Deploy Proxy | 18743805 | 838 days ago | IN | 0 ETH | 0.03086375 | ||||
| Deploy Proxy | 18742830 | 838 days ago | IN | 0 ETH | 0.03526836 | ||||
| Deploy Proxy | 18742500 | 838 days ago | IN | 0 ETH | 0.04070677 | ||||
| Deploy Proxy | 18545002 | 866 days ago | IN | 0 ETH | 0.02757547 | ||||
| Deploy Proxy | 18530820 | 868 days ago | IN | 0 ETH | 0.04454949 | ||||
| Deploy Proxy | 18530261 | 868 days ago | IN | 0 ETH | 0.0406079 | ||||
| Deploy Proxy | 18529902 | 868 days ago | IN | 0 ETH | 0.03563691 | ||||
| Deploy Proxy | 18515154 | 870 days ago | IN | 0 ETH | 0.0393 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x3d602d80 | 24730532 | 25 hrs ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24631442 | 14 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24631428 | 14 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24436114 | 42 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24436004 | 42 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24435887 | 42 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24435835 | 42 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24435805 | 42 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 24361332 | 52 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 23995202 | 103 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 22929659 | 252 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 22341873 | 335 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 22083840 | 371 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 22030631 | 378 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21865687 | 401 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21838676 | 405 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21772480 | 414 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21698907 | 424 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21680784 | 427 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21470644 | 456 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21262299 | 485 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 21005135 | 521 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 20900337 | 536 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 20900296 | 536 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 20469924 | 596 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
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:
ContractCloneFactory
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
import {ExecutionUtils} from "../../../utils/ExecutionUtils.sol";
import {BaseProxyDeployer} from "./BaseProxyDeployer.sol";
/**
* @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
* deploying minimal proxy contracts, also known as "clones".
* A minimal proxy needs to do:
* 1. calldatacopy into memory
* 2. delegatecall into an implementation contract
* 3. returndatacopy into memory
* 4, return data to the caller or revert
* The exact runtime code of the standard clone contract is this:
* 363d3d373d3d3d363d73bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf3
* wherein the bytes at indices 10 - 29 (inclusive) are replaced with the 20 byte address of the master functionality/implementation contract.
* The creation code, which includes the runtime code, is this:
* 3d602d80600a3d3981f3363d3d373d3d3d363d73bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf3
* 3d602d80600a3d3981f3 copies the runtime into memory.
* A reference implementation of this can be found at the optionality/clone-factory github repo.
*/
contract ContractCloneFactory is BaseProxyDeployer {
/**
* @dev Salted deterministic deployment of minimal proxy contracts that mimics the behavior of implementation.
* Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function _deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
internal override returns (address deployedContract) {
deployedContract = Clones.cloneDeterministic(_implementation, _salt);
if (_initializingData.length > 0) {
ExecutionUtils.callAndRevert(deployedContract, 0, _initializingData);
}
}
/**
* @dev Pre-compute the counterfactual address prior to deployment of minimal proxy contracts that mimics the behavior of implementation.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function _getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
internal override view returns (address calculatedContract) {
(_initializingData);
calculatedContract = Clones.predictDeterministicAddress(_implementation, _salt, address(this));
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (proxy/Clones.sol)
pragma solidity ^0.8.0;
/**
* @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
* deploying minimal proxy contracts, also known as "clones".
*
* > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
* > a minimal bytecode implementation that delegates all calls to a known, fixed address.
*
* The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
* (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
* deterministic method.
*
* _Available since v3.4._
*/
library Clones {
/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
*
* This function uses the create opcode, which should never revert.
*/
function clone(address implementation) internal returns (address instance) {
/// @solidity memory-safe-assembly
assembly {
// Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
// of the `implementation` address with the bytecode before the address.
mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))
// Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))
instance := create(0, 0x09, 0x37)
}
require(instance != address(0), "ERC1167: create failed");
}
/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
*
* This function uses the create2 opcode and a `salt` to deterministically deploy
* the clone. Using the same `implementation` and `salt` multiple time will revert, since
* the clones cannot be deployed twice at the same address.
*/
function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) {
/// @solidity memory-safe-assembly
assembly {
// Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes
// of the `implementation` address with the bytecode before the address.
mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000))
// Packs the remaining 17 bytes of `implementation` with the bytecode after the address.
mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3))
instance := create2(0, 0x09, 0x37, salt)
}
require(instance != address(0), "ERC1167: create2 failed");
}
/**
* @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
*/
function predictDeterministicAddress(
address implementation,
bytes32 salt,
address deployer
) internal pure returns (address predicted) {
/// @solidity memory-safe-assembly
assembly {
let ptr := mload(0x40)
mstore(add(ptr, 0x38), deployer)
mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff)
mstore(add(ptr, 0x14), implementation)
mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73)
mstore(add(ptr, 0x58), salt)
mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37))
predicted := keccak256(add(ptr, 0x43), 0x55)
}
}
/**
* @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
*/
function predictDeterministicAddress(
address implementation,
bytes32 salt
) internal view returns (address predicted) {
return predictDeterministicAddress(implementation, salt, address(this));
}
}// 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: GPL-3.0
pragma solidity 0.8.17;
import {Context} from "@openzeppelin/contracts/utils/Context.sol";
import {IProxyDeployer} from "../interfaces/IProxyDeployer.sol";
abstract contract BaseProxyDeployer is IProxyDeployer, Context {
/**
* @dev Salted deterministic deployment of proxy contracts.
* Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
public override returns (address deployedContract) {
if (_implementation.code.length == 0) {
revert InvalidImplementation(_implementation);
}
(address addr, bytes32 mixedSalt) = getProxyAddress(_implementation, _initializingData, _salt);
if (addr.code.length > 0) {
return addr;
}
deployedContract = _deployProxy(_implementation, _initializingData, mixedSalt);
emit ProxyDeployed(_implementation, deployedContract, mixedSalt);
}
/**
* @dev Pre-compute the counterfactual address prior to deployment of proxy contracts.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
public override view returns (address calculatedContract, bytes32 mixedSalt) {
mixedSalt = getMixedSalt(_initializingData, _salt);
calculatedContract = _getProxyAddress(_implementation, _initializingData, mixedSalt);
}
/**
* @dev Helper method to get mixed salt that alleviates the front-running.
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to create the new contract at a deterministic address, e.g. 0x0
*/
function getMixedSalt(bytes memory _initializingData, bytes32 _salt) public view returns (bytes32) {
return keccak256(abi.encodePacked(keccak256(_initializingData), _salt, _msgSender()));
}
function _deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
internal virtual returns (address deployedContract);
function _getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
internal virtual view returns (address calculatedContract);
}// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;
interface IProxyDeployer {
event ProxyDeployed(address indexed implementation, address proxy, bytes32 salt);
error InvalidImplementation(address implementation);
/**
* @dev Salted deterministic deployment of proxy contracts.
* Using the same implementation, salt, msgSender() multiple time will not deploy a new clone.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function deployProxy(address _implementation, bytes memory _initializingData, bytes32 _salt)
external returns (address deployedContract);
/**
* @dev Pre-compute the counterfactual address prior to deployment of proxy contracts.
* @param _implementation contract to be cloned
* @param _initializingData calldata of the deployed contract's initializer function
* @param _salt extra salt that's used to deterministically deploy the clone
*/
function getProxyAddress(address _implementation, bytes memory _initializingData, bytes32 _salt)
external view returns (address calculatedContract, bytes32 mixedSalt);
}// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;
// solhint-disable no-inline-assembly
/**
* Utility functions helpful when making different kinds of contract calls in Solidity.
* For inline assembly, please refer to https://docs.soliditylang.org/en/latest/assembly.html
* For opcodes, please refer to https://ethereum.org/en/developers/docs/evm/opcodes/ and https://www.evm.codes/
*/
library ExecutionUtils {
function call(address to,
uint256 value,
bytes memory data
) internal returns (bool success, bytes memory returnData) {
assembly {
success := call(gas(), to, value, add(data, 0x20), mload(data), 0, 0)
let len := returndatasize()
let ptr := mload(0x40)
mstore(0x40, add(ptr, add(len, 0x20)))
mstore(ptr, len)
returndatacopy(add(ptr, 0x20), 0, len)
returnData := ptr
}
}
function revertWithData(bytes memory returnData) internal pure {
assembly {
revert(add(returnData, 32), mload(returnData))
}
}
function callAndRevert(address to,
uint256 value,
bytes memory data) internal {
(bool success, bytes memory returnData) = call(to, value, data);
if (!success) {
revertWithData(returnData);
}
}
}{
"optimizer": {
"enabled": true,
"runs": 1000000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"remappings": [
"@account-abstraction/=lib/account-abstraction/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/",
"account-abstraction/=lib/account-abstraction/contracts/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/"
],
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"InvalidImplementation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"},{"indexed":false,"internalType":"address","name":"proxy","type":"address"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"ProxyDeployed","type":"event"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"deployProxy","outputs":[{"internalType":"address","name":"deployedContract","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"getMixedSalt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_initializingData","type":"bytes"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"getProxyAddress","outputs":[{"internalType":"address","name":"calculatedContract","type":"address"},{"internalType":"bytes32","name":"mixedSalt","type":"bytes32"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506105e1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806360a1f85e14610046578063c28f4b6e14610083578063dd03f4ad146100c2575b600080fd5b6100596100543660046104f4565b6100e3565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100966100913660046104f4565b6101f7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161007a565b6100d56100d0366004610566565b610268565b60405190815260200161007a565b60008373ffffffffffffffffffffffffffffffffffffffff163b600003610153576040517f0c76093700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b6000806101618686866101f7565b909250905073ffffffffffffffffffffffffffffffffffffffff82163b1561018b575090506101f0565b6101968686836102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff808416825260208201859052929550918816917fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a05910160405180910390a250505b9392505050565b6000806102048484610268565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff60248201526014810196909652733d602d80600a3d3981f3363d3d373d3d3d363d738652605886018190526037600c87012060788701526055604390960195909520959350505050565b8151602080840191909120604080518084019290925281810184905233606090811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690830152805160548184030181526074909201905280519101205b92915050565b60006102d984836102ef565b8351909150156101f0576101f0816000856103b3565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161014a565b6000806103c18585856103da565b91509150816103d3576103d381610412565b5050505050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b805160208201fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104bb576104bb61041a565b816040528381528660208588010111156104d457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561050957600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461052d57600080fd5b9250602084013567ffffffffffffffff81111561054957600080fd5b61055586828701610449565b925050604084013590509250925092565b6000806040838503121561057957600080fd5b823567ffffffffffffffff81111561059057600080fd5b61059c85828601610449565b9560209490940135945050505056fea2646970667358221220d0b70f790b384037e18484f59398afb8eca23645164c50a845c693dca2e4acb464736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100415760003560e01c806360a1f85e14610046578063c28f4b6e14610083578063dd03f4ad146100c2575b600080fd5b6100596100543660046104f4565b6100e3565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100966100913660046104f4565b6101f7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161007a565b6100d56100d0366004610566565b610268565b60405190815260200161007a565b60008373ffffffffffffffffffffffffffffffffffffffff163b600003610153576040517f0c76093700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b6000806101618686866101f7565b909250905073ffffffffffffffffffffffffffffffffffffffff82163b1561018b575090506101f0565b6101968686836102cd565b6040805173ffffffffffffffffffffffffffffffffffffffff808416825260208201859052929550918816917fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a05910160405180910390a250505b9392505050565b6000806102048484610268565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff60248201526014810196909652733d602d80600a3d3981f3363d3d373d3d3d363d738652605886018190526037600c87012060788701526055604390960195909520959350505050565b8151602080840191909120604080518084019290925281810184905233606090811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690830152805160548184030181526074909201905280519101205b92915050565b60006102d984836102ef565b8351909150156101f0576101f0816000856103b3565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161014a565b6000806103c18585856103da565b91509150816103d3576103d381610412565b5050505050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b805160208201fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104bb576104bb61041a565b816040528381528660208588010111156104d457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561050957600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461052d57600080fd5b9250602084013567ffffffffffffffff81111561054957600080fd5b61055586828701610449565b925050604084013590509250925092565b6000806040838503121561057957600080fd5b823567ffffffffffffffff81111561059057600080fd5b61059c85828601610449565b9560209490940135945050505056fea2646970667358221220d0b70f790b384037e18484f59398afb8eca23645164c50a845c693dca2e4acb464736f6c63430008110033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.