ccnext_abi_encoding/abi/
mod.rs

1use super::common::{AbiEncodeResult, EncodingVersion};
2
3use alloy::rpc::types::{Transaction, TransactionReceipt};
4
5mod v1;
6
7/// Encodes a given ethereum transaction and its receipt into ABI format
8/// according to the specified encoding version.
9///
10/// If the encoding process fails, the function returns `None`.
11///
12/// This function assumes that both the transaction and receipt comply with the ethereum specifications
13/// as defined in the `alloy` crate.
14pub fn abi_encode(
15    tx: Transaction,
16    rx: TransactionReceipt,
17    version: EncodingVersion,
18) -> Option<AbiEncodeResult> {
19    match version {
20        EncodingVersion::V1 => v1::abi_encode(tx, rx),
21    }
22}