Skip to content

Feat/silentpayments dleq multisigner#142

Open
Sosthene00 wants to merge 7 commits into
masterfrom
feat/silentpayments-dleq-multisigner
Open

Feat/silentpayments dleq multisigner#142
Sosthene00 wants to merge 7 commits into
masterfrom
feat/silentpayments-dleq-multisigner

Conversation

@Sosthene00

Copy link
Copy Markdown
Collaborator
  • Add BIP-374 DLEQ-backed PartialSenderEcdhShare and GlobalSenderEcdhShare for multi-signer flows.
  • Add TransactionSharedSecret::new_from_global_share and new_from_partial_shares with vin coverage checks.
  • Introduce dleq-native / dleq-standalone feature flags via rust-dleq; legacy PartialSecret API retained.

P2SH-P2WPKH: validate the redeem-script hash160 against the output script
pubkey before trusting it. Previously any push in script_sig was accepted
without checking the commitment, which would silently allow malformed
inputs to pass.

P2TR: the old check for a script-path spend indexed the last witness item
as [1..33] without verifying length, which panics on items shorter than
33 bytes. Tighten the guard to control_block.len() >= 33 and only check
effective_stack >= 2 (key-path spends have a single witness item).

Extract last_push (returns the last data push in a push-only script) and
witness_compressed_pubkey (verifies compressed pubkey + hash160 match)
as helpers, removing three near-identical match blocks.

Also includes PublicTweakData::new signature change from the two-NonEmptyArray
pattern to &TransactionInputs (companion to the TransactionInputs commit).
Introduce BIP-374 DLEQ-backed `PartialSenderEcdhShare` and `GlobalSenderEcdhShare`
types, with `TransactionSharedSecret` constructors for global and per-input
share aggregation. Add `dleq-native` and `dleq-standalone` feature flags via
rust-dleq while keeping the legacy `PartialSecret` sending API for backward compatibility.
@Sosthene00 Sosthene00 force-pushed the feat/silentpayments-dleq-multisigner branch from b1a2c81 to 269918b Compare June 23, 2026 13:22
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.

1 participant