|
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