pcaversaccio / createx

Factory smart contract to make easier and safer usage of the `CREATE` and `CREATE2` EVM opcodes as well as of `CREATE3`-based (i.e. without an initcode factor) contract creations.
https://createx.rocks
GNU Affero General Public License v3.0
341 stars 26 forks source link

đź’Ą Deploy via Nick's Method #120

Closed pegahcarter closed 5 months ago

pegahcarter commented 5 months ago

Describe the desired feature:

"In summary, this method allows the execution of a transaction without being signed by a private key (Keyless), thus generating a “single-use uncontrollable address” just for the purpose of executing a transaction from it."

https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c

Code example that solves the feature:

No response

pcaversaccio commented 5 months ago

We offer 3 pre-signed transactions so anyone can deploy themselves (see here). Please see here for the details on why we chose the current approach. Nick's method doesn't scale, unfortunately.

pegahcarter commented 5 months ago

@pcaversaccio can you help me understand how this doesn't scale? From my understanding we can hardcode v, r, s and anyone can submit the tx to create the CreateXFactory through the returned address.

pcaversaccio commented 5 months ago

@pcaversaccio can you help me understand how this doesn't scale? From my understanding we can hardcode v, r, s and anyone can submit the tx to create the CreateXFactory through the returned address.

Chains might not support pre-EIP-155 transactions (like Canto, see also here), which are required for Nick's method, or have different gas limit requirements (like Filecoin).

pegahcarter commented 5 months ago

I believe the gas limit requirements can be worked around with an abnormally high gas limit. So then it seems like this solution would only work on EIP-155 forward-compatible chains.

pcaversaccio commented 5 months ago

I believe the gas limit requirements can be worked around with an abnormally high gas limit. So then it seems like this solution would only work on EIP-155 forward-compatible chains.

Not really, because you can't broadcast a transaction on Ethereum with e.g. 60M gas (30M is the maximum allowed on Ethereum mainnet), which is required by Filecoin.

pegahcarter commented 5 months ago

Got it, thanks! Too bad there's not a 100% trustless way.