Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 25 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deploy | 19407302 | 62 days ago | IN | 0 ETH | 0.00019286 | ||||
Deploy | 16055296 | 192 days ago | IN | 0 ETH | 0.00023649 | ||||
Deploy | 15981943 | 194 days ago | IN | 0 ETH | 0.00013074 | ||||
Deploy | 15975670 | 195 days ago | IN | 0 ETH | 0.00022517 | ||||
Deploy | 15856646 | 199 days ago | IN | 0 ETH | 0.0002161 | ||||
Deploy | 15851755 | 199 days ago | IN | 0 ETH | 0.00012981 | ||||
Deploy | 15740130 | 203 days ago | IN | 0 ETH | 0.00013498 | ||||
Deploy | 15723767 | 203 days ago | IN | 0 ETH | 0.00012052 | ||||
Deploy | 15722610 | 203 days ago | IN | 0 ETH | 0.00011252 | ||||
Deploy | 15689996 | 205 days ago | IN | 0 ETH | 0.00011972 | ||||
Deploy | 15452380 | 213 days ago | IN | 0 ETH | 0.00014544 | ||||
Deploy | 15379281 | 215 days ago | IN | 0 ETH | 0.00013782 | ||||
Deploy | 15361071 | 216 days ago | IN | 0 ETH | 0.00014796 | ||||
Deploy | 15332146 | 217 days ago | IN | 0 ETH | 0.00010045 | ||||
Deploy | 15306571 | 218 days ago | IN | 0 ETH | 0.00012455 | ||||
Deploy | 15256284 | 220 days ago | IN | 0 ETH | 0.00012069 | ||||
Deploy | 15230477 | 221 days ago | IN | 0 ETH | 0.00012917 | ||||
Deploy | 15214606 | 221 days ago | IN | 0 ETH | 0.00008168 | ||||
Deploy | 15190704 | 222 days ago | IN | 0 ETH | 0.00008205 | ||||
Deploy | 15142522 | 224 days ago | IN | 0 ETH | 0.00017835 | ||||
Deploy | 15078159 | 226 days ago | IN | 0 ETH | 0.00001643 | ||||
Deploy | 15077103 | 226 days ago | IN | 0 ETH | 0.00001682 | ||||
Deploy | 15050126 | 227 days ago | IN | 0 ETH | 0.00016718 | ||||
Deploy | 14806548 | 235 days ago | IN | 0 ETH | 0.00009394 | ||||
Deploy | 14775934 | 237 days ago | IN | 0 ETH | 0.00012795 |
Latest 25 internal transactions (View All)
Loading...
Loading
Contract Name:
CREATE3Factory
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0 pragma solidity ^0.8.13; 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/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "solmate/=lib/solmate/src/" ], "optimizer": { "enabled": true, "runs": 1000000 }, "metadata": { "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "paris", "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
608060405234801561001057600080fd5b5061063b806100206000396000f3fe6080604052600436106100295760003560e01c806350f1c4641461002e578063cdcb760a14610077575b600080fd5b34801561003a57600080fd5b5061004e610049366004610489565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046104fd565b6100ee565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290526000906054016040516020818303038152906040528051906020012091506100e78261014c565b9392505050565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152603481018390526000906054016040516020818303038152906040528051906020012092506100e78383346102b2565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f60558201526000908190610228906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201529091506100e79060370161020f565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff811661037d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6103868661014c565b925060008173ffffffffffffffffffffffffffffffffffffffff1685876040516103b091906105d6565b60006040518083038185875af1925050503d80600081146103ed576040519150601f19603f3d011682016040523d82523d6000602084013e6103f2565b606091505b50509050808015610419575073ffffffffffffffffffffffffffffffffffffffff84163b15155b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152606401610374565b5050509392505050565b6000806040838503121561049c57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c057600080fd5b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561051057600080fd5b82359150602083013567ffffffffffffffff8082111561052f57600080fd5b818501915085601f83011261054357600080fd5b813581811115610555576105556104ce565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561059b5761059b6104ce565b816040528281528860208487010111156105b457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156105f757602081860181015185830152016105dd565b50600092019182525091905056fea26469706673582212205ab6ef39bc142c87ba390066141e2f3c24f0eb24586885ac84e6b0747ed2e83664736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100295760003560e01c806350f1c4641461002e578063cdcb760a14610077575b600080fd5b34801561003a57600080fd5b5061004e610049366004610489565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e6100853660046104fd565b6100ee565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290526000906054016040516020818303038152906040528051906020012091506100e78261014c565b9392505050565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152603481018390526000906054016040516020818303038152906040528051906020012092506100e78383346102b2565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f60558201526000908190610228906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201529091506100e79060370161020f565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff811661037d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6103868661014c565b925060008173ffffffffffffffffffffffffffffffffffffffff1685876040516103b091906105d6565b60006040518083038185875af1925050503d80600081146103ed576040519150601f19603f3d011682016040523d82523d6000602084013e6103f2565b606091505b50509050808015610419575073ffffffffffffffffffffffffffffffffffffffff84163b15155b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152606401610374565b5050509392505050565b6000806040838503121561049c57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146104c057600080fd5b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561051057600080fd5b82359150602083013567ffffffffffffffff8082111561052f57600080fd5b818501915085601f83011261054357600080fd5b813581811115610555576105556104ce565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561059b5761059b6104ce565b816040528281528860208487010111156105b457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156105f757602081860181015185830152016105dd565b50600092019182525091905056fea26469706673582212205ab6ef39bc142c87ba390066141e2f3c24f0eb24586885ac84e6b0747ed2e83664736f6c63430008140033
Deployed Bytecode Sourcemap
408:828:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;899:335;;;;;;;;;;-1:-1:-1;899:335:2;;;;;:::i;:::-;;:::i;:::-;;;572:42:4;560:55;;;542:74;;530:2;515:18;899:335:2;;;;;;;493:364;;;;;;:::i;:::-;;:::i;899:335::-;1152:32;;2059:66:4;2046:2;2042:15;;;2038:88;1152:32:2;;;2026:101:4;2143:12;;;2136:28;;;1016:16:2;;2180:12:4;;1152:32:2;;;;;;;;;;;;1142:43;;;;;;1135:50;;1202:25;1222:4;1202:19;:25::i;:::-;1195:32;899:335;-1:-1:-1;;;899:335:2:o;493:364::-;753:34;;2059:66:4;770:10:2;2046:2:4;2042:15;2038:88;753:34:2;;;2026:101:4;2143:12;;;2136:28;;;617:16:2;;2180:12:4;;753:34:2;;;;;;;;;;;;743:45;;;;;;736:52;;805:45;820:4;826:12;840:9;805:14;:45::i;3282:851:1:-;2501:14;;;;;;;;;;;;;;;;;3398:264;;3459:12;3398:264;;;2414:92:4;;;;2556:66;3525:4:1;2543:2:4;2539:15;2535:88;2522:11;;;2515:109;2640:12;;;2633:28;;;2491:25:1;2677:12:4;;;2670:28;-1:-1:-1;;;;3375:315:1;;2714:12:4;;3398:264:1;;;;;;;;;;;;;3375:297;;;;;;398:10:0;280:138;3375:315:1;3747:347;;3080:66:4;3747:347:1;;;3068:79:4;3197:66;3184:2;3180:15;;;3176:88;3163:11;;;3156:109;3295:66;3281:12;;;3274:88;3359:331:1;;-1:-1:-1;3720:406:1;;3378:12:4;;3747:347:1;2737:659:4;2523:753:1;2643:16;2671:31;2705:14;;;;;;;;;;;;;;;;;2671:48;;2730:13;3010:4;2989:18;2983:25;2978:2;2958:18;2954:27;2951:1;2943:72;2934:81;-1:-1:-1;3042:19:1;;;3034:49;;;;;;;3603:2:4;3034:49:1;;;3585:21:4;3642:2;3622:18;;;3615:30;3681:19;3661:18;;;3654:47;3718:18;;3034:49:1;;;;;;;;;3105:17;3117:4;3105:11;:17::i;:::-;3094:28;;3133:12;3151:5;:10;;3169:5;3176:12;3151:38;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3132:57;;;3207:7;:36;;;;-1:-1:-1;3218:20:1;;;;:25;;3207:36;3199:70;;;;;;;4366:2:4;3199:70:1;;;4348:21:4;4405:2;4385:18;;;4378:30;4444:23;4424:18;;;4417:51;4485:18;;3199:70:1;4164:345:4;3199:70:1;2661:615;;;2523:753;;;;;:::o;14:377:4:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;198:9;185:23;248:42;241:5;237:54;230:5;227:65;217:93;;306:1;303;296:12;217:93;329:5;381:2;366:18;;;;353:32;;-1:-1:-1;;;14:377:4:o;627:184::-;679:77;676:1;669:88;776:4;773:1;766:15;800:4;797:1;790:15;816:1048;893:6;901;954:2;942:9;933:7;929:23;925:32;922:52;;;970:1;967;960:12;922:52;1006:9;993:23;983:33;;1067:2;1056:9;1052:18;1039:32;1090:18;1131:2;1123:6;1120:14;1117:34;;;1147:1;1144;1137:12;1117:34;1185:6;1174:9;1170:22;1160:32;;1230:7;1223:4;1219:2;1215:13;1211:27;1201:55;;1252:1;1249;1242:12;1201:55;1288:2;1275:16;1310:2;1306;1303:10;1300:36;;;1316:18;;:::i;:::-;1450:2;1444:9;1512:4;1504:13;;1355:66;1500:22;;;1524:2;1496:31;1492:40;1480:53;;;1548:18;;;1568:22;;;1545:46;1542:72;;;1594:18;;:::i;:::-;1634:10;1630:2;1623:22;1669:2;1661:6;1654:18;1709:7;1704:2;1699;1695;1691:11;1687:20;1684:33;1681:53;;;1730:1;1727;1720:12;1681:53;1786:2;1781;1777;1773:11;1768:2;1760:6;1756:15;1743:46;1831:1;1826:2;1821;1813:6;1809:15;1805:24;1798:35;1852:6;1842:16;;;;;;;816:1048;;;;;:::o;3747:412::-;3876:3;3914:6;3908:13;3939:1;3949:129;3963:6;3960:1;3957:13;3949:129;;;4061:4;4045:14;;;4041:25;;4035:32;4022:11;;;4015:53;3978:12;3949:129;;;-1:-1:-1;4133:1:4;4097:16;;4122:13;;;-1:-1:-1;4097:16:4;3747:412;-1:-1:-1;3747:412:4:o
Swarm Source
ipfs://5ab6ef39bc142c87ba390066141e2f3c24f0eb24586885ac84e6b0747ed2e836
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.