agureev
9a2c9a2e1b
chore: regenerate fixtures
2026-07-16 20:28:57 +04:00
Artem Gureev
ed6349e724
refactor(verifier): consume bundled public_actions directly
2026-07-16 19:37:04 +04:00
Artem Gureev
beccc9cbaf
refactor!(indexer): bundle protocol/FFI privacy message into actions
...
BREAKING!
Before: The message format for private transactions included separate
fields for private transaction state identifiers such as commitments
and nullifiers.
After: The commitments/nullifiers/ciphertexts are bound in an Action
struct, likewise for public state-bearing messages.
Mitigation: assume incoming messages are in a newly-specified format.
2026-07-16 19:29:53 +04:00
Artem Gureev
e409b3ac16
refactor: bundle private/public i/o into action struccts
2026-07-16 19:26:45 +04:00
agureev
2e669e76f8
chore: regen artifacts, fixtures
2026-07-15 22:22:20 +04:00
Artem Gureev
a3f5536321
test: order-independent output assertions + wrong-nullifier decrypt
2026-07-15 22:01:56 +04:00
agureev
de1f5fcb6f
chore: format, regenerate artifacts and fixtures
2026-07-15 20:54:15 +04:00
Artem Gureev
719c2af38d
refactor(wallet): route note decryption through decrypt_note_at
2026-07-15 16:28:09 +00:00
Artem Gureev
4b516d8e15
test(circuit): assert obfuscate_output_ordering sorts and keeps notes paired
2026-07-15 16:28:09 +00:00
Artem Gureev
17a774b3c4
refactor(circuit): extract obfuscate_output_ordering
2026-07-15 16:28:09 +00:00
agureev
672ce77733
chore: formatting
2026-07-15 16:28:09 +00:00
Artem Gureev
e44c368477
fix(wallet): locate self-sent notes by nullifier
2026-07-15 16:28:09 +00:00
Artem Gureev
831a90d5c6
feat!: byte-sort private outputs to obfuscate note order
...
BREAKING!
Before: Commitments, nullifier, and ciphertexts of a transaction were
position-aligned. The position revealed which nullifier was hiding a
pre-state to a commitment to which post-state. Similarly with
ciphertexts.
After: The nullifier-cipher connection remains, but now they (and
commitments independently) are shuffled by the byte-order of the
hashes.
Mitigation: Expect the circuit outputs to be jumbled.
2026-07-15 16:28:09 +00:00
Artem Gureev
c12a8759d6
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-15 16:28:09 +00:00
Artem Gureev
dda467fd06
refactor(lee_core): expose nullifier byte-array
2026-07-15 16:08:27 +00:00
agureev
abb18568dc
chore: regenerate artifacts and fixtures
2026-07-15 19:46:10 +04:00
Artem Gureev
9e1aa40daa
test(wallet): pin private-transaction note padding to max
2026-07-15 19:33:57 +04:00
Artem Gureev
7347ce615d
test(lee): pin for_dummy nullifier and commitment derivations
2026-07-15 19:33:57 +04:00
agureev
949ae47499
chore: regenerate artifacts and fixtures
2026-07-15 19:33:55 +04:00
Artem Gureev
8c04397257
feat(wallet): pad private transactions to a fixed maximum
2026-07-15 15:01:33 +00:00
Artem Gureev
f7492330c7
fix(wallet): encapsulate dummy note epk in wallet
2026-07-15 15:01:33 +00:00
Artem Gureev
724260e8ea
refactor(wallet): dedup randomness helpers, fill dummy note directly
2026-07-15 14:59:58 +00:00
Artem Gureev
c67563ffce
feat(wallet): construct and submit dummy inputs
...
Ciphers submitted currently have no data
2026-07-15 14:59:58 +00:00
Artem Gureev
b8ccf1de58
feat(circuit): use dummy_inputs in ppc
2026-07-15 14:59:58 +00:00
Artem Gureev
d4c9b5c0a5
feat(lee): add for_dummy nullifier and commitment derivations
2026-07-15 14:59:58 +00:00
Artem Gureev
9b43c4b731
feat(lee): add dummy account type for function-privacy padding
2026-07-15 14:59:58 +00:00
agureev
ce68b4dc27
Merge remote-tracking branch 'origin/dev' into artem/view-tag-randomization
2026-07-15 18:37:31 +04: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
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
4d91d6f7cb
feat(wallet): create a regular shared account under a supplied identifier
2026-07-13 21:16:41 +04:00
Artem Gureev
ce0d0c4886
fix(wallet): catch up a shared account from genesis on registration
2026-07-13 21:16:41 +04:00
Artem Gureev
5fa93538f3
test(circuit): view_tag is derived on init, passed through on update
2026-07-13 21:16:41 +04:00
agureev
1549e2f4e5
feat(circuit): supply a view_tag on private-account updates
2026-07-13 21:16:39 +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
agureev
ae391612bd
Merge remote-tracking branch 'origin/dev' into artem/change-wallet-balance-fetch
2026-07-13 15:19:06 +04: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