erhant
d417a4e828
chore: add trust assumption comment [skip ci]
2026-07-20 22:05:42 +03:00
erhant
c8dd76a94b
fix(sequencer, storage): persist under the chain lock, prune stale blocks on shortening reorgs, halt on persist failure
2026-07-20 21:59:24 +03:00
erhant
6eb1435062
refactor(sequencer, storage): review nit-fixes, sync follow sink, validate-on-deserialize with turn bounds.
2026-07-20 15:05:26 +03:00
erhant
b5ea72b145
chore:(chain_state): Update lez/chain_state/Cargo.toml
...
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
2026-07-20 12:42:29 +03:00
erhant
a8797d8b37
chore: fmt
2026-07-16 18:12:07 +03:00
erhant
0135049710
fix(chain_state, sequencer, storage): rebuild the two-tier state on restart
...
- persist a final-tier snapshot (state + meta) atomically with the follow update that advanced it; on boot, anchor `final` on it and replay stored blocks above it as `head`, so a post-restart orphan of a not-yet-finalized block still reverts instead of silently diverging
- correlate orphan/finalize events by block hash: restored head entries carry hash-derived sentinel MsgIds (the real ones are not persisted)
- a finalized block chaining on an unfinalized head entry finalizes that prefix (finality is prefix-monotone)
- warn on (and keep ignoring) a same-height adopted competitor that arrives without its orphan sibling — an SDK-contract breach worth surfacing
- follow path reverts orphans via one batched `apply_channel_update` (single truncate + head re-derivation) instead of a re-derivation per orphan
- remove DESIGN.md, move to task docs instead
- trim very long comments / docstrings
2026-07-16 18:11:44 +03:00
erhant
f8bc1581ce
fix(chain_state, sequencer, indexer): finalized re-delivery dedup, non-blocking orphan resubmit, fail-fast validation
2026-07-16 14:10:54 +03:00
erhant
c9e3bf2a05
feat(sequencer): multi-sequencer demo ergonomics (--home override, pubkey helper, demo recipes)
2026-07-15 13:35:23 +03:00
erhant
1a5da3d925
chore: fix lint
2026-07-15 13:35:23 +03:00
erhant
ed8c9c253d
fix(sequencer): persist follow updates atomically in one write batch
2026-07-15 13:35:23 +03:00
erhant
9d1d33363a
fix(sequencer): skip persistence when a produced block loses the competing-write race
2026-07-15 13:35:23 +03:00
erhant
66fb83276f
fix(sequencer): fix copilot reviews
2026-07-15 13:35:23 +03:00
erhant
e34acc35f9
fix(sequencer): validate adminConfigureChannel requests, per Copilot review
2026-07-15 13:35:23 +03:00
copilot-swe-agent[bot]
14ce6ad871
fix: update spin v0.9.8 -> v0.9.9 (yanked crate fix for cargo-deny)
2026-07-15 13:35:23 +03:00
erhant
abd70d699c
fix(sequencer): use ED25519_SECRET_KEY_SIZE and retain BoundedError message
2026-07-15 13:35:23 +03:00
erhant
2c5bac506b
docs(sequencer): clarify queued semantics of adminConfigureChannel
2026-07-15 13:35:23 +03:00
erhant
e2283e8f47
test(integration): multi-sequencer committee convergence
2026-07-15 13:35:23 +03:00
erhant
213dc94c93
test(fixtures): allow injecting a pre-generated bedrock signing key
2026-07-15 13:35:23 +03:00
erhant
e802a2a364
feat(sequencer): adminConfigureChannel RPC for channel roster changes
2026-07-15 13:35:23 +03:00
erhant
f761d66dba
feat(sequencer): channel roster configuration through the block publisher
2026-07-15 13:22:00 +03:00
erhant
0612132bed
test(chain_state,sequencer): add unit tests for chain_state
2026-07-15 13:22:00 +03:00
erhant
0b6a947713
fix(sequencer): correct test assertion
2026-07-15 13:22:00 +03:00
erhant
a0f7957468
chore: add TODO doc about transient apply failures [skip ci]
2026-07-15 13:22:00 +03:00
erhant
0046a1c822
feat(sequencer): now keep orphaned in mempool + use with_state to avoid clone for method calls to V03State
2026-07-15 13:22:00 +03:00
erhant
cb23561b3a
feat(sequencer): store adopted and finalized blocks on disk within on_follow
2026-07-15 13:20:38 +03:00
erhant
82bb454615
chore: formatting
2026-07-15 13:20:38 +03:00
erhant
530f7d77c4
feat!(sequencer): derive state from ChainState via state() method, remove the state attribute
2026-07-15 13:20:38 +03:00
erhant
c0d4aa4fac
fix(sequencer): apply the own-published block immediately to the head & dedup it later if received
2026-07-15 13:20:38 +03:00
erhant
d0be0fe46c
feat(sequencer): read channel_update and respect adopted/orphaned blocks
2026-07-15 13:20:38 +03:00
erhant
d4d28d1134
feat!(sequencer): add is_our_turn
2026-07-15 13:20:38 +03:00
erhant
3ed67126e8
feat(chain_state): implement two-tip ChainState struct
2026-07-15 13:20:38 +03:00
erhant
d89150b00f
refactor!(indexer): migr to chain_state
2026-07-15 13:20:38 +03:00
erhant
480b720293
chore(chain_state): doc fix
2026-07-15 13:20:38 +03:00
erhant
41eeef1c3b
feat(chain_state): initial preps, one more design fix
2026-07-15 13:20:38 +03:00
erhant
0838a150bf
chore(chain_state): update DESIGN.md
2026-07-15 13:20:38 +03:00
erhant
8402afd341
feat(chain_state): initial design doc
2026-07-15 13:20:38 +03:00
Artem Gureev
2dd472217f
Merge pull request #598 from logos-blockchain/artem/batched-merkle-proofs
...
feat!: batched merkle proof fetching
2026-07-15 10:04:39 +04:00
Artem Gureev
40595604a4
Merge pull request #585 from logos-blockchain/artem/change-wallet-balance-fetch
...
feat(wallet): change wallet synchronization flow
2026-07-14 12:43:34 +04:00
Artem Gureev
e408c05297
feat(wallet): validate batched proofs against the root
2026-07-13 13:34:03 +00:00
Artem Gureev
8545ff1466
feat!(sequencer): serve proofs and root in one getProofsAndRoot RPC
...
BREAKING:
Before: An endpoint exposing getting a single proof for a commitment
existed.
After: There is one endpoint where you give a vector of commitments
and a vector of Maybe proofs back alongside the shared root.
Mitigation: Use the new rpc endpoint with the appopriate vector.
2026-07-13 13:34:03 +00:00
agureev
027ab5a0d9
chore: regenerate test fixtures
2026-07-13 15:51:17 +04:00
agureev
ae391612bd
Merge remote-tracking branch 'origin/dev' into artem/change-wallet-balance-fetch
2026-07-13 15:19:06 +04:00
Moudy
cac4921581
Merge pull request #542 from logos-blockchain/moudy/feat-cross-zone-messaging
...
feat!(cross-zone): async LEZ to LEZ cross-zone messaging
2026-07-11 02:24:34 +02:00
moudyellaz
eff31df9ce
Merge origin/dev
2026-07-11 01:12:00 +02:00
moudyellaz
c9b6df2be9
chore(cross-zone): remove stale old-style program_methods guest bins
2026-07-10 19:02:23 +02:00
erhant
5e53c34e80
Merge pull request #581 from logos-blockchain/erhant/indexer-recoverable-invalid-blocks
...
feat(indexer): recoverable invalid blocks
2026-07-10 18:58:10 +03:00
erhant
ce37428e1e
fix(indexer): handle park_undeserializable errors properly
2026-07-10 18:35:01 +03:00
erhant
1560b27d02
refactor(indexer): auto-cancel token on Drop
2026-07-10 18:35:01 +03:00
erhant
d22f8b540b
refactor(indexer): make put_block own the breakpoint schedule
...
`RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p storage -p indexer_core`
2026-07-10 18:35:01 +03:00
erhant
280885532b
refactor(indexer): rename AcceptOutcome::ApplyFailed to RetryableFailure
2026-07-10 18:35:01 +03:00