Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
308a761
fix: enforce stake bounds against validators with an insufficient pen…
matthias-wright Jun 8, 2026
fdf81c2
chore: add consensus-key guard when processing deposits
matthias-wright Jun 8, 2026
6b39a6e
fix: refund queued deposits that outlived their account
matthias-wright Jun 26, 2026
61f5d0f
test: cover refund of queued deposits that outlived their account
matthias-wright Jun 26, 2026
fc7b3c3
feat: rework deposit/withdrawal/stake processing and move it into Con…
matthias-wright Jun 30, 2026
1c39d7a
feat: consensus state payout methods, FullPayoutPending status, and t…
matthias-wright Jun 30, 2026
fa4ed73
chore: extract committee transition into consensus state + add lifecy…
matthias-wright Jun 30, 2026
ae5e29e
chore: route deposit/withdrawal/payout/committee through ConsensusState
matthias-wright Jun 30, 2026
7d84dae
test: split deposit signature reasons; convert node tests to query st…
matthias-wright Jul 1, 2026
6036934
fix: revert cancelled joining validator to Inactive + align node test…
matthias-wright Jul 1, 2026
9604059
test: align full-exit tests and e2e binaries with amount-0 full exit
matthias-wright Jul 1, 2026
71368b4
test: add test_stake_increase_topup_keeps_active_validator
matthias-wright Jul 1, 2026
ea709f1
docs: update deposit and withdrawal docs
matthias-wright Jul 1, 2026
43a6c56
test: regression for #211 (refund vs same-pubkey exit must not merge)
matthias-wright Jul 1, 2026
a5bf10f
fix: bound epoch-boundary withdrawal work to the cap
matthias-wright Jul 1, 2026
8e46852
docs: update ssz docs
matthias-wright Jul 1, 2026
d54dd86
chore: remove MaximumStake and move exit-budget reset into ConsensusS…
matthias-wright Jul 1, 2026
1158016
chore: drop dead has_pending_deposit/has_pending_withdrawal fields
matthias-wright Jul 1, 2026
fc4e8fd
docs: update ssz docs
matthias-wright Jul 1, 2026
cdc57db
fix: enforce non-decreasing epoch order when decoding the withdrawal …
matthias-wright Jul 1, 2026
074f39f
test: pin deposit/withdrawal edge cases and restart persistence
matthias-wright Jul 2, 2026
0bc3e13
chore: remove redundant PendingWithdrawal.balance_deduction
matthias-wright Jul 2, 2026
5343e65
fix: harden withdrawal decode + finalizer boundary, repair fuzz crate
matthias-wright Jul 2, 2026
e3c0996
test: pin out-of-committee statuses are ignored by stake-bound enforc…
matthias-wright Jul 2, 2026
ea52062
fix: reconcile audit checkpoint tests with the deposit/withdrawal ref…
matthias-wright Jul 2, 2026
55810cc
test: cover buffered withdrawal edge cases
matthias-wright Jul 2, 2026
8609e9b
fix: clamp terminal-block payouts against the prospective minimum stake
matthias-wright Jul 6, 2026
1549094
chore: remove unused pending_deposit_amount
matthias-wright Jul 6, 2026
04a100b
chore: remove dead code with no callers
matthias-wright Jul 7, 2026
63f405c
fix: reject unverified block withdrawals before EL forkchoice adoption
matthias-wright Jul 7, 2026
fb83926
chore: batch the push-side withdrawal subtree rebuild
matthias-wright Jul 7, 2026
8f0e2ab
fix: repopulate pending_checkpoint when restoring from a checkpoint
matthias-wright Jul 7, 2026
1d042bb
chore: remove stale commented-out tests
matthias-wright Jul 7, 2026
176eeaf
fix: keyed withdrawal proof resolves the earliest entry per pubkey
matthias-wright Jul 7, 2026
4339fae
fix: reject epoch-mismatched blocks before EL forkchoice adoption
matthias-wright Jul 7, 2026
97b6834
feat: cap pending withdrawals per validator
matthias-wright Jul 17, 2026
e6cb10e
fix: consume stale withdrawal entries on credential mismatch
matthias-wright Jul 17, 2026
a5b5b0a
feat: update commonware to 2026.5.0
matthias-wright Jul 8, 2026
28f4ee1
feat: upgrade commonware to 2026.7.0
matthias-wright Jul 27, 2026
c400a1f
chore: add counters for critical error logs
matthias-wright Jul 29, 2026
04a9b68
feat: report equivocation to finalizer
matthias-wright Jul 29, 2026
eac5351
fix: install prometheus recorder eagerly at metrics server startup
matthias-wright Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@ High-performance consensus client for EVM-based blockchains, built by [Seismic S

## Commonware

[Commonware](https://commonware.xyz) is Summit's core infrastructure layer. Summit depends on 12 Commonware crates (version pinned in root `Cargo.toml`). Nearly every component in Summit is built on top of Commonware primitives.
[Commonware](https://commonware.xyz) is Summit's core infrastructure layer. Summit depends on 14 Commonware crates (version pinned in root `Cargo.toml`). Nearly every component in Summit is built on top of Commonware primitives.

| Crate | What it provides |
| --- | --- |
| `commonware-actor` | Actor mailboxes with backpressure policies (`Policy`/`Overflow`), `Feedback` for sync sends |
| `commonware-consensus` | Simplex BFT protocol — leader election, notarization (2/3+1), finalization |
| `commonware-cryptography` | BLS12-381 multisig, Ed25519 identity, SHA256 hashing |
| `commonware-runtime` | Async runtime abstractions — Clock, Spawner, Metrics, Signal/Stopper |
| `commonware-storage` | QMDB key-value store, immutable & prunable archives |
| `commonware-p2p` | Authenticated P2P connections, peer management, simulated network for tests |
| `commonware-broadcast` | Buffered reliable broadcast between validators |
| `commonware-codec` | Streaming encode/decode for blocks, checkpoints, and messages |
| `commonware-formatting` | Hex encoding/decoding (`hex`, `from_hex`) |
| `commonware-resolver` | Request-response backfill for missing blocks from peers |
| `commonware-utils` | Channels (mpsc, oneshot), ordered sets, byte utilities, non-zero types |
| `commonware-macros` | `select!`/`select_loop!` async macros, `test_traced!` for instrumented tests |
Expand Down Expand Up @@ -62,20 +64,20 @@ target/debug/summit --help

## Test

### Unit & integration tests (153 tests)
### Unit & integration tests

```bash
cargo test # default features — 153 tests
cargo test --all-features # includes e2e test harness — 170 tests
cargo test # default features
cargo test --all-features # includes e2e test harness
```

Test breakdown by crate:

- `summit` (node): 40 tests (syncer, checkpointing, execution requests, deposits, withdrawals)
- `summit-finalizer`: 19 tests (validator lifecycle, fork handling, state queries)
- `summit-syncer`: 11 tests
- `summit-types`: 75 tests (codec, consensus state, headers, withdrawals, protocol params)
- `summit-rpc`: 8 integration tests
- `summit` (node): syncer, checkpointing, execution requests, observer, and engine integration tests
- `summit-finalizer`: validator lifecycle, fork handling, and state query tests
- `summit-syncer`: delivery, recovery, durability, resolver, subscription, and forwarding tests
- `summit-types`: codec, consensus state, header, withdrawal, and protocol parameter tests
- `summit-rpc`: JSON-RPC integration tests

### CI checks (must pass before PR)

Expand Down
Loading
Loading