lambdaclass / era_vm

EraVM implementation
MIT License
19 stars 3 forks source link

Rethink `TransientStorage` implementation. #132

Closed JulianVentura closed 1 month ago

JulianVentura commented 1 month ago

Currently, when we make a far call, we are creating a new Context which instantiates a new InMemory storage. This may be problematic in the future if some far calls are reentrant (we would lose the state in the transient storage). We may instead change this implementation to clone the current transient storage when making a far call or sharing a mutable reference. Whichever implementation we chose, we will have to face rollback logic in state in case of far call revert.

juan518munoz commented 1 month ago

This issue is now part of #196