3122 Commits

Author SHA1 Message Date
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
moudyellaz
9380198eb9 refactor(cross-zone): use the Balance alias for holding amounts and debug-log skipped replays 2026-07-16 12:44:36 +02:00
moudyellaz
0f88fda054 Merge origin/dev 2026-07-16 12:44:07 +02:00
Pravdyvy
441e43ef91 Merge branch 'dev' into Pravdyvy/multi-sequencer-client 2026-07-15 16:40:38 +03:00
Pravdyvy
9cd7f51e97 fix(wallet): multiple leaders inclusion 2026-07-15 16:36:45 +03:00
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
ba741da37b Merge branch 'dev' into Pravdyvy/multi-sequencer-client 2026-07-15 13:45:44 +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
moudyellaz
b0c90fcc58 Merge origin/dev 2026-07-14 23:33:10 +02:00
moudyellaz
fea373e317 fix(indexer): record cross-zone dispatch keys as seen only after the block applies
verify_block populated the seen-set before accept_block, so a dispatch verified in a block that then parked poisoned seen without the inbox ever recording the key on chain, letting a later forged dispatch reuse the key to skip re-derivation. verify_block now returns the verified keys and the ingest loop records them via record_seen only on AcceptOutcome::Applied, so seen mirrors the inbox's on-chain seen-shard.
2026-07-14 21:38:50 +02:00
Pravdyvy
c3e8dd4040 fix(wallet): updated wallet config 2026-07-14 16:43:46 +03:00
Pravdyvy
f2a7cb45fd fix(fixtures): updated test fixtures 2026-07-14 14:53:07 +03:00
Pravdyvy
a1b4585c99 fix(deps): machete, artifacts and deny fix 2026-07-14 13:52:06 +03:00
Pravdyvy
ac2bf7f996 Merge branch 'dev' into Pravdyvy/multi-sequencer-client 2026-07-14 13:19:04 +03:00
Pravdyvy
bf237daf71 fix(tintegration_tests): tests work 2026-07-14 13:10:32 +03: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
moudyellaz
a16e22c46c refactor!(cross-zone): deploy programs at genesis instead of builtins
Cross-zone builtin programs are no longer registered in the production
genesis. A zone that participates declares the ones it uses via a new
GenesisAction::DeployProgram (sequencer) and a matching deploy_programs
list (indexer), both resolved through CrossZoneProgram and registered
with with_programs. Cross-zone genesis accounts (inbox config,
wrapped-token config) are seeded through the state constructor for a
receiving zone, and bridge-lock holdings are seeded from their actions
regardless of receiving config, dropping V03State::insert_genesis_account.
GenesisAction amounts now use the Balance alias. Documents cross_zone as
the reference LEZ adapter and the bridge demo as not production-safe.

The sequencer's DeployProgram set and the indexer's deploy_programs are
configured separately, so both nodes now log a deterministic genesis
fingerprint (V03State::genesis_fingerprint) at startup: equal values
confirm the two genesis states agree, a mismatch flags a divergent
deploy set.

BREAKING CHANGE: the genesis state root changes (cross-zone builtins are
out of production genesis) and the sequencer/indexer configs gain the
DeployProgram / deploy_programs list that cross-zone-participating zones
must set.
2026-07-13 19:12:24 +02: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
Pravdyvy
1615a06604 fix(wallet_ffi): tests and leading algorithm fixes 2026-07-13 15:37:25 +03: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
Pravdyvy
daabe7f29e fix(wallet): errors fixed, metric updates are now interiorly mutable 2026-07-13 12:52:57 +03:00
moudyellaz
de2dc8e04d fix(indexer): accept a replayed cross-zone dispatch instead of halting
The Option B verifier returned Err on a cross-zone dispatch whose message key
was already in its seen set, and that halts indexer ingestion. A legitimate
re-delivery, for example after a sequencer restart re-injects, could then
permanently stall an honest indexer. The inbox already treats a re-delivered
message as an idempotent no-op on chain, so the verifier now continues past an
already-seen key instead of bailing. Forgery detection on first-seen dispatches
is unchanged.

Also notes that one pinned block-signing key per peer is sufficient until
decentralized sequencing, and strengthens the replay test so it only passes via
the seen-key short-circuit.
2026-07-13 11:06:49 +02:00
moudyellaz
b8e21ed276 chore(cross-zone): remove duplicate top-level programs core crates
Remove the stale top-level programs/ core crates (bridge_lock_core,
cross_zone_inbox_core, cross_zone_outbox_core, ping_core, wrapped_token_core),
leftover copies from the initial cross-zone port before programs moved to the
per-program-crate layout. The live cores under lez/programs/*/core keep the
same package names and remain the ones actually used.
2026-07-13 08:29:36 +02: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
erhant
9587cf96be refactor(indexer): remove now-redundant last_breakpoint_id meta cell 2026-07-10 18:35:01 +03:00
erhant
4d0be72973 chore(indexer): comment 2026-07-10 18:35:01 +03:00
erhant
2e49cdfd9c fix(indexer): harden stall durability and breakpoint guards w.r.t. Copilot review 2026-07-10 18:35:01 +03:00
erhant
587836e47c fix(indexer): stop ingest loop cooperatively on shutdown 2026-07-10 18:35:01 +03:00
erhant
ff6d40f4df fix(indexer): retry apply failures before parking 2026-07-10 18:35:01 +03:00
erhant
07eaf1021a fix(indexer): do not park immediately on possibly-transient apply failures 2026-07-10 18:35:01 +03:00