stratus/eth/primitives/
mod.rs

1mod account;
2mod address;
3mod block;
4mod block_filter;
5mod block_header;
6mod block_number;
7pub mod bytes;
8mod call_input;
9mod chain_id;
10mod difficulty;
11mod ecdsa_rs;
12mod ecdsa_v;
13pub mod execution;
14mod execution_account_changes;
15mod execution_metrics;
16mod execution_result;
17mod execution_value_change;
18mod external_block;
19mod external_block_with_receipts;
20mod external_receipt;
21mod external_receipts;
22mod external_transaction;
23mod gas;
24mod hash;
25mod index;
26mod log;
27mod log_filter;
28mod log_filter_input;
29mod log_mined;
30mod log_topic;
31pub mod logs_bloom;
32mod miner_nonce;
33mod nonce;
34mod pending_block;
35mod pending_block_header;
36mod point_in_time;
37mod signature_component;
38mod size;
39mod slot;
40mod slot_index;
41mod slot_value;
42mod stratus_error;
43mod transaction_execution;
44mod transaction_input;
45mod transaction_mined;
46mod transaction_stage;
47mod unix_time;
48mod unix_time_now;
49mod wei;
50
51pub use account::Account;
52pub use account::test_accounts;
53pub use address::Address;
54pub use block::Block;
55pub use block_filter::BlockFilter;
56pub use block_header::BlockHeader;
57pub use block_number::BlockNumber;
58pub use bytes::Bytes;
59pub use call_input::CallInput;
60pub use chain_id::ChainId;
61pub use difficulty::Difficulty;
62pub use ecdsa_rs::EcdsaRs;
63pub use ecdsa_v::EcdsaV;
64pub use execution::EvmExecution;
65pub use execution::ExecutionChanges;
66pub use execution_account_changes::ExecutionAccountChanges;
67pub use execution_metrics::EvmExecutionMetrics;
68pub use execution_result::ExecutionResult;
69pub use execution_value_change::ExecutionValueChange;
70pub use external_block::ExternalBlock;
71pub use external_block_with_receipts::ExternalBlockWithReceipts;
72pub use external_receipt::ExternalReceipt;
73pub use external_receipts::ExternalReceipts;
74pub use external_transaction::ExternalTransaction;
75pub use gas::Gas;
76pub use hash::Hash;
77pub use index::Index;
78pub use log::Log;
79pub use log_filter::LogFilter;
80pub use log_filter_input::LogFilterInput;
81pub use log_filter_input::LogFilterInputTopic;
82pub use log_mined::LogMined;
83pub use log_topic::LogTopic;
84pub use miner_nonce::MinerNonce;
85pub use nonce::Nonce;
86pub use pending_block::PendingBlock;
87pub use pending_block_header::PendingBlockHeader;
88pub use point_in_time::PointInTime;
89pub use signature_component::SignatureComponent;
90pub use size::Size;
91pub use slot::Slot;
92pub use slot_index::SlotIndex;
93pub use slot_value::SlotValue;
94pub use stratus_error::ConsensusError;
95pub use stratus_error::ErrorCode;
96pub use stratus_error::ImporterError;
97pub use stratus_error::RpcError;
98pub use stratus_error::StateError;
99pub use stratus_error::StorageError;
100pub use stratus_error::StratusError;
101pub use stratus_error::TransactionError;
102pub use stratus_error::UnexpectedError;
103pub use transaction_execution::TransactionExecution;
104pub use transaction_input::TransactionInput;
105pub use transaction_mined::TransactionMined;
106pub use transaction_stage::TransactionStage;
107pub use unix_time::UnixTime;
108pub use unix_time_now::UnixTimeNow;
109pub use wei::Wei;
110
111// -----------------------------------------------------------------------------
112// Tests
113// -----------------------------------------------------------------------------
114#[cfg(test)]
115mod tests {
116    use super::*;
117    use crate::gen_test_json;
118    use crate::gen_test_serde;
119
120    type TransactionExecutionValueChangeBytes = ExecutionValueChange<Bytes>;
121    type TransactionExecutionValueChangeNonce = ExecutionValueChange<Nonce>;
122    type TransactionExecutionValueChangeOptionString = ExecutionValueChange<Option<String>>;
123    type TransactionExecutionValueChangeSlot = ExecutionValueChange<Slot>;
124    type TransactionExecutionValueChangeWei = ExecutionValueChange<Wei>;
125
126    // TODO: Test external structs and internal structs that contain external strtucts that do no implement faker::Dummy
127    // gen_test_serde!(ExecutionConflicts);
128    // gen_test_serde!(ExecutionConflictsBuilder);
129    // gen_test_serde!(ExternalBlock);
130    // gen_test_serde!(ExternalReceipt);
131    // gen_test_serde!(ExternalReceipts);
132    // gen_test_serde!(ExternalTransaction);
133    // gen_test_serde!(ExternalTransactionExecution);
134    // gen_test_serde!(PendingBlock);
135    // gen_test_serde!(TransactionExecution);
136    // gen_test_serde!(TransactionStage);
137
138    gen_test_json!(ExternalBlock);
139    gen_test_json!(ExternalBlockWithReceipts);
140    gen_test_json!(ExternalReceipt);
141    gen_test_json!(ExternalReceipts);
142    gen_test_json!(ExternalTransaction);
143
144    gen_test_serde!(Account);
145    gen_test_serde!(Address);
146    gen_test_serde!(Block);
147    gen_test_serde!(BlockFilter);
148    gen_test_serde!(BlockHeader);
149    gen_test_serde!(BlockNumber);
150    gen_test_serde!(Bytes);
151    gen_test_serde!(CallInput);
152    gen_test_serde!(ChainId);
153    gen_test_serde!(Difficulty);
154    gen_test_serde!(EcdsaRs);
155    gen_test_serde!(EcdsaV);
156    gen_test_serde!(EvmExecution);
157    gen_test_serde!(EvmExecutionMetrics);
158    gen_test_serde!(ExecutionAccountChanges);
159    gen_test_serde!(ExecutionResult);
160    gen_test_serde!(Gas);
161    gen_test_serde!(Hash);
162    gen_test_serde!(Index);
163    gen_test_serde!(Log);
164    gen_test_serde!(LogFilter);
165    gen_test_serde!(LogFilterInput);
166    gen_test_serde!(LogFilterInputTopic);
167    gen_test_serde!(LogMined);
168    gen_test_serde!(LogTopic);
169    gen_test_serde!(MinerNonce);
170    gen_test_serde!(Nonce);
171    gen_test_serde!(SignatureComponent);
172    gen_test_serde!(Size);
173    gen_test_serde!(Slot);
174    gen_test_serde!(SlotIndex);
175    gen_test_serde!(SlotValue);
176    gen_test_serde!(TransactionExecutionValueChangeBytes);
177    gen_test_serde!(TransactionExecutionValueChangeNonce);
178    gen_test_serde!(TransactionExecutionValueChangeOptionString);
179    gen_test_serde!(TransactionExecutionValueChangeSlot);
180    gen_test_serde!(TransactionExecutionValueChangeWei);
181    gen_test_serde!(TransactionInput);
182    gen_test_serde!(TransactionMined);
183    gen_test_serde!(UnixTime);
184    gen_test_serde!(UnixTimeNow);
185    gen_test_serde!(Wei);
186}