Overview
ETH Balance
ETH Value
$0.00Latest 9 from a total of 9 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deploy | 13042387 | 61 days ago | IN | 0 ETH | 0.00000139 | ||||
| Deploy | 13041986 | 61 days ago | IN | 0 ETH | 0.0000014 | ||||
| Deploy | 13041075 | 61 days ago | IN | 0 ETH | 0.0000014 | ||||
| Deploy | 13040424 | 61 days ago | IN | 0 ETH | 0.0000028 | ||||
| Deploy | 13040101 | 61 days ago | IN | 0 ETH | 0.0000028 | ||||
| Deploy | 13037212 | 61 days ago | IN | 0 ETH | 0.00000282 | ||||
| Deploy | 13037071 | 61 days ago | IN | 0 ETH | 0.00000212 | ||||
| Deploy | 13036911 | 61 days ago | IN | 0 ETH | 0.00000327 | ||||
| Deploy | 13035201 | 61 days ago | IN | 0 ETH | 0.00000142 |
Latest 10 internal transactions
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 13042387 | 61 days ago | Contract Creation | 0 ETH | |||
| 13041986 | 61 days ago | Contract Creation | 0 ETH | |||
| 13041075 | 61 days ago | Contract Creation | 0 ETH | |||
| 13040424 | 61 days ago | Contract Creation | 0 ETH | |||
| 13040101 | 61 days ago | Contract Creation | 0 ETH | |||
| 13037212 | 61 days ago | Contract Creation | 0 ETH | |||
| 13037071 | 61 days ago | Contract Creation | 0 ETH | |||
| 13036911 | 61 days ago | Contract Creation | 0 ETH | |||
| 13035201 | 61 days ago | Contract Creation | 0 ETH | |||
| 13034023 | 61 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Contract Source Code Verified (Exact Match)
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0
pragma solidity ^0.8.27;
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;
/// @solidity memory-safe-assembly
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) {
return getDeployed(salt, address(this));
}
function getDeployed(bytes32 salt, address creator) internal pure returns (address) {
address proxy = keccak256(
abi.encodePacked(
// Prefix:
bytes1(0xFF),
// Creator:
creator,
// 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": [
"@forge-std/=dependencies/forge-std-1.11.0/src/",
"@fun-contracts/=src/",
"@fun-test-contracts/=test/",
"@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.4.0/",
"forge-std/=dependencies/forge-std-1.11.0/src/",
"@solmate/=dependencies/solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/src/",
"@CREATE3/=src/CREATE3/",
"@openzeppelin-contracts-5.4.0/=dependencies/@openzeppelin-contracts-5.4.0/",
"CREATE3-1.0.0/=dependencies/CREATE3-1.0.0/src/",
"forge-std-1.11.0/=dependencies/forge-std-1.11.0/src/",
"solady-0.1.26/=dependencies/solady-0.1.26/src/",
"solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/=dependencies/solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/src/"
],
"optimizer": {
"enabled": true,
"runs": 100000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "cancun",
"viaIR": true,
"debug": {
"revertStrings": "debug"
}
}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
608080604052346018576040516108b090816100668239f35b62461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201526137b760f11b6064820152608490fdfe6080806040526004361015610093575b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201527f6e6f7220726563656976652066756e6374696f6e7300000000000000000000006064820152fd5b5f3560e01c90816350f1c4641461049f575063cdcb760a146100b5575f61000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760243567ffffffffffffffff811161041657366023820112156103925780600401359061010b826106dc565b91610119604051938461066e565b8083526020830191366024838301011161030e57815f926024602093018537840101526040513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082019081526004356034830152906101aa81605481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261066e565b519020806101b6610716565b6020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156102b0575f926101e884933090610751565b94519134905af13d156102ab573d6101ff816106dc565b9061020d604051928361066e565b81525f60203d92013e5b806102a1575b156102435760209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50803b151561021d565b610217565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f414249206465636f64696e673a20696e76616c6964206279746520617272617960448201527f206c656e677468000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201527f72726179206f66667365740000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f66667360448201527f65740000000000000000000000000000000000000000000000000000000000006064820152fd5b6105ea565b346105685760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760043573ffffffffffffffffffffffffffffffffffffffff811681036105645761054660209160405161053c8161017e86820194602435908690917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b5190203090610751565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201527f6f6e0000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f60448201527f72740000000000000000000000000000000000000000000000000000000000006064820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106af57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116106af57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6040519061072560408361066e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b9073ffffffffffffffffffffffffffffffffffffffff91610770610716565b60208151910120604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947fff00000000000000000000000000000000000000000000000000000000000000865260601b16602184015260358301526055820152605581526107e660758261066e565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815261087360378261066e565b519020169056fea2646970667358221220ab9046b3e9e5ce02a370e315afbe8f1b9fcbbc8df2f15325982e4dad4f800e3864736f6c634300081b0033
Deployed Bytecode
0x6080806040526004361015610093575b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201527f6e6f7220726563656976652066756e6374696f6e7300000000000000000000006064820152fd5b5f3560e01c90816350f1c4641461049f575063cdcb760a146100b5575f61000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760243567ffffffffffffffff811161041657366023820112156103925780600401359061010b826106dc565b91610119604051938461066e565b8083526020830191366024838301011161030e57815f926024602093018537840101526040513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082019081526004356034830152906101aa81605481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261066e565b519020806101b6610716565b6020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156102b0575f926101e884933090610751565b94519134905af13d156102ab573d6101ff816106dc565b9061020d604051928361066e565b81525f60203d92013e5b806102a1575b156102435760209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50803b151561021d565b610217565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f414249206465636f64696e673a20696e76616c6964206279746520617272617960448201527f206c656e677468000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201527f72726179206f66667365740000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f66667360448201527f65740000000000000000000000000000000000000000000000000000000000006064820152fd5b6105ea565b346105685760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760043573ffffffffffffffffffffffffffffffffffffffff811681036105645761054660209160405161053c8161017e86820194602435908690917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b5190203090610751565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201527f6f6e0000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f60448201527f72740000000000000000000000000000000000000000000000000000000000006064820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106af57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116106af57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6040519061072560408361066e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b9073ffffffffffffffffffffffffffffffffffffffff91610770610716565b60208151910120604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947fff00000000000000000000000000000000000000000000000000000000000000865260601b16602184015260358301526055820152605581526107e660758261066e565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815261087360378261066e565b519020169056fea2646970667358221220ab9046b3e9e5ce02a370e315afbe8f1b9fcbbc8df2f15325982e4dad4f800e3864736f6c634300081b0033
Multichain Portfolio | 34 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.