2505 Commits

Author SHA1 Message Date
Sergio Chouhy
f0b89f8acb use vec<identifiers> in persistentaccountdataprivate to avoid the hacky workaround with identifier=0 for unused accounts 2026-04-27 21:09:33 -03:00
jonesmarvin8
b396756e8d addressed some comments 2026-04-27 20:07:47 -04:00
jonesmarvin8
935ef1db46 Merge branch 'marvin/signature-bip340-fixes' into marvin/refactor-wallet-pub-acc 2026-04-27 18:57:34 -04:00
Sergio Chouhy
c3f47f6685 use option<identifier> for all wallet commands 2026-04-27 19:57:25 -03:00
jonesmarvin8
469d5bdad9 CI fixes 2026-04-27 18:51:57 -04:00
jonesmarvin8
016d063329 CI fixes 2026-04-27 18:47:02 -04:00
Sergio Chouhy
eb3d3d8a8d simplify insert account logic 2026-04-27 18:48:28 -03:00
Sergio Chouhy
924b30650c change pda reserved identifier 2026-04-27 18:45:19 -03:00
jonesmarvin8
2926c808d3 Removed privacy txs for keycard 2026-04-27 16:37:21 -04:00
jonesmarvin8
9ef69ef684 Add domain separators 2026-04-27 16:33:00 -04:00
jonesmarvin8
e319c8fa55 Revert "Removed privacy keycard calls"
This reverts commit d70ef505a1f40b87159099761f5fce5a31e3f17b.
2026-04-27 16:30:46 -04:00
jonesmarvin8
d70ef505a1 Removed privacy keycard calls 2026-04-27 16:30:27 -04:00
Daniil Polyakov
cf3639d825
Merge pull request #458 from logos-blockchain/arjentix/fix-clock-tx-in-indexer
Fix clock transaction validation in Indexer
v0.2.0-rc3
2026-04-27 18:48:00 +03:00
Pravdyvy
478ba4c2f2
Merge pull request #427 from logos-blockchain/Pravdyvy/indexer-ffi-spawns-rpc-for-communication
Simple indexer FFI
2026-04-27 17:18:03 +03:00
Pravdyvy
be8f5a6db2 fix: comments 2 2026-04-27 15:44:46 +03:00
jonesmarvin8
2381961621 Merge branch 'marvin/signature-bip340-fixes' into marvin/keycard-commands 2026-04-27 08:38:21 -04:00
Daniil Polyakov
88102d6964 fix: skip check on state for clock transaction in indexer storage 2026-04-27 15:34:21 +03:00
Pravdyvy
02949e961a
Merge branch 'main' into Pravdyvy/indexer-ffi-spawns-rpc-for-communication 2026-04-27 13:58:10 +03:00
jonesmarvin8
8386d3ab17 fixes 2026-04-26 22:50:16 -04:00
jonesmarvin8
24f6f1f8ca fixes 2026-04-26 21:29:54 -04:00
jonesmarvin8
5bcf1a253b Revert "fixes"
This reverts commit 41f34f4ff4145b7abb60fd9bec168ae4b60f23b4.
2026-04-26 21:28:11 -04:00
jonesmarvin8
41f34f4ff4 fixes 2026-04-26 20:27:22 -04:00
jonesmarvin8
a99fccd704 Merge branch 'marvin/signature-bip340-fixes' into marvin/refactor-wallet-pub-acc 2026-04-25 23:42:59 -04:00
jonesmarvin8
cd1ab87fc3 fix unit test 2026-04-25 23:11:32 -04:00
jonesmarvin8
7b4f973f96 refactor and add pin support to program facades 2026-04-24 22:10:04 -04:00
Sergio Chouhy
85a6763490 artifacts 2026-04-24 19:31:13 -03:00
Sergio Chouhy
e09cb6284e enforce reserved identifier for private pda 2026-04-24 18:00:54 -03:00
Sergio Chouhy
52992a124a fix identifier for pda 2026-04-24 17:04:40 -03:00
jonesmarvin8
93a1487553 Merge branch 'marvin/refactor-wallet-pub-acc' into marvin/keycard-commands 2026-04-24 12:05:17 -04:00
jonesmarvin8
1cea188e38 Merge branch 'marvin/signature-bip340-fixes' into marvin/refactor-wallet-pub-acc 2026-04-24 12:04:15 -04:00
jonesmarvin8
72c35416df fmt 2026-04-24 11:36:14 -04:00
jonesmarvin8
be33f39dc5 fix BIP-340 signatures for fixed sized messages 2026-04-24 11:23:53 -04:00
Sergio Chouhy
7c45b5af3c Merge branch 'main' into schouhy/generalize-npk-to-multiple-accounts 2026-04-24 01:04:55 -03:00
Sergio Chouhy
584bfb2052 clippy 2026-04-24 00:42:54 -03:00
Sergio Chouhy
6f9c3b2af3 fmt 2026-04-24 00:37:36 -03:00
Sergio Chouhy
9c90a6d182 remove unused impl 2026-04-24 00:36:25 -03:00
Sergio Chouhy
e19c9ff20a return impl iterator 2026-04-24 00:04:22 -03:00
Sergio Chouhy
4719b1265a replace typedef with struct 2026-04-23 23:44:31 -03:00
Sergio Chouhy
a5565e0875 make identifier random by default for wallet cli send commands 2026-04-23 23:31:21 -03:00
jonesmarvin8
fac4e86e40 Updates for signatures with keycard 2026-04-23 17:45:43 -04:00
jonesmarvin8
9f1c8bdf29 fixed load for non continuous run 2026-04-23 09:47:09 -04:00
jonesmarvin8
096522ebb9 fixes 2026-04-22 21:23:33 -04:00
Moudy
00d3140490
Merge pull request #446 from logos-blockchain/moudy/feat-private-pdas
feat: private PDA support in the privacy circuit
2026-04-22 23:07:18 +02:00
Moudy
86ff3670c0 fix: bump rustls-webpki to 0.103.13 for RUSTSEC-2026-0104
Upstream advisory, reachable panic in certificate revocation list
parsing via `BorrowedCertRevocationList::from_der` /
`OwnedCertRevocationList::from_der`. Unrelated to this PR, dropped
into the advisory DB since the last green CI run and broke the `deny`
job. Fix is the recommended version bump.
2026-04-22 16:02:56 +02:00
Moudy
e5b77a27d5 refactor: localize private_pda_npk_by_position and extract authorization helper
Addresses the following review comments from @Arjentix:

- "I think we can move this into `derive_from_outputs()`"
  (on the position → npk map construction in main())
  I moved the construction inside ExecutionState::derive_from_outputs
  and stored the map as a field of ExecutionState. derive_from_outputs
  now takes `private_account_keys` directly and builds the map as part
  of state initialization. main() no longer owns the intermediate
  structure. validate_and_sync_states reads the npk through
  self.private_pda_npk_by_position.

- "Let's move this whole `is_authorized` computation into a separate
  function. This became really bulky"
  I extracted the caller-seeds resolution, family-binding recording,
  and is_authorized computation into a free function
  `resolve_authorization_and_record_bindings`. It takes the three
  field borrows it needs (`&mut pda_family_binding`, `&mut
  private_pda_bound_positions`, `&private_pda_npk_by_position`), same
  shape as `assert_family_binding`. A method would have conflicted
  with the `&mut self.post_states` borrow held by the Occupied match
  arm; the free function lets rustc split-borrow the self fields.
2026-04-22 15:55:35 +02:00
Moudy
22aa5ef70b refactor: simplify PDA API docs and rename compute_authorized_pdas
Addresses the following review comments from @Arjentix:

- "I think there are too many internal implementation information
  exposed here. This structure is used by our users, program devs. And
  they should not care about distinction between private or public pda
  or different masks"
  (on ChainedCall.pda_seeds, same feedback repeated on Claim::Pda)
  I rewrote both docstrings to drop internal details (visibility masks,
  per-form derivation names, npk handling). Program devs see only that
  they emit a seed and the `AccountId` is derived from
  `(program_id, seed)` regardless of whether the account is public or
  private.

- "Let's reflect the new nuance in the name"
  (on compute_authorized_pdas returning public-form derivations only)
  I renamed the function to `compute_public_authorized_pdas`. After
  the PR #446 rework the function only returns public-form
  derivations, the private-form authorization lives in the circuit
  guest. Updated the call site in nssa/src/validated_state_diff.rs
  and the two unit tests.
2026-04-22 15:34:15 +02:00
Pravdyvy
ad6a55c55d fix: lint fix 1 2026-04-22 07:42:02 +03:00
Sergio Chouhy
9d2abc76a1 fix tests 2026-04-21 22:39:14 -03:00
Sergio Chouhy
145198a078 fix test 2026-04-21 21:32:47 -03:00
Sergio Chouhy
b4d883e275 fix test 2026-04-21 19:34:08 -03:00