115 Commits

Author SHA1 Message Date
erhant
dd75aebb9b fix(indexer): stop ingest loop cooperatively on shutdown 2026-07-09 14:50:12 +03:00
erhant
37aaa3100a fix(indexer): retry apply failures before parking 2026-07-09 14:19:12 +03:00
erhant
93182f0545 fix(indexer): do not park immediately on possibly-transient apply failures 2026-07-09 14:02:38 +03:00
erhant
c9f7beb95f fix(indexer): snapshot breakpoint state from the validated scratch state 2026-07-09 11:42:22 +03:00
erhant
3a86bcaf37 fix(indexer): seed breakpoint meta only on fresh store
`RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p storage -p indexer_core`
2026-07-09 11:32:37 +03:00
erhant
14da3e04c8 fix(indexer): walk down to nearest breakpoint 2026-07-09 11:25:27 +03:00
erhant
55a7ab8587 fix(indexer): initial prep for breakpoint fix 2026-07-09 11:04:21 +03:00
erhant
9b2b4a3d8c fix(indexer): keep track of L1 slot of last inscription for correct tracking 2026-07-08 14:29:57 +03:00
erhant
e87bad71ab chore: clippy docfix + bump crossbeam-epoch (RUSTSEC-2026-0204) 2026-07-08 12:04:23 +03:00
erhant
97720fc35d fix(indexer): allow recovery from parked-and-stalled store (w.r.t Copilot review)
refactor(indexer): move chain-consistency code within a dedicated file
2026-07-08 12:04:23 +03:00
erhant
98af8e33f7 chore: docfix w.r.t Copilot 2026-07-08 12:04:23 +03:00
erhant
4287e64673 chore: fix typos, enable ignored test 2026-07-08 12:04:23 +03:00
erhant
b2f7fae972 fix(indexer): tend to @schouhy reviews, allow re-applied old blocks 2026-07-08 12:04:23 +03:00
erhant
2fa6793349 chore: typo fix ChainConsistency [skip ci] 2026-07-08 12:04:23 +03:00
erhant
416eddc733 refactor(indexer): tend to several reviews by @schouhy 2026-07-08 12:04:23 +03:00
erhant
39c19912c5 fix(indexer): use better error types, tend to few @Arjentix PR review 2026-07-08 12:04:23 +03:00
erhant
1547a51fa6 fix(indexer)!: address several reviews, use better return types with conversions, some docfixes
BREAKING CHANGE: dropping the serde rename attrs changes the FFI
`query_status` JSON: `state` values are now variant-cased
(`caught_up` -> `CaughtUp`) and fields snake_case
(`indexedBlockId` -> `indexed_block_id`, `lastError` -> `last_error`).
Consumers (lez-indexer-module, lez-explorer-ui) must update their parsing.
2026-07-08 12:04:23 +03:00
erhant
357c92f947 chore: very small comment about future fix [skip ci] 2026-07-07 16:40:33 +03:00
erhant
15ebccb11e fix(indexer): catch the edge case of re-using the last valid tip on restart 2026-07-07 16:40:33 +03:00
erhant
d24e25fea3 fix(indexer): attend to copilot comments, rm Store error from a park case 2026-07-07 16:40:33 +03:00
erhant
022a456bc5 chore: rm redundant unit test [skip ci] 2026-07-07 16:40:33 +03:00
erhant
375e76df48 fix(indexer): run the chain-identity check even when the store is parked 2026-07-07 16:40:33 +03:00
erhant
2cdda18b88 fix(indexer): run the chain-identity check even when the store is parked 2026-07-07 16:40:33 +03:00
erhant
64497526fd fix(indexer): detect chain reset via anchor block, **not** deterministic genesis
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core`
2026-07-07 16:40:33 +03:00
erhant
50bdeefc84 chore: greatly increase timeout 2026-07-07 16:40:33 +03:00
erhant
8d0c2f4422 feat(indexer): run genesis-consistency check at service and FFI startup 2026-07-07 16:40:33 +03:00
erhant
406b6ab011 feat(indexer): add startup genesis-consistency check
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core`
2026-07-07 16:40:33 +03:00
erhant
02eb338a6a test(indexer): cover stall recovery and full StallReason roundtrip
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core`
2026-07-07 16:40:33 +03:00
erhant
206f3de524 feat(indexer): expose status over RPC and add integration coverage
test `RUST_LOG=info RISC0_DEV_MODE=1 cargo test -p integration_tests --test bridge --indexer_status_rpc_reports_caught_up_with_no_stall --exact --nocapture --include-ignored`
2026-07-07 16:40:33 +03:00
erhant
5f6f26d012 chore: fix linter 2026-07-07 16:40:33 +03:00
erhant
2b3fd9b5da feat(indexer): park ingest loop on bad blocks instead of skipping
`RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core`
2026-07-07 16:40:33 +03:00
erhant
30aa168651 refactor(indexer): use "stall reason" instead of "chain breaker" 2026-07-07 16:31:40 +03:00
erhant
46732698b7 feat(indexer): add Stalled status and chain breaker snapshot
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core --lib status`
2026-07-07 16:31:40 +03:00
erhant
7916efb5c6 feat(indexer): add accept_block with chain-linkage check and atomic apply
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core --lib accept_tests`
2026-07-07 16:31:40 +03:00
erhant
0899eb3547 feat(indexer): persist ChainBreaker in RocksDB meta
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p storage -p indexer_core --lib chain_breaker`
2026-07-07 16:31:40 +03:00
erhant
8394597fd5 feat(indexer): add BlockIngestError enum, fix linting 2026-07-07 16:31:40 +03:00
erhant
308d75ab37 feat(common): add block hash recomputation helper
test:  `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p common --lib block::tests`
2026-07-07 16:31:40 +03:00
erhant
ab0fd355ea refactor(indexer): rename execute_on_state and drop indexer-side tx checks
test with:
RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p common -p storage -p indexer_core
2026-07-07 16:31:40 +03:00
Sergio Chouhy
ae0705995f fix: solve merging conflicts with main 2026-07-03 15:07:35 -03:00
jonesmarvin8
f786aca73e
refactor(lez): clean up long functions (#541)
* add helper functions

* CI fixes

* additional refactors

* fix: clarify doc comment on apply_mempool_transaction

* chore: apply nightly fmt

* fix: import missing ML_KEM_768_CIPHERTEXT_LEN in auth_transfer private test
2026-07-01 10:23:21 -04:00
jonesmarvin8
f8d859394b
refactor(privacy_preserving_circuit): introduce helper functions to shorten long functions (#545)
* refactor(privacy_preserving_circuit): extract functions for readability

* refactor(privacy_preserving_circuit): address PR review comments

Bundle shared handle_* arguments into PrivateOutputHandler struct in
output.rs and fix misplaced docstring on resolve_external_seed in
execution_state.rs.

* feat: update commitment mechanism for new private account (#546)

* refactor(privacy_preserving_circuit): extract functions for readability

* feat: update commitment mechanism for new private accounts

Allow init accounts to optionally use a real membership proof for
DUMMY_COMMITMENT instead of hardcoding DUMMY_COMMITMENT_HASH as the
CommitmentSetDigest. The wallet fetches the proof from the sequencer
and passes it through the circuit.

* fix: address clippy lints and fix integration test visibility

* add tests

* refactor: removed duplicated code

* refactor: simplify init nullifier mechanism

Replace Option<MembershipProof> with Option<CommitmentSetDigest> on init
variants (PrivateAuthorizedInit, PrivateUnauthorized, PrivatePdaInit).
The circuit now receives the commitment tree root directly instead of
recomputing it from a Merkle proof.

* refactor: use CommitmentSetDigest directly instead of Option for init commitment root

Address PR #546 review feedback: the circuit now accepts CommitmentSetDigest
directly on init variants (PrivateAuthorizedInit, PrivateUnauthorized,
PrivatePdaInit), with callers providing DUMMY_COMMITMENT_HASH as the default.
Also fixes duplicate resolve_external_seed from rebase and rebuilds artifacts.

* style: run cargo +nightly fmt
2026-07-01 10:14:32 -04:00
Pravdyvy
97aa85d123
Merge pull request #577 from logos-blockchain/Pravdyvy/wallet-ffi-labels
Wallet ffi labels
2026-07-01 15:32:16 +03:00
Pravdyvy
53ae6dcfdd fix(wallet_ffi): asref suggestion 2026-06-30 12:46:52 +03:00
Daniil Polyakov
fc800a7151 fix(sequencer): don't accept zero deposits & remove unreachable 2026-06-30 12:38:22 +03:00
Pravdyvy
fade3b488a feat(integration_tests): added integration tests for wallet ffi 2026-06-26 16:48:00 +03:00
Pravdyvy
860746dac9 feat(wallet_ffi): labels added 2026-06-25 18:29:35 +03:00
Daniil Polyakov
d11b706756 feat(sequencer): add getChannelId rpc endpoint 2026-06-25 16:47:04 +03:00
Daniil Polyakov
9977cc5374 fix(ci, programs, privacy_preserving_circuit): properly check programs ci 2026-06-24 20:20:40 +03:00
Daniil Polyakov
96b28827f6 fix(tests): fix tests 2026-06-24 20:20:40 +03:00
Daniil Polyakov
c74b03582b refactor!(wallet): pass program_id instead of program in send_pub_tx() 2026-06-24 20:19:12 +03:00