3032 Commits

Author SHA1 Message Date
erhant
34af47b1d7 chore:(chain_state): Update lez/chain_state/Cargo.toml
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
2026-07-21 09:57:04 +03:00
erhant
0292e80411 chore: fmt 2026-07-21 09:57:04 +03:00
erhant
b9b4be7038 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-21 09:57:04 +03:00
erhant
3527bc8156 fix(chain_state, sequencer, indexer): finalized re-delivery dedup, non-blocking orphan resubmit, fail-fast validation 2026-07-21 09:57:04 +03:00
erhant
e2c63bdb6e feat(sequencer): multi-sequencer demo ergonomics (--home override, pubkey helper, demo recipes) 2026-07-21 09:57:04 +03:00
erhant
9e16680db8 chore: fix lint 2026-07-21 09:57:04 +03:00
erhant
844e9ae0f3 fix(sequencer): persist follow updates atomically in one write batch 2026-07-21 09:57:04 +03:00
erhant
6677d9e565 fix(sequencer): skip persistence when a produced block loses the competing-write race 2026-07-21 09:57:04 +03:00
erhant
b5b878041c fix(sequencer): fix copilot reviews 2026-07-21 09:57:04 +03:00
erhant
16d3f3ca02 fix(sequencer): validate adminConfigureChannel requests, per Copilot review 2026-07-21 09:57:04 +03:00
erhant
609d93211f fix(sequencer): use ED25519_SECRET_KEY_SIZE and retain BoundedError message 2026-07-21 09:57:04 +03:00
erhant
265104dafa docs(sequencer): clarify queued semantics of adminConfigureChannel 2026-07-21 09:57:04 +03:00
erhant
4af964dcb6 test(integration): multi-sequencer committee convergence 2026-07-21 09:57:04 +03:00
erhant
8e73e46bee test(fixtures): allow injecting a pre-generated bedrock signing key 2026-07-21 09:57:04 +03:00
erhant
c992424fc2 feat(sequencer): adminConfigureChannel RPC for channel roster changes 2026-07-21 09:57:04 +03:00
erhant
9155b5ae42 feat(sequencer): channel roster configuration through the block publisher 2026-07-21 09:57:04 +03:00
erhant
6b2f11c3db test(chain_state,sequencer): add unit tests for chain_state 2026-07-21 09:57:04 +03:00
erhant
9e3a7b8318 fix(sequencer): correct test assertion 2026-07-21 09:57:04 +03:00
erhant
d58acdd367 chore: add TODO doc about transient apply failures [skip ci] 2026-07-21 09:57:04 +03:00
erhant
d5fedfa04c feat(sequencer): now keep orphaned in mempool + use with_state to avoid clone for method calls to V03State 2026-07-21 09:57:04 +03:00
erhant
372aeb1bfc feat(sequencer): store adopted and finalized blocks on disk within on_follow 2026-07-21 09:57:04 +03:00
erhant
ad424c8c87 chore: formatting 2026-07-21 09:57:04 +03:00
erhant
e436574c0a feat!(sequencer): derive state from ChainState via state() method, remove the state attribute 2026-07-21 09:57:04 +03:00
erhant
46cd5abc2d fix(sequencer): apply the own-published block immediately to the head & dedup it later if received 2026-07-21 09:57:04 +03:00
erhant
0f0757c481 feat(sequencer): read channel_update and respect adopted/orphaned blocks 2026-07-21 09:57:04 +03:00
erhant
7cd6e940c2 feat!(sequencer): add is_our_turn 2026-07-21 09:57:04 +03:00
erhant
fa693fefc3 feat(chain_state): implement two-tip ChainState struct 2026-07-21 09:57:04 +03:00
erhant
67dafce057 refactor!(indexer): migr to chain_state 2026-07-21 09:57:04 +03:00
erhant
64bd1b6d50 chore(chain_state): doc fix 2026-07-21 09:57:04 +03:00
erhant
963b9eb269 feat(chain_state): initial preps, one more design fix 2026-07-21 09:57:04 +03:00
erhant
9000e48c72 chore(chain_state): update DESIGN.md 2026-07-21 09:57:04 +03:00
erhant
c9311cfb9a feat(chain_state): initial design doc 2026-07-21 09:57:04 +03:00
Daniil Polyakov
041cf68cd6
Merge pull request #618 from logos-blockchain/arjentix/ci-docker-image
feat(ci): use docker image for ci
2026-07-17 02:00:07 +03:00
Daniil Polyakov
2e80f4e8b2 feat(ci): pin versions of tools in ci image 2026-07-16 22:45:24 +03:00
Daniil Polyakov
56eb8d146f feat(ci): don't rebuild ci image twice for different jobs 2026-07-16 16:54:39 +03:00
Daniil Polyakov
f70b90981a fix(ci): add safe directory to git config for bench-regression job fix 2026-07-16 16:54:39 +03:00
Daniil Polyakov
e081205d95 fix(ci): run docker-dependent tests in the CI image via docker run 2026-07-16 16:54:39 +03:00
Daniil Polyakov
6dce78dd8b feat(ci): use docker image for ci 2026-07-16 16:54:39 +03:00
Moudy
390f4b48d9
Merge pull request #629 from logos-blockchain/fix-macos-metal-xcrun-cache
fix(macos): nuke xcrun cache
2026-07-16 14:48:00 +02:00
Siddarth Kumar
a7e06a6609
fix(macos): nuke xcrun cache 2026-07-16 17:10:21 +05:30
Pravdyvy
ea41d5a738
Merge pull request #582 from logos-blockchain/Pravdyvy/pda-account-id-generation
feat(wallet_ffi): pda account id generation in FFI
2026-07-15 16:18:23 +03:00
Pravdyvy
7cc094f3a4 fix(ci): fixtures and artifacts 2026-07-15 15:01:47 +03:00
Pravdyvy
7d0a2832d9 fix(deny): deny fix 2026-07-15 14:35:13 +03:00
Pravdyvy
651229c454 fix(wallet_ffi): merge upfix 2026-07-15 13:35:53 +03:00
Pravdyvy
e4fd9b2397 Merge branch 'dev' into Pravdyvy/pda-account-id-generation 2026-07-15 12:57:16 +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