Federico Gimenez

Results 31 issues of Federico Gimenez

When connecting buffered blocks state root validation does not occur. As state root validation does not occur later except for the tip when a new canonical head is chosen. The...

A-blockchain-tree
C-security

The RLP decoding of transactions in EngineAPI is not strict, it allows excess bytes to be appended to a transaction and still decode successfully. According to the Yellow Paper, the...

A-rpc
C-security

When validating if a given `ForkId` is compatible with a `ForkFilter`, the field `next` can represent a timestamp or a block, and there isn't enough distinction about which one it...

A-blockchain-tree
C-security

We are configuring the exclusive mode of `libmdbx` with `exclusive: args.exclusive.unwrap_or_default()`. `args.exlusive` is `Option`, so, if it is not set by an argument from the command line, `unwrap_or_default()` will set...

When configuring `libdbmx` on `DatabaseEnv::open`, the `shrink_threshold` field is set to `None`, which actually results in the default of −1 being passed through to the underlying implementation at https://github.com/paradigmxyz/reth/blob/main/crates/storage/libmdbx-rs/src/environment.rs#L643 According...

C-bug
A-db

EIP-4844 transactions have a restriction that they should not allow CREATE transactions. In this PR the `to` field in `TxEip4844` is changed from `TxKind` to `Address`, so that it can't...

A-rpc
C-security

If the function `split()` is called with a block number greater than the tip it will consider this split valid and treat it the same as splitting the canonical head....

C-bug
A-blockchain-tree
C-security

Removes some `expect()` occurences in `blockchain_tree.rs` that may be reachable if other code has bugs which allow invalid conditions. In all cases `debug!` is called to have logs entry about...

A-blockchain-tree
C-security

Closes: #11330 It can be used for instance with state root calculation like this ````rust let (tx, rx) = channel(); // spawn SR p.executor().execute_with_hook(.., |state| tx.send(state.clone())); ````