spalladino / ethereum-upgrade-storage-free

Proof of concept for a delegatecall proxy upgrade pattern without storage usage
54 stars 9 forks source link

would using lurch/rooted remove the need for red-green deployment? #1

Open thegostep opened 3 years ago

thegostep commented 3 years ago

https://github.com/ricmoo/lurch/tree/master/rooted

spalladino commented 3 years ago

Not really. Root has the same restriction as any other CREATE2-based upgrade, which is having to deploy the upgraded version in a different tx than the SELFDESTRUCT.

thegostep commented 3 years ago

and using a factory to bundle the calls doesn't get around this restriction? I find this surprising

spalladino commented 3 years ago

As far as I understand, problem is that SELFDESTRUCT does not destroy the contract - it only marks it for destruction, and the destruction is carried out when the tx finishes. I ran some tests locally and it seems to be the case.