-
Notifications
You must be signed in to change notification settings - Fork 80
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implementation of EIP-1153: Transient Storage using Disk Persistence …
…and Lifecycle Management (#1588) * initial implementation of EIP-1153: Transient Storage - TODOs remain around comparing the liveliness of the transient data and validating that functionality in a test * fix transient state error message * remove pub visibility from transient_data_lifespan. TODO still is combine transient_slots with transient_data_lifespan anyway. * further implementation of lifecycle management for transient data, TODO reinitialize does not properly clear state KAMT due to clone/reference issues that are being debugged * update evm contract State to use transient_data a composite of transient_data_state and transient_data_lifespan * cargo fmt * update comments on tests * add tstorage test contract files * use a non optimized delete method to clear transient storage. TODO update kamt lirbary to support a clear method * failing tests that need to be investigated * add test confirming transient storage is cleared * more test debugging * cargo fmt * fix cargo check nit * simplify transient test * support nested and reentry in transient storage in integration tests * progress on fixing removing tranisent storage lifespan from system, but still issues with reload * use clear instead of loop and delete * use kamt clear in reload * unused var * remove Options from transient data in state and handle None better to avoid panics * add current_transient_data_lifespan to state and refactor get_current_transient_data_lifespan to be a free function * fmt * set in call to true because transient data calls message() which has that assertion * Update actors/evm/src/interpreter/system.rs Co-authored-by: Steven Allen <[email protected]> * Revert "Update actors/evm/src/interpreter/system.rs" This reverts commit 3d5deba. * Revert "Revert "Update actors/evm/src/interpreter/system.rs"" This reverts commit 22963df. * get get_current_transient_data_lifespan throw an error if it cannot form a valid object * change transient data origin from id to Address * Revert "change transient data origin from id to Address" This reverts commit 3c6d9a7. * remove test: origin is always an ID address * remove unused import * remove duplicate comment * use self.current_transient_data_lifespan * get_current_transient_data_lifespan does not need to be public * remove match from get_current_transient_data_lifespan and use an unwrap because we have already validated the existance of an id * remove error case from new * remove allow non snake case from transient storage tests * Update actors/evm/src/interpreter/system.rs Co-authored-by: Steven Allen <[email protected]> * Update actors/evm/tests/basic.rs Co-authored-by: Rod Vagg <[email protected]> * Update actors/evm/tests/contracts/TransientStorageTest.sol Co-authored-by: Rod Vagg <[email protected]> * Update actors/evm/tests/contracts/TransientStorageTest.sol Co-authored-by: Rod Vagg <[email protected]> * Update actors/evm/tests/contracts/TransientStorageTest.sol Co-authored-by: Rod Vagg <[email protected]> * remove now unused solidity test contracts that have previously been refactored into TransientStorageTest * forge fmt and solc recompile * add comments to transient storage test file with test information --------- Co-authored-by: Steven Allen <[email protected]> Co-authored-by: Rod Vagg <[email protected]>
- Loading branch information
1 parent
b4ed8cf
commit fdbdfc6
Showing
19 changed files
with
635 additions
and
26 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.