kabu_evm_utils/
geth_state_update.rs

1use alloy::primitives::{Address, B256, U256};
2use alloy::rpc::types::trace::geth::AccountState;
3use kabu_types_blockchain::GethStateUpdate;
4
5pub fn account_state_with_nonce_and_balance(nonce: u64, balance: U256) -> AccountState {
6    AccountState { balance: Some(balance), code: None, nonce: Some(nonce), storage: Default::default() }
7}
8pub fn account_state_add_storage(account_state: AccountState, key: B256, value: B256) -> AccountState {
9    let mut account_state = account_state;
10    account_state.storage.insert(key, value);
11    account_state
12}
13
14pub fn geth_state_update_add_account(update: GethStateUpdate, address: Address, account_state: AccountState) -> GethStateUpdate {
15    let mut update = update;
16    update.insert(address, account_state);
17    update
18}