anvil_zksync_core/node/diagnostics/
transaction.rs

1use std::collections::HashMap;
2
3use anvil_zksync_common::address_map::KNOWN_ADDRESSES;
4use zksync_types::{Address, Transaction};
5
6pub fn known_addresses_after_transaction(tx: &Transaction) -> HashMap<Address, Option<String>> {
7    let mut known_addresses: HashMap<Address, Option<String>> = KNOWN_ADDRESSES
8        .iter()
9        .map(|(address, known_address)| (*address, Some(known_address.name.clone())))
10        .collect();
11    for address in [
12        Some(tx.payer()),
13        Some(tx.initiator_account()),
14        tx.recipient_account(),
15    ]
16    .into_iter()
17    .flatten()
18    {
19        known_addresses.entry(address).or_insert(None);
20    }
21    known_addresses
22}