285 Commits

Author SHA1 Message Date
Daniil Polyakov
3d009acb9c fix(sequencer): resubmit orphaned tx which comes only after final tip 2026-07-31 19:54:58 +03:00
erhant
9d9b75d42f fix(sequencer): fund channel config transaction via node wallet" 2026-07-31 18:26:34 +03:00
Daniil Polyakov
93a93c6b96 feat(sequencer): disable withdraws 2026-07-31 18:26:33 +03:00
Daniil Polyakov
50ac64c37d fix(bedrock): fix new bedrock image setup 2026-07-31 18:26:33 +03:00
Daniil Polyakov
7e283f5fed fix(sequencer): rework WithdrawalReconciliationKey by using released note id 2026-07-31 18:26:33 +03:00
Daniil Polyakov
b9a0ebef6c feat(zone_sdk): update to a new bedrock & zone sdk 2026-07-31 18:25:56 +03:00
moudyellaz
c14bfe3f9f feat(cross-zone): record peer deliveries instead of injecting them 2026-07-31 16:01:41 +02:00
moudyellaz
2d201f7bac feat(storage): record cross-zone deliveries and settle them on finality 2026-07-31 10:55:24 +02:00
moudyellaz
3a7ce3f306 feat(sequencer): wait for background tasks on shutdown 2026-07-31 10:55:24 +02:00
erhant
0659774e43 chore(state_machine); rename get_public_account to get_account_by_id_ref [skip ci] 2026-07-30 14:23:49 +03:00
erhant
931b0e9956 chore(bridge): add a comment on observability [skip ci] 2026-07-30 14:23:49 +03:00
erhant
21af565ee3 fix(sequencer): tend to PR comments & self-review findings 2026-07-30 14:23:49 +03:00
erhant
0b0db1dfa1 chore(sequencer): add TODO about Slot update from logos-blockchain 2026-07-30 14:21:10 +03:00
erhant
849ea66c0f fix(sequencer): harden follow-path finalization and deposit/withdraw batching 2026-07-30 14:21:10 +03:00
erhant
57759d8953 fix(bridge): enforce deposit exactly-once via a per-op-id receipt PDA 2026-07-30 14:21:10 +03:00
erhant
f9ef68dbf8 fix(sequencer): proper deposit and withdraw handling initial fixes for #633 2026-07-30 14:21:10 +03:00
Artem Gureev
397d6d49b3
Merge pull request #564 from logos-blockchain/artem/obfuscate-note-order
feat!: obfuscate note and cipher order
2026-07-30 12:30:03 +04:00
Moudy
7f2a4586e6
Merge pull request #649 from logos-blockchain/moudy/fix-verifier-forgery-halt
fix(cross-zone): gate the forgery test on a verified peer-chain prefix
2026-07-30 07:42:47 +02:00
moudyellaz
b2b58da519 fix(indexer): advance the read cursor only on a slot boundary 2026-07-30 06:25:57 +02:00
Artem Gureev
131ed6d025 fix(wallet): locate shared-account spends by their update nullifier 2026-07-28 22:00:17 +04:00
Artem Gureev
899ee34989 refactor(wallet): route note decryption through decrypt_note_at 2026-07-28 11:12:21 +00:00
Artem Gureev
664d046b9f fix(wallet): locate self-sent notes by nullifier 2026-07-28 11:10:08 +00:00
Artem Gureev
e13b4cb237 feat!: key note encryption on the nullifier, drop the output index
BREAKING!

Before: The ciphertext key got generated via using the commmitment and
its index as the key.

After: The ciphertext key replaces the commitment dependence by a
nullifier dependence, still making the key unique by global state. The
nullifier is assumed to be the nullifier of the pre-state of the account.

Mitigation: Use the new decryption algorithm.
2026-07-28 11:09:28 +00:00
moudyellaz
c684859fb0 fix(cross-zone): gate the forgery test on a verified peer-chain prefix 2026-07-28 12:58:00 +02:00
Pravdyvy
787a15aad3
Merge pull request #638 from logos-blockchain/Pravdyvyi/parallel-client-actualization
feat(wallet): multi-sequencer client parallelizm
2026-07-28 11:37:41 +03:00
Pravdyvy
7df30eb90f
Merge pull request #646 from logos-blockchain/Pravdyvy/valid-proof-test-runs-only-on-main-or-dev-commits
ci!: valid_proof_test removed from PRs
2026-07-28 10:12:11 +03:00
Pravdyvy
012464a719 ci!: valid_proof_test removed from PRs 2026-07-28 08:03:29 +03:00
Pravdyvy
277f641472 fix(wallet): suggestions 3 2026-07-28 07:55:43 +03:00
Artem Gureev
e018dc9ac4
Merge pull request #592 from logos-blockchain/artem/dummy-note-padding
feat: dummy note padding
2026-07-27 21:11:01 +04:00
Pravdyvy
8389f060c4 fix(wallet): suggestions 2 2026-07-27 16:14:03 +03:00
Pravdyvy
b8818950c9 Merge branch 'dev' into Pravdyvyi/parallel-client-actualization 2026-07-27 13:36:33 +03:00
Pravdyvy
60a78aec08 fix(wallet): suggestions fix 2026-07-27 13:24:56 +03:00
Sergio Chouhy
d958066d78 feat(lez/wallet): add change-network command 2026-07-24 22:58:32 -03:00
Sergio Chouhy
b3eb74cf46 fix(lez/wallet): drop signing with recipient keys 2026-07-24 18:05:40 -03:00
Artem Gureev
2e8a01ac95 refactor: warn on private-padding saturation and rename to execute_and_prove_with_padded_inputs 2026-07-24 17:00:36 +00:00
Artem Gureev
fd3646e127 feat(wallet): pad private transactions to a fixed maximum 2026-07-24 16:37:52 +00:00
Artem Gureev
d30490442d fix(wallet): encapsulate dummy note epk in wallet 2026-07-24 16:37:52 +00:00
Artem Gureev
0a783a35ca refactor(wallet): dedup randomness helpers, fill dummy note directly 2026-07-24 16:37:15 +00:00
Artem Gureev
4ba0268bab feat(wallet): construct and submit dummy inputs
Ciphers submitted currently have no data
2026-07-24 16:36:13 +00:00
Moudy
fb98e2d564
Merge pull request #615 from logos-blockchain/moudy/cross-zone-cleanup
refactor!(cross-zone): deploy programs at genesis instead of builtins
2026-07-24 18:24:43 +02:00
moudyellaz
d6a2075a7c fix(sequencer): gate bootstrap republish on channel existence, not finalized-scan emptiness 2026-07-24 14:33:24 +02:00
Pravdyvy
a3c2f08ea5 fix(wallet_ffi): simplification 2026-07-24 13:46:45 +03:00
moudyellaz
113d5db6f5 fix(cross-zone): make InitConfig idempotent under genesis replay 2026-07-24 08:32:45 +02:00
Pravdyvy
bfb62d9b30 Merge branch 'Pravdyvy/request-distribution-for-multiple-sequencers' into Pravdyvyi/parallel-client-actualization 2026-07-24 08:11:51 +03:00
Pravdyvy
a27255c5ce Merge branch 'dev' into Pravdyvy/request-distribution-for-multiple-sequencers 2026-07-24 08:10:42 +03:00
Pravdyvy
93eed48112 fix(wallet): suggestion fix 3 2026-07-24 08:02:03 +03:00
moudyellaz
d9787eb72f style(sequencer): backtick InitConfig in build_initial_state doc comment 2026-07-24 01:07:41 +02:00
moudyellaz
150cd17ff5 Merge origin/dev 2026-07-24 00:56:00 +02:00
moudyellaz
124bbee6c6 Merge origin/dev 2026-07-23 23:59:36 +02:00
jonesmarvin8
6c0bd71523
refactor: PrivateUnauthorized authorization changed to true (#621)
* refactor: rename PrivateUnauthorized to PrivateForeignInit

The account_identity's is_authorized flag no longer determines
authorization for this variant, so keep the name tied to what
actually distinguishes it: no nsk, only npk (a foreign account init).

* chore: rebuild guest artifacts and bump spin to clear yanked advisory

Regenerate ELF artifacts after the PrivateForeignInit rename in lee_core
(compiled into every guest program), and update spin 0.9.8 -> 0.9.9 since
0.9.8 was yanked from crates.io, per cargo deny check advisories.

* test: align is_authorized with PrivateForeignInit's flipped semantics

Recipient pre-states built for PrivateForeignInit now need is_authorized:
true to match the assertion in output.rs. Also rewrites the boundary test
that checked the old invalid case to check the new one, and updates
stale "unauthorized" wording left over from the PrivateUnauthorized name.

* chore: rebuild guest artifacts

Reproducible across repeated local builds; likely toolchain drift since
the prior artifact commit rather than a source change, since no
guest-relevant source or Cargo.lock changed in between.

* fix(tests): align integration tests with PrivateForeignInit and regenerate fixture

prove_init_with_commitment_root (private.rs) and build_privacy_transaction
(tps.rs) still built PrivateForeignInit recipients with is_authorized: false,
same stale-semantics bug fixed earlier in the lee crate's own tests.

The prebuilt sequencer DB dump embeds program IDs derived from guest ELF
bytes, which shifted once the PrivateForeignInit rename changed lee_core
(compiled into every guest program). The stale dump caused widespread
"Unknown program" failures across integration test suites that exercise
deployed programs (wallet_ffi, auth_transfer, bridge, amm, token, pinata,
ata, indexer state-consistency checks). Regenerated via
`just regenerate-test-fixture`.

* fix(tests): rename leftover PrivateUnauthorized to PrivateForeignInit and regenerate fixture

* test: align is_authorized with PrivateForeignInit's flipped semantics

* chore: regenerate test fixture after rebase onto dev

* chore: regenerate test fixture after rebase onto dev

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 17:32:01 -04:00