Source Code
Latest 25 from a total of 32 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deploy | 28494131 | 65 days ago | IN | 0 FRAX | 0.00053587 | ||||
| Deploy | 28494127 | 65 days ago | IN | 0 FRAX | 0.00001612 | ||||
| Deploy | 28494124 | 65 days ago | IN | 0 FRAX | 0.00063804 | ||||
| Deploy | 28494121 | 65 days ago | IN | 0 FRAX | 0.00046226 | ||||
| Deploy | 25038694 | 145 days ago | IN | 0 FRAX | 0.0001986 | ||||
| Deploy | 25038670 | 145 days ago | IN | 0 FRAX | 0.00026701 | ||||
| Deploy | 25038652 | 145 days ago | IN | 0 FRAX | 0.00007887 | ||||
| Deploy | 25038549 | 145 days ago | IN | 0 FRAX | 0.00026366 | ||||
| Deploy | 25038519 | 145 days ago | IN | 0 FRAX | 0.00008203 | ||||
| Deploy | 25037948 | 145 days ago | IN | 0 FRAX | 0.00041285 | ||||
| Deploy | 25037943 | 145 days ago | IN | 0 FRAX | 0.00044501 | ||||
| Deploy | 24944818 | 147 days ago | IN | 0 FRAX | 0.00010111 | ||||
| Deploy | 24944813 | 147 days ago | IN | 0 FRAX | 0.00016926 | ||||
| Deploy | 24944808 | 147 days ago | IN | 0 FRAX | 0.00022583 | ||||
| Deploy | 24941057 | 147 days ago | IN | 0 FRAX | 0.00072624 | ||||
| Deploy | 24939459 | 147 days ago | IN | 0 FRAX | 0.00202402 | ||||
| Deploy | 24939452 | 147 days ago | IN | 0 FRAX | 0.00144844 | ||||
| Deploy | 24938943 | 147 days ago | IN | 0 FRAX | 0.00084524 | ||||
| Deploy | 24938936 | 147 days ago | IN | 0 FRAX | 0.00036811 | ||||
| Deploy | 24938928 | 147 days ago | IN | 0 FRAX | 0.00005939 | ||||
| Deploy | 24938920 | 147 days ago | IN | 0 FRAX | 0.00014001 | ||||
| Deploy | 17489595 | 319 days ago | IN | 0 FRAX | 0.00000503 | ||||
| Deploy | 17489591 | 319 days ago | IN | 0 FRAX | 0.00000616 | ||||
| Deploy | 17489588 | 319 days ago | IN | 0 FRAX | 0.00000618 | ||||
| Deploy | 17489584 | 319 days ago | IN | 0 FRAX | 0.00000672 |
Latest 25 internal transactions (View All)
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Create3Factory
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 300 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.28;
import {CREATE3} from "solmate/src/utils/CREATE3.sol";
import {ICreate3Factory} from "./ICreate3Factory.sol";
/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @notice Enables deploying contracts using CREATE3. Each deployer (msg.sender) has
/// its own namespace for deployed addresses.
contract Create3Factory is 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);
}
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
pragma solidity 0.8.28;
/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @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));
}
}// 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();
}
}{
"optimizer": {
"enabled": true,
"runs": 300
},
"viaIR": true,
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"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
608080604052346015576103c7908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816350f1c464146101f0575063cdcb760a1461003557600080fd5b60403660031901126101eb5760243567ffffffffffffffff81116101eb57366023820112156101eb5780600401359061006d826102a0565b9161007b6040519384610268565b808352602083019136602483830101116101eb57816000926024602093018537840101526040513360601b6bffffffffffffffffffffffff1916602082019081526004356034830152906100dc81605481015b03601f198101835282610268565b519020806100e86102bc565b6020815191016000f56001600160a01b038116156101b25760009261010f849330906102ea565b94519134905af13d156101ad573d610126816102a0565b906101346040519283610268565b8152600060203d92013e5b806101a3575b1561015e576020906001600160a01b0360405191168152f35b60405162461bcd60e51b815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152606490fd5b50803b1515610145565b61013f565b60405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606490fd5b600080fd5b346101eb5760403660031901126101eb57600435906001600160a01b03821682036101eb5760609190911b6bffffffffffffffffffffffff19166020828101918252602435603484015291610257919061024d81605481016100ce565b51902030906102ea565b6001600160a01b0360405191168152f35b90601f8019910116810190811067ffffffffffffffff82111761028a57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161028a57601f01601f191660200190565b604051906102cb604083610268565b601082526f67363d3d37363d34f03d5260086018f360801b6020830152565b906001600160a01b03916102fc6102bc565b6020815191012060405191602083019360ff60f81b85526bffffffffffffffffffffffff199060601b1660218401526035830152605582015260558152610344607582610268565b5190206040516135a560f21b6020820190815260609290921b6bffffffffffffffffffffffff19166022820152600160f81b60368201526017815261038a603782610268565b519020169056fea264697066735822122065f6ceb35136aea978989287647a62e6025431b04f6b2f56309adb7824cd473664736f6c634300081c0033
Deployed Bytecode
0x608080604052600436101561001357600080fd5b60003560e01c90816350f1c464146101f0575063cdcb760a1461003557600080fd5b60403660031901126101eb5760243567ffffffffffffffff81116101eb57366023820112156101eb5780600401359061006d826102a0565b9161007b6040519384610268565b808352602083019136602483830101116101eb57816000926024602093018537840101526040513360601b6bffffffffffffffffffffffff1916602082019081526004356034830152906100dc81605481015b03601f198101835282610268565b519020806100e86102bc565b6020815191016000f56001600160a01b038116156101b25760009261010f849330906102ea565b94519134905af13d156101ad573d610126816102a0565b906101346040519283610268565b8152600060203d92013e5b806101a3575b1561015e576020906001600160a01b0360405191168152f35b60405162461bcd60e51b815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152606490fd5b50803b1515610145565b61013f565b60405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606490fd5b600080fd5b346101eb5760403660031901126101eb57600435906001600160a01b03821682036101eb5760609190911b6bffffffffffffffffffffffff19166020828101918252602435603484015291610257919061024d81605481016100ce565b51902030906102ea565b6001600160a01b0360405191168152f35b90601f8019910116810190811067ffffffffffffffff82111761028a57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161028a57601f01601f191660200190565b604051906102cb604083610268565b601082526f67363d3d37363d34f03d5260086018f360801b6020830152565b906001600160a01b03916102fc6102bc565b6020815191012060405191602083019360ff60f81b85526bffffffffffffffffffffffff199060601b1660218401526035830152605582015260558152610344607582610268565b5190206040516135a560f21b6020820190815260609290921b6bffffffffffffffffffffffff19166022820152600160f81b60368201526017815261038a603782610268565b519020169056fea264697066735822122065f6ceb35136aea978989287647a62e6025431b04f6b2f56309adb7824cd473664736f6c634300081c0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 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.