@bitgo/abstract-utxo 10.6.0 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{src → cjs/src}/abstractUtxoCoin.d.ts +18 -68
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +645 -0
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
- package/dist/cjs/src/address/fixedScript.js +150 -0
- package/dist/cjs/src/address/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/address/index.js +1 -1
- package/dist/cjs/src/config.d.ts.map +1 -0
- package/dist/cjs/src/config.js +14 -0
- package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/NamedDescriptor.js +79 -0
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +66 -0
- package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/builder/builder.js +37 -0
- package/dist/cjs/src/descriptor/builder/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/descriptor/builder/index.js +1 -1
- package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/builder/parse.js +116 -0
- package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.js +41 -0
- package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +33 -0
- package/dist/cjs/src/descriptor/createWallet/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/descriptor/createWallet/index.js +1 -1
- package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/descriptorWallet.js +54 -0
- package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/descriptor/index.js +1 -1
- package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/validatePolicy.js +92 -0
- package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/bch.js +74 -0
- package/dist/cjs/src/impl/bch/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bch/index.js +1 -1
- package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bch/tbch.js +1 -1
- package/dist/{src → cjs/src}/impl/bcha/bcha.d.ts +0 -1
- package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/bcha.js +48 -0
- package/dist/cjs/src/impl/bcha/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bcha/index.js +1 -1
- package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bcha/tbcha.js +1 -1
- package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bsv/bsv.js +1 -1
- package/dist/cjs/src/impl/bsv/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bsv/index.js +1 -1
- package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bsv/tbsv.js +1 -1
- package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/btc.js +1 -1
- package/dist/cjs/src/impl/btc/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/index.js +1 -1
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/inscriptionBuilder.js +183 -0
- package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/tbtc.js +1 -1
- package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/tbtc4.js +1 -1
- package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/tbtcbgsig.js +1 -1
- package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btc/tbtcsig.js +1 -1
- package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btg/btg.js +1 -1
- package/dist/cjs/src/impl/btg/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/btg/index.js +1 -1
- package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/dash/dash.js +1 -1
- package/dist/cjs/src/impl/dash/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/dash/index.js +1 -1
- package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/dash/tdash.js +1 -1
- package/dist/{src → cjs/src}/impl/doge/doge.d.ts +4 -2
- package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/doge.js +79 -0
- package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/doge/index.js +1 -1
- package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/doge/tdoge.js +1 -1
- package/dist/cjs/src/impl/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/index.js +1 -1
- package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/ltc/index.js +1 -1
- package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/ltc/ltc.js +1 -1
- package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/ltc/tltc.js +1 -1
- package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/zec/index.js +1 -1
- package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/zec/tzec.js +1 -1
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/zec/zec.js +1 -1
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/index.js +1 -1
- package/dist/cjs/src/keychains.d.ts.map +1 -0
- package/dist/cjs/src/keychains.js +104 -0
- package/dist/cjs/src/names.d.ts.map +1 -0
- package/dist/cjs/src/names.js +214 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +26 -0
- package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/OfflineVaultSignable.js +55 -0
- package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/TransactionExplanation.js +16 -0
- package/dist/cjs/src/offlineVault/descriptor/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/offlineVault/descriptor/index.js +1 -1
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/descriptor/transaction.js +80 -0
- package/dist/cjs/src/offlineVault/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/offlineVault/index.js +1 -1
- package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -0
- package/dist/cjs/src/recovery/RecoveryProvider.js +22 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.js +370 -0
- package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/baseApi.js +73 -0
- package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/crossChainRecovery.js +364 -0
- package/dist/cjs/src/recovery/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/recovery/index.js +1 -1
- package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/mempoolApi.js +36 -0
- package/dist/{src → cjs/src}/replayProtection.d.ts +1 -0
- package/dist/cjs/src/replayProtection.d.ts.map +1 -0
- package/dist/cjs/src/replayProtection.js +58 -0
- package/dist/cjs/src/sign.d.ts.map +1 -0
- package/dist/cjs/src/sign.js +205 -0
- package/dist/cjs/src/transaction/bip322.d.ts.map +1 -0
- package/dist/cjs/src/transaction/bip322.js +125 -0
- package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
- package/dist/cjs/src/transaction/common/verifyPayGoAmount.js +3 -0
- package/dist/{src → cjs/src}/transaction/descriptor/explainPsbt.d.ts +2 -2
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +80 -0
- package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/descriptor/index.js +1 -1
- package/dist/{src → cjs/src}/transaction/descriptor/parse.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parse.js +116 -0
- package/dist/{src → cjs/src}/transaction/descriptor/parseToAmountType.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
- package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.js +43 -0
- package/dist/{src → cjs/src}/transaction/descriptor/verifyTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +108 -0
- package/dist/{src → cjs/src}/transaction/explainTransaction.d.ts +4 -3
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/explainTransaction.js +88 -0
- package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fetchInputs.js +109 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +43 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +64 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +321 -0
- package/dist/{src → cjs/src}/transaction/fixedScript/index.d.ts +1 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/fixedScript/index.js +4 -2
- package/dist/{src → cjs/src}/transaction/fixedScript/parseOutput.d.ts +3 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +217 -0
- package/dist/{src → cjs/src}/transaction/fixedScript/parseTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +215 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +101 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +198 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/getPayGoVerificationPubkey.js +1 -1
- package/dist/{src → cjs/src}/transaction/index.d.ts +1 -0
- package/dist/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/index.js +2 -1
- package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/src/transaction/outputDifference.js +47 -0
- package/dist/{src → cjs/src}/transaction/parseTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/parseTransaction.js +1 -1
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/src/transaction/recipient.js +88 -0
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/signTransaction.js +102 -0
- package/dist/cjs/src/transaction/types.d.ts +44 -0
- package/dist/cjs/src/transaction/types.d.ts.map +1 -0
- package/dist/cjs/src/transaction/types.js +3 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/verifyTransaction.js +1 -1
- package/dist/{src → cjs/src}/verifyKey.d.ts +2 -1
- package/dist/cjs/src/verifyKey.d.ts.map +1 -0
- package/dist/cjs/src/verifyKey.js +164 -0
- package/dist/cjs/src/wallet.d.ts.map +1 -0
- package/dist/cjs/src/wallet.js +8 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/test/integration/impl/bch/bch.js +74 -0
- package/dist/cjs/test/unit/address.d.ts +2 -0
- package/dist/cjs/test/unit/address.d.ts.map +1 -0
- package/dist/cjs/test/unit/address.js +182 -0
- package/dist/cjs/test/unit/bip322.d.ts +2 -0
- package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
- package/dist/cjs/test/unit/bip322.js +45 -0
- package/dist/cjs/test/unit/coins.d.ts +2 -0
- package/dist/cjs/test/unit/coins.d.ts.map +1 -0
- package/dist/cjs/test/unit/coins.js +97 -0
- package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
- package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/customChangeWallet.js +154 -0
- package/dist/cjs/test/unit/customSigner.d.ts +3 -0
- package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
- package/dist/cjs/test/unit/customSigner.js +108 -0
- package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
- package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
- package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +18 -0
- package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
- package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
- package/dist/cjs/test/unit/descriptor/builder.js +72 -0
- package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
- package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
- package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +20 -0
- package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
- package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/descriptor/descriptorWallet.js +28 -0
- package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
- package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
- package/dist/cjs/test/unit/descriptorAddress.js +102 -0
- package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/explainTransaction.js +74 -0
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +15 -0
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +51 -0
- package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
- package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
- package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
- package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
- package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/bch/unit/bch.js +138 -0
- package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/bcha/unit/index.js +47 -0
- package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/bsv/unit/index.js +32 -0
- package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +2 -0
- package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/btc/unit/btc.js +220 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +4 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +10 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +18 -0
- package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/btg/unit/index.js +29 -0
- package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/dash/unit/index.js +32 -0
- package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/doge/unit/index.js +32 -0
- package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/ltc/unit/index.js +39 -0
- package/dist/cjs/test/unit/impl/zec/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/unit/index.js +29 -0
- package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
- package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
- package/dist/cjs/test/unit/keySignatures.js +54 -0
- package/dist/cjs/test/unit/keychains.d.ts +2 -0
- package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/keychains.js +49 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
- package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/parseTransaction.js +125 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts +6 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
- package/dist/cjs/test/unit/prebuildAndSign.js +270 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +285 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +283 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts +30 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/mock.js +138 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +30 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +17 -0
- package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +76 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.js +135 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.js +32 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +48 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +101 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +288 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts +3 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.js +46 -0
- package/dist/cjs/test/unit/transaction.d.ts +2 -0
- package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction.js +501 -0
- package/dist/cjs/test/unit/txFormat.d.ts +30 -0
- package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
- package/dist/cjs/test/unit/txFormat.js +174 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts +14 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/fixtures.js +102 -0
- package/dist/cjs/test/unit/util/index.d.ts +7 -0
- package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/index.js +23 -0
- package/dist/cjs/test/unit/util/keychains.d.ts +26 -0
- package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/keychains.js +72 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts +3 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockBitGo.js +11 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.js +56 -0
- package/dist/cjs/test/unit/util/transaction.d.ts +24 -0
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/transaction.js +107 -0
- package/dist/cjs/test/unit/util/unspents.d.ts +13 -0
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/unspents.js +106 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +8 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/utxoCoins.js +95 -0
- package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
- package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/wallet.js +9 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/verifyTransaction.js +327 -0
- package/dist/cjs/test/unit/wallet.d.ts +2 -0
- package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/wallet.js +248 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/abstractUtxoCoin.d.ts +425 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +604 -0
- package/dist/esm/address/fixedScript.d.ts +51 -0
- package/dist/esm/address/fixedScript.js +109 -0
- package/dist/esm/address/index.d.ts +2 -0
- package/dist/esm/address/index.js +2 -0
- package/dist/esm/config.d.ts +9 -0
- package/dist/esm/config.js +11 -0
- package/dist/esm/descriptor/NamedDescriptor.d.ts +20 -0
- package/dist/esm/descriptor/NamedDescriptor.js +39 -0
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
- package/dist/esm/descriptor/assertDescriptorWalletAddress.js +27 -0
- package/dist/esm/descriptor/builder/builder.d.ts +13 -0
- package/dist/esm/descriptor/builder/builder.js +34 -0
- package/dist/esm/descriptor/builder/index.d.ts +3 -0
- package/dist/esm/descriptor/builder/index.js +3 -0
- package/dist/esm/descriptor/builder/parse.d.ts +5 -0
- package/dist/esm/descriptor/builder/parse.js +112 -0
- package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
- package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
- package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
- package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
- package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
- package/dist/esm/descriptor/createWallet/index.js +3 -0
- package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
- package/dist/esm/descriptor/descriptorWallet.js +16 -0
- package/dist/esm/descriptor/index.d.ts +8 -0
- package/dist/esm/descriptor/index.js +7 -0
- package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
- package/dist/esm/descriptor/validatePolicy.js +80 -0
- package/dist/esm/impl/bch/bch.d.ts +20 -0
- package/dist/{src → esm}/impl/bch/bch.d.ts.map +1 -1
- package/dist/esm/impl/bch/bch.js +37 -0
- package/dist/esm/impl/bch/index.d.ts +3 -0
- package/dist/esm/impl/bch/index.js +3 -0
- package/dist/esm/impl/bch/tbch.d.ts +10 -0
- package/dist/esm/impl/bch/tbch.js +11 -0
- package/dist/esm/impl/bcha/bcha.d.ts +8 -0
- package/dist/{src → esm}/impl/bcha/bcha.d.ts.map +1 -1
- package/dist/esm/impl/bcha/bcha.js +11 -0
- package/dist/esm/impl/bcha/index.d.ts +3 -0
- package/dist/esm/impl/bcha/index.js +3 -0
- package/dist/esm/impl/bcha/tbcha.d.ts +10 -0
- package/dist/esm/impl/bcha/tbcha.js +11 -0
- package/dist/esm/impl/bsv/bsv.d.ts +8 -0
- package/dist/esm/impl/bsv/bsv.js +11 -0
- package/dist/esm/impl/bsv/index.d.ts +3 -0
- package/dist/esm/impl/bsv/index.js +3 -0
- package/dist/esm/impl/bsv/tbsv.d.ts +10 -0
- package/dist/esm/impl/bsv/tbsv.js +11 -0
- package/dist/esm/impl/btc/btc.d.ts +13 -0
- package/dist/esm/impl/btc/btc.js +18 -0
- package/dist/esm/impl/btc/index.d.ts +7 -0
- package/dist/esm/impl/btc/index.js +7 -0
- package/dist/esm/impl/btc/inscriptionBuilder.d.ts +51 -0
- package/dist/esm/impl/btc/inscriptionBuilder.js +143 -0
- package/dist/esm/impl/btc/tbtc.d.ts +10 -0
- package/dist/esm/impl/btc/tbtc.js +11 -0
- package/dist/esm/impl/btc/tbtc4.d.ts +10 -0
- package/dist/esm/impl/btc/tbtc4.js +11 -0
- package/dist/esm/impl/btc/tbtcbgsig.d.ts +10 -0
- package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
- package/dist/esm/impl/btc/tbtcsig.d.ts +10 -0
- package/dist/esm/impl/btc/tbtcsig.js +11 -0
- package/dist/esm/impl/btg/btg.d.ts +7 -0
- package/dist/esm/impl/btg/btg.js +11 -0
- package/dist/esm/impl/btg/index.d.ts +2 -0
- package/dist/esm/impl/btg/index.js +2 -0
- package/dist/esm/impl/dash/dash.d.ts +7 -0
- package/dist/esm/impl/dash/dash.js +11 -0
- package/dist/esm/impl/dash/index.d.ts +3 -0
- package/dist/esm/impl/dash/index.js +3 -0
- package/dist/esm/impl/dash/tdash.d.ts +10 -0
- package/dist/esm/impl/dash/tdash.js +11 -0
- package/dist/esm/impl/doge/doge.d.ts +32 -0
- package/dist/esm/impl/doge/doge.d.ts.map +1 -0
- package/dist/esm/impl/doge/doge.js +75 -0
- package/dist/esm/impl/doge/index.d.ts +3 -0
- package/dist/esm/impl/doge/index.js +3 -0
- package/dist/esm/impl/doge/tdoge.d.ts +10 -0
- package/dist/esm/impl/doge/tdoge.js +11 -0
- package/dist/esm/impl/index.d.ts +10 -0
- package/dist/esm/impl/index.js +10 -0
- package/dist/esm/impl/ltc/index.d.ts +3 -0
- package/dist/esm/impl/ltc/index.js +3 -0
- package/dist/esm/impl/ltc/ltc.d.ts +7 -0
- package/dist/esm/impl/ltc/ltc.js +15 -0
- package/dist/esm/impl/ltc/tltc.d.ts +7 -0
- package/dist/esm/impl/ltc/tltc.js +14 -0
- package/dist/esm/impl/zec/index.d.ts +3 -0
- package/dist/esm/impl/zec/index.js +3 -0
- package/dist/esm/impl/zec/tzec.d.ts +7 -0
- package/dist/esm/impl/zec/tzec.js +11 -0
- package/dist/esm/impl/zec/zec.d.ts +10 -0
- package/dist/esm/impl/zec/zec.js +11 -0
- package/dist/esm/index.d.ts +21 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/keychains.d.ts +48 -0
- package/dist/esm/keychains.js +61 -0
- package/dist/esm/names.d.ts +26 -0
- package/dist/esm/names.js +171 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +23 -0
- package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
- package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
- package/dist/esm/offlineVault/TransactionExplanation.d.ts +15 -0
- package/dist/esm/offlineVault/TransactionExplanation.js +13 -0
- package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
- package/dist/esm/offlineVault/descriptor/index.js +2 -0
- package/dist/esm/offlineVault/descriptor/transaction.d.ts +38 -0
- package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
- package/dist/esm/offlineVault/index.d.ts +6 -0
- package/dist/esm/offlineVault/index.js +4 -0
- package/dist/esm/recovery/RecoveryProvider.d.ts +22 -0
- package/dist/{src → esm}/recovery/RecoveryProvider.js +6 -9
- package/dist/esm/recovery/backupKeyRecovery.d.ts +88 -0
- package/dist/esm/recovery/backupKeyRecovery.js +329 -0
- package/dist/esm/recovery/baseApi.d.ts +24 -0
- package/dist/esm/recovery/baseApi.js +64 -0
- package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
- package/dist/esm/recovery/coingeckoApi.js +40 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts +86 -0
- package/dist/esm/recovery/crossChainRecovery.js +325 -0
- package/dist/esm/recovery/index.d.ts +7 -0
- package/dist/esm/recovery/index.js +7 -0
- package/dist/esm/recovery/mempoolApi.d.ts +7 -0
- package/dist/esm/recovery/mempoolApi.js +29 -0
- package/dist/esm/replayProtection.d.ts +5 -0
- package/dist/esm/replayProtection.d.ts.map +1 -0
- package/dist/esm/replayProtection.js +20 -0
- package/dist/esm/sign.d.ts +54 -0
- package/dist/esm/sign.js +162 -0
- package/dist/esm/transaction/bip322.d.ts +27 -0
- package/dist/esm/transaction/bip322.js +86 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
- package/dist/{src → esm}/transaction/common/verifyPayGoAmount.js +0 -2
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/explainPsbt.js +44 -0
- package/dist/esm/transaction/descriptor/index.d.ts +7 -0
- package/dist/esm/transaction/descriptor/index.js +6 -0
- package/dist/esm/transaction/descriptor/parse.d.ts +16 -0
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parse.js +79 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
- package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
- package/dist/{src → esm}/transaction/descriptor/recipient.js +1 -2
- package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
- package/dist/esm/transaction/descriptor/signPsbt.js +38 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.js +65 -0
- package/dist/esm/transaction/explainTransaction.d.ts +18 -0
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/explainTransaction.js +52 -0
- package/dist/esm/transaction/fetchInputs.d.ts +26 -0
- package/dist/esm/transaction/fetchInputs.js +72 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +40 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +64 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.js +284 -0
- package/dist/esm/transaction/fixedScript/index.d.ts +7 -0
- package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/index.js +6 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseOutput.js +210 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.js +176 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +18 -0
- package/dist/esm/transaction/fixedScript/signTransaction.js +95 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +159 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
- package/dist/esm/transaction/index.d.ts +8 -0
- package/dist/esm/transaction/index.d.ts.map +1 -0
- package/dist/esm/transaction/index.js +8 -0
- package/dist/esm/transaction/outputDifference.d.ts +40 -0
- package/dist/esm/transaction/outputDifference.js +42 -0
- package/dist/esm/transaction/parseTransaction.d.ts +4 -0
- package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/parseTransaction.js +12 -0
- package/dist/esm/transaction/recipient.d.ts +29 -0
- package/dist/{src → esm}/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +48 -0
- package/dist/esm/transaction/signTransaction.d.ts +6 -0
- package/dist/esm/transaction/signTransaction.js +63 -0
- package/dist/esm/transaction/types.d.ts +44 -0
- package/dist/esm/transaction/types.d.ts.map +1 -0
- package/dist/esm/transaction/types.js +2 -0
- package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
- package/dist/esm/transaction/verifyTransaction.js +14 -0
- package/dist/esm/verifyKey.d.ts +29 -0
- package/dist/esm/verifyKey.d.ts.map +1 -0
- package/dist/esm/verifyKey.js +123 -0
- package/dist/esm/wallet.d.ts +15 -0
- package/dist/esm/wallet.js +5 -0
- package/package.json +32 -15
- package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
- package/dist/src/abstractUtxoCoin.js +0 -634
- package/dist/src/address/fixedScript.js +0 -150
- package/dist/src/config.js +0 -14
- package/dist/src/descriptor/NamedDescriptor.js +0 -79
- package/dist/src/descriptor/assertDescriptorWalletAddress.js +0 -66
- package/dist/src/descriptor/builder/builder.js +0 -37
- package/dist/src/descriptor/builder/parse.js +0 -116
- package/dist/src/descriptor/createWallet/createDescriptorWallet.js +0 -41
- package/dist/src/descriptor/createWallet/createDescriptors.js +0 -33
- package/dist/src/descriptor/descriptorWallet.js +0 -54
- package/dist/src/descriptor/validatePolicy.js +0 -92
- package/dist/src/impl/bch/bch.js +0 -70
- package/dist/src/impl/bcha/bcha.js +0 -58
- package/dist/src/impl/btc/inscriptionBuilder.js +0 -183
- package/dist/src/impl/doge/doge.d.ts.map +0 -1
- package/dist/src/impl/doge/doge.js +0 -79
- package/dist/src/keychains.js +0 -104
- package/dist/src/names.js +0 -214
- package/dist/src/offlineVault/OfflineVaultHalfSigned.js +0 -26
- package/dist/src/offlineVault/OfflineVaultSignable.js +0 -55
- package/dist/src/offlineVault/TransactionExplanation.js +0 -16
- package/dist/src/offlineVault/descriptor/transaction.js +0 -80
- package/dist/src/recovery/backupKeyRecovery.js +0 -370
- package/dist/src/recovery/baseApi.js +0 -73
- package/dist/src/recovery/coingeckoApi.js +0 -44
- package/dist/src/recovery/crossChainRecovery.js +0 -364
- package/dist/src/recovery/mempoolApi.js +0 -36
- package/dist/src/replayProtection.d.ts.map +0 -1
- package/dist/src/replayProtection.js +0 -53
- package/dist/src/sign.js +0 -205
- package/dist/src/transaction/bip322.js +0 -125
- package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +0 -1
- package/dist/src/transaction/descriptor/explainPsbt.js +0 -80
- package/dist/src/transaction/descriptor/parse.d.ts.map +0 -1
- package/dist/src/transaction/descriptor/parse.js +0 -116
- package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +0 -1
- package/dist/src/transaction/descriptor/parseToAmountType.js +0 -60
- package/dist/src/transaction/descriptor/signPsbt.js +0 -43
- package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +0 -1
- package/dist/src/transaction/descriptor/verifyTransaction.js +0 -108
- package/dist/src/transaction/explainTransaction.d.ts.map +0 -1
- package/dist/src/transaction/explainTransaction.js +0 -67
- package/dist/src/transaction/fetchInputs.js +0 -109
- package/dist/src/transaction/fixedScript/explainTransaction.d.ts +0 -29
- package/dist/src/transaction/fixedScript/explainTransaction.d.ts.map +0 -1
- package/dist/src/transaction/fixedScript/explainTransaction.js +0 -321
- package/dist/src/transaction/fixedScript/index.d.ts.map +0 -1
- package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +0 -1
- package/dist/src/transaction/fixedScript/parseOutput.js +0 -213
- package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +0 -1
- package/dist/src/transaction/fixedScript/parseTransaction.js +0 -203
- package/dist/src/transaction/fixedScript/signTransaction.js +0 -101
- package/dist/src/transaction/fixedScript/verifyTransaction.d.ts.map +0 -1
- package/dist/src/transaction/fixedScript/verifyTransaction.js +0 -198
- package/dist/src/transaction/index.d.ts.map +0 -1
- package/dist/src/transaction/outputDifference.js +0 -47
- package/dist/src/transaction/parseTransaction.d.ts.map +0 -1
- package/dist/src/transaction/recipient.js +0 -88
- package/dist/src/transaction/signTransaction.js +0 -102
- package/dist/src/verifyKey.d.ts.map +0 -1
- package/dist/src/verifyKey.js +0 -164
- package/dist/src/wallet.js +0 -8
- /package/dist/{src → cjs/src}/address/fixedScript.d.ts +0 -0
- /package/dist/{src → cjs/src}/address/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/config.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/NamedDescriptor.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/assertDescriptorWalletAddress.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/builder/builder.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/builder/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/builder/parse.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/createWallet/createDescriptorWallet.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/createWallet/createDescriptors.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/createWallet/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/descriptorWallet.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/descriptor/validatePolicy.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bch/bch.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bch/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bch/tbch.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bcha/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bcha/tbcha.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bsv/bsv.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bsv/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/bsv/tbsv.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/btc.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/inscriptionBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/tbtc.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/tbtc4.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/tbtcbgsig.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btc/tbtcsig.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btg/btg.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/btg/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/dash/dash.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/dash/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/dash/tdash.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/doge/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/doge/tdoge.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/ltc/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/ltc/ltc.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/ltc/tltc.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/zec/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/zec/tzec.d.ts +0 -0
- /package/dist/{src → cjs/src}/impl/zec/zec.d.ts +0 -0
- /package/dist/{src → cjs/src}/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/keychains.d.ts +0 -0
- /package/dist/{src → cjs/src}/names.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/OfflineVaultHalfSigned.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/OfflineVaultSignable.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/TransactionExplanation.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/descriptor/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/descriptor/transaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/offlineVault/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/RecoveryProvider.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/backupKeyRecovery.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/baseApi.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
- /package/dist/{src → cjs/src}/sign.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/bip322.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/common/verifyPayGoAmount.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/descriptor/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/descriptor/recipient.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/descriptor/signPsbt.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/fetchInputs.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/fixedScript/signTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/fixedScript/verifyTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/getPayGoVerificationPubkey.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/outputDifference.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/recipient.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/signTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/verifyTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/wallet.d.ts +0 -0
- /package/dist/{src → esm}/address/fixedScript.d.ts.map +0 -0
- /package/dist/{src → esm}/address/index.d.ts.map +0 -0
- /package/dist/{src → esm}/config.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/NamedDescriptor.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/assertDescriptorWalletAddress.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/builder/builder.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/builder/index.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/builder/parse.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/createWallet/createDescriptorWallet.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/createWallet/createDescriptors.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/createWallet/index.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/descriptorWallet.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/index.d.ts.map +0 -0
- /package/dist/{src → esm}/descriptor/validatePolicy.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bch/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bch/tbch.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bcha/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bcha/tbcha.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bsv/bsv.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bsv/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/bsv/tbsv.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/btc.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/inscriptionBuilder.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/tbtc.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/tbtc4.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/tbtcbgsig.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btc/tbtcsig.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btg/btg.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/btg/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/dash/dash.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/dash/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/dash/tdash.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/doge/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/doge/tdoge.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/ltc/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/ltc/ltc.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/ltc/tltc.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/zec/index.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/zec/tzec.d.ts.map +0 -0
- /package/dist/{src → esm}/impl/zec/zec.d.ts.map +0 -0
- /package/dist/{src → esm}/index.d.ts.map +0 -0
- /package/dist/{src → esm}/keychains.d.ts.map +0 -0
- /package/dist/{src → esm}/names.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/OfflineVaultHalfSigned.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/OfflineVaultSignable.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/TransactionExplanation.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/descriptor/index.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/descriptor/transaction.d.ts.map +0 -0
- /package/dist/{src → esm}/offlineVault/index.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/RecoveryProvider.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/backupKeyRecovery.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/baseApi.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/coingeckoApi.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/crossChainRecovery.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/index.d.ts.map +0 -0
- /package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +0 -0
- /package/dist/{src → esm}/sign.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/bip322.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/common/verifyPayGoAmount.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/descriptor/index.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/descriptor/recipient.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/descriptor/signPsbt.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fetchInputs.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fixedScript/signTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/getPayGoVerificationPubkey.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/outputDifference.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/signTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/verifyTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/wallet.d.ts.map +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const outputDifference_1 = require("../../../../src/transaction/outputDifference");
|
|
8
|
+
describe('outputDifference', function () {
|
|
9
|
+
function output(script, value) {
|
|
10
|
+
const scriptBuffer = Buffer.from(script, 'hex');
|
|
11
|
+
if (scriptBuffer.toString('hex') !== script) {
|
|
12
|
+
throw new Error('invalid script');
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
script: Buffer.from(script, 'hex'),
|
|
16
|
+
value: value === 'max' ? 'max' : BigInt(value),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const a = output('aa', 1);
|
|
20
|
+
const a2 = output('aa', 2);
|
|
21
|
+
const aMax = output('aa', 'max');
|
|
22
|
+
const b = output('bb', 1);
|
|
23
|
+
const c = output('cc', 1);
|
|
24
|
+
describe('equalOutput', function () {
|
|
25
|
+
it('has expected result', function () {
|
|
26
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(a, a), true);
|
|
27
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(a, a2), false);
|
|
28
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(a, b), false);
|
|
29
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(aMax, b), false);
|
|
30
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(aMax, a), true);
|
|
31
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(a, aMax), true);
|
|
32
|
+
// this one does not appear in practice but is a valid comparison
|
|
33
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.matchingOutput)(aMax, aMax), true);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('outputDifference', function () {
|
|
37
|
+
it('has expected result', function () {
|
|
38
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([], []), []);
|
|
39
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a], []), [a]);
|
|
40
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([aMax], []), [aMax]);
|
|
41
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([], [a]), []);
|
|
42
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([], [aMax]), []);
|
|
43
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a], [a]), []);
|
|
44
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a], [aMax]), []);
|
|
45
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([aMax], [a]), []);
|
|
46
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, a], [a]), [a]);
|
|
47
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, a], [aMax]), [a]);
|
|
48
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, a, a], [a]), [a, a]);
|
|
49
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, b, c], [a, b]), [c]);
|
|
50
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, b, c], [aMax, b]), [c]);
|
|
51
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a, b, c, a], [a, b]), [c, a]);
|
|
52
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a], [a2]), [a]);
|
|
53
|
+
assert_1.default.deepStrictEqual((0, outputDifference_1.outputDifference)([a2], [a]), [a2]);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('outputDifferencesWithExpected', function () {
|
|
57
|
+
function test(outputs, recipients, expected) {
|
|
58
|
+
const result = (0, outputDifference_1.outputDifferencesWithExpected)(outputs, recipients);
|
|
59
|
+
assert_1.default.deepStrictEqual(result, {
|
|
60
|
+
explicitOutputs: expected.explicit,
|
|
61
|
+
implicitOutputs: expected.implicit,
|
|
62
|
+
missingOutputs: expected.missing,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
it('has expected result', function () {
|
|
66
|
+
test([a], [], { missing: [], explicit: [], implicit: [a] });
|
|
67
|
+
test([], [a], { missing: [a], explicit: [], implicit: [] });
|
|
68
|
+
test([a], [a], { missing: [], explicit: [a], implicit: [] });
|
|
69
|
+
test([a], [a2], { missing: [a2], explicit: [], implicit: [a] });
|
|
70
|
+
test([b], [a], { missing: [a], explicit: [], implicit: [b] });
|
|
71
|
+
test([a, a], [a], { missing: [], explicit: [a], implicit: [a] });
|
|
72
|
+
test([a, b], [a], { missing: [], explicit: [a], implicit: [b] });
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0RGlmZmVyZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbi9kZXNjcmlwdG9yL291dHB1dERpZmZlcmVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsbUZBTXNEO0FBRXRELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUczQixTQUFTLE1BQU0sQ0FBQyxNQUFjLEVBQUUsS0FBOEI7UUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTztZQUNMLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDbEMsS0FBSyxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUxQixRQUFRLENBQUMsYUFBYSxFQUFFO1FBQ3RCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLGlDQUFjLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25ELGdCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsaUNBQWMsRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxpQ0FBYyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLGlDQUFjLEVBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXZELGdCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsaUNBQWMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxpQ0FBYyxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RCxpRUFBaUU7WUFDakUsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxpQ0FBYyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtCQUFrQixFQUFFO1FBQzNCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELGdCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsbUNBQWdCLEVBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0QsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxtQ0FBZ0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELGdCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsbUNBQWdCLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELGdCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsbUNBQWdCLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxtQ0FBZ0IsRUFBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSxtQ0FBZ0IsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlELGdCQUFNLENBQUMsZUFBZSxD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QyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHtcbiAgQWN0dWFsT3V0cHV0LFxuICBFeHBlY3RlZE91dHB1dCxcbiAgbWF0Y2hpbmdPdXRwdXQsXG4gIG91dHB1dERpZmZlcmVuY2UsXG4gIG91dHB1dERpZmZlcmVuY2VzV2l0aEV4cGVjdGVkLFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vb3V0cHV0RGlmZmVyZW5jZSc7XG5cbmRlc2NyaWJlKCdvdXRwdXREaWZmZXJlbmNlJywgZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBvdXRwdXQoc2NyaXB0OiBzdHJpbmcsIHZhbHVlOiBiaWdpbnQgfCBudW1iZXIpOiBBY3R1YWxPdXRwdXQ7XG4gIGZ1bmN0aW9uIG91dHB1dChzY3JpcHQ6IHN0cmluZywgdmFsdWU6ICdtYXgnKTogRXhwZWN0ZWRPdXRwdXQ7XG4gIGZ1bmN0aW9uIG91dHB1dChzY3JpcHQ6IHN0cmluZywgdmFsdWU6IGJpZ2ludCB8IG51bWJlciB8ICdtYXgnKTogQWN0dWFsT3V0cHV0IHwgRXhwZWN0ZWRPdXRwdXQge1xuICAgIGNvbnN0IHNjcmlwdEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHNjcmlwdCwgJ2hleCcpO1xuICAgIGlmIChzY3JpcHRCdWZmZXIudG9TdHJpbmcoJ2hleCcpICE9PSBzY3JpcHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzY3JpcHQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjcmlwdDogQnVmZmVyLmZyb20oc2NyaXB0LCAnaGV4JyksXG4gICAgICB2YWx1ZTogdmFsdWUgPT09ICdtYXgnID8gJ21heCcgOiBCaWdJbnQodmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBhID0gb3V0cHV0KCdhYScsIDEpO1xuICBjb25zdCBhMiA9IG91dHB1dCgnYWEnLCAyKTtcbiAgY29uc3QgYU1heCA9IG91dHB1dCgnYWEnLCAnbWF4Jyk7XG4gIGNvbnN0IGIgPSBvdXRwdXQoJ2JiJywgMSk7XG4gIGNvbnN0IGMgPSBvdXRwdXQoJ2NjJywgMSk7XG5cbiAgZGVzY3JpYmUoJ2VxdWFsT3V0cHV0JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdoYXMgZXhwZWN0ZWQgcmVzdWx0JywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChtYXRjaGluZ091dHB1dChhLCBhKSwgdHJ1ZSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG1hdGNoaW5nT3V0cHV0KGEsIGEyKSwgZmFsc2UpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChtYXRjaGluZ091dHB1dChhLCBiKSwgZmFsc2UpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChtYXRjaGluZ091dHB1dChhTWF4LCBiKSwgZmFsc2UpO1xuXG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG1hdGNoaW5nT3V0cHV0KGFNYXgsIGEpLCB0cnVlKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwobWF0Y2hpbmdPdXRwdXQoYSwgYU1heCksIHRydWUpO1xuICAgICAgLy8gdGhpcyBvbmUgZG9lcyBub3QgYXBwZWFyIGluIHByYWN0aWNlIGJ1dCBpcyBhIHZhbGlkIGNvbXBhcmlzb25cbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwobWF0Y2hpbmdPdXRwdXQoYU1heCwgYU1heCksIHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb3V0cHV0RGlmZmVyZW5jZScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnaGFzIGV4cGVjdGVkIHJlc3VsdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3V0cHV0RGlmZmVyZW5jZShbXSwgW10pLCBbXSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW2FdLCBbXSksIFthXSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW2FNYXhdLCBbXSksIFthTWF4XSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW10sIFthXSksIFtdKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3V0cHV0RGlmZmVyZW5jZShbXSwgW2FNYXhdKSwgW10pO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdXRwdXREaWZmZXJlbmNlKFthXSwgW2FdKSwgW10pO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdXRwdXREaWZmZXJlbmNlKFthXSwgW2FNYXhdKSwgW10pO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdXRwdXREaWZmZXJlbmNlKFthTWF4XSwgW2FdKSwgW10pO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdXRwdXREaWZmZXJlbmNlKFthLCBhXSwgW2FdKSwgW2FdKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3V0cHV0RGlmZmVyZW5jZShbYSwgYV0sIFthTWF4XSksIFthXSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW2EsIGEsIGFdLCBbYV0pLCBbYSwgYV0pO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdXRwdXREaWZmZXJlbmNlKFthLCBiLCBjXSwgW2EsIGJdKSwgW2NdKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3V0cHV0RGlmZmVyZW5jZShbYSwgYiwgY10sIFthTWF4LCBiXSksIFtjXSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW2EsIGIsIGMsIGFdLCBbYSwgYl0pLCBbYywgYV0pO1xuXG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKG91dHB1dERpZmZlcmVuY2UoW2FdLCBbYTJdKSwgW2FdKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3V0cHV0RGlmZmVyZW5jZShbYTJdLCBbYV0pLCBbYTJdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ291dHB1dERpZmZlcmVuY2VzV2l0aEV4cGVjdGVkJywgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIHRlc3QoXG4gICAgICBvdXRwdXRzOiBBY3R1YWxPdXRwdXRbXSxcbiAgICAgIHJlY2lwaWVudHM6IEV4cGVjdGVkT3V0cHV0W10sXG4gICAgICBleHBlY3RlZDoge1xuICAgICAgICBtaXNzaW5nOiBFeHBlY3RlZE91dHB1dFtdO1xuICAgICAgICBleHBsaWNpdDogQWN0dWFsT3V0cHV0W107XG4gICAgICAgIGltcGxpY2l0OiBBY3R1YWxPdXRwdXRbXTtcbiAgICAgIH1cbiAgICApIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG91dHB1dERpZmZlcmVuY2VzV2l0aEV4cGVjdGVkKG91dHB1dHMsIHJlY2lwaWVudHMpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXN1bHQsIHtcbiAgICAgICAgZXhwbGljaXRPdXRwdXRzOiBleHBlY3RlZC5leHBsaWNpdCxcbiAgICAgICAgaW1wbGljaXRPdXRwdXRzOiBleHBlY3RlZC5pbXBsaWNpdCxcbiAgICAgICAgbWlzc2luZ091dHB1dHM6IGV4cGVjdGVkLm1pc3NpbmcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpdCgnaGFzIGV4cGVjdGVkIHJlc3VsdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRlc3QoW2FdLCBbXSwgeyBtaXNzaW5nOiBbXSwgZXhwbGljaXQ6IFtdLCBpbXBsaWNpdDogW2FdIH0pO1xuICAgICAgdGVzdChbXSwgW2FdLCB7IG1pc3Npbmc6IFthXSwgZXhwbGljaXQ6IFtdLCBpbXBsaWNpdDogW10gfSk7XG4gICAgICB0ZXN0KFthXSwgW2FdLCB7IG1pc3Npbmc6IFtdLCBleHBsaWNpdDogW2FdLCBpbXBsaWNpdDogW10gfSk7XG4gICAgICB0ZXN0KFthXSwgW2EyXSwgeyBtaXNzaW5nOiBbYTJdLCBleHBsaWNpdDogW10sIGltcGxpY2l0OiBbYV0gfSk7XG4gICAgICB0ZXN0KFtiXSwgW2FdLCB7IG1pc3Npbmc6IFthXSwgZXhwbGljaXQ6IFtdLCBpbXBsaWNpdDogW2JdIH0pO1xuICAgICAgdGVzdChbYSwgYV0sIFthXSwgeyBtaXNzaW5nOiBbXSwgZXhwbGljaXQ6IFthXSwgaW1wbGljaXQ6IFthXSB9KTtcbiAgICAgIHRlc3QoW2EsIGJdLCBbYV0sIHsgbWlzc2luZzogW10sIGV4cGxpY2l0OiBbYV0sIGltcGxpY2l0OiBbYl0gfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/descriptor/parse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const assert_1 = __importDefault(require("assert"));
|
|
40
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
41
|
+
const descriptor_1 = require("@bitgo/utxo-core/testutil/descriptor");
|
|
42
|
+
const testutil_1 = require("@bitgo/utxo-core/testutil");
|
|
43
|
+
const descriptor_2 = require("@bitgo/utxo-core/descriptor");
|
|
44
|
+
const parse_1 = require("../../../../src/transaction/descriptor/parse");
|
|
45
|
+
const verifyTransaction_1 = require("../../../../src/transaction/descriptor/verifyTransaction");
|
|
46
|
+
const parseToAmountType_1 = require("../../../../src/transaction/descriptor/parseToAmountType");
|
|
47
|
+
const fixtures_utils_1 = require("./fixtures.utils");
|
|
48
|
+
const { assertEqualFixture } = (0, fixtures_utils_1.getFixtureRoot)(__dirname + '/fixtures');
|
|
49
|
+
function toBaseOutput(output, amountType) {
|
|
50
|
+
(0, assert_1.default)(output.address);
|
|
51
|
+
return {
|
|
52
|
+
address: output.address,
|
|
53
|
+
amount: (0, parseToAmountType_1.toAmountType)(output.value, amountType),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function toBaseOutputBigInt(output) {
|
|
57
|
+
return toBaseOutput(output, 'bigint');
|
|
58
|
+
}
|
|
59
|
+
function toBaseOutputString(output) {
|
|
60
|
+
return toBaseOutput(output, 'string');
|
|
61
|
+
}
|
|
62
|
+
function toMaxOutput(output) {
|
|
63
|
+
return {
|
|
64
|
+
...output,
|
|
65
|
+
value: 'max',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
describe('parse', function () {
|
|
69
|
+
const descriptorSelf = (0, descriptor_1.getDescriptor)('Wsh2Of3', (0, descriptor_1.getDefaultXPubs)('a'));
|
|
70
|
+
const descriptorOther = (0, descriptor_1.getDescriptor)('Wsh2Of3', (0, descriptor_1.getDefaultXPubs)('b'));
|
|
71
|
+
const psbt = (0, descriptor_1.mockPsbtDefault)({ descriptorSelf, descriptorOther });
|
|
72
|
+
function recipient(descriptor, index, value = 1000) {
|
|
73
|
+
return { value, address: (0, descriptor_2.createAddressFromDescriptor)(descriptor, index, utxolib.networks.bitcoin) };
|
|
74
|
+
}
|
|
75
|
+
function internalRecipient(index, value) {
|
|
76
|
+
return recipient(descriptorSelf, index, value);
|
|
77
|
+
}
|
|
78
|
+
function externalRecipient(index, value) {
|
|
79
|
+
return recipient(descriptorOther, index, value);
|
|
80
|
+
}
|
|
81
|
+
function getBaseParsedTransaction(psbt, recipients) {
|
|
82
|
+
return (0, parse_1.toBaseParsedTransactionOutputsFromPsbt)(psbt, (0, descriptor_1.getDescriptorMap)('Wsh2Of3', (0, descriptor_1.getDefaultXPubs)('a')), recipients.map(toBaseOutputString), psbt.network);
|
|
83
|
+
}
|
|
84
|
+
describe('toBase', function () {
|
|
85
|
+
it('should return the correct BaseParsedTransactionOutputs', async function () {
|
|
86
|
+
await assertEqualFixture('parseWithoutRecipients.json', (0, testutil_1.toPlainObject)(getBaseParsedTransaction(psbt, [])));
|
|
87
|
+
await assertEqualFixture('parseWithExternalRecipient.json', (0, testutil_1.toPlainObject)(getBaseParsedTransaction(psbt, [psbt.txOutputs[0]])));
|
|
88
|
+
await assertEqualFixture('parseWithInternalRecipient.json', (0, testutil_1.toPlainObject)(getBaseParsedTransaction(psbt, [psbt.txOutputs[1]])));
|
|
89
|
+
await assertEqualFixture('parseWithExternalRecipient.json',
|
|
90
|
+
// max recipient: ignore actual value
|
|
91
|
+
(0, testutil_1.toPlainObject)(getBaseParsedTransaction(psbt, [toMaxOutput(psbt.txOutputs[0])])));
|
|
92
|
+
});
|
|
93
|
+
function assertEqualValidationError(actual, expected) {
|
|
94
|
+
function normErrors(e) {
|
|
95
|
+
return e.map((e) => ({ ...e, stack: undefined }));
|
|
96
|
+
}
|
|
97
|
+
if (actual instanceof verifyTransaction_1.AggregateValidationError) {
|
|
98
|
+
assert_1.default.deepStrictEqual(normErrors(actual.errors), normErrors(expected.errors));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
throw new Error('unexpected error type: ' + actual);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function assertValidationError(f, expected) {
|
|
105
|
+
assert_1.default.throws(f, (err) => {
|
|
106
|
+
assertEqualValidationError(err, expected);
|
|
107
|
+
return true;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function implicitOutputError(output, { external = true } = {}) {
|
|
111
|
+
return new verifyTransaction_1.ErrorImplicitExternalOutputs([{ ...toBaseOutputBigInt(output), external }]);
|
|
112
|
+
}
|
|
113
|
+
function missingOutputError(output, { external = true } = {}) {
|
|
114
|
+
return new verifyTransaction_1.ErrorMissingOutputs([{ ...toBaseOutputBigInt(output), external }]);
|
|
115
|
+
}
|
|
116
|
+
it('should throw expected error: no recipient requested', function () {
|
|
117
|
+
assertValidationError(() => (0, verifyTransaction_1.assertExpectedOutputDifference)(getBaseParsedTransaction(psbt, [])), new verifyTransaction_1.AggregateValidationError([implicitOutputError(psbt.txOutputs[0])]));
|
|
118
|
+
});
|
|
119
|
+
it('should throw expected error: only internal recipient requested', function () {
|
|
120
|
+
assertValidationError(() => (0, verifyTransaction_1.assertExpectedOutputDifference)(getBaseParsedTransaction(psbt, [psbt.txOutputs[1]])), new verifyTransaction_1.AggregateValidationError([implicitOutputError(psbt.txOutputs[0])]));
|
|
121
|
+
});
|
|
122
|
+
it('should throw expected error: only internal max recipient requested', function () {
|
|
123
|
+
assertValidationError(() => (0, verifyTransaction_1.assertExpectedOutputDifference)(getBaseParsedTransaction(psbt, [toMaxOutput(psbt.txOutputs[1])])), new verifyTransaction_1.AggregateValidationError([implicitOutputError(psbt.txOutputs[0])]));
|
|
124
|
+
});
|
|
125
|
+
it('should throw expected error: swapped recipient', function () {
|
|
126
|
+
const recipient = externalRecipient(99);
|
|
127
|
+
assertValidationError(() => (0, verifyTransaction_1.assertExpectedOutputDifference)(getBaseParsedTransaction(psbt, [recipient])), new verifyTransaction_1.AggregateValidationError([missingOutputError(recipient), implicitOutputError(psbt.txOutputs[0])]));
|
|
128
|
+
});
|
|
129
|
+
it('should throw expected error: missing internal recipient', function () {
|
|
130
|
+
const recipient = internalRecipient(99);
|
|
131
|
+
assertValidationError(() => (0, verifyTransaction_1.assertExpectedOutputDifference)(getBaseParsedTransaction(psbt, [recipient])), new verifyTransaction_1.AggregateValidationError([missingOutputError(recipient), implicitOutputError(psbt.txOutputs[0])]));
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUU1Qix5REFBMkM7QUFFM0MscUVBSzhDO0FBQzlDLHdEQUEwRDtBQUMxRCw0REFBMEU7QUFFMUUsd0VBR3NEO0FBQ3RELGdHQUtrRTtBQUNsRSxnR0FBd0Y7QUFHeEYscURBQWtEO0FBRWxELE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUEsK0JBQWMsRUFBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFPdkUsU0FBUyxZQUFZLENBQVUsTUFBdUIsRUFBRSxVQUErQjtJQUNyRixJQUFBLGdCQUFNLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLE9BQU87UUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDdkIsTUFBTSxFQUFFLElBQUEsZ0NBQVksRUFBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBWTtLQUMxRCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsTUFBdUI7SUFDakQsT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQXVCO0lBQ2pELE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsTUFBdUI7SUFDMUMsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRCxRQUFRLENBQUMsT0FBTyxFQUFFO0lBQ2hCLE1BQU0sY0FBYyxHQUFHLElBQUEsMEJBQWEs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QixFQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDakYsSUFBSSw0Q0FBd0IsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3RHLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7XG4gIGdldERlZmF1bHRYUHVicyxcbiAgZ2V0RGVzY3JpcHRvcixcbiAgZ2V0RGVzY3JpcHRvck1hcCxcbiAgbW9ja1BzYnREZWZhdWx0LFxufSBmcm9tICdAYml0Z28vdXR4by1jb3JlL3Rlc3R1dGlsL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgdG9QbGFpbk9iamVjdCB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvdGVzdHV0aWwnO1xuaW1wb3J0IHsgY3JlYXRlQWRkcmVzc0Zyb21EZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZS9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHtcbiAgUGFyc2VkT3V0cHV0c0JpZ0ludCxcbiAgdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9kZXNjcmlwdG9yL3BhcnNlJztcbmltcG9ydCB7XG4gIEFnZ3JlZ2F0ZVZhbGlkYXRpb25FcnJvcixcbiAgYXNzZXJ0RXhwZWN0ZWRPdXRwdXREaWZmZXJlbmNlLFxuICBFcnJvckltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzLFxuICBFcnJvck1pc3NpbmdPdXRwdXRzLFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci92ZXJpZnlUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyB0b0Ftb3VudFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZVRvQW1vdW50VHlwZSc7XG5pbXBvcnQgeyBCYXNlT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3R5cGVzJztcblxuaW1wb3J0IHsgZ2V0Rml4dHVyZVJvb3QgfSBmcm9tICcuL2ZpeHR1cmVzLnV0aWxzJztcblxuY29uc3QgeyBhc3NlcnRFcXVhbEZpeHR1cmUgfSA9IGdldEZpeHR1cmVSb290KF9fZGlybmFtZSArICcvZml4dHVyZXMnKTtcblxudHlwZSBPdXRwdXRXaXRoVmFsdWU8VCA9IG51bWJlciB8IGJpZ2ludCB8IHN0cmluZz4gPSB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHZhbHVlOiBUO1xufTtcblxuZnVuY3Rpb24gdG9CYXNlT3V0cHV0PFROdW1iZXI+KG91dHB1dDogT3V0cHV0V2l0aFZhbHVlLCBhbW91bnRUeXBlOiAnYmlnaW50JyB8ICdzdHJpbmcnKTogQmFzZU91dHB1dDxUTnVtYmVyPiB7XG4gIGFzc2VydChvdXRwdXQuYWRkcmVzcyk7XG4gIHJldHVybiB7XG4gICAgYWRkcmVzczogb3V0cHV0LmFkZHJlc3MsXG4gICAgYW1vdW50OiB0b0Ftb3VudFR5cGUob3V0cHV0LnZhbHVlLCBhbW91bnRUeXBlKSBhcyBUTnVtYmVyLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0b0Jhc2VPdXRwdXRCaWdJbnQob3V0cHV0OiBPdXRwdXRXaXRoVmFsdWUpOiBCYXNlT3V0cHV0PGJpZ2ludD4ge1xuICByZXR1cm4gdG9CYXNlT3V0cHV0KG91dHB1dCwgJ2JpZ2ludCcpO1xufVxuXG5mdW5jdGlvbiB0b0Jhc2VPdXRwdXRTdHJpbmcob3V0cHV0OiBPdXRwdXRXaXRoVmFsdWUpOiBCYXNlT3V0cHV0PHN0cmluZz4ge1xuICByZXR1cm4gdG9CYXNlT3V0cHV0KG91dHB1dCwgJ3N0cmluZycpO1xufVxuXG5mdW5jdGlvbiB0b01heE91dHB1dChvdXRwdXQ6IE91dHB1dFdpdGhWYWx1ZSk6IE91dHB1dFdpdGhWYWx1ZTwnbWF4Jz4ge1xuICByZXR1cm4ge1xuICAgIC4uLm91dHB1dCxcbiAgICB2YWx1ZTogJ21heCcsXG4gIH07XG59XG5cbmRlc2NyaWJlKCdwYXJzZScsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgZGVzY3JpcHRvclNlbGYgPSBnZXREZXNjcmlwdG9yKCdXc2gyT2YzJywgZ2V0RGVmYXVsdFhQdWJzKCdhJykpO1xuICBjb25zdCBkZXNjcmlwdG9yT3RoZXIgPSBnZXREZXNjcmlwdG9yKCdXc2gyT2YzJywgZ2V0RGVmYXVsdFhQdWJzKCdiJykpO1xuICBjb25zdCBwc2J0ID0gbW9ja1BzYnREZWZhdWx0KHsgZGVzY3JpcHRvclNlbGYsIGRlc2NyaXB0b3JPdGhlciB9KTtcblxuICBmdW5jdGlvbiByZWNpcGllbnQoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgaW5kZXg6IG51bWJlciwgdmFsdWUgPSAxMDAwKSB7XG4gICAgcmV0dXJuIHsgdmFsdWUsIGFkZHJlc3M6IGNyZWF0ZUFkZHJlc3NGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yLCBpbmRleCwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKSB9O1xuICB9XG5cbiAgZnVuY3Rpb24gaW50ZXJuYWxSZWNpcGllbnQoaW5kZXg6IG51bWJlciwgdmFsdWU/OiBudW1iZXIpOiBPdXRwdXRXaXRoVmFsdWUge1xuICAgIHJldHVybiByZWNpcGllbnQoZGVzY3JpcHRvclNlbGYsIGluZGV4LCB2YWx1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBleHRlcm5hbFJlY2lwaWVudChpbmRleDogbnVtYmVyLCB2YWx1ZT86IG51bWJlcik6IE91dHB1dFdpdGhWYWx1ZSB7XG4gICAgcmV0dXJuIHJlY2lwaWVudChkZXNjcmlwdG9yT3RoZXIsIGluZGV4LCB2YWx1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRCYXNlUGFyc2VkVHJhbnNhY3Rpb24ocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCwgcmVjaXBpZW50czogT3V0cHV0V2l0aFZhbHVlW10pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgICByZXR1cm4gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQoXG4gICAgICBwc2J0LFxuICAgICAgZ2V0RGVzY3JpcHRvck1hcCgnV3NoMk9mMycsIGdldERlZmF1bHRYUHVicygnYScpKSxcbiAgICAgIHJlY2lwaWVudHMubWFwKHRvQmFzZU91dHB1dFN0cmluZyksXG4gICAgICBwc2J0Lm5ldHdvcmtcbiAgICApO1xuICB9XG5cbiAgZGVzY3JpYmUoJ3RvQmFzZScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBCYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCdwYXJzZVdpdGhvdXRSZWNpcGllbnRzLmpzb24nLCB0b1BsYWluT2JqZWN0KGdldEJhc2VQYXJzZWRUcmFuc2FjdGlvbihwc2J0LCBbXSkpKTtcbiAgICAgIGF3YWl0IGFzc2VydEVxdWFsRml4dHVyZShcbiAgICAgICAgJ3BhcnNlV2l0aEV4dGVybmFsUmVjaXBpZW50Lmpzb24nLFxuICAgICAgICB0b1BsYWluT2JqZWN0KGdldEJhc2VQYXJzZWRUcmFuc2FjdGlvbihwc2J0LCBbcHNidC50eE91dHB1dHNbMF1dKSlcbiAgICAgICk7XG4gICAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoXG4gICAgICAgICdwYXJzZVdpdGhJbnRlcm5hbFJlY2lwaWVudC5qc29uJyxcbiAgICAgICAgdG9QbGFpbk9iamVjdChnZXRCYXNlUGFyc2VkVHJhbnNhY3Rpb24ocHNidCwgW3BzYnQudHhPdXRwdXRzWzFdXSkpXG4gICAgICApO1xuICAgICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKFxuICAgICAgICAncGFyc2VXaXRoRXh0ZXJuYWxSZWNpcGllbnQuanNvbicsXG4gICAgICAgIC8vIG1heCByZWNpcGllbnQ6IGlnbm9yZSBhY3R1YWwgdmFsdWVcbiAgICAgICAgdG9QbGFpbk9iamVjdChnZXRCYXNlUGFyc2VkVHJhbnNhY3Rpb24ocHNidCwgW3RvTWF4T3V0cHV0KHBzYnQudHhPdXRwdXRzWzBdKV0pKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGFzc2VydEVxdWFsVmFsaWRhdGlvbkVycm9yKGFjdHVhbDogdW5rbm93biwgZXhwZWN0ZWQ6IEFnZ3JlZ2F0ZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgZnVuY3Rpb24gbm9ybUVycm9ycyhlOiBFcnJvcltdKTogRXJyb3JbXSB7XG4gICAgICAgIHJldHVybiBlLm1hcCgoZSkgPT4gKHsgLi4uZSwgc3RhY2s6IHVuZGVmaW5lZCB9KSk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0dWFsIGluc3RhbmNlb2YgQWdncmVnYXRlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwobm9ybUVycm9ycyhhY3R1YWwuZXJyb3JzKSwgbm9ybUVycm9ycyhleHBlY3RlZC5lcnJvcnMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCBlcnJvciB0eXBlOiAnICsgYWN0dWFsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhc3NlcnRWYWxpZGF0aW9uRXJyb3IoZjogKCkgPT4gdm9pZCwgZXhwZWN0ZWQ6IEFnZ3JlZ2F0ZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgYXNzZXJ0LnRocm93cyhmLCAoZXJyKSA9PiB7XG4gICAgICAgIGFzc2VydEVxdWFsVmFsaWRhdGlvbkVycm9yKGVyciwgZXhwZWN0ZWQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGltcGxpY2l0T3V0cHV0RXJyb3Iob3V0cHV0OiBPdXRwdXRXaXRoVmFsdWUsIHsgZXh0ZXJuYWwgPSB0cnVlIH0gPSB7fSk6IEVycm9ySW1wbGljaXRFeHRlcm5hbE91dHB1dHMge1xuICAgICAgcmV0dXJuIG5ldyBFcnJvckltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzKFt7IC4uLnRvQmFzZU91dHB1dEJpZ0ludChvdXRwdXQpLCBleHRlcm5hbCB9XSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbWlzc2luZ091dHB1dEVycm9yKG91dHB1dDogT3V0cHV0V2l0aFZhbHVlLCB7IGV4dGVybmFsID0gdHJ1ZSB9ID0ge30pOiBFcnJvck1pc3NpbmdPdXRwdXRzIHtcbiAgICAgIHJldHVybiBuZXcgRXJyb3JNaXNzaW5nT3V0cHV0cyhbeyAuLi50b0Jhc2VPdXRwdXRCaWdJbnQob3V0cHV0KSwgZXh0ZXJuYWwgfV0pO1xuICAgIH1cblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXhwZWN0ZWQgZXJyb3I6IG5vIHJlY2lwaWVudCByZXF1ZXN0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICgpID0+IGFzc2VydEV4cGVjdGVkT3V0cHV0RGlmZmVyZW5jZShnZXRCYXNlUGFyc2VkVHJhbnNhY3Rpb24ocHNidCwgW10pKSxcbiAgICAgICAgbmV3IEFnZ3JlZ2F0ZVZhbGlkYXRpb25FcnJvcihbaW1wbGljaXRPdXRwdXRFcnJvcihwc2J0LnR4T3V0cHV0c1swXSldKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXhwZWN0ZWQgZXJyb3I6IG9ubHkgaW50ZXJuYWwgcmVjaXBpZW50IHJlcXVlc3RlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgKCkgPT4gYXNzZXJ0RXhwZWN0ZWRPdXRwdXREaWZmZXJlbmNlKGdldEJhc2VQYXJzZWRUcmFuc2FjdGlvbihwc2J0LCBbcHNidC50eE91dHB1dHNbMV1dKSksXG4gICAgICAgIG5ldyBBZ2dyZWdhdGVWYWxpZGF0aW9uRXJyb3IoW2ltcGxpY2l0T3V0cHV0RXJyb3IocHNidC50eE91dHB1dHNbMF0pXSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4cGVjdGVkIGVycm9yOiBvbmx5IGludGVybmFsIG1heCByZWNpcGllbnQgcmVxdWVzdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAoKSA9PiBhc3NlcnRFeHBlY3RlZE91dHB1dERpZmZlcmVuY2UoZ2V0QmFzZVBhcnNlZFRyYW5zYWN0aW9uKHBzYnQsIFt0b01heE91dHB1dChwc2J0LnR4T3V0cHV0c1sxXSldKSksXG4gICAgICAgIG5ldyBBZ2dyZWdhdGVWYWxpZGF0aW9uRXJyb3IoW2ltcGxpY2l0T3V0cHV0RXJyb3IocHNidC50eE91dHB1dHNbMF0pXSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4cGVjdGVkIGVycm9yOiBzd2FwcGVkIHJlY2lwaWVudCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlY2lwaWVudCA9IGV4dGVybmFsUmVjaXBpZW50KDk5KTtcbiAgICAgIGFzc2VydFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgKCkgPT4gYXNzZXJ0RXhwZWN0ZWRPdXRwdXREaWZmZXJlbmNlKGdldEJhc2VQYXJzZWRUcmFuc2FjdGlvbihwc2J0LCBbcmVjaXBpZW50XSkpLFxuICAgICAgICBuZXcgQWdncmVnYXRlVmFsaWRhdGlvbkVycm9yKFttaXNzaW5nT3V0cHV0RXJyb3IocmVjaXBpZW50KSwgaW1wbGljaXRPdXRwdXRFcnJvcihwc2J0LnR4T3V0cHV0c1swXSldKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXhwZWN0ZWQgZXJyb3I6IG1pc3NpbmcgaW50ZXJuYWwgcmVjaXBpZW50JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVjaXBpZW50ID0gaW50ZXJuYWxSZWNpcGllbnQoOTkpO1xuICAgICAgYXNzZXJ0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAoKSA9PiBhc3NlcnRFeHBlY3RlZE91dHB1dERpZmZlcmVuY2UoZ2V0QmFzZVBhcnNlZFRyYW5zYWN0aW9uKHBzYnQsIFtyZWNpcGllbnRdKSksXG4gICAgICAgIG5ldyBBZ2dyZWdhdGVWYWxpZGF0aW9uRXJyb3IoW21pc3NpbmdPdXRwdXRFcnJvcihyZWNpcGllbnQpLCBpbXBsaWNpdE91dHB1dEVycm9yKHBzYnQudHhPdXRwdXRzWzBdKV0pXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/descriptor/sign.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const testutil_1 = require("@bitgo/utxo-core/testutil");
|
|
8
|
+
const descriptor_1 = require("@bitgo/utxo-core/testutil/descriptor");
|
|
9
|
+
const descriptor_2 = require("../../../../src/transaction/descriptor");
|
|
10
|
+
const signPsbt_1 = require("../../../../src/transaction/descriptor/signPsbt");
|
|
11
|
+
describe('sign', function () {
|
|
12
|
+
const psbtUnsigned = (0, descriptor_1.mockPsbtDefaultWithDescriptorTemplate)('Wsh2Of3');
|
|
13
|
+
const keychain = (0, testutil_1.getKeyTriple)('a');
|
|
14
|
+
const descriptorMap = (0, descriptor_1.getDescriptorMap)('Wsh2Of3', keychain);
|
|
15
|
+
const emptyDescriptorMap = new Map();
|
|
16
|
+
it('should sign a transaction', async function () {
|
|
17
|
+
const psbt = psbtUnsigned.clone();
|
|
18
|
+
(0, descriptor_2.signPsbt)(psbt, descriptorMap, keychain[0], { onUnknownInput: 'throw' });
|
|
19
|
+
(0, assert_1.default)(psbt.validateSignaturesOfAllInputs());
|
|
20
|
+
});
|
|
21
|
+
it('should be sensitive to onUnknownInput', async function () {
|
|
22
|
+
const psbt = psbtUnsigned.clone();
|
|
23
|
+
assert_1.default.throws(() => {
|
|
24
|
+
(0, descriptor_2.signPsbt)(psbt, emptyDescriptorMap, keychain[0], { onUnknownInput: 'throw' });
|
|
25
|
+
}, new signPsbt_1.ErrorUnknownInput(0));
|
|
26
|
+
(0, descriptor_2.signPsbt)(psbt, emptyDescriptorMap, keychain[0], { onUnknownInput: 'skip' });
|
|
27
|
+
(0, assert_1.default)(psbt.data.inputs[0].partialSig === undefined);
|
|
28
|
+
(0, descriptor_2.signPsbt)(psbt, emptyDescriptorMap, keychain[0], { onUnknownInput: 'sign' });
|
|
29
|
+
(0, assert_1.default)(psbt.validateSignaturesOfAllInputs());
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbi9kZXNjcmlwdG9yL3NpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsd0RBQXlEO0FBQ3pELHFFQUErRztBQUUvRyx1RUFBa0U7QUFDbEUsOEVBQW9GO0FBRXBGLFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDZixNQUFNLFlBQVksR0FBRyxJQUFBLGtEQUFxQyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLElBQUEsdUJBQVksRUFBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxNQUFNLGFBQWEsR0FBRyxJQUFBLDZCQUFnQixFQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFckMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLEtBQUs7UUFDbkMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLElBQUEscUJBQVEsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUEsZ0JBQU0sRUFBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEtBQUs7UUFDL0MsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFBLHFCQUFRLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLENBQUMsRUFBRSxJQUFJLDRCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBQSxxQkFBUSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUEscUJBQVEsRUFBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0S2V5VHJpcGxlIH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZS90ZXN0dXRpbCc7XG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwLCBtb2NrUHNidERlZmF1bHRXaXRoRGVzY3JpcHRvclRlbXBsYXRlIH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZS90ZXN0dXRpbC9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHsgc2lnblBzYnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBFcnJvclVua25vd25JbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9kZXNjcmlwdG9yL3NpZ25Qc2J0JztcblxuZGVzY3JpYmUoJ3NpZ24nLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHBzYnRVbnNpZ25lZCA9IG1vY2tQc2J0RGVmYXVsdFdpdGhEZXNjcmlwdG9yVGVtcGxhdGUoJ1dzaDJPZjMnKTtcbiAgY29uc3Qga2V5Y2hhaW4gPSBnZXRLZXlUcmlwbGUoJ2EnKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXAoJ1dzaDJPZjMnLCBrZXljaGFpbik7XG4gIGNvbnN0IGVtcHR5RGVzY3JpcHRvck1hcCA9IG5ldyBNYXAoKTtcblxuICBpdCgnc2hvdWxkIHNpZ24gYSB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwc2J0ID0gcHNidFVuc2lnbmVkLmNsb25lKCk7XG4gICAgc2lnblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwga2V5Y2hhaW5bMF0sIHsgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycgfSk7XG4gICAgYXNzZXJ0KHBzYnQudmFsaWRhdGVTaWduYXR1cmVzT2ZBbGxJbnB1dHMoKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgc2Vuc2l0aXZlIHRvIG9uVW5rbm93bklucHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBzYnQgPSBwc2J0VW5zaWduZWQuY2xvbmUoKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgIHNpZ25Qc2J0KHBzYnQsIGVtcHR5RGVzY3JpcHRvck1hcCwga2V5Y2hhaW5bMF0sIHsgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycgfSk7XG4gICAgfSwgbmV3IEVycm9yVW5rbm93bklucHV0KDApKTtcbiAgICBzaWduUHNidChwc2J0LCBlbXB0eURlc2NyaXB0b3JNYXAsIGtleWNoYWluWzBdLCB7IG9uVW5rbm93bklucHV0OiAnc2tpcCcgfSk7XG4gICAgYXNzZXJ0KHBzYnQuZGF0YS5pbnB1dHNbMF0ucGFydGlhbFNpZyA9PT0gdW5kZWZpbmVkKTtcbiAgICBzaWduUHNidChwc2J0LCBlbXB0eURlc2NyaXB0b3JNYXAsIGtleWNoYWluWzBdLCB7IG9uVW5rbm93bklucHV0OiAnc2lnbicgfSk7XG4gICAgYXNzZXJ0KHBzYnQudmFsaWRhdGVTaWduYXR1cmVzT2ZBbGxJbnB1dHMoKSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/descriptor/validatePolicy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const testutil_1 = require("@bitgo/utxo-core/testutil");
|
|
8
|
+
const descriptor_1 = require("../../../../../utxo-core/src/testutil/descriptor");
|
|
9
|
+
const validatePolicy_1 = require("../../../../src/descriptor/validatePolicy");
|
|
10
|
+
const descriptor_2 = require("../../../../src/descriptor");
|
|
11
|
+
function testAssertDescriptorPolicy(ds, p, k, expectedError) {
|
|
12
|
+
const f = () => (0, validatePolicy_1.assertDescriptorPolicy)(ds.map((d) => (0, descriptor_2.toNamedDescriptorNative)(d, 'derivable')), p, k);
|
|
13
|
+
if (expectedError) {
|
|
14
|
+
assert_1.default.throws(f);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
assert_1.default.doesNotThrow(f);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
describe('assertDescriptorPolicy', function () {
|
|
21
|
+
const keys = (0, testutil_1.getKeyTriple)();
|
|
22
|
+
function getNamedDescriptorSigned(name) {
|
|
23
|
+
return (0, descriptor_2.createNamedDescriptorWithSignature)(name, (0, descriptor_1.getDescriptor)(name), keys[0]);
|
|
24
|
+
}
|
|
25
|
+
function getNamedDescriptor(name) {
|
|
26
|
+
return stripSignature(getNamedDescriptorSigned(name));
|
|
27
|
+
}
|
|
28
|
+
function stripSignature(d) {
|
|
29
|
+
return { ...d, signatures: undefined };
|
|
30
|
+
}
|
|
31
|
+
it('has expected result', function () {
|
|
32
|
+
testAssertDescriptorPolicy([getNamedDescriptor('Wsh2Of3')], (0, validatePolicy_1.getValidatorDescriptorTemplate)('Wsh2Of3'), keys, null);
|
|
33
|
+
// prod does only allow Wsh2Of3-ish descriptors
|
|
34
|
+
testAssertDescriptorPolicy([getNamedDescriptor('Wsh2Of3')], (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, null);
|
|
35
|
+
testAssertDescriptorPolicy([getNamedDescriptor('Wsh2Of3CltvDrop')], (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, null);
|
|
36
|
+
// does not allow mixed descriptors
|
|
37
|
+
testAssertDescriptorPolicy([getNamedDescriptor('Wsh2Of3'), getNamedDescriptor('Wsh2Of3CltvDrop')], (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, new validatePolicy_1.DescriptorPolicyValidationError([
|
|
38
|
+
(0, descriptor_2.toNamedDescriptorNative)(getNamedDescriptor('Wsh2Of3'), 'derivable'),
|
|
39
|
+
(0, descriptor_2.toNamedDescriptorNative)(getNamedDescriptor('Wsh2Of3CltvDrop'), 'derivable'),
|
|
40
|
+
], (0, validatePolicy_1.getPolicyForEnv)('prod')));
|
|
41
|
+
// prod only allows other descriptors if they are signed by the user key
|
|
42
|
+
testAssertDescriptorPolicy([getNamedDescriptorSigned('Wsh2Of2')], (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, null);
|
|
43
|
+
testAssertDescriptorPolicy([getNamedDescriptor('Wsh2Of2')], (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, new validatePolicy_1.DescriptorPolicyValidationError([(0, descriptor_2.toNamedDescriptorNative)(getNamedDescriptor('Wsh2Of2'), 'derivable')], (0, validatePolicy_1.getPolicyForEnv)('prod')));
|
|
44
|
+
// test is very permissive by default
|
|
45
|
+
testAssertDescriptorPolicy([stripSignature(getNamedDescriptor('Wsh2Of2'))], (0, validatePolicy_1.getPolicyForEnv)('test'), keys, null);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUk1Qix3REFBeUQ7QUFFekQsaUZBQXFHO0FBQ3JHLDhFQU1tRDtBQUNuRCwyREFJb0M7QUFFcEMsU0FBUywwQkFBMEIsQ0FDakMsRUFBNkIsRUFDN0IsQ0FBNkIsRUFDN0IsQ0FBeUIsRUFDekIsYUFBcUQ7SUFFckQsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQ2IsSUFBQSx1Q0FBc0IsRUFDcEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxvQ0FBdUIsRUFBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFDdEQsQ0FBQyxFQUNELENBQUMsQ0FDRixDQUFDO0lBQ0osSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsQixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNOLGdCQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7QUFDSCxDQUFDO0FBRUQsUUFBUSxDQUFDLHdCQUF3QixFQUFFO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVksR0FBRSxDQUFDO0lBQzVCLFNBQVMsd0JBQXdCLENBQUMsSUFBd0I7UUFDeEQsT0FBTyxJQUFBLCtDQUFrQyxFQUFDLElBQUksRUFBRSxJQUFBLDBCQUFhLEVBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUNELFNBQVMsa0JBQWtCLENBQUMsSUFBd0I7UUFDbEQsT0FBTyxjQUFjLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsU0FBUyxjQUFjLENBQUMsQ0FBa0I7UUFDeEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsRUFBRSxDQUFDLHFCQUFxQixFQUFFO1FBQ3hCLDBCQUEwQixDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFBLCtDQUE4QixFQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuSCwrQ0FBK0M7UUFDL0MsMEJBQTBCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUEsZ0NBQWUsRUFBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakcsMEJBQTBCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsSUFBQSxnQ0FBZSxFQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV6RyxtQ0FBbUM7UUFDbkMsMEJBQTBCLENBQ3hCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUN0RSxJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLEVBQ3ZCLElBQUksRUFDSixJQUFJLGdEQUErQixDQUNqQztZQUNFLElBQUEsb0NBQXVCLEVBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDO1lBQ25FLElBQUEsb0NBQXVCLEVBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLENBQUM7U0FDNUUsRUFDRCxJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLENBQ3hCLENBQ0YsQ0FBQztRQUVGLHdFQUF3RTtRQUN4RSwwQkFBMEIsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBQSxnQ0FBZSxFQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RywwQkFBMEIsQ0FDeEIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUMvQixJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLEVBQ3ZCLElBQUksRUFDSixJQUFJLGdEQUErQixDQUNqQyxDQUFDLElBQUEsb0NBQXVCLEVBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFDckUsSUFBQSxnQ0FBZSxFQUFDLE1BQU0sQ0FBQyxDQUN4QixDQUNGLENBQUM7UUFFRixxQ0FBcUM7UUFDckMsMEJBQTBCLENBQUMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUEsZ0NBQWUsRUFBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkgsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvdGVzdHV0aWwnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yVGVtcGxhdGUsIGdldERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dHhvLWNvcmUvc3JjL3Rlc3R1dGlsL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHtcbiAgYXNzZXJ0RGVzY3JpcHRvclBvbGljeSxcbiAgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvcixcbiAgRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3ksXG4gIGdldFBvbGljeUZvckVudixcbiAgZ2V0VmFsaWRhdG9yRGVzY3JpcHRvclRlbXBsYXRlLFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5pbXBvcnQge1xuICBOYW1lZERlc2NyaXB0b3IsXG4gIGNyZWF0ZU5hbWVkRGVzY3JpcHRvcldpdGhTaWduYXR1cmUsXG4gIHRvTmFtZWREZXNjcmlwdG9yTmF0aXZlLFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvcic7XG5cbmZ1bmN0aW9uIHRlc3RBc3NlcnREZXNjcmlwdG9yUG9saWN5KFxuICBkczogTmFtZWREZXNjcmlwdG9yPHN0cmluZz5bXSxcbiAgcDogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3ksXG4gIGs6IFRyaXBsZTxCSVAzMkludGVyZmFjZT4sXG4gIGV4cGVjdGVkRXJyb3I6IERlc2NyaXB0b3JQb2xpY3lWYWxpZGF0aW9uRXJyb3IgfCBudWxsXG4pIHtcbiAgY29uc3QgZiA9ICgpID0+XG4gICAgYXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgICAgIGRzLm1hcCgoZCkgPT4gdG9OYW1lZERlc2NyaXB0b3JOYXRpdmUoZCwgJ2Rlcml2YWJsZScpKSxcbiAgICAgIHAsXG4gICAgICBrXG4gICAgKTtcbiAgaWYgKGV4cGVjdGVkRXJyb3IpIHtcbiAgICBhc3NlcnQudGhyb3dzKGYpO1xuICB9IGVsc2Uge1xuICAgIGFzc2VydC5kb2VzTm90VGhyb3coZik7XG4gIH1cbn1cblxuZGVzY3JpYmUoJ2Fzc2VydERlc2NyaXB0b3JQb2xpY3knLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoKTtcbiAgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yU2lnbmVkKG5hbWU6IERlc2NyaXB0b3JUZW1wbGF0ZSk6IE5hbWVkRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIGNyZWF0ZU5hbWVkRGVzY3JpcHRvcldpdGhTaWduYXR1cmUobmFtZSwgZ2V0RGVzY3JpcHRvcihuYW1lKSwga2V5c1swXSk7XG4gIH1cbiAgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yKG5hbWU6IERlc2NyaXB0b3JUZW1wbGF0ZSk6IE5hbWVkRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHN0cmlwU2lnbmF0dXJlKGdldE5hbWVkRGVzY3JpcHRvclNpZ25lZChuYW1lKSk7XG4gIH1cblxuICBmdW5jdGlvbiBzdHJpcFNpZ25hdHVyZShkOiBOYW1lZERlc2NyaXB0b3IpOiBOYW1lZERlc2NyaXB0b3Ige1xuICAgIHJldHVybiB7IC4uLmQsIHNpZ25hdHVyZXM6IHVuZGVmaW5lZCB9O1xuICB9XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCByZXN1bHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgdGVzdEFzc2VydERlc2NyaXB0b3JQb2xpY3koW2dldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mMycpXSwgZ2V0VmFsaWRhdG9yRGVzY3JpcHRvclRlbXBsYXRlKCdXc2gyT2YzJyksIGtleXMsIG51bGwpO1xuXG4gICAgLy8gcHJvZCBkb2VzIG9ubHkgYWxsb3cgV3NoMk9mMy1pc2ggZGVzY3JpcHRvcnNcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShbZ2V0TmFtZWREZXNjcmlwdG9yKCdXc2gyT2YzJyldLCBnZXRQb2xpY3lGb3JFbnYoJ3Byb2QnKSwga2V5cywgbnVsbCk7XG4gICAgdGVzdEFzc2VydERlc2NyaXB0b3JQb2xpY3koW2dldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mM0NsdHZEcm9wJyldLCBnZXRQb2xpY3lGb3JFbnYoJ3Byb2QnKSwga2V5cywgbnVsbCk7XG5cbiAgICAvLyBkb2VzIG5vdCBhbGxvdyBtaXhlZCBkZXNjcmlwdG9yc1xuICAgIHRlc3RBc3NlcnREZXNjcmlwdG9yUG9saWN5KFxuICAgICAgW2dldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mMycpLCBnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjNDbHR2RHJvcCcpXSxcbiAgICAgIGdldFBvbGljeUZvckVudigncHJvZCcpLFxuICAgICAga2V5cyxcbiAgICAgIG5ldyBEZXNjcmlwdG9yUG9saWN5VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBbXG4gICAgICAgICAgdG9OYW1lZERlc2NyaXB0b3JOYXRpdmUoZ2V0TmFtZWREZXNjcmlwdG9yKCdXc2gyT2YzJyksICdkZXJpdmFibGUnKSxcbiAgICAgICAgICB0b05hbWVkRGVzY3JpcHRvck5hdGl2ZShnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjNDbHR2RHJvcCcpLCAnZGVyaXZhYmxlJyksXG4gICAgICAgIF0sXG4gICAgICAgIGdldFBvbGljeUZvckVudigncHJvZCcpXG4gICAgICApXG4gICAgKTtcblxuICAgIC8vIHByb2Qgb25seSBhbGxvd3Mgb3RoZXIgZGVzY3JpcHRvcnMgaWYgdGhleSBhcmUgc2lnbmVkIGJ5IHRoZSB1c2VyIGtleVxuICAgIHRlc3RBc3NlcnREZXNjcmlwdG9yUG9saWN5KFtnZXROYW1lZERlc2NyaXB0b3JTaWduZWQoJ1dzaDJPZjInKV0sIGdldFBvbGljeUZvckVudigncHJvZCcpLCBrZXlzLCBudWxsKTtcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgICAgIFtnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjInKV0sXG4gICAgICBnZXRQb2xpY3lGb3JFbnYoJ3Byb2QnKSxcbiAgICAgIGtleXMsXG4gICAgICBuZXcgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgW3RvTmFtZWREZXNjcmlwdG9yTmF0aXZlKGdldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mMicpLCAnZGVyaXZhYmxlJyldLFxuICAgICAgICBnZXRQb2xpY3lGb3JFbnYoJ3Byb2QnKVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyB0ZXN0IGlzIHZlcnkgcGVybWlzc2l2ZSBieSBkZWZhdWx0XG4gICAgdGVzdEFzc2VydERlc2NyaXB0b3JQb2xpY3koW3N0cmlwU2lnbmF0dXJlKGdldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mMicpKV0sIGdldFBvbGljeUZvckVudigndGVzdCcpLCBrZXlzLCBudWxsKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainPsbt.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/fixedScript/explainPsbt.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
40
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
41
|
+
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
42
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
43
|
+
const fixedScript_1 = require("../../../../src/transaction/fixedScript");
|
|
44
|
+
const util_1 = require("./util");
|
|
45
|
+
function describeTransactionWith(acidTest) {
|
|
46
|
+
describe(`${acidTest.name}`, function () {
|
|
47
|
+
let psbtBytes;
|
|
48
|
+
let refExplanation;
|
|
49
|
+
before('prepare', function () {
|
|
50
|
+
const psbt = acidTest.createPsbt();
|
|
51
|
+
refExplanation = (0, fixedScript_1.explainPsbt)(psbt, { pubs: acidTest.rootWalletKeys }, acidTest.network, {
|
|
52
|
+
strict: true,
|
|
53
|
+
});
|
|
54
|
+
psbtBytes = psbt.toBuffer();
|
|
55
|
+
});
|
|
56
|
+
it('should match the expected values for explainPsbt', function () {
|
|
57
|
+
// note: `outputs` means external outputs here
|
|
58
|
+
strict_1.default.strictEqual(refExplanation.outputs.length, 3);
|
|
59
|
+
strict_1.default.strictEqual(refExplanation.changeOutputs.length, acidTest.outputs.length - 3);
|
|
60
|
+
strict_1.default.strictEqual(refExplanation.outputAmount, '1800');
|
|
61
|
+
strict_1.default.strictEqual(refExplanation.changeOutputs.length, acidTest.outputs.length - 3);
|
|
62
|
+
refExplanation.changeOutputs.forEach((change) => {
|
|
63
|
+
strict_1.default.strictEqual(change.amount, '900');
|
|
64
|
+
strict_1.default.strictEqual(typeof change.address, 'string');
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
it('should match explainPsbtWasm', function () {
|
|
68
|
+
if (!(0, util_1.hasWasmUtxoSupport)(acidTest.network)) {
|
|
69
|
+
return this.skip();
|
|
70
|
+
}
|
|
71
|
+
const networkName = utxolib.getNetworkName(acidTest.network);
|
|
72
|
+
(0, strict_1.default)(networkName);
|
|
73
|
+
const wasmPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(psbtBytes, networkName);
|
|
74
|
+
const walletXpubs = acidTest.rootWalletKeys.triple.map((k) => k.neutered().toBase58());
|
|
75
|
+
const wasmExplanation = (0, fixedScript_1.explainPsbtWasm)(wasmPsbt, walletXpubs, {
|
|
76
|
+
replayProtection: {
|
|
77
|
+
outputScripts: [acidTest.getReplayProtectionOutputScript()],
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
for (const key of Object.keys(refExplanation)) {
|
|
81
|
+
const refValue = refExplanation[key];
|
|
82
|
+
const wasmValue = wasmExplanation[key];
|
|
83
|
+
switch (key) {
|
|
84
|
+
case 'displayOrder':
|
|
85
|
+
case 'inputSignatures':
|
|
86
|
+
case 'signatures':
|
|
87
|
+
// these are deprecated fields that we want to get rid of
|
|
88
|
+
strict_1.default.deepStrictEqual(wasmValue, undefined);
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
strict_1.default.deepStrictEqual(wasmValue, refValue, `mismatch for key ${key}`);
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
describe('explainPsbt(Wasm)', function () {
|
|
99
|
+
utxo_lib_1.testutil.AcidTest.suite().forEach((test) => describeTransactionWith(test));
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBQzNDLDhDQUEyQztBQUMzQyxnREFBNkQ7QUFHN0QseUVBQXVGO0FBRXZGLGlDQUE0QztBQUU1QyxTQUFTLHVCQUF1QixDQUFDLFFBQTJCO0lBQzFELFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixJQUFJLFNBQWlCLENBQUM7UUFDdEIsSUFBSSxjQUFzQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25DLGNBQWMsR0FBRyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUN0RixNQUFNLEVBQUUsSUFBSTthQUNiLENBQUMsQ0FBQztZQUNILFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7WUFDckQsOENBQThDO1lBQzlDLGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JELGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckYsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDOUMsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekMsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUEseUJBQWtCLEVBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RCxJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsNkJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0UsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQW1CLENBQUM7WUFDekcsTUFBTSxlQUFlLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUU7Z0JBQzdELGdCQUFnQixFQUFFO29CQUNoQixhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsK0JBQStCLEVBQUUsQ0FBQztpQkFDNUQ7YUFDRixDQUFDLENBQUM7WUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQ1osS0FBSyxjQUFjLENBQUM7b0JBQ3BCLEtBQUssaUJBQWlCLENBQUM7b0JBQ3ZCLEtBQUssWUFBWTt3QkFDZix5REFBeUQ7d0JBQ3pELGdCQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDN0MsTUFBTTtvQkFDUjt3QkFDRSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUN2RSxNQUFNO2dCQUNWLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDNUIsbUJBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydC9zdHJpY3QnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyB0ZXN0dXRpbCB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB0eXBlIHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9leHBsYWluVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgZXhwbGFpblBzYnQsIGV4cGxhaW5Qc2J0V2FzbSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdCc7XG5cbmltcG9ydCB7IGhhc1dhc21VdHhvU3VwcG9ydCB9IGZyb20gJy4vdXRpbCc7XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVHJhbnNhY3Rpb25XaXRoKGFjaWRUZXN0OiB0ZXN0dXRpbC5BY2lkVGVzdCkge1xuICBkZXNjcmliZShgJHthY2lkVGVzdC5uYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcHNidEJ5dGVzOiBCdWZmZXI7XG4gICAgbGV0IHJlZkV4cGxhbmF0aW9uOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uO1xuICAgIGJlZm9yZSgncHJlcGFyZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBzYnQgPSBhY2lkVGVzdC5jcmVhdGVQc2J0KCk7XG4gICAgICByZWZFeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0KHBzYnQsIHsgcHViczogYWNpZFRlc3Qucm9vdFdhbGxldEtleXMgfSwgYWNpZFRlc3QubmV0d29yaywge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHBzYnRCeXRlcyA9IHBzYnQudG9CdWZmZXIoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlcyBmb3IgZXhwbGFpblBzYnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBub3RlOiBgb3V0cHV0c2AgbWVhbnMgZXh0ZXJuYWwgb3V0cHV0cyBoZXJlXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGgsIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoLCBhY2lkVGVzdC5vdXRwdXRzLmxlbmd0aCAtIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLm91dHB1dEFtb3VudCwgJzE4MDAnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmxlbmd0aCwgYWNpZFRlc3Qub3V0cHV0cy5sZW5ndGggLSAzKTtcbiAgICAgIHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMuZm9yRWFjaCgoY2hhbmdlKSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjaGFuZ2UuYW1vdW50LCAnOTAwJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY2hhbmdlLmFkZHJlc3MsICdzdHJpbmcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBleHBsYWluUHNidFdhc20nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIWhhc1dhc21VdHhvU3VwcG9ydChhY2lkVGVzdC5uZXR3b3JrKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5za2lwKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShhY2lkVGVzdC5uZXR3b3JrKTtcbiAgICAgIGFzc2VydChuZXR3b3JrTmFtZSk7XG4gICAgICBjb25zdCB3YXNtUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMocHNidEJ5dGVzLCBuZXR3b3JrTmFtZSk7XG4gICAgICBjb25zdCB3YWxsZXRYcHVicyA9IGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzLnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPjtcbiAgICAgIGNvbnN0IHdhc21FeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0V2FzbSh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIG91dHB1dFNjcmlwdHM6IFthY2lkVGVzdC5nZXRSZXBsYXlQcm90ZWN0aW9uT3V0cHV0U2NyaXB0KCldLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlZkV4cGxhbmF0aW9uKSkge1xuICAgICAgICBjb25zdCByZWZWYWx1ZSA9IHJlZkV4cGxhbmF0aW9uW2tleV07XG4gICAgICAgIGNvbnN0IHdhc21WYWx1ZSA9IHdhc21FeHBsYW5hdGlvbltrZXldO1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlPcmRlcic6XG4gICAgICAgICAgY2FzZSAnaW5wdXRTaWduYXR1cmVzJzpcbiAgICAgICAgICBjYXNlICdzaWduYXR1cmVzJzpcbiAgICAgICAgICAgIC8vIHRoZXNlIGFyZSBkZXByZWNhdGVkIGZpZWxkcyB0aGF0IHdlIHdhbnQgdG8gZ2V0IHJpZCBvZlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHJlZlZhbHVlLCBgbWlzbWF0Y2ggZm9yIGtleSAke2tleX1gKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5kZXNjcmliZSgnZXhwbGFpblBzYnQoV2FzbSknLCBmdW5jdGlvbiAoKSB7XG4gIHRlc3R1dGlsLkFjaWRUZXN0LnN1aXRlKCkuZm9yRWFjaCgodGVzdCkgPT4gZGVzY3JpYmVUcmFuc2FjdGlvbldpdGgodGVzdCkpO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsePsbt.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/fixedScript/parsePsbt.ts"],"names":[],"mappings":""}
|