ccnext_abi_encoding/abi/
mod.rs

1use super::common::AbiEncodeResult;
2
3use alloy::rpc::types::{Transaction, TransactionReceipt};
4use thiserror::Error;
5
6mod v1;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub enum EncodingVersion {
10    V1 = 1,
11}
12
13#[derive(Debug, Error)]
14pub enum EncodeError {
15    #[error("Custom error: {0}")]
16    Custom(String),
17}
18
19pub fn abi_encode(
20    tx: Transaction,
21    rx: TransactionReceipt,
22    version: EncodingVersion,
23) -> Result<AbiEncodeResult, Box<dyn std::error::Error>> {
24    match version {
25        EncodingVersion::V1 => v1::abi_encode(tx, rx),
26    }
27}