2902 Commits

Author SHA1 Message Date
erhant
82a16f1ab7 fix(indexer): use better error types, tend to few @Arjentix PR review 2026-07-10 18:35:00 +03:00
erhant
f94a63d8cf 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-10 18:35:00 +03:00
erhant
da95e86083 chore: very small comment about future fix [skip ci] 2026-07-10 18:35:00 +03:00
erhant
b5ed8548d5 fix(indexer): catch the edge case of re-using the last valid tip on restart 2026-07-10 18:35:00 +03:00
erhant
255a94c8ed fix(indexer): attend to copilot comments, rm Store error from a park case 2026-07-10 18:35:00 +03:00
erhant
aceb863ff2 chore: rm redundant unit test [skip ci] 2026-07-10 18:35:00 +03:00
erhant
db48877ca6 fix(indexer): run the chain-identity check even when the store is parked 2026-07-10 18:35:00 +03:00
erhant
2b5379a0c7 fix(indexer): run the chain-identity check even when the store is parked 2026-07-10 18:35:00 +03:00
erhant
66434256da 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-10 18:35:00 +03:00
erhant
b989974f90 chore: greatly increase timeout 2026-07-10 18:35:00 +03:00
erhant
06ec24540a feat(indexer): run genesis-consistency check at service and FFI startup 2026-07-10 18:35:00 +03:00
erhant
aa46b69b79 feat(indexer): add startup genesis-consistency check
test `RISC0_DEV_MODE=1 RISC0_SKIP_BUILD=1 cargo test -p indexer_core`
2026-07-10 18:35:00 +03:00
erhant
a583c1f21a 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-10 18:35:00 +03:00
erhant
eaf2e2d07f 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-10 18:35:00 +03:00
erhant
b71b01f94b chore: fix linter 2026-07-10 18:35:00 +03:00
erhant
de55d2699b 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-10 18:35:00 +03:00
erhant
c49cc7bc29 refactor(indexer): use "stall reason" instead of "chain breaker" 2026-07-10 18:35:00 +03:00
erhant
e28cceffab 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-10 18:35:00 +03:00
erhant
6ab6455482 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-10 18:35:00 +03:00
erhant
5b2c387fe9 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-10 18:35:00 +03:00
erhant
60265ed438 feat(indexer): add BlockIngestError enum, fix linting 2026-07-10 18:35:00 +03:00
erhant
1a304e0e60 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-10 18:35:00 +03:00
erhant
03f92abbcf 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-10 18:35:00 +03:00
Daniil Polyakov
e645614946
Merge pull request #590 from logos-blockchain/arjentix/speed-up-integration-tests
feat(test_fixtures): use prebuilt sequencer dp to speed up integration tests
2026-07-10 16:01:48 +03:00
Daniil Polyakov
89d2486970 feat(test_fixtures): apply zstd compression 2026-07-09 17:15:29 +03:00
Daniil Polyakov
d0aaddbec1 feat(test_fixtures): use prebuilt sequencer dp to speed up integration tests 2026-07-09 17:15:29 +03:00
Daniil Polyakov
2921438e93
Merge pull request #587 from logos-blockchain/arjentix/wallet-wait-for-tx-committed
feat!(wallet): wait for deploy tx inclusion in block
2026-07-09 17:03:15 +03:00
Daniil Polyakov
c062fab781 chore(lock): bump crossbeam-epoch to satisfy cargo deny 2026-07-09 16:19:24 +03:00
Daniil Polyakov
7408955f08 feat!(wallet): wait for deploy tx inclusion in block
Breaking:
  1. Now a lot of wallet commands return `TransactionExecuted`, instead of `Empty`.
  2. Sequencer's `getTransaction()` RPC response changed from `tx` to `(tx, block_id)`
2026-07-09 00:32:53 +03:00
Artem Gureev
1b4d8fbcf4
Merge pull request #550 from logos-blockchain/artem/viewing-key-binding
feat!: viewing key and ciphertext binding
2026-07-08 20:17:37 +04:00
Sergio Chouhy
a0ba6008c3
Merge pull request #593 from logos-blockchain/schouhy/main-dev-merging-conflicts
fix: solve merging conflicts with main
2026-07-03 23:45:00 -03:00
Sergio Chouhy
ae0705995f fix: solve merging conflicts with main 2026-07-03 15:07:35 -03:00
Artem Gureev
808cea737e fix(ci): drop reference to removed install-logos-blockchain-circuits
The action was deleted in 4d7e994e but bench-regression.yml still
referenced it, failing the crypto-primitives job with "Can't find
action.yml". The ML-KEM/hashing bench needs none of the circuits that
action installed.
2026-07-02 21:05:24 +04:00
agureev
49d3823a75 chore: remove unused deps 2026-07-02 20:43:34 +04:00
agureev
8e084e22d1 Merge remote-tracking branch 'origin/dev' into artem/viewing-key-binding 2026-07-02 20:04:30 +04:00
jonesmarvin8
571f35b384
refactor(integration_tests): cleaning up long functions (#533)
* refactoring integration_tests::keys

* refactor integration_tests: extract new_account/send/restored_private_account helpers

Move repeated account-creation and transfer boilerplate into four public
helpers in integration_tests/src/lib.rs (new_account, send,
restored_private_account, assert_public_account_restored), then apply them
across keys.rs, ata.rs, auth_transfer/public.rs, auth_transfer/private.rs,
token.rs, and amm.rs.  Net result: -816 lines of boilerplate.

* Additional refactors

* refactor(integration_tests): apply shared helpers to remaining test files

Use account_balance, get_account, new_account, send, and sync_private
helpers in public.rs, pinata.rs, private_pda.rs, program_deployment.rs,
and token.rs to reduce boilerplate and improve consistency.
2026-07-01 12:13:51 -04:00
jonesmarvin8
072ea3b066
refactor(lee::state_machine): clean up long functions and files (#535)
* refactor(lee): split large modules into directories and extract tests

Split state.rs, program.rs, circuit.rs, validated_state_diff.rs,
merkle_tree, and core/program.rs into module directories with separate
test files. State tests are further split into themed files (genesis,
authenticated_transfer, circuit, claiming, etc.). Extract
authenticate_public_transaction_signers helper in validated_state_diff
to remove duplicated authentication logic.

* chore: rebuild artifacts
2026-07-01 11:11:08 -04: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
jonesmarvin8
3b3857594f
refactor(lee::key_protocol) - cleaned up duplicated logic (#532)
* Clean up key protocol

* added test for helper function

* address comment

* chore: apply nightly fmt
2026-07-01 10:11:08 -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
1582fc9745 fix(ci): CI and contributing update 2026-07-01 14:15:39 +03:00
Daniil Polyakov
a58fbce2ff
Merge pull request #583 from logos-blockchain/arjentix/fix-zero-deposits
fix(sequencer): don't accept zero deposits & remove unreachable
v0.2.0
2026-06-30 14:58:58 +03:00
Pravdyvy
1a94c8612f fix(artifacts): artifacts update 2026-06-30 13:52:19 +03:00
Daniil Polyakov
e428a6df71 chore(lock): update anyhow to 1.0.103 to satisfy cargo deny 2026-06-30 13:02:17 +03:00
Pravdyvy
082413eeee fix(demy): anyhow deny fix 2026-06-30 12:52:31 +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
Artem Gureev
5a23b54a6f
Merge pull request #569 from logos-blockchain/marvin/chacha-aead
fix(encryption): strengthen esk generation logic
2026-06-29 17:25:41 +04:00
Marvin Jones
8bf53af58a chore: rebuild artifacts after rebase onto viewing-key-binding 2026-06-29 09:23:26 -04:00