Skip to content

refactor coin filtering, combine frozen and coincontrol into new class CoinFilter - #10918

Draft
accumulator wants to merge 5 commits into
spesmilo:masterfrom
accumulator:coincontrol_frozen_refactor
Draft

refactor coin filtering, combine frozen and coincontrol into new class CoinFilter#10918
accumulator wants to merge 5 commits into
spesmilo:masterfrom
accumulator:coincontrol_frozen_refactor

Conversation

@accumulator

@accumulator accumulator commented Aug 31, 2026

Copy link
Copy Markdown
Member

refactor coin filtering, combine frozen and coincontrol into new class CoinFilter.

Currently, the code for coin control is separate from frozen addresses/coins, and
an active coin control selection must be filtered against the frozen list by the caller
the moment the selection is used.

This commit is an attempt to unify the filtering, so filtering works in predictable
ways everywhere (and can e.g. be more easily be extended in the future, if needed)

a CoinFilter instance is owned by each wallet, and takes care of managing the list
of frozen coins/addresses and the coin control set. Upon query, additional filters like
nonlocal_only, confirmed_only are applied.

CoinFilter emits callbacks when the set of frozen coins/addresses is changed, or when
coin control selection changes.

@accumulator
accumulator force-pushed the coincontrol_frozen_refactor branch from db572f7 to e1f5e52 Compare August 31, 2026 15:30
@accumulator accumulator added the topic-wallet 👛 related to wallet.py, or maybe address_synchronizer.py/coinchooser.py label Aug 31, 2026
@accumulator
accumulator force-pushed the coincontrol_frozen_refactor branch from fa6542a to 4f00a69 Compare September 1, 2026 08:44
…s CoinFilter.

Currently, the code for coin control is separate from frozen addresses/coins, and
an active coin control selection must be filtered against the frozen list by the caller
the moment the selection is used.

This commit is an attempt to unify the filtering, so filtering works in predictable
ways everywhere (and can e.g. be more easily be extended in the future, if needed)

a CoinFilter instance is owned by each wallet, and takes care of managing the list
of frozen coins/addresses and the coin control set. Upon query, additional filters like
nonlocal_only, confirmed_only are applied.
@accumulator
accumulator force-pushed the coincontrol_frozen_refactor branch from 4f00a69 to 26c145d Compare September 1, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

topic-wallet 👛 related to wallet.py, or maybe address_synchronizer.py/coinchooser.py

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant