axiom_codec/utils/
shim.rs

1use axiom_eth::{impl_flatten_conversion, impl_logical_input, Field};
2
3use crate::{
4    encoder::field_elements::{
5        BITS_PER_FE_ACCOUNT, BITS_PER_FE_HEADER, BITS_PER_FE_RECEIPT,
6        BITS_PER_FE_SOLIDITY_NESTED_MAPPING, BITS_PER_FE_STORAGE, BITS_PER_FE_SUBQUERY_RESULT,
7        BITS_PER_FE_TX,
8    },
9    types::field_elements::{
10        FieldAccountSubquery, FieldHeaderSubquery, FieldReceiptSubquery,
11        FieldSolidityNestedMappingSubquery, FieldStorageSubquery, FieldTxSubquery,
12        FlattenedSubqueryResult,
13    },
14};
15
16// Inputs by subquery type, in field elements
17impl_flatten_conversion!(FieldHeaderSubquery, BITS_PER_FE_HEADER);
18impl_logical_input!(FieldHeaderSubquery, 1);
19impl_flatten_conversion!(FieldAccountSubquery, BITS_PER_FE_ACCOUNT);
20impl_logical_input!(FieldAccountSubquery, 1);
21impl_flatten_conversion!(FieldStorageSubquery, BITS_PER_FE_STORAGE);
22impl_logical_input!(FieldStorageSubquery, 1);
23impl_flatten_conversion!(FieldTxSubquery, BITS_PER_FE_TX);
24impl_logical_input!(FieldTxSubquery, 1);
25impl_flatten_conversion!(FieldReceiptSubquery, BITS_PER_FE_RECEIPT);
26impl_logical_input!(FieldReceiptSubquery, 1);
27impl_flatten_conversion!(FieldSolidityNestedMappingSubquery, BITS_PER_FE_SOLIDITY_NESTED_MAPPING);
28impl_logical_input!(FieldSolidityNestedMappingSubquery, 1);
29impl_flatten_conversion!(FlattenedSubqueryResult, BITS_PER_FE_SUBQUERY_RESULT);
30impl_logical_input!(FlattenedSubqueryResult, 0);