Repository navigation
fix(wallet-toolbox): encrypt internalizeAction customInstructions once - #818
Merged
Merged
Conversation
Normal-basket customInstructions were encrypted before permission modules and again after a registered p-label or p-basket ran. listOutputs decrypts one layer, so those values came back as ciphertext. The after-module pass now encrypts only permission-module baskets, matching createAction. Fixes #785 Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
…loop Sonar S9382 flagged the new await inside encryptInternalizeActionModuleMetadata. Collect the permission-basket encryptions and finish them with Promise.all. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Keep the #785 once-only metadata encryption and record it on the wallet-toolbox 2.14.6 notes alongside main's current release text. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
sirdeggen
marked this pull request as ready for review
October 7, 2026 17:18
sirdeggen
requested review from
BraydenLangley,
tonesnotes and
ty-everett
as code owners
October 7, 2026 17:18
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…tadata-once-6ed5 Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
2 tasks done
Keep the once-only customInstructions encryption and record it on the wallet-toolbox 2.14.7 notes alongside main's current release text. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
Keep the once-only customInstructions encryption beside main's confirmed IndexedDB internalize notes. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
BraydenLangley
marked this pull request as draft
October 12, 2026 23:11
BraydenLangley
marked this pull request as ready for review
October 12, 2026 23:52
ty-everett
approved these changes
Oct 13, 2026
BraydenLangley
force-pushed
the
cursor/internalize-metadata-once-6ed5
branch
from
October 13, 2026 03:03
a23c8c3 to
81c0e07
Compare
BraydenLangley
marked this pull request as draft
October 13, 2026 03:35
Preserve the original implementation and tests. Resolve release-note and changelog conflicts additively and regenerate the migration ledger.
Keep the original WalletPermissionsManager implementation and tests. Preserve current main release notes and package versions.
|
BraydenLangley
marked this pull request as ready for review
October 13, 2026 04:09
This was referenced Oct 13, 2026
cursor Bot
pushed a commit
that referenced
this pull request
Oct 13, 2026
Bring in #818 and the 2.14.8 train. Conflicts were release notes and generated migrations; keep the live-sync wiring and public error surfaces. Co-authored-by: deggen <d.kellenschwiler@bsvassociation.org>
17 of 20 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Fixes #785.
Program and scope
With metadata encryption enabled, a normal-basket insertion was encrypted before permission modules and again afterward when a registered
plabel or basket caused modules to run. This PR keeps the original fix: the after-module pass encrypts only permission-module baskets, so normal-basket instructions retain their existing single layer.81c0e0792f136975f6c5d3a87b99f3605c8de342.mainatbe2a2e7ade2eb8487b08d4d2b158f02ab36a3160is merged. Conflicts were limited to release notes, the changelog and the generated migration ledger; both sets of notes are preserved.createAction, and trusted-module transformations remain outside this fix. No encryption-history tracking or automatic legacy recovery is added.4c69a2c33016ea443cdaff6941ed7c68d31bdb5e.Impact
@bsv/wallet-toolbox, with shared browser/mobile implementationPackage versions and release baseline declarations follow current
main(2.14.8source manifests from #675). This PR introduces no independent version bump. Its original changelog note is retained in the current candidate section.Verification
8199c6ca28): 295 suites / 3,251 tests pass, with existing 2 skipped suites / 7 skipped tests. After fix(wallet-toolbox): change the profile list only after the UMP update succeeds #675 landed, the complete affected 259-test regression batch was repeated on the final source. The new exact-head hosted wallet run below is required; the earlier full receipt is not relabelled as a final-head run.git diff --check: pass.4c69a2c33016ea443cdaff6941ed7c68d31bdb5e. All 44 checks are terminal: 37 successful, 7 scope skips validated by the successful merge gate. Final-head full wallet coverage (all regular shards, both HTTP sync jobs and monitor), all affected dependents and all platform/consumer jobs pass. Sonar: quality=OK, newFindings=0, unreviewedHotspots=0. PR-ref CodeQL alerts: none.Security and dependencies
Dependency evidence
No dependency change. Security audit passes with 3 low and 2 moderate existing advisories, none high/critical. Existing peer contracts and package exports are unchanged; packed consumer and platform checks pass.
Release and operations
No API, wire or database migration. The fix prevents future normal-basket double encryption. Existing affected values retain the original single-decrypt read behavior. There is no live-wallet access or database rewrite.
Completion evidence
Current with
main, conflict-free and ready for review after exact-head qualification. Deggen’s original implementation/tests remain unchanged. No PR merge, publication or deployment performed.