Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 26 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deploy | 36950870 | 18 days ago | IN | 0 ETH | 0 | ||||
| Deploy | 31391998 | 83 days ago | IN | 0 ETH | 0.00000002 | ||||
| Deploy | 31391998 | 83 days ago | IN | 0 ETH | 0.00000011 | ||||
| Deploy | 30265079 | 96 days ago | IN | 0 ETH | 0.00000003 | ||||
| Deploy | 30264662 | 96 days ago | IN | 0 ETH | 0.00000005 | ||||
| Deploy | 29859780 | 101 days ago | IN | 0 ETH | 0.00000021 | ||||
| Deploy | 29597277 | 104 days ago | IN | 0 ETH | 0.00000006 | ||||
| Deploy | 29336567 | 107 days ago | IN | 0 ETH | 0.00000003 | ||||
| Deploy | 29255143 | 108 days ago | IN | 0 ETH | 0.00000009 | ||||
| Deploy | 29149801 | 109 days ago | IN | 0 ETH | 0.00000003 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000003 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000015 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000015 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000014 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000013 | ||||
| Deploy | 29145975 | 109 days ago | IN | 0 ETH | 0.00000014 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000001 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000006 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000006 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000005 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000005 | ||||
| Deploy | 29142833 | 109 days ago | IN | 0 ETH | 0.00000005 | ||||
| Deploy | 29109317 | 109 days ago | IN | 0 ETH | 0.00000021 | ||||
| Deploy | 29108341 | 109 days ago | IN | 0 ETH | 0.00000078 | ||||
| Deploy | 27951961 | 123 days ago | IN | 0 ETH | 0.0000003 |
Latest 25 internal transactions (View All)
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.28;
import {CREATE3} from "solmate/utils/CREATE3.sol";
import {ICREATE3Factory} from "./ICREATE3Factory.sol";
/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @author zefram.eth
/// @notice Enables deploying contracts using CREATE3. Each deployer (msg.sender) has
/// its own namespace for deployed addresses.
contract CREATE3Factory is ICREATE3Factory {
/// @inheritdoc ICREATE3Factory
function deploy(bytes32 salt, bytes memory creationCode) external payable override returns (address deployed) {
// hash salt with the deployer address to give each deployer its own namespace
salt = keccak256(abi.encodePacked(msg.sender, salt));
return CREATE3.deploy(salt, creationCode, msg.value);
}
/// @inheritdoc ICREATE3Factory
function getDeployed(address deployer, bytes32 salt) external view override returns (address deployed) {
// hash salt with the deployer address to give each deployer its own namespace
salt = keccak256(abi.encodePacked(deployer, salt));
return CREATE3.getDeployed(salt);
}
}// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
import {Bytes32AddressLib} from "./Bytes32AddressLib.sol";
/// @notice Deploy to deterministic addresses without an initcode factor.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/CREATE3.sol)
/// @author Modified from 0xSequence (https://github.com/0xSequence/create3/blob/master/contracts/Create3.sol)
library CREATE3 {
using Bytes32AddressLib for bytes32;
//--------------------------------------------------------------------------------//
// Opcode | Opcode + Arguments | Description | Stack View //
//--------------------------------------------------------------------------------//
// 0x36 | 0x36 | CALLDATASIZE | size //
// 0x3d | 0x3d | RETURNDATASIZE | 0 size //
// 0x3d | 0x3d | RETURNDATASIZE | 0 0 size //
// 0x37 | 0x37 | CALLDATACOPY | //
// 0x36 | 0x36 | CALLDATASIZE | size //
// 0x3d | 0x3d | RETURNDATASIZE | 0 size //
// 0x34 | 0x34 | CALLVALUE | value 0 size //
// 0xf0 | 0xf0 | CREATE | newContract //
//--------------------------------------------------------------------------------//
// Opcode | Opcode + Arguments | Description | Stack View //
//--------------------------------------------------------------------------------//
// 0x67 | 0x67XXXXXXXXXXXXXXXX | PUSH8 bytecode | bytecode //
// 0x3d | 0x3d | RETURNDATASIZE | 0 bytecode //
// 0x52 | 0x52 | MSTORE | //
// 0x60 | 0x6008 | PUSH1 08 | 8 //
// 0x60 | 0x6018 | PUSH1 18 | 24 8 //
// 0xf3 | 0xf3 | RETURN | //
//--------------------------------------------------------------------------------//
bytes internal constant PROXY_BYTECODE = hex"67_36_3d_3d_37_36_3d_34_f0_3d_52_60_08_60_18_f3";
bytes32 internal constant PROXY_BYTECODE_HASH = keccak256(PROXY_BYTECODE);
function deploy(
bytes32 salt,
bytes memory creationCode,
uint256 value
) internal returns (address deployed) {
bytes memory proxyChildBytecode = PROXY_BYTECODE;
address proxy;
assembly {
// Deploy a new contract with our pre-made bytecode via CREATE2.
// We start 32 bytes into the code to avoid copying the byte length.
proxy := create2(0, add(proxyChildBytecode, 32), mload(proxyChildBytecode), salt)
}
require(proxy != address(0), "DEPLOYMENT_FAILED");
deployed = getDeployed(salt);
(bool success, ) = proxy.call{value: value}(creationCode);
require(success && deployed.code.length != 0, "INITIALIZATION_FAILED");
}
function getDeployed(bytes32 salt) internal view returns (address) {
address proxy = keccak256(
abi.encodePacked(
// Prefix:
bytes1(0xFF),
// Creator:
address(this),
// Salt:
salt,
// Bytecode hash:
PROXY_BYTECODE_HASH
)
).fromLast20Bytes();
return
keccak256(
abi.encodePacked(
// 0xd6 = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x01)
// 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)
hex"d6_94",
proxy,
hex"01" // Nonce of the proxy contract (1)
)
).fromLast20Bytes();
}
}// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.6.0;
/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @author zefram.eth
/// @notice Enables deploying contracts using CREATE3. Each deployer (msg.sender) has
/// its own namespace for deployed addresses.
interface ICREATE3Factory {
/// @notice Deploys a contract using CREATE3
/// @dev The provided salt is hashed together with msg.sender to generate the final salt
/// @param salt The deployer-specific salt for determining the deployed contract's address
/// @param creationCode The creation code of the contract to deploy
/// @return deployed The address of the deployed contract
function deploy(bytes32 salt, bytes memory creationCode) external payable returns (address deployed);
/// @notice Predicts the address of a deployed contract
/// @dev The provided salt is hashed together with the deployer address to generate the final salt
/// @param deployer The deployer account that will call deploy()
/// @param salt The deployer-specific salt for determining the deployed contract's address
/// @return deployed The address of the contract that will be deployed
function getDeployed(address deployer, bytes32 salt) external view returns (address deployed);
}// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Library for converting between addresses and bytes32 values.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/Bytes32AddressLib.sol)
library Bytes32AddressLib {
function fromLast20Bytes(bytes32 bytesValue) internal pure returns (address) {
return address(uint160(uint256(bytesValue)));
}
function fillLast12Bytes(address addressValue) internal pure returns (bytes32) {
return bytes32(bytes20(addressValue));
}
}{
"remappings": [
"ds-test/=lib/solmate/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"solmate/=lib/solmate/src/"
],
"optimizer": {
"enabled": true,
"runs": 1000000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "london",
"viaIR": true,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes","name":"creationCode","type":"bytes"}],"name":"deploy","outputs":[{"internalType":"address","name":"deployed","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"getDeployed","outputs":[{"internalType":"address","name":"deployed","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60808060405234601557610637908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806350f1c464146100375763cdcb760a1461003257600080fd5b61023a565b346101445760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101445760043573ffffffffffffffffffffffffffffffffffffffff81168103610144577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff806100ea610116926100b760243590565b60609190911b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a05260b45260d490565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60810160805201610178565b602061012660805160a020610449565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101ba57604052565b610149565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101ba57604052565b67ffffffffffffffff81116101ba57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101445760043560243567ffffffffffffffff811161014457366023820112156101445780600401359161029383610200565b906102a160405192836101bf565b83825236602485850101116101445760006020856102f49660246102cd970183870137840101526102f8565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820190815260348083019390935291815261033f6054826101bf565b519020908161034c61040e565b6020815191016000f59173ffffffffffffffffffffffffffffffffffffffff8316156103b05760009161037f8392610449565b936020825192019034905af161039361056c565b50806103a6575b6103a39061059c565b90565b50803b151561039a565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b6040519061041d6040836101bf565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b73ffffffffffffffffffffffffffffffffffffffff6103a39161046a61040e565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526104bf6075826101bf565b5190206040517fd694000000000000000000000000000000000000000000000000000000000000602082019081529290911660601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152601781526105506037826101bf565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b3d15610597573d9061057d82610200565b9161058b60405193846101bf565b82523d6000602084013e565b606090565b156105a357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fdfea2646970667358221220919f388be7e0b490f905563f98dc2db27a422bc96ac27fd994eb50e43762f95364736f6c634300081c0033
Deployed Bytecode
0x6080604052600436101561001257600080fd5b60003560e01c806350f1c464146100375763cdcb760a1461003257600080fd5b61023a565b346101445760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101445760043573ffffffffffffffffffffffffffffffffffffffff81168103610144577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff806100ea610116926100b760243590565b60609190911b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a05260b45260d490565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60810160805201610178565b602061012660805160a020610449565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101166080016080811067ffffffffffffffff8211176101ba57604052565b610149565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101ba57604052565b67ffffffffffffffff81116101ba57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101445760043560243567ffffffffffffffff811161014457366023820112156101445780600401359161029383610200565b906102a160405192836101bf565b83825236602485850101116101445760006020856102f49660246102cd970183870137840101526102f8565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820190815260348083019390935291815261033f6054826101bf565b519020908161034c61040e565b6020815191016000f59173ffffffffffffffffffffffffffffffffffffffff8316156103b05760009161037f8392610449565b936020825192019034905af161039361056c565b50806103a6575b6103a39061059c565b90565b50803b151561039a565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b6040519061041d6040836101bf565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b73ffffffffffffffffffffffffffffffffffffffff6103a39161046a61040e565b602081519101206040519060208201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b602184015260358301526055820152605581526104bf6075826101bf565b5190206040517fd694000000000000000000000000000000000000000000000000000000000000602082019081529290911660601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660228201527f01000000000000000000000000000000000000000000000000000000000000006036820152601781526105506037826101bf565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b3d15610597573d9061057d82610200565b9161058b60405193846101bf565b82523d6000602084013e565b606090565b156105a357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fdfea2646970667358221220919f388be7e0b490f905563f98dc2db27a422bc96ac27fd994eb50e43762f95364736f6c634300081c0033
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.