Repository navigation
Spend dynamic-key notes first in spare input slots #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
czarcas7ic
wants to merge
36
commits into
adam/swap-receiving-sqlite
from
adam/swap-receiving-slot-filling
Open
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
004fd99
Spend dynamic-key notes first in spare input slots
czarcas7ic 59dc9dd
Merge the SQLite store fixes
czarcas7ic c6d9013
Merge the SQLite restore watch change
czarcas7ic 8ba94e7
Merge the SQLite round-3 review fixes
czarcas7ic 07cb7fe
Merge the restored-address issuance gate
czarcas7ic 8fea2df
Merge the restored-account issuance gate
czarcas7ic 03c4a5a
Merge the restored lookahead seen check
czarcas7ic 4e3f6c9
Merge the restored lookahead that stays ahead of issued keys
czarcas7ic 9c7168a
Merge the round-4 SQLite restore sweep fixes
czarcas7ic c94cd8b
Merge the exact-input refund and seen-set fixes
czarcas7ic 245b175
Merge the round-6 SQLite fixes
czarcas7ic a2aad13
Merge the restore receipt retrieval note
czarcas7ic 6251dce
Merge the restored dynamic memo retrieval fix
czarcas7ic 7477378
Merge the round-8 SQLite fixes
czarcas7ic 31a9dca
Merge the round-9 SQLite fixes
czarcas7ic 5b85bf3
Merge the unreadable refund memo retention fix
czarcas7ic fa73e05
Merge the round-10 SQLite fixes
czarcas7ic b17909d
Merge main into slot filling
czarcas7ic 9668725
Merge the SQLite round-12 fixes
czarcas7ic ae73a98
Merge the zero exact-output refund fix
czarcas7ic 3799679
Merge the received-note dynamic key index
czarcas7ic 932b408
Merge the incomplete-deposit wording and the reservation limit
czarcas7ic a036fc2
Merge the completion-limit reopen fix
czarcas7ic e955521
Merge the refund-owed completion-limit fix
czarcas7ic 1536e8d
Merge the delayed-status completion-limit fix
czarcas7ic 14cadb5
Merge the structural completion-limit closure
czarcas7ic f709143
Merge the frozen closed-key deadline
czarcas7ic 91c1791
Merge the graph root, PRF note and pending-recovery guard
czarcas7ic f1a3451
Merge the round-16 key lifecycle and snapshot fixes
czarcas7ic 9272f14
Merge the transaction key snapshot fix
czarcas7ic 1b6e371
Note that a shape-changing dynamic-key note ends slot filling
czarcas7ic 96529a1
Merge the memo and restore-watch simplifications
czarcas7ic ba8d3bc
Merge the dynamic IVK simplifications
czarcas7ic 8e71080
Merge the dynamic IVK safety fixes
czarcas7ic d7d5b26
Merge the no-orchard storage guard
czarcas7ic 0f0eba9
Merge the low-level no-orchard guard
czarcas7ic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With
MultiOutputChangeStrategy, the first dynamic-key candidate can change the wallet metadata and therefore the split-change output count, causingsame_change_shapeto reject it. The selector only tests prefixes of this ordering, so every subsequent attempt still contains that rejected dynamic note, while later small ordinary notes that could preserve the shape are never tried (and may be omitted entirely when dynamic notes consume the query limit). Thus the new ordering can disable otherwise-valid consolidation instead of falling back to the smallest ordinary candidates.Useful? React with 馃憤聽/ 馃憥.