plonky2/evm/src/cpu/kernel/asm/journal/nonce_change.asm
wborgeaud bfd6834dc2
Journal of state changes + state reversion (#1028)
* Add segments and global metadata

* Add journal asm files

* Start revert

* Revert access lists

* Revert balance transfer

* Revert code change

* Revert nonce change

* Revert storage change

* Checkpoints

* Add some journal entries

* Add some journal entries

* Add some journal entries

* Fix revert

* Checkpoint in sys_call

* Minor

* PR feedback

* More checkpoints

* Fix checkpoint check

* Minor

* Checkpoints in precompiles

* Storage change checkpoint

* Add touched addresses

* Add touched addresses revert

* Add touched addresses journal events

* Delete all empty touch addresses

* Implement selfdestruct

* Update aggregator.rs
2023-05-12 13:04:46 +02:00

18 lines
399 B
NASM

// struct NonceChange { address, prev_nonce }
%macro journal_add_nonce_change
%journal_add_2(@JOURNAL_ENTRY_NONCE_CHANGE)
%endmacro
global revert_nonce_change:
// stack: entry_type, ptr, retdest
POP
%journal_load_2
// stack: address, prev_nonce, retdest
%mpt_read_state_trie
// stack: nonce_ptr, prev_nonce retdest
%mstore_trie_data
// stack: retdest
JUMP