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