formal-land / coq-of-python

Translate Python code to Coq code for formal verification. Applied to the reference implementation of Ethereum in Python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simulations for the state instructions

clarus opened this issue · comments

Add simulations for the instructions in https://github.com/ethereum/execution-specs/blob/master/src/ethereum/paris/state.py
There are a lot of dependencies which can be axiomatized.

  • State
  • close_state
  • begin_transaction
  • commit_transaction
  • rollback_transaction
  • get_account
  • get_account_optional
  • set_account
  • destroy_account
  • destroy_storage
  • mark_account_created
  • get_storage
  • set_storage
  • storage_root
  • state_root
  • get_storage_root
  • account_exists
  • account_has_code_or_nonce
  • is_account_empty
  • account_exists_and_is_empty
  • is_account_alive
  • modify_state
  • move_ether
  • reduce_sender_balance
  • increase_recipient_balance
  • set_account_balance
  • set_balance
  • touch_account
  • increment_nonce
  • increase_nonce
  • set_code
  • write_code
  • get_storage_original