-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Summary
AcidTest only populates bip32_derivation in PSBT inputs for testnet coins. When using mainnet coins (e.g., btc, bch, ltc), the generated PSBTs have empty bip32_derivation and tap_key_origins fields.
Reproduction
import { testutils } from '@bitgo/wasm-utxo';
const { AcidTest } = testutils;
// Works - testnet with full psbt
const testnetPsbt = AcidTest.withConfig('tbtc', 'unsigned', 'psbt').createPsbt();
// Fails - mainnet with full psbt (missing bip32_derivation)
const mainnetPsbt = AcidTest.withConfig('btc', 'unsigned', 'psbt').createPsbt();Observed behavior
When parsing mainnet PSBTs created by AcidTest, consumers that require derivation info will fail:
Failed to parse transaction: Input 0: missing or invalid derivation info (not replay protection): Invalid input: both bip32_derivation and tap_key_origins are empty
Expected behavior
AcidTest should populate bip32_derivation for mainnet coins the same way it does for testnet coins when using full psbt format.
Notes
- This also affects
psbt-liteformat for both testnet and mainnet (expected, as psbt-lite intentionally omits derivation info) - Discovered while writing tests for
parseTransactionin indexerdb-microservice
Metadata
Metadata
Assignees
Labels
No labels