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
ref: #1914
A choice has been made to make this logic in the executor and avoid
extending the reaper and the sequencer.
This is because, updating the repeer, means passing down the last
fetched da height accross all components.
It adds a lot of complexity otherwise. Adding it in the sequencer may be
preferable, but this makes the inclusion in a sync node less
straightforward. This is what is being investigated.
Compared to the previous implementation, a forced transaction does not
have any structure. It should be the raw structure from the execution
client. This is to keep ev-node know nothing about the transaction. No
signature checks, no validation of correctness. The execution client
must make sure to reject gibberish transactions.
- [x] implement for executor
- [x] add size checks, to make sure batch doesn't go over max bytes
- [x] implement for syncer
- requirements:
- [x] syncer must be able to detect if sequencer was malicious and
hasn't included a forced tx
- [x] fetched inclusion of the txs bytes within the block data
- [x] if that happened, reject all future sequencer blocks
- [x] eventually, become based and keep produce block
- [x] tool for submitting forced txs in celestia easily ->
evstack/ev-abci#295
- [x] make sure epochs are in sync between syncer and executor
---- for later, won't be included in this pr (ref
#2797 (comment))
- [ ] improve offline capabilities (if sequencer goes offline, full node
become fully based)
- [ ] when sequencer comes back only, needs to fetch if any block was
produced :/
---------
Co-authored-by: Marko <marko@baricevic.me>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,12 +9,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
10
10
## [Unreleased]
11
11
12
+
### Added
13
+
14
+
- Implement forced inclusion and based sequencing ([#2797](https://github.com/evstack/ev-node/pull/2797))
15
+
This changes requires to add a `da_epoch_forced_inclusion` field in `genesis.json` file.
16
+
To enable this feature, set the force inclusion namespace in the `evnode.yaml`.
17
+
12
18
### Changed
13
19
14
20
- Rename `evm-single` to `evm` and `grpc-single` to `evgrpc` for clarity. [#2839](https://github.com/evstack/ev-node/pull/2839)
15
21
- Split cache interface in `CacheManager` and `PendingManager` and create `da` client to easy DA handling. [#2878](https://github.com/evstack/ev-node/pull/2878)
16
22
- Improve startup da retrieval height when cache cleared or empty. [#2880](https://github.com/evstack/ev-node/pull/2880)
17
23
24
+
### Removed
25
+
26
+
-**BREAKING:** Removed unused and confusing metrics from sequencers and block processing, including sequencer-specific metrics (gas price, blob size, transaction status, pending blocks), channel buffer metrics, overly granular error metrics, block production categorization metrics, and sync lag metrics. Essential metrics for DA submission health, block production, and performance monitoring are retained. [#2904](https://github.com/evstack/ev-node/pull/2904)
0 commit comments