Repository navigation
fix: Fix Taproot receiver input handling in async Payjoin - #196
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
3 open findings
The PR title indicates a production fix (\"fix: Fix Taproot receiver input handling\"), but the… · New The weight calculation here is fragile and may be incorrect depending on what NBitcoin includes in… · New The positional boolean argument (..., true, ...) makes the test harder to read/maintain because… · New
What changed in this PR
Adds an integration regression test to reproduce/guard the Taproot receiver-input Payjoin failure, and updates test helpers to support initializing wallets with Taproot derivation schemes.
Changes:
- Extend Payjoin integration test helpers to allow selecting
ScriptPubKeyType(defaulting to Segwit). - Add an integration test that funds the receiver with a BIP86 Taproot UTXO and asserts expected witness/signature/weight characteristics.
| File | Description |
|---|---|
| BTCPayServer.Plugins.Payjoin.IntegrationTests/TestUtils/PayjoinAccountTestHelper.cs | Adds a scriptPubKeyType parameter so tests can initialize merchant wallets as Taproot (BIP86) instead of Segwit. |
| BTCPayServer.Plugins.Payjoin.IntegrationTests/PayjoinPluginIntegrationTests.cs | Adds a Taproot-focused Payjoin integration test asserting correct inclusion and shape of the receiver input. |
🧠 Review effort: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Copilot stopped reviewing on behalf of
ValeraFinebits due to an error
October 9, 2026 15:10
This was referenced Oct 12, 2026
ValeraFinebits
marked this pull request as ready for review
October 13, 2026 11:47
chavic
approved these changes
Oct 14, 2026
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.



Closes #195
Fix
weight prediction not supportedwhen a store contributes a Taproot UTXO to async Payjoin, reported during Bull Bitcoin testing againsttest/v0.3.2-alpha.rc2.NewP2trKeyspendandNewP2wpkhFFI constructors.Local validation on Windows: 4 adapter unit tests and both SegWit and Taproot regtest payment tests pass (6 passed, 0 failed, 0 skipped). Release build, formatting, and
git diff --checkpass.Pins
rust-payjointoc20d01d4edb9aa36e93ce91f99153ad6f8188b33from rust-payjoin#1959. Coordinated with rust-payjoin#1955.