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

Support taproot PSBTs #147

Merged
merged 1 commit into from Dec 28, 2023
Merged

Support taproot PSBTs #147

merged 1 commit into from Dec 28, 2023

Conversation

DanGould
Copy link
Contributor

@DanGould DanGould commented Dec 18, 2023

Sometimes taproot signers leave around taproot signing artifacts.
Part of the spec is to remove unnecessary psbt data for counterparties,
so this ensures removal of taproot variety unnecessary data too.

Before this change it was possible for bitcoind's walletprocesspsbt to fail when it didn't have to because superfluous psbt data was present on the original psbt. This falls in line with the sender checklist, see "The Original PSBT MUST"

@DanGould
Copy link
Contributor Author

Right now our receiver only adds default getnewaddress which is typically bech32. This may fail for senders checking against mixed script inputs.

@DanGould
Copy link
Contributor Author

DanGould commented Dec 18, 2023

Blocked on #146

Sometimes taproot signers leave around taproot signing artifacts.
Part of the spec is to remove unnecessary psbt data for counterparties,
so this ensures removal of taproot variety unnecessary data too.
@DanGould
Copy link
Contributor Author

@jbesraa please review this manipulation as it relates to BIP 78. Mutiny and bitmask will try to add taproot inputs for receivers and this makes that possible. We'll need to follow that with some dynamic address type selection in payjoin-cli that this makes possible.

@DanGould
Copy link
Contributor Author

I'm inclined to roll a release this change as a patch since it doesn't change the API and some taproot payjoin spends to taproot receivers are broken until the fix is applied.

@jbesraa jbesraa self-requested a review December 27, 2023 18:08
@jbesraa jbesraa removed their assignment Dec 27, 2023
@DanGould DanGould merged commit 26f0d06 into payjoin:master Dec 28, 2023
5 checks passed
@DanGould DanGould deleted the rec-tr branch December 28, 2023 16:15
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

Successfully merging this pull request may close these issues.

None yet

2 participants