Browse Source

Test there is no data loss when going from toPsbt() => fromPsbt()

psbt-support
Luke Childs 6 years ago
parent
commit
24040f49b2
  1. 1
      test/fixtures/transaction.json
  2. 9
      test/transaction.js

1
test/fixtures/transaction.json

@ -2,6 +2,7 @@
"valid": [
{
"description": "Standard unsigned transaction (1:2)",
"incomplete": true,
"id": "af2cac1e0e33d896d9d0751d66fcb2fa54b737c7a13199281fb57e4f497bb652",
"hash": "52b67b494f7eb51f289931a1c737b754fab2fc661d75d0d996d8330e1eac2caf",
"hex": "0200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf60000000000feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e1300",

9
test/transaction.js

@ -3,6 +3,7 @@ const assert = require('assert')
const bscript = require('../src/script')
const fixtures = require('./fixtures/transaction')
const Transaction = require('..').Transaction
const TransactionBuilder = require('..').TransactionBuilder
describe('Transaction', () => {
function fromRaw (raw, noWitness) {
@ -128,6 +129,14 @@ describe('Transaction', () => {
const actual = fromRaw(f.raw, true)
assert.strictEqual(actual.toPsbt(), f.psbt)
})
it('doesn\'t loose transaction data when cycling through toPsbt() => fromPsbt(), with: ' + f.description + ' (' + f.id + ')', () => {
const tx = fromRaw(f.raw, true)
const psbt = tx.toPsbt()
const txbFromPsbt = TransactionBuilder.fromPsbt(Buffer.from(psbt, 'hex'))
const txFromPsbt = f.incomplete ? txbFromPsbt.buildIncomplete() : txbFromPsbt.build()
assert.strictEqual(tx.toHex(), txFromPsbt.toHex())
})
})
})

Loading…
Cancel
Save