Skip to content
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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zcash_client_sqlite: Re-enable spending of dust notes after #1312 #1316

Open
nuttycom opened this issue Mar 25, 2024 · 1 comment
Open

zcash_client_sqlite: Re-enable spending of dust notes after #1312 #1316

nuttycom opened this issue Mar 25, 2024 · 1 comment

Comments

@nuttycom
Copy link
Contributor

In #1312, we disabled the selection of notes with value below the marginal fee in order to work around problems with dust notes in input selection in cross-account transactions. Some ZIP 317 tests are disabled as a consequence of this change and will need to be re-enabled (and updated to include cross-pool cases).

nuttycom added a commit that referenced this issue Mar 25, 2024
At present, we don't take builder padding rules into account in the
determination of whether or not we can include spends of dust notes in
grace actions. It's too complex to attempt a complete fix for Zashi 1.0,
but we can have a tolerable workaround for launch by just never
selecting dust-valued notes.

This is a temporary solution; opened #1316 to track the resolution.
@daira daira added this to the SDK 2.x Post-Release Cleanup milestone Mar 26, 2024
@daira
Copy link
Contributor

daira commented May 13, 2024

Related to Electric-Coin-Company/zashi#39.

daira added a commit to daira/librustzcash that referenced this issue Jun 27, 2024
See zcash#1316 for re-adding it.

The previous code was essentially dead because it had no side effects
other than potentially returning an error. That error is unnecessary
and incorrect when we are not actually performing dust spends.

When we re-enable them, we should not try to make dust spends in
any transaction with non-default `ephemeral_parameters`, or if the
`dust_output_policy` is `DustAction::AddDustToFee`. That would
guarantee that we will always have a shielded change output, which
makes the calculations more tractable and excludes some potentially
complicated interactions.

Signed-off-by: Daira-Emma Hopwood <[email protected]>
daira added a commit to daira/librustzcash that referenced this issue Jun 28, 2024
See zcash#1316 for re-adding it.

The previous code was essentially dead because it had no side effects
other than potentially returning an error. That error is unnecessary
and incorrect when we are not actually performing dust spends.

When we re-enable them, we should not try to make dust spends in
any transaction with non-default `ephemeral_parameters`, or if the
`dust_output_policy` is `DustAction::AddDustToFee`. That would
guarantee that we will always have a shielded change output, which
makes the calculations more tractable and excludes some potentially
complicated interactions.

Signed-off-by: Daira-Emma Hopwood <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants