From: Ardis Lu Date: Wed, 5 Jul 2023 05:19:42 +0000 (-0700) Subject: Note block explorers interpreting the payload X-Git-Url: https://git.ardis.lu/?a=commitdiff_plain;h=53d54b72cbf418673e0014cf1627c6b86e97962c;p=minimal-create2 Note block explorers interpreting the payload --- diff --git a/README.md b/README.md index 4f7997c..8d7566f 100644 --- a/README.md +++ b/README.md @@ -91,3 +91,7 @@ await ethereum.request({ }); // Smart contract is deployed as 0xbeef7906063D950306868AF5af36955015110f84, as predicted ``` + +Block explorers such as Etherscan may interpret this payload as a call to a Solidity function with the ABI selector `0x00000000`. As of July 2023, Etherscan's database has the `0x00000000` selector mapped to a function called `fulfillBasicOrder_efficient_6GL6yc(tuple parameters)`. + +Since the `CREATE2` factory smart contract was written directly in EVM assembly and not Solidity, the factory has no conception of ABI. To have block explorers display a different function in their UI, you can set the first 4 bytes of the salt to some hardcoded value while using the last 28 bytes to mine the desired address.