|
1 | 1 | //! [`Trevm`] - a typestate interface to [`revm`]. |
2 | 2 | //! |
3 | | -//! Tevm provides a safe and low-overhead way to interact with the EVM. It is |
| 3 | +//! Trevm provides a safe and low-overhead way to interact with the EVM. It is |
4 | 4 | //! based on the [typestate pattern], which allows the compiler to enforce |
5 | 5 | //! correct usage of the EVM. |
6 | 6 | //! |
7 | | -//! Tevm is NOT an EVM implementation. It is a thin wrapper around the EVM |
| 7 | +//! Trevm is NOT an EVM implementation. It is a thin wrapper around the EVM |
8 | 8 | //! provided by [`revm`]. |
9 | 9 | //! |
10 | 10 | //! [`Trevm`] models the EVM as a state machine with the following states: |
|
40 | 40 | //! |
41 | 41 | //! ``` |
42 | 42 | //! use revm::{EvmBuilder, db::InMemoryDB}; |
43 | | -//! use trevm::{TrevmBuilder, EvmErrored, Cfg, Block, Tx, }; |
| 43 | +//! use trevm::{TrevmBuilder, EvmErrored, Cfg, Block, Tx}; |
44 | 44 | //! |
45 | 45 | //! # fn t<C: Cfg, B: Block, T: Tx>(cfg: &C, block: &B, tx: &T) |
46 | 46 | //! # -> Result<(), Box<dyn std::error::Error>> { |
|
68 | 68 | //! `()` for `Ext`, unless specifically using an inspector or a customized EVM. |
69 | 69 | //! |
70 | 70 | //! To help you use concrete types, we provide the [`trevm_aliases`] macro. This |
71 | | -//! macro generates type aliases for the Trevm states with a concrete `Ext` and |
| 71 | +//! macro generates type aliases for the Trevm states with concrete `Ext` and `Db` types. |
72 | 72 | //! |
73 | 73 | //! ``` |
74 | 74 | //! use trevm::trevm_aliases; |
|
97 | 97 | //! requests by crediting accounts. |
98 | 98 | //! - [`eip6110`] - Prague's [EIP-6110], which extracts deposit |
99 | 99 | //! requests from the withdrawal contract events. |
100 | | -//! - [`eip7002`] - Prague's [EIP-7002], which extracts withdrawal requestss |
101 | | -//! from the system withdrwal contract state. |
| 100 | +//! - [`eip7002`] - Prague's [EIP-7002], which extracts withdrawal requests |
| 101 | +//! from the system withdrawal contract state. |
102 | 102 | //! - [`eip7251`] - Prague's [EIP-7251], which extracts |
103 | | -//! consolidation requestss from the system consolidation contract state. |
| 103 | +//! consolidation requests from the system consolidation contract state. |
104 | 104 | //! |
105 | 105 | //! The [`BlockDriver`] and [`ChainDriver`] trait methods take a mutable |
106 | 106 | //! reference to allow the driver to accumulate information about the |
|
287 | 287 | //! |
288 | 288 | //! ## Happy Path Loop |
289 | 289 | //! |
290 | | -//! The most simple, straightforward application of Tevm is applying a |
| 290 | +//! The most simple, straightforward application of Trevm is applying a |
291 | 291 | //! set of transaction to the EVM. This is done by following : |
292 | 292 | //! |
293 | 293 | //! ```none |
|
339 | 339 | //! [crate readme]: https://github.com/init4tt/trevm |
340 | 340 | //! [EIP-2537]: https://eips.ethereum.org/EIPS/eip-2537 |
341 | 341 | //! [EIP-2935]: https://eips.ethereum.org/EIPS/eip-2935 |
| 342 | +//! [EIP-4788]: https://eips.ethereum.org/EIPS/eip-4788 |
342 | 343 | //! [EIP-4844]: https://eips.ethereum.org/EIPS/eip-4844 |
343 | 344 | //! [EIP-4895]: https://eips.ethereum.org/EIPS/eip-4895 |
344 | 345 | //! [EIP-6110]: https://eips.ethereum.org/EIPS/eip-6110 |
|
0 commit comments