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}