ccnext_abi_encoding/abi/
mod.rs1use 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}