You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: documentation/src/crates/precompile.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
The `precompile` crate contains the implementation of the Ethereum precompile opcodes in the EVM.
4
4
Precompiles are a shortcut to execute a function implemented by the EVM itself, rather than an actual contract.
5
5
Precompiled contracts are essentially predefined smart contracts on Ethereum, residing at hardcoded addresses and used for computationally heavy operations that are cheaper when implemented this way.
6
-
There are 6 precompiles implemented in REVM, and they are: `blake2`, `bn128` curve, `identity`, `secp256k1`, `modexp`, and `sha256` and `ripemd160` hash functions.
6
+
There are 7 precompiles implemented in REVM, and they are: `blake2`, `bn128` curve, `identity`, `secp256k1`, `modexp`, and `sha256` and `ripemd160` hash functions.
Copy file name to clipboardexpand all lines: documentation/src/crates/primitives/kzg.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# KZG
2
2
3
-
With the introduction of [EIP4844](https://eips.ethereum.org/EIPS/eip-4844), this use of blobs for a more efficient short term storage is employed, the validity of this blob stored in the consensus layer is verified using the `Point Evaluation` pre-compile, a fancy way of verifying that and evaluation at a given point of a committed polynomial is valid, in a much more bigger scale, implies that `Data is Available`.
3
+
With the introduction of [EIP4844](https://eips.ethereum.org/EIPS/eip-4844), this use of blobs for a more efficient short term storage is employed, the validity of this blob stored in the consensus layer is verified using the `Point Evaluation` pre-compile, a fancy way of verifying that and evaluation at a given point of a committed polynomial is valid, on a much bigger scale, implies that `Data is Available`.
Copy file name to clipboardexpand all lines: documentation/src/crates/revm/builder.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,11 @@ The builder creates or modifies the EVM and applies different handlers.
4
4
It allows setting external context and registering handler custom logic.
5
5
6
6
The revm `Evm` consists of `Context` and `Handler`.
7
-
`Context` is additionally split between `EvmContext` (contains generic `Database`) and `External` context (generic without restrain).
7
+
`Context` is additionally split between `EvmContext` (contains generic `Database`) and `External` context (generic without restraint).
8
8
Read [evm](./evm.md) for more information on the internals.
9
9
10
10
The `Builder` ties dependencies between generic `Database`, `External` context and `Spec`.
11
-
It allows handle registers to be added that implement logic on those generics.
11
+
It allows handler registers to be added that implement logic on those generics.
12
12
As they are interconnected, setting `Database` or `ExternalContext` resets handle registers, so builder stages are introduced to mitigate those misuses.
13
13
14
14
Simple example of using `EvmBuilder`:
@@ -28,7 +28,7 @@ There are two builder stages that are used to mitigate potential misuse of the b
28
28
-`SetGenericStage`: Initial stage that allows setting the database and external context.
29
29
-`HandlerStage`: Allows setting the handler registers but is explicit about setting new generic type as it will void the handler registers.
30
30
31
-
Functions from one stage are just renamed functions from other stage, it is made so that user is more aware of what underlying function does.
31
+
Functions from one stage are just renamed functions from other stage, it is made so that the user is more aware of what underlying function does.
32
32
For example, in `SettingDbStage` we have `with_db` function while in `HandlerStage` we have `reset_handler_with_db`, both of them set the database but the latter also resets the handler.
33
33
There are multiple functions that are common to both stages such as `build`.
34
34
@@ -164,7 +164,7 @@ fn main() {
164
164
## Appending handler registers
165
165
166
166
Handler registers are simple functions that allow modifying the `Handler` logic by replacing the handler functions.
167
-
They are used to add custom logic to the evm execution but as they are free to modify the `Handler` in any form they want.
167
+
They are used to add custom logic to the evm execution but they are free to modify the `Handler` in any form they want.
168
168
There may be conflicts if handlers that override the same function are added.
169
169
170
170
The most common use case for adding new logic to `Handler` is `Inspector` that is used to inspect the execution of the evm.
0 commit comments