@bitgo-beta/abstract-utxo 1.6.1-alpha.419 → 1.6.1-alpha.420
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 +12 -23
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +639 -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 +70 -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/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
- package/dist/{src → cjs/src}/impl/bcha/bcha.js +1 -1
- 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/impl/dash/dash.js → cjs/src/impl/btg/btg.js} +6 -6
- 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/cjs/src/impl/dash/dash.js +48 -0
- 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 +3 -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/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parse.js +116 -0
- 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/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 +63 -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/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +213 -0
- package/dist/{src → cjs/src}/transaction/fixedScript/parseTransaction.d.ts +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +203 -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/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/index.js +1 -1
- package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/src/transaction/outputDifference.js +47 -0
- 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/verifyTransaction.d.ts.map +1 -0
- package/dist/{src → cjs/src}/transaction/verifyTransaction.js +1 -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 +108 -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 +162 -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 +464 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +598 -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/esm/impl/bch/bch.js +33 -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 +9 -0
- package/dist/esm/impl/bcha/bcha.js +21 -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 +31 -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 +15 -0
- package/dist/esm/transaction/descriptor/parse.js +79 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +13 -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 +35 -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 +63 -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 +26 -0
- package/dist/{src → esm}/transaction/fixedScript/parseOutput.js +22 -28
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +7 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.js +164 -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.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 +7 -0
- package/dist/esm/transaction/index.js +7 -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 +3 -0
- package/dist/esm/transaction/parseTransaction.js +12 -0
- package/dist/esm/transaction/recipient.d.ts +29 -0
- 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/verifyTransaction.d.ts +4 -0
- package/dist/esm/transaction/verifyTransaction.js +14 -0
- package/dist/esm/verifyKey.d.ts +28 -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/btc/inscriptionBuilder.js +0 -183
- package/dist/src/impl/btg/btg.js +0 -48
- 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.js +0 -116
- package/dist/src/transaction/descriptor/parseToAmountType.js +0 -60
- package/dist/src/transaction/descriptor/signPsbt.js +0 -43
- 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/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.js +0 -198
- package/dist/src/transaction/outputDifference.js +0 -47
- package/dist/src/transaction/recipient.js +0 -88
- package/dist/src/transaction/signTransaction.js +0 -102
- 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/bcha.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/parse.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/descriptor/parseToAmountType.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/descriptor/verifyTransaction.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/fetchInputs.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/fixedScript/parseOutput.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/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/outputDifference.d.ts +0 -0
- /package/dist/{src → cjs/src}/transaction/parseTransaction.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}/verifyKey.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/bch.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/bcha.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/parse.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/descriptor/parseToAmountType.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/descriptor/verifyTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fetchInputs.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fixedScript/parseOutput.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fixedScript/signTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/fixedScript/verifyTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/getPayGoVerificationPubkey.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/index.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/outputDifference.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/parseTransaction.d.ts.map +0 -0
- /package/dist/{src → esm}/transaction/recipient.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}/verifyKey.d.ts.map +0 -0
- /package/dist/{src → esm}/wallet.d.ts.map +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const utxoLib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
37
|
+
require("should");
|
|
38
|
+
require("should-sinon");
|
|
39
|
+
const nock = require("nock");
|
|
40
|
+
const sinon = __importStar(require("sinon"));
|
|
41
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
42
|
+
const util_1 = require("./util");
|
|
43
|
+
nock.disableNetConnect();
|
|
44
|
+
const bgUrl = sdk_core_1.common.Environments[util_1.defaultBitGo.getEnv()].uri;
|
|
45
|
+
const basecoin = (0, util_1.getUtxoCoin)('tbtc');
|
|
46
|
+
const wallet = (0, util_1.getUtxoWallet)(basecoin, {
|
|
47
|
+
id: '5b34252f1bf349930e34020a',
|
|
48
|
+
coin: 'tbtc',
|
|
49
|
+
keys: ['5b3424f91bf349930e340175', '5b3424f91bf349930e340176', '5b3424f91bf349930e340177'],
|
|
50
|
+
});
|
|
51
|
+
describe('UTXO Custom Signer Function', function () {
|
|
52
|
+
const recipients = [
|
|
53
|
+
{ address: 'abc', amount: 123 },
|
|
54
|
+
{ address: 'def', amount: 456 },
|
|
55
|
+
];
|
|
56
|
+
const rootWalletKey = (0, util_1.getDefaultWalletKeys)();
|
|
57
|
+
let customSigningFunction;
|
|
58
|
+
let stubs;
|
|
59
|
+
beforeEach(function () {
|
|
60
|
+
customSigningFunction = sinon.stub().returns({
|
|
61
|
+
txHex: 'this-is-a-tx',
|
|
62
|
+
});
|
|
63
|
+
stubs = [
|
|
64
|
+
sinon.stub(wallet.baseCoin, 'postProcessPrebuild').returnsArg(0),
|
|
65
|
+
sinon.stub(wallet.baseCoin, 'verifyTransaction').resolves(true),
|
|
66
|
+
sinon.stub(wallet.baseCoin, 'signTransaction').resolves({ txHex: 'this-is-a-tx' }),
|
|
67
|
+
];
|
|
68
|
+
});
|
|
69
|
+
afterEach(function () {
|
|
70
|
+
stubs.forEach((s) => s.restore());
|
|
71
|
+
nock.cleanAll();
|
|
72
|
+
});
|
|
73
|
+
function nocks(txPrebuild) {
|
|
74
|
+
nock(bgUrl)
|
|
75
|
+
.post(`/api/v2/${wallet.coin()}/wallet/${wallet.id()}/tx/build`)
|
|
76
|
+
.reply(200, { ...txPrebuild, txInfo: {} });
|
|
77
|
+
nock(bgUrl).get(`/api/v2/${wallet.coin()}/public/block/latest`).reply(200, { height: 1000 });
|
|
78
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[0]}`).reply(200, { pub: 'pub' });
|
|
79
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[1]}`).reply(200, { pub: 'pub' });
|
|
80
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[2]}`).reply(200, { pub: 'pub' });
|
|
81
|
+
return nock(bgUrl).post(`/api/v2/${wallet.coin()}/wallet/${wallet.id()}/tx/send`).reply(200, { ok: true });
|
|
82
|
+
}
|
|
83
|
+
it('should use a custom signing function if provided for PSBT with taprootKeyPathSpend input', async function () {
|
|
84
|
+
const psbt = utxoLib.testutil.constructPsbt([{ scriptType: 'taprootKeyPathSpend', value: BigInt(1000) }], [{ scriptType: 'p2sh', value: BigInt(900) }], basecoin.network, rootWalletKey, 'unsigned');
|
|
85
|
+
const scope = nocks({ txHex: psbt.toHex() });
|
|
86
|
+
const result = await wallet.sendMany({ recipients, customSigningFunction });
|
|
87
|
+
result.should.have.property('ok', true);
|
|
88
|
+
customSigningFunction.should.have.been.calledTwice();
|
|
89
|
+
scope.done();
|
|
90
|
+
});
|
|
91
|
+
it('should use a custom signing function if provided for PSBT without taprootKeyPathSpend input', async function () {
|
|
92
|
+
const psbt = utxoLib.testutil.constructPsbt([{ scriptType: 'p2wsh', value: BigInt(1000) }], [{ scriptType: 'p2sh', value: BigInt(900) }], basecoin.network, rootWalletKey, 'unsigned');
|
|
93
|
+
const scope = nocks({ txHex: psbt.toHex() });
|
|
94
|
+
const result = await wallet.sendMany({ recipients, customSigningFunction });
|
|
95
|
+
result.should.have.property('ok', true);
|
|
96
|
+
customSigningFunction.should.have.been.calledOnce();
|
|
97
|
+
scope.done();
|
|
98
|
+
});
|
|
99
|
+
it('should use a custom signing function if provided for Tx without taprootKeyPathSpend input', async function () {
|
|
100
|
+
const tx = utxoLib.testutil.constructTxnBuilder([{ scriptType: 'p2wsh', value: BigInt(1000) }], [{ scriptType: 'p2sh', value: BigInt(900) }], basecoin.network, rootWalletKey, 'unsigned');
|
|
101
|
+
const scope = nocks({ txHex: tx.buildIncomplete().toHex() });
|
|
102
|
+
const result = await wallet.sendMany({ recipients, customSigningFunction });
|
|
103
|
+
result.should.have.property('ok', true);
|
|
104
|
+
customSigningFunction.should.have.been.calledOnce();
|
|
105
|
+
scope.done();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tU2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2N1c3RvbVNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFnRDtBQUNoRCxrQkFBZ0I7QUFDaEIsd0JBQXNCO0FBQ3RCLDZCQUE4QjtBQUM5Qiw2Q0FBK0I7QUFDL0IsbURBQXFFO0FBRXJFLGlDQUF3RjtBQUV4RixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztBQUV6QixNQUFNLEtBQUssR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxtQkFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzdELE1BQU0sUUFBUSxHQUFHLElBQUEsa0JBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQztBQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFhLEVBQUMsUUFBUSxFQUFFO0lBQ3JDLEVBQUUsRUFBRSwwQkFBMEI7SUFDOUIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQztDQUMzRixDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsNkJBQTZCLEVBQUU7SUFDdEMsTUFBTSxVQUFVLEdBQUc7UUFDakIsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDL0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7S0FDaEMsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQW9CLEdBQUUsQ0FBQztJQUM3QyxJQUFJLHFCQUE0QyxDQUFDO0lBQ2pELElBQUksS0FBd0IsQ0FBQztJQUU3QixVQUFVLENBQUM7UUFDVCxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQzNDLEtBQUssRUFBRSxjQUFjO1NBQ3RCLENBQUMsQ0FBQztRQUNILEtBQUssR0FBRztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDaEUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMvRCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7U0FDbkYsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDO1FBQ1IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxLQUFLLENBQUMsVUFBNkI7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNSLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQzthQUMvRCxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0csT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxFQUFFLENBQUMsMEZBQTBGLEVBQUUsS0FBSztRQUNsRyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FDekMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDNUQsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQzVDLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLGFBQWEsRUFDYixVQUFVLENBQ1gsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFNUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2RkFBNkYsRUFBRSxLQUFLO1FBQ3JHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUN6QyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDOUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQzVDLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLGFBQWEsRUFDYixVQUFVLENBQ1gsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFNUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyRkFBMkYsRUFBRSxLQUFLO1FBQ25HLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQzdDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUM5QyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFDNUMsUUFBUSxDQUFDLE9BQU8sRUFDaEIsYUFBYSxFQUNiLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUU1RSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvTGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCAnc2hvdWxkLXNpbm9uJztcbmltcG9ydCBub2NrID0gcmVxdWlyZSgnbm9jaycpO1xuaW1wb3J0ICogYXMgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uLCBjb21tb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmltcG9ydCB7IGRlZmF1bHRCaXRHbywgZ2V0RGVmYXVsdFdhbGxldEtleXMsIGdldFV0eG9Db2luLCBnZXRVdHhvV2FsbGV0IH0gZnJvbSAnLi91dGlsJztcblxubm9jay5kaXNhYmxlTmV0Q29ubmVjdCgpO1xuXG5jb25zdCBiZ1VybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbZGVmYXVsdEJpdEdvLmdldEVudigpXS51cmk7XG5jb25zdCBiYXNlY29pbiA9IGdldFV0eG9Db2luKCd0YnRjJyk7XG5jb25zdCB3YWxsZXQgPSBnZXRVdHhvV2FsbGV0KGJhc2Vjb2luLCB7XG4gIGlkOiAnNWIzNDI1MmYxYmYzNDk5MzBlMzQwMjBhJyxcbiAgY29pbjogJ3RidGMnLFxuICBrZXlzOiBbJzViMzQyNGY5MWJmMzQ5OTMwZTM0MDE3NScsICc1YjM0MjRmOTFiZjM0OTkzMGUzNDAxNzYnLCAnNWIzNDI0ZjkxYmYzNDk5MzBlMzQwMTc3J10sXG59KTtcblxuZGVzY3JpYmUoJ1VUWE8gQ3VzdG9tIFNpZ25lciBGdW5jdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgcmVjaXBpZW50cyA9IFtcbiAgICB7IGFkZHJlc3M6ICdhYmMnLCBhbW91bnQ6IDEyMyB9LFxuICAgIHsgYWRkcmVzczogJ2RlZicsIGFtb3VudDogNDU2IH0sXG4gIF07XG4gIGNvbnN0IHJvb3RXYWxsZXRLZXkgPSBnZXREZWZhdWx0V2FsbGV0S2V5cygpO1xuICBsZXQgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uOiBDdXN0b21TaWduaW5nRnVuY3Rpb247XG4gIGxldCBzdHViczogc2lub24uU2lub25TdHViW107XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uID0gc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgdHhIZXg6ICd0aGlzLWlzLWEtdHgnLFxuICAgIH0pO1xuICAgIHN0dWJzID0gW1xuICAgICAgc2lub24uc3R1Yih3YWxsZXQuYmFzZUNvaW4sICdwb3N0UHJvY2Vzc1ByZWJ1aWxkJykucmV0dXJuc0FyZygwKSxcbiAgICAgIHNpbm9uLnN0dWIod2FsbGV0LmJhc2VDb2luLCAndmVyaWZ5VHJhbnNhY3Rpb24nKS5yZXNvbHZlcyh0cnVlKSxcbiAgICAgIHNpbm9uLnN0dWIod2FsbGV0LmJhc2VDb2luLCAnc2lnblRyYW5zYWN0aW9uJykucmVzb2x2ZXMoeyB0eEhleDogJ3RoaXMtaXMtYS10eCcgfSksXG4gICAgXTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzdHVicy5mb3JFYWNoKChzKSA9PiBzLnJlc3RvcmUoKSk7XG4gICAgbm9jay5jbGVhbkFsbCgpO1xuICB9KTtcblxuICBmdW5jdGlvbiBub2Nrcyh0eFByZWJ1aWxkOiB7IHR4SGV4OiBzdHJpbmcgfSkge1xuICAgIG5vY2soYmdVcmwpXG4gICAgICAucG9zdChgL2FwaS92Mi8ke3dhbGxldC5jb2luKCl9L3dhbGxldC8ke3dhbGxldC5pZCgpfS90eC9idWlsZGApXG4gICAgICAucmVwbHkoMjAwLCB7IC4uLnR4UHJlYnVpbGQsIHR4SW5mbzoge30gfSk7XG4gICAgbm9jayhiZ1VybCkuZ2V0KGAvYXBpL3YyLyR7d2FsbGV0LmNvaW4oKX0vcHVibGljL2Jsb2NrL2xhdGVzdGApLnJlcGx5KDIwMCwgeyBoZWlnaHQ6IDEwMDAgfSk7XG4gICAgbm9jayhiZ1VybCkucGVyc2lzdCgpLmdldChgL2FwaS92Mi8ke3dhbGxldC5jb2luKCl9L2tleS8ke3dhbGxldC5rZXlJZHMoKVswXX1gKS5yZXBseSgyMDAsIHsgcHViOiAncHViJyB9KTtcbiAgICBub2NrKGJnVXJsKS5wZXJzaXN0KCkuZ2V0KGAvYXBpL3YyLyR7d2FsbGV0LmNvaW4oKX0va2V5LyR7d2FsbGV0LmtleUlkcygpWzFdfWApLnJlcGx5KDIwMCwgeyBwdWI6ICdwdWInIH0pO1xuICAgIG5vY2soYmdVcmwpLnBlcnNpc3QoKS5nZXQoYC9hcGkvdjIvJHt3YWxsZXQuY29pbigpfS9rZXkvJHt3YWxsZXQua2V5SWRzKClbMl19YCkucmVwbHkoMjAwLCB7IHB1YjogJ3B1YicgfSk7XG4gICAgcmV0dXJuIG5vY2soYmdVcmwpLnBvc3QoYC9hcGkvdjIvJHt3YWxsZXQuY29pbigpfS93YWxsZXQvJHt3YWxsZXQuaWQoKX0vdHgvc2VuZGApLnJlcGx5KDIwMCwgeyBvazogdHJ1ZSB9KTtcbiAgfVxuXG4gIGl0KCdzaG91bGQgdXNlIGEgY3VzdG9tIHNpZ25pbmcgZnVuY3Rpb24gaWYgcHJvdmlkZWQgZm9yIFBTQlQgd2l0aCB0YXByb290S2V5UGF0aFNwZW5kIGlucHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHBzYnQgPSB1dHhvTGliLnRlc3R1dGlsLmNvbnN0cnVjdFBzYnQoXG4gICAgICBbeyBzY3JpcHRUeXBlOiAndGFwcm9vdEtleVBhdGhTcGVuZCcsIHZhbHVlOiBCaWdJbnQoMTAwMCkgfV0sXG4gICAgICBbeyBzY3JpcHRUeXBlOiAncDJzaCcsIHZhbHVlOiBCaWdJbnQoOTAwKSB9XSxcbiAgICAgIGJhc2Vjb2luLm5ldHdvcmssXG4gICAgICByb290V2FsbGV0S2V5LFxuICAgICAgJ3Vuc2lnbmVkJ1xuICAgICk7XG4gICAgY29uc3Qgc2NvcGUgPSBub2Nrcyh7IHR4SGV4OiBwc2J0LnRvSGV4KCkgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd2FsbGV0LnNlbmRNYW55KHsgcmVjaXBpZW50cywgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uIH0pO1xuXG4gICAgcmVzdWx0LnNob3VsZC5oYXZlLnByb3BlcnR5KCdvaycsIHRydWUpO1xuICAgIGN1c3RvbVNpZ25pbmdGdW5jdGlvbi5zaG91bGQuaGF2ZS5iZWVuLmNhbGxlZFR3aWNlKCk7XG4gICAgc2NvcGUuZG9uZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHVzZSBhIGN1c3RvbSBzaWduaW5nIGZ1bmN0aW9uIGlmIHByb3ZpZGVkIGZvciBQU0JUIHdpdGhvdXQgdGFwcm9vdEtleVBhdGhTcGVuZCBpbnB1dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwc2J0ID0gdXR4b0xpYi50ZXN0dXRpbC5jb25zdHJ1Y3RQc2J0KFxuICAgICAgW3sgc2NyaXB0VHlwZTogJ3Ayd3NoJywgdmFsdWU6IEJpZ0ludCgxMDAwKSB9XSxcbiAgICAgIFt7IHNjcmlwdFR5cGU6ICdwMnNoJywgdmFsdWU6IEJpZ0ludCg5MDApIH1dLFxuICAgICAgYmFzZWNvaW4ubmV0d29yayxcbiAgICAgIHJvb3RXYWxsZXRLZXksXG4gICAgICAndW5zaWduZWQnXG4gICAgKTtcbiAgICBjb25zdCBzY29wZSA9IG5vY2tzKHsgdHhIZXg6IHBzYnQudG9IZXgoKSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3YWxsZXQuc2VuZE1hbnkoeyByZWNpcGllbnRzLCBjdXN0b21TaWduaW5nRnVuY3Rpb24gfSk7XG5cbiAgICByZXN1bHQuc2hvdWxkLmhhdmUucHJvcGVydHkoJ29rJywgdHJ1ZSk7XG4gICAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uLnNob3VsZC5oYXZlLmJlZW4uY2FsbGVkT25jZSgpO1xuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB1c2UgYSBjdXN0b20gc2lnbmluZyBmdW5jdGlvbiBpZiBwcm92aWRlZCBmb3IgVHggd2l0aG91dCB0YXByb290S2V5UGF0aFNwZW5kIGlucHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4ID0gdXR4b0xpYi50ZXN0dXRpbC5jb25zdHJ1Y3RUeG5CdWlsZGVyKFxuICAgICAgW3sgc2NyaXB0VHlwZTogJ3Ayd3NoJywgdmFsdWU6IEJpZ0ludCgxMDAwKSB9XSxcbiAgICAgIFt7IHNjcmlwdFR5cGU6ICdwMnNoJywgdmFsdWU6IEJpZ0ludCg5MDApIH1dLFxuICAgICAgYmFzZWNvaW4ubmV0d29yayxcbiAgICAgIHJvb3RXYWxsZXRLZXksXG4gICAgICAndW5zaWduZWQnXG4gICAgKTtcbiAgICBjb25zdCBzY29wZSA9IG5vY2tzKHsgdHhIZXg6IHR4LmJ1aWxkSW5jb21wbGV0ZSgpLnRvSGV4KCkgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd2FsbGV0LnNlbmRNYW55KHsgcmVjaXBpZW50cywgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uIH0pO1xuXG4gICAgcmVzdWx0LnNob3VsZC5oYXZlLnByb3BlcnR5KCdvaycsIHRydWUpO1xuICAgIGN1c3RvbVNpZ25pbmdGdW5jdGlvbi5zaG91bGQuaGF2ZS5iZWVuLmNhbGxlZE9uY2UoKTtcbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamedDescriptor.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/NamedDescriptor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
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-beta/utxo-core/testutil");
|
|
8
|
+
const NamedDescriptor_1 = require("../../../src/descriptor/NamedDescriptor");
|
|
9
|
+
const builder_1 = require("../../../src/descriptor/builder");
|
|
10
|
+
describe('NamedDescriptor', function () {
|
|
11
|
+
it('creates named descriptor with signature', async function () {
|
|
12
|
+
const keys = (0, testutil_1.getKeyTriple)();
|
|
13
|
+
const namedDescriptor = (0, NamedDescriptor_1.createNamedDescriptorWithSignature)('foo', (0, builder_1.getDescriptorFromBuilder)({ name: 'Wsh2Of2', keys, path: '0/*' }), keys[0]);
|
|
14
|
+
assert_1.default.deepStrictEqual(await (0, testutil_1.getFixture)(__dirname + '/fixtures/NamedDescriptorWithSignature.json', namedDescriptor), namedDescriptor);
|
|
15
|
+
(0, NamedDescriptor_1.assertHasValidSignature)(namedDescriptor, keys[0]);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLDZEQUEwRTtBQUUxRSw2RUFBc0g7QUFDdEgsNkRBQTJFO0FBRTNFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxQixFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSztRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFZLEdBQUUsQ0FBQztRQUM1QixNQUFNLGVBQWUsR0FBRyxJQUFBLG9EQUFrQyxFQUN4RCxLQUFLLEVBQ0wsSUFBQSxrQ0FBd0IsRUFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUNoRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQztRQUNGLGdCQUFNLENBQUMsZUFBZSxDQUNwQixNQUFNLElBQUEscUJBQVUsRUFBQyxTQUFTLEdBQUcsNkNBQTZDLEVBQUUsZUFBZSxDQUFDLEVBQzVGLGVBQWUsQ0FDaEIsQ0FBQztRQUNGLElBQUEseUNBQXVCLEVBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IGdldEZpeHR1cmUsIGdldEtleVRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tY29yZS90ZXN0dXRpbCc7XG5cbmltcG9ydCB7IGFzc2VydEhhc1ZhbGlkU2lnbmF0dXJlLCBjcmVhdGVOYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JGcm9tQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2J1aWxkZXInO1xuXG5kZXNjcmliZSgnTmFtZWREZXNjcmlwdG9yJywgZnVuY3Rpb24gKCkge1xuICBpdCgnY3JlYXRlcyBuYW1lZCBkZXNjcmlwdG9yIHdpdGggc2lnbmF0dXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoKTtcbiAgICBjb25zdCBuYW1lZERlc2NyaXB0b3IgPSBjcmVhdGVOYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlKFxuICAgICAgJ2ZvbycsXG4gICAgICBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIoeyBuYW1lOiAnV3NoMk9mMicsIGtleXMsIHBhdGg6ICcwLyonIH0pLFxuICAgICAga2V5c1swXVxuICAgICk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIGF3YWl0IGdldEZpeHR1cmUoX19kaXJuYW1lICsgJy9maXh0dXJlcy9OYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlLmpzb24nLCBuYW1lZERlc2NyaXB0b3IpLFxuICAgICAgbmFtZWREZXNjcmlwdG9yXG4gICAgKTtcbiAgICBhc3NlcnRIYXNWYWxpZFNpZ25hdHVyZShuYW1lZERlc2NyaXB0b3IsIGtleXNbMF0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/builder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const assert = __importStar(require("assert"));
|
|
37
|
+
const testutil_1 = require("@bitgo-beta/utxo-core/testutil");
|
|
38
|
+
const builder_1 = require("../../../src/descriptor/builder");
|
|
39
|
+
function getDescriptorBuilderForType(name) {
|
|
40
|
+
const keys = (0, testutil_1.getKeyTriple)().map((k) => k.neutered());
|
|
41
|
+
switch (name) {
|
|
42
|
+
case 'Wsh2Of2':
|
|
43
|
+
case 'Wsh2Of3':
|
|
44
|
+
return {
|
|
45
|
+
name,
|
|
46
|
+
keys: keys.slice(0, name === 'Wsh2Of3' ? 3 : 2),
|
|
47
|
+
path: '0/*',
|
|
48
|
+
};
|
|
49
|
+
case 'Wsh2Of3CltvDrop':
|
|
50
|
+
case 'ShWsh2Of3CltvDrop':
|
|
51
|
+
return {
|
|
52
|
+
name,
|
|
53
|
+
keys,
|
|
54
|
+
path: '0/*',
|
|
55
|
+
locktime: 1,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function describeForName(n) {
|
|
60
|
+
describe(`DescriptorBuilder ${n}`, () => {
|
|
61
|
+
it('parses descriptor template', () => {
|
|
62
|
+
const builder = getDescriptorBuilderForType(n);
|
|
63
|
+
const descriptor = (0, builder_1.getDescriptorFromBuilder)(builder);
|
|
64
|
+
assert.deepStrictEqual(builder, (0, builder_1.parseDescriptor)(descriptor));
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
describeForName('Wsh2Of2');
|
|
69
|
+
describeForName('Wsh2Of3');
|
|
70
|
+
describeForName('Wsh2Of3CltvDrop');
|
|
71
|
+
describeForName('ShWsh2Of3CltvDrop');
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9kZXNjcmlwdG9yL2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMsNkRBQThEO0FBRTlELDZEQUErRztBQUUvRyxTQUFTLDJCQUEyQixDQUFDLElBQStCO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVksR0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTO1lBQ1osT0FBTztnQkFDTCxJQUFJO2dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxFQUFFLEtBQUs7YUFDWixDQUFDO1FBQ0osS0FBSyxpQkFBaUIsQ0FBQztRQUN2QixLQUFLLG1CQUFtQjtZQUN0QixPQUFPO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsQ0FBQzthQUNaLENBQUM7SUFDTixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLENBQTRCO0lBQ25ELFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBQSxrQ0FBd0IsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFBLHlCQUFlLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0IsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDbkMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0S2V5VHJpcGxlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1jb3JlL3Rlc3R1dGlsJztcblxuaW1wb3J0IHsgcGFyc2VEZXNjcmlwdG9yLCBEZXNjcmlwdG9yQnVpbGRlciwgZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvYnVpbGRlcic7XG5cbmZ1bmN0aW9uIGdldERlc2NyaXB0b3JCdWlsZGVyRm9yVHlwZShuYW1lOiBEZXNjcmlwdG9yQnVpbGRlclsnbmFtZSddKTogRGVzY3JpcHRvckJ1aWxkZXIge1xuICBjb25zdCBrZXlzID0gZ2V0S2V5VHJpcGxlKCkubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkpO1xuICBzd2l0Y2ggKG5hbWUpIHtcbiAgICBjYXNlICdXc2gyT2YyJzpcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGtleXM6IGtleXMuc2xpY2UoMCwgbmFtZSA9PT0gJ1dzaDJPZjMnID8gMyA6IDIpLFxuICAgICAgICBwYXRoOiAnMC8qJyxcbiAgICAgIH07XG4gICAgY2FzZSAnV3NoMk9mM0NsdHZEcm9wJzpcbiAgICBjYXNlICdTaFdzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lLFxuICAgICAgICBrZXlzLFxuICAgICAgICBwYXRoOiAnMC8qJyxcbiAgICAgICAgbG9ja3RpbWU6IDEsXG4gICAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlRm9yTmFtZShuOiBEZXNjcmlwdG9yQnVpbGRlclsnbmFtZSddKSB7XG4gIGRlc2NyaWJlKGBEZXNjcmlwdG9yQnVpbGRlciAke259YCwgKCkgPT4ge1xuICAgIGl0KCdwYXJzZXMgZGVzY3JpcHRvciB0ZW1wbGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBnZXREZXNjcmlwdG9yQnVpbGRlckZvclR5cGUobik7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyKGJ1aWxkZXIpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChidWlsZGVyLCBwYXJzZURlc2NyaXB0b3IoZGVzY3JpcHRvcikpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZGVzY3JpYmVGb3JOYW1lKCdXc2gyT2YyJyk7XG5kZXNjcmliZUZvck5hbWUoJ1dzaDJPZjMnKTtcbmRlc2NyaWJlRm9yTmFtZSgnV3NoMk9mM0NsdHZEcm9wJyk7XG5kZXNjcmliZUZvck5hbWUoJ1NoV3NoMk9mM0NsdHZEcm9wJyk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDescriptors.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/descriptor/createWallet/createDescriptors.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
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-beta/utxo-core/testutil");
|
|
8
|
+
const NamedDescriptor_1 = require("../../../../src/descriptor/NamedDescriptor");
|
|
9
|
+
const createWallet_1 = require("../../../../src/descriptor/createWallet");
|
|
10
|
+
describe('createDescriptors', function () {
|
|
11
|
+
it('should create standard named descriptors', async function () {
|
|
12
|
+
const keys = (0, testutil_1.getKeyTriple)();
|
|
13
|
+
const namedDescriptors = (0, createWallet_1.DefaultWsh2Of3)(keys[0], keys.slice(1));
|
|
14
|
+
assert_1.default.deepStrictEqual(namedDescriptors, await (0, testutil_1.getFixture)(__dirname + '/fixtures/DefaultWsh2Of3.json', namedDescriptors));
|
|
15
|
+
for (const namedDescriptor of namedDescriptors) {
|
|
16
|
+
(0, NamedDescriptor_1.assertHasValidSignature)(namedDescriptor, keys[0]);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvci9jcmVhdGVXYWxsZXQvY3JlYXRlRGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsNkRBQTBFO0FBRTFFLGdGQUFxRjtBQUNyRiwwRUFBeUU7QUFFekUsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzVCLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLO1FBQ2xELE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVksR0FBRSxDQUFDO1FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsZ0JBQU0sQ0FBQyxlQUFlLENBQ3BCLGdCQUFnQixFQUNoQixNQUFNLElBQUEscUJBQVUsRUFBQyxTQUFTLEdBQUcsK0JBQStCLEVBQUUsZ0JBQWdCLENBQUMsQ0FDaEYsQ0FBQztRQUNGLEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMvQyxJQUFBLHlDQUF1QixFQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0Rml4dHVyZSwgZ2V0S2V5VHJpcGxlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1jb3JlL3Rlc3R1dGlsJztcblxuaW1wb3J0IHsgYXNzZXJ0SGFzVmFsaWRTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9OYW1lZERlc2NyaXB0b3InO1xuaW1wb3J0IHsgRGVmYXVsdFdzaDJPZjMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9jcmVhdGVXYWxsZXQnO1xuXG5kZXNjcmliZSgnY3JlYXRlRGVzY3JpcHRvcnMnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgY3JlYXRlIHN0YW5kYXJkIG5hbWVkIGRlc2NyaXB0b3JzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoKTtcbiAgICBjb25zdCBuYW1lZERlc2NyaXB0b3JzID0gRGVmYXVsdFdzaDJPZjMoa2V5c1swXSwga2V5cy5zbGljZSgxKSk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIG5hbWVkRGVzY3JpcHRvcnMsXG4gICAgICBhd2FpdCBnZXRGaXh0dXJlKF9fZGlybmFtZSArICcvZml4dHVyZXMvRGVmYXVsdFdzaDJPZjMuanNvbicsIG5hbWVkRGVzY3JpcHRvcnMpXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IG5hbWVkRGVzY3JpcHRvciBvZiBuYW1lZERlc2NyaXB0b3JzKSB7XG4gICAgICBhc3NlcnRIYXNWYWxpZFNpZ25hdHVyZShuYW1lZERlc2NyaXB0b3IsIGtleXNbMF0pO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptorWallet.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/descriptorWallet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
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 descriptor_1 = require("@bitgo-beta/utxo-core/testutil/descriptor");
|
|
8
|
+
const descriptor_2 = require("../../../src/descriptor");
|
|
9
|
+
const keychains_1 = require("../../../src/keychains");
|
|
10
|
+
const validatePolicy_1 = require("../../../src/descriptor/validatePolicy");
|
|
11
|
+
describe('isDescriptorWalletData', function () {
|
|
12
|
+
const descriptorMap = (0, descriptor_1.getDescriptorMap)('Wsh2Of3');
|
|
13
|
+
it('should return true for valid DescriptorWalletData', function () {
|
|
14
|
+
const wallet = {
|
|
15
|
+
coinSpecific() {
|
|
16
|
+
return {
|
|
17
|
+
descriptors: [...descriptorMap.entries()].map(([name, descriptor]) => ({
|
|
18
|
+
name,
|
|
19
|
+
value: descriptor.toString(),
|
|
20
|
+
})),
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
(0, assert_1.default)((0, descriptor_2.isDescriptorWallet)(wallet));
|
|
25
|
+
assert_1.default.strictEqual((0, descriptor_2.getDescriptorMapFromWallet)(wallet, (0, keychains_1.toBip32Triple)((0, descriptor_1.getDefaultXPubs)()), validatePolicy_1.policyAllowAll).size, descriptorMap.size);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsMEVBQThGO0FBRTlGLHdEQUF5RjtBQUV6RixzREFBdUQ7QUFDdkQsMkVBQXdFO0FBRXhFLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxNQUFNLGFBQWEsR0FBRyxJQUFBLDZCQUFnQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBZTtZQUN6QixZQUFZO2dCQUNWLE9BQU87b0JBQ0wsV0FBVyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDckUsSUFBSTt3QkFDSixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTtxQkFDN0IsQ0FBQyxDQUFDO2lCQUNKLENBQUM7WUFDSixDQUFDO1NBQ3VCLENBQUM7UUFFM0IsSUFBQSxnQkFBTSxFQUFDLElBQUEsK0JBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuQyxnQkFBTSxDQUFDLFdBQVcsQ0FDaEIsSUFBQSx1Q0FBMEIsRUFBQyxNQUFNLEVBQUUsSUFBQSx5QkFBYSxFQUFDLElBQUEsNEJBQWUsR0FBRSxDQUFDLEVBQUUsK0JBQWMsQ0FBQyxDQUFDLElBQUksRUFDekYsYUFBYSxDQUFDLElBQUksQ0FDbkIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IGdldERlZmF1bHRYUHVicywgZ2V0RGVzY3JpcHRvck1hcCB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tY29yZS90ZXN0dXRpbC9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGlzRGVzY3JpcHRvcldhbGxldCB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFV0eG9XYWxsZXQgfSBmcm9tICcuLi8uLi8uLi9zcmMvd2FsbGV0JztcbmltcG9ydCB7IHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi8uLi8uLi9zcmMva2V5Y2hhaW5zJztcbmltcG9ydCB7IHBvbGljeUFsbG93QWxsIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvdmFsaWRhdGVQb2xpY3knO1xuXG5kZXNjcmliZSgnaXNEZXNjcmlwdG9yV2FsbGV0RGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXAoJ1dzaDJPZjMnKTtcbiAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSBmb3IgdmFsaWQgRGVzY3JpcHRvcldhbGxldERhdGEnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgd2FsbGV0OiBVdHhvV2FsbGV0ID0ge1xuICAgICAgY29pblNwZWNpZmljKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRlc2NyaXB0b3JzOiBbLi4uZGVzY3JpcHRvck1hcC5lbnRyaWVzKCldLm1hcCgoW25hbWUsIGRlc2NyaXB0b3JdKSA9PiAoe1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBkZXNjcmlwdG9yLnRvU3RyaW5nKCksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9IGFzIHVua25vd24gYXMgVXR4b1dhbGxldDtcblxuICAgIGFzc2VydChpc0Rlc2NyaXB0b3JXYWxsZXQod2FsbGV0KSk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQod2FsbGV0LCB0b0JpcDMyVHJpcGxlKGdldERlZmF1bHRYUHVicygpKSwgcG9saWN5QWxsb3dBbGwpLnNpemUsXG4gICAgICBkZXNjcmlwdG9yTWFwLnNpemVcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptorAddress.d.ts","sourceRoot":"","sources":["../../../../test/unit/descriptorAddress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAOhD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAK/F"}
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getDescriptorAddress = getDescriptorAddress;
|
|
37
|
+
const assert = __importStar(require("node:assert"));
|
|
38
|
+
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
39
|
+
const src_1 = require("../../src");
|
|
40
|
+
const util_1 = require("./util");
|
|
41
|
+
function getDescriptorAddress(d, index, network) {
|
|
42
|
+
const derivedScript = Buffer.from(src_1.descriptor.Descriptor.fromString(d, 'derivable').atDerivationIndex(index).scriptPubkey());
|
|
43
|
+
return utxolib.address.fromOutputScript(derivedScript, network);
|
|
44
|
+
}
|
|
45
|
+
describe('descriptor wallets', function () {
|
|
46
|
+
const coin = (0, util_1.getUtxoCoin)('tbtc');
|
|
47
|
+
const xpubs = utxolib.testutil.getKeyTriple('setec astronomy').map((k) => k.neutered().toBase58());
|
|
48
|
+
function withChecksum(descriptor) {
|
|
49
|
+
return src_1.descriptor.Descriptor.fromString(descriptor, 'derivable').toString();
|
|
50
|
+
}
|
|
51
|
+
function getNamedDescriptor2Of2(name, a, b) {
|
|
52
|
+
return {
|
|
53
|
+
name,
|
|
54
|
+
value: withChecksum(`sh(multi(2,${a}/*,${b}/*))`),
|
|
55
|
+
signatures: [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function getIWalletWithDescriptors(descriptors) {
|
|
59
|
+
return {
|
|
60
|
+
coinSpecific() {
|
|
61
|
+
return { descriptors };
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const descFoo = getNamedDescriptor2Of2('foo', xpubs[0], xpubs[1]);
|
|
66
|
+
const descBar = getNamedDescriptor2Of2('bar', xpubs[1], xpubs[0]);
|
|
67
|
+
const addressFoo0 = getDescriptorAddress(descFoo.value, 0, coin.network);
|
|
68
|
+
const addressFoo1 = getDescriptorAddress(descFoo.value, 1, coin.network);
|
|
69
|
+
const addressBar0 = getDescriptorAddress(descBar.value, 0, coin.network);
|
|
70
|
+
it('has expected values', function () {
|
|
71
|
+
assert.deepStrictEqual([addressFoo0, addressFoo1, addressBar0], [
|
|
72
|
+
'2N9b1trWxMJN16mTzGJypFn6pEWfXtgh689',
|
|
73
|
+
'2N1YFzj4ECzcjuruaEvSzGaGGH1topMXMXZ',
|
|
74
|
+
'2N9oN5Kc2fLt2MrxEkuQPsy8Fg2KdrFfeKH',
|
|
75
|
+
]);
|
|
76
|
+
});
|
|
77
|
+
function runTestIsAddress(address, index, descriptorName, descriptorChecksum, expected) {
|
|
78
|
+
it(`should return ${expected} for address ${address} with index ${index} and descriptor ${descriptorName} with checksum ${descriptorChecksum}`, async function () {
|
|
79
|
+
const wallet = getIWalletWithDescriptors([descFoo, descBar]);
|
|
80
|
+
async function f() {
|
|
81
|
+
return coin.isWalletAddress({
|
|
82
|
+
address,
|
|
83
|
+
index,
|
|
84
|
+
coinSpecific: { descriptorName, descriptorChecksum },
|
|
85
|
+
keychains: xpubs.map((pub) => ({ pub })),
|
|
86
|
+
}, wallet);
|
|
87
|
+
}
|
|
88
|
+
if (expected === true) {
|
|
89
|
+
assert.equal(await f(), expected);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// because isWalletAddress is stupid it actually throws instead of returning false
|
|
93
|
+
await assert.rejects(f, expected);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
runTestIsAddress(addressFoo0, 0, 'foo', descFoo.value.slice(-8), true);
|
|
98
|
+
runTestIsAddress(addressFoo1, 0, 'foo', descFoo.value.slice(-8), /Address mismatch for descriptor/);
|
|
99
|
+
runTestIsAddress(addressBar0, 0, 'bar', descFoo.value.slice(-8), /Descriptor checksum mismatch/);
|
|
100
|
+
runTestIsAddress(addressFoo0, 0, 'bar', descBar.value.slice(-8), /Address mismatch for descriptor/);
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvckFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvckFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxvREFLQztBQWRELG9EQUFzQztBQUV0Qyw4REFBZ0Q7QUFHaEQsbUNBQWdEO0FBRWhELGlDQUFxQztBQUVyQyxTQUFnQixvQkFBb0IsQ0FBQyxDQUFTLEVBQUUsS0FBYSxFQUFFLE9BQXdCO0lBQ3JGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQy9CLGdCQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQ3BGLENBQUM7SUFDRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxRQUFRLENBQUMsb0JBQW9CLEVBQUU7SUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBQSxrQkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVuRyxTQUFTLFlBQVksQ0FBQyxVQUFrQjtRQUN0QyxPQUFPLGdCQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELFNBQVMsc0JBQXNCLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxD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QUNwRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLENBQUM7SUFDakcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3RHLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBJV2FsbGV0LCBXYWxsZXRDb2luU3BlY2lmaWMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmltcG9ydCB7IGRlc2NyaXB0b3IgYXMgdXR4b2QgfSBmcm9tICcuLi8uLi9zcmMnO1xuXG5pbXBvcnQgeyBnZXRVdHhvQ29pbiB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yQWRkcmVzcyhkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIGNvbnN0IGRlcml2ZWRTY3JpcHQgPSBCdWZmZXIuZnJvbShcbiAgICB1dHhvZC5EZXNjcmlwdG9yLmZyb21TdHJpbmcoZCwgJ2Rlcml2YWJsZScpLmF0RGVyaXZhdGlvbkluZGV4KGluZGV4KS5zY3JpcHRQdWJrZXkoKVxuICApO1xuICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoZGVyaXZlZFNjcmlwdCwgbmV0d29yayk7XG59XG5cbmRlc2NyaWJlKCdkZXNjcmlwdG9yIHdhbGxldHMnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGNvaW4gPSBnZXRVdHhvQ29pbigndGJ0YycpO1xuICBjb25zdCB4cHVicyA9IHV0eG9saWIudGVzdHV0aWwuZ2V0S2V5VHJpcGxlKCdzZXRlYyBhc3Ryb25vbXknKS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKTtcblxuICBmdW5jdGlvbiB3aXRoQ2hlY2tzdW0oZGVzY3JpcHRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2QuRGVzY3JpcHRvci5mcm9tU3RyaW5nKGRlc2NyaXB0b3IsICdkZXJpdmFibGUnKS50b1N0cmluZygpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMihuYW1lOiBzdHJpbmcsIGE6IHN0cmluZywgYjogc3RyaW5nKTogdXR4b2QuTmFtZWREZXNjcmlwdG9yIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlOiB3aXRoQ2hlY2tzdW0oYHNoKG11bHRpKDIsJHthfS8qLCR7Yn0vKikpYCksXG4gICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0SVdhbGxldFdpdGhEZXNjcmlwdG9ycyhkZXNjcmlwdG9yczogdXR4b2QuTmFtZWREZXNjcmlwdG9yW10pOiBJV2FsbGV0IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29pblNwZWNpZmljKCkge1xuICAgICAgICByZXR1cm4geyBkZXNjcmlwdG9ycyB9IGFzIHVua25vd24gYXMgV2FsbGV0Q29pblNwZWNpZmljO1xuICAgICAgfSxcbiAgICB9IGFzIElXYWxsZXQ7XG4gIH1cblxuICBjb25zdCBkZXNjRm9vID0gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMignZm9vJywgeHB1YnNbMF0sIHhwdWJzWzFdKTtcbiAgY29uc3QgZGVzY0JhciA9IGdldE5hbWVkRGVzY3JpcHRvcjJPZjIoJ2JhcicsIHhwdWJzWzFdLCB4cHVic1swXSk7XG4gIGNvbnN0IGFkZHJlc3NGb28wID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Zvby52YWx1ZSwgMCwgY29pbi5uZXR3b3JrKTtcbiAgY29uc3QgYWRkcmVzc0ZvbzEgPSBnZXREZXNjcmlwdG9yQWRkcmVzcyhkZXNjRm9vLnZhbHVlLCAxLCBjb2luLm5ldHdvcmspO1xuICBjb25zdCBhZGRyZXNzQmFyMCA9IGdldERlc2NyaXB0b3JBZGRyZXNzKGRlc2NCYXIudmFsdWUsIDAsIGNvaW4ubmV0d29yayk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIFthZGRyZXNzRm9vMCwgYWRkcmVzc0ZvbzEsIGFkZHJlc3NCYXIwXSxcbiAgICAgIFtcbiAgICAgICAgJzJOOWIxdHJXeE1KTjE2bVR6R0p5cEZuNnBFV2ZYdGdoNjg5JyxcbiAgICAgICAgJzJOMVlGemo0RUN6Y2p1cnVhRXZTekdhR0dIMXRvcE1YTVhaJyxcbiAgICAgICAgJzJOOW9ONUtjMmZMdDJNcnhFa3VRUHN5OEZnMktkckZmZUtIJyxcbiAgICAgIF1cbiAgICApO1xuICB9KTtcblxuICBmdW5jdGlvbiBydW5UZXN0SXNBZGRyZXNzKFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGRlc2NyaXB0b3JOYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvckNoZWNrc3VtOiBzdHJpbmcsXG4gICAgZXhwZWN0ZWQ6IHRydWUgfCBFcnJvciB8IFJlZ0V4cFxuICApIHtcbiAgICBpdChgc2hvdWxkIHJldHVybiAke2V4cGVjdGVkfSBmb3IgYWRkcmVzcyAke2FkZHJlc3N9IHdpdGggaW5kZXggJHtpbmRleH0gYW5kIGRlc2NyaXB0b3IgJHtkZXNjcmlwdG9yTmFtZX0gd2l0aCBjaGVja3N1bSAke2Rlc2NyaXB0b3JDaGVja3N1bX1gLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3YWxsZXQgPSBnZXRJV2FsbGV0V2l0aERlc2NyaXB0b3JzKFtkZXNjRm9vLCBkZXNjQmFyXSk7XG4gICAgICBhc3luYyBmdW5jdGlvbiBmKCkge1xuICAgICAgICByZXR1cm4gY29pbi5pc1dhbGxldEFkZHJlc3MoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29pblNwZWNpZmljOiB7IGRlc2NyaXB0b3JOYW1lLCBkZXNjcmlwdG9yQ2hlY2tzdW0gfSxcbiAgICAgICAgICAgIGtleWNoYWluczogeHB1YnMubWFwKChwdWIpID0+ICh7IHB1YiB9KSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3YWxsZXRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgICBhc3NlcnQuZXF1YWwoYXdhaXQgZigpLCBleHBlY3RlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBiZWNhdXNlIGlzV2FsbGV0QWRkcmVzcyBpcyBzdHVwaWQgaXQgYWN0dWFsbHkgdGhyb3dzIGluc3RlYWQgb2YgcmV0dXJuaW5nIGZhbHNlXG4gICAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGYsIGV4cGVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzAsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgdHJ1ZSk7XG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzEsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgL0FkZHJlc3MgbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IvKTtcbiAgcnVuVGVzdElzQWRkcmVzcyhhZGRyZXNzQmFyMCwgMCwgJ2JhcicsIGRlc2NGb28udmFsdWUuc2xpY2UoLTgpLCAvRGVzY3JpcHRvciBjaGVja3N1bSBtaXNtYXRjaC8pO1xuICBydW5UZXN0SXNBZGRyZXNzKGFkZHJlc3NGb28wLCAwLCAnYmFyJywgZGVzY0Jhci52YWx1ZS5zbGljZSgtOCksIC9BZGRyZXNzIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yLyk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainTransaction.d.ts","sourceRoot":"","sources":["../../../../test/unit/explainTransaction.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
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 fixtures_1 = require("./fixtures/bip322/fixtures");
|
|
8
|
+
const psbtHexProof_1 = require("./fixtures/psbtHexProof");
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
describe('Explain Transaction', function () {
|
|
11
|
+
describe('Verify paygo output when explaining psbt transaction', function () {
|
|
12
|
+
const coin = (0, util_1.getUtxoCoin)('tbtc4');
|
|
13
|
+
it('should detect and verify paygo address proof in PSBT', async function () {
|
|
14
|
+
// Call explainTransaction
|
|
15
|
+
await coin.explainTransaction(psbtHexProof_1.psbtTxHex);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
describe('BIP322 Proof', function () {
|
|
19
|
+
const coin = (0, util_1.getUtxoCoin)('btc');
|
|
20
|
+
const pubs = fixtures_1.bip322Fixtures.valid.rootWalletKeys.triple.map((b) => b.neutered().toBase58());
|
|
21
|
+
it('should successfully run with a user nonce', async function () {
|
|
22
|
+
const psbtHex = fixtures_1.bip322Fixtures.valid.userNonce;
|
|
23
|
+
const result = await coin.explainTransaction({ txHex: psbtHex, pubs });
|
|
24
|
+
assert_1.default.strictEqual(result.outputAmount, '0');
|
|
25
|
+
assert_1.default.strictEqual(result.changeAmount, '0');
|
|
26
|
+
assert_1.default.strictEqual(result.outputs.length, 1);
|
|
27
|
+
assert_1.default.strictEqual(result.outputs[0].address, 'scriptPubKey:6a');
|
|
28
|
+
assert_1.default.strictEqual(result.fee, '0');
|
|
29
|
+
assert_1.default.ok('signatures' in result);
|
|
30
|
+
assert_1.default.strictEqual(result.signatures, 0);
|
|
31
|
+
assert_1.default.ok(result.messages);
|
|
32
|
+
result.messages?.forEach((obj) => {
|
|
33
|
+
assert_1.default.ok(obj.address);
|
|
34
|
+
assert_1.default.ok(obj.message);
|
|
35
|
+
assert_1.default.strictEqual(obj.message, fixtures_1.bip322Fixtures.valid.message);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
it('should successfully run with a user signature', async function () {
|
|
39
|
+
const psbtHex = fixtures_1.bip322Fixtures.valid.userSignature;
|
|
40
|
+
const result = await coin.explainTransaction({ txHex: psbtHex, pubs });
|
|
41
|
+
assert_1.default.strictEqual(result.outputAmount, '0');
|
|
42
|
+
assert_1.default.strictEqual(result.changeAmount, '0');
|
|
43
|
+
assert_1.default.strictEqual(result.outputs.length, 1);
|
|
44
|
+
assert_1.default.strictEqual(result.outputs[0].address, 'scriptPubKey:6a');
|
|
45
|
+
assert_1.default.strictEqual(result.fee, '0');
|
|
46
|
+
assert_1.default.ok('signatures' in result);
|
|
47
|
+
assert_1.default.strictEqual(result.signatures, 1);
|
|
48
|
+
assert_1.default.ok(result.messages);
|
|
49
|
+
result.messages?.forEach((obj) => {
|
|
50
|
+
assert_1.default.ok(obj.address);
|
|
51
|
+
assert_1.default.ok(obj.message);
|
|
52
|
+
assert_1.default.strictEqual(obj.message, fixtures_1.bip322Fixtures.valid.message);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
it('should successfully run with a hsm signature', async function () {
|
|
56
|
+
const psbtHex = fixtures_1.bip322Fixtures.valid.hsmSignature;
|
|
57
|
+
const result = await coin.explainTransaction({ txHex: psbtHex, pubs });
|
|
58
|
+
assert_1.default.strictEqual(result.outputAmount, '0');
|
|
59
|
+
assert_1.default.strictEqual(result.changeAmount, '0');
|
|
60
|
+
assert_1.default.strictEqual(result.outputs.length, 1);
|
|
61
|
+
assert_1.default.strictEqual(result.outputs[0].address, 'scriptPubKey:6a');
|
|
62
|
+
assert_1.default.strictEqual(result.fee, '0');
|
|
63
|
+
assert_1.default.ok('signatures' in result);
|
|
64
|
+
assert_1.default.strictEqual(result.signatures, 2);
|
|
65
|
+
assert_1.default.ok(result.messages);
|
|
66
|
+
result.messages?.forEach((obj) => {
|
|
67
|
+
assert_1.default.ok(obj.address);
|
|
68
|
+
assert_1.default.ok(obj.message);
|
|
69
|
+
assert_1.default.strictEqual(obj.message, fixtures_1.bip322Fixtures.valid.message);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2V4cGxhaW5UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUk1Qix5REFBNEQ7QUFDNUQsMERBQW9EO0FBQ3BELGlDQUFxQztBQUVyQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7SUFDOUIsUUFBUSxDQUFDLHNEQUFzRCxFQUFFO1FBQy9ELE1BQU0sSUFBSSxHQUFHLElBQUEsa0JBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUVsQyxFQUFFLENBQUMsc0RBQXNELEVBQUUsS0FBSztZQUM5RCwwQkFBMEI7WUFDMUIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsY0FBYyxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUEsa0JBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyx5QkFBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFtQixDQUFDO1FBRTlHLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLO1lBQ25ELE1BQU0sT0FBTyxHQUFHLHlCQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN2RSxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFD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QUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgYmlwMzIyRml4dHVyZXMgfSBmcm9tICcuL2ZpeHR1cmVzL2JpcDMyMi9maXh0dXJlcyc7XG5pbXBvcnQgeyBwc2J0VHhIZXggfSBmcm9tICcuL2ZpeHR1cmVzL3BzYnRIZXhQcm9vZic7XG5pbXBvcnQgeyBnZXRVdHhvQ29pbiB9IGZyb20gJy4vdXRpbCc7XG5cbmRlc2NyaWJlKCdFeHBsYWluIFRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnVmVyaWZ5IHBheWdvIG91dHB1dCB3aGVuIGV4cGxhaW5pbmcgcHNidCB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBjb2luID0gZ2V0VXR4b0NvaW4oJ3RidGM0Jyk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBhbmQgdmVyaWZ5IHBheWdvIGFkZHJlc3MgcHJvb2YgaW4gUFNCVCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIENhbGwgZXhwbGFpblRyYW5zYWN0aW9uXG4gICAgICBhd2FpdCBjb2luLmV4cGxhaW5UcmFuc2FjdGlvbihwc2J0VHhIZXgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQklQMzIyIFByb29mJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGNvaW4gPSBnZXRVdHhvQ29pbignYnRjJyk7XG4gICAgY29uc3QgcHVicyA9IGJpcDMyMkZpeHR1cmVzLnZhbGlkLnJvb3RXYWxsZXRLZXlzLnRyaXBsZS5tYXAoKGIpID0+IGIubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPjtcblxuICAgIGl0KCdzaG91bGQgc3VjY2Vzc2Z1bGx5IHJ1biB3aXRoIGEgdXNlciBub25jZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBzYnRIZXggPSBiaXAzMjJGaXh0dXJlcy52YWxpZC51c2VyTm9uY2U7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb2luLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4OiBwc2J0SGV4LCBwdWJzIH0pO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5vdXRwdXRBbW91bnQsICcwJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LmNoYW5nZUFtb3VudCwgJzAnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5vdXRwdXRzWzBdLmFkZHJlc3MsICdzY3JpcHRQdWJLZXk6NmEnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQuZmVlLCAnMCcpO1xuICAgICAgYXNzZXJ0Lm9rKCdzaWduYXR1cmVzJyBpbiByZXN1bHQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5zaWduYXR1cmVzLCAwKTtcbiAgICAgIGFzc2VydC5vayhyZXN1bHQubWVzc2FnZXMpO1xuICAgICAgcmVzdWx0Lm1lc3NhZ2VzPy5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKG9iai5hZGRyZXNzKTtcbiAgICAgICAgYXNzZXJ0Lm9rKG9iai5tZXNzYWdlKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG9iai5tZXNzYWdlLCBiaXAzMjJGaXh0dXJlcy52YWxpZC5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZXNzZnVsbHkgcnVuIHdpdGggYSB1c2VyIHNpZ25hdHVyZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBzYnRIZXggPSBiaXAzMjJGaXh0dXJlcy52YWxpZC51c2VyU2lnbmF0dXJlO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29pbi5leHBsYWluVHJhbnNhY3Rpb24oeyB0eEhleDogcHNidEhleCwgcHVicyB9KTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQub3V0cHV0QW1vdW50LCAnMCcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5jaGFuZ2VBbW91bnQsICcwJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0Lm91dHB1dHMubGVuZ3RoLCAxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQub3V0cHV0c1swXS5hZGRyZXNzLCAnc2NyaXB0UHViS2V5OjZhJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LmZlZSwgJzAnKTtcbiAgICAgIGFzc2VydC5vaygnc2lnbmF0dXJlcycgaW4gcmVzdWx0KTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQuc2lnbmF0dXJlcywgMSk7XG4gICAgICBhc3NlcnQub2socmVzdWx0Lm1lc3NhZ2VzKTtcbiAgICAgIHJlc3VsdC5tZXNzYWdlcz8uZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAgIGFzc2VydC5vayhvYmouYWRkcmVzcyk7XG4gICAgICAgIGFzc2VydC5vayhvYmoubWVzc2FnZSk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChvYmoubWVzc2FnZSwgYmlwMzIyRml4dHVyZXMudmFsaWQubWVzc2FnZSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3VjY2Vzc2Z1bGx5IHJ1biB3aXRoIGEgaHNtIHNpZ25hdHVyZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBzYnRIZXggPSBiaXAzMjJGaXh0dXJlcy52YWxpZC5oc21TaWduYXR1cmU7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb2luLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4OiBwc2J0SGV4LCBwdWJzIH0pO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5vdXRwdXRBbW91bnQsICcwJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LmNoYW5nZUFtb3VudCwgJzAnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5vdXRwdXRzWzBdLmFkZHJlc3MsICdzY3JpcHRQdWJLZXk6NmEnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQuZmVlLCAnMCcpO1xuICAgICAgYXNzZXJ0Lm9rKCdzaWduYXR1cmVzJyBpbiByZXN1bHQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5zaWduYXR1cmVzLCAyKTtcbiAgICAgIGFzc2VydC5vayhyZXN1bHQubWVzc2FnZXMpO1xuICAgICAgcmVzdWx0Lm1lc3NhZ2VzPy5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKG9iai5hZGRyZXNzKTtcbiAgICAgICAgYXNzZXJ0Lm9rKG9iai5tZXNzYWdlKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG9iai5tZXNzYWdlLCBiaXAzMjJGaXh0dXJlcy52YWxpZC5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
export declare const bip322Fixtures: {
|
|
3
|
+
valid: {
|
|
4
|
+
rootWalletKeys: utxolib.bitgo.RootWalletKeys;
|
|
5
|
+
message: string;
|
|
6
|
+
unsigned: string;
|
|
7
|
+
userNonce: string;
|
|
8
|
+
hsmNonce: string;
|
|
9
|
+
userSignature: string;
|
|
10
|
+
hsmSignature: string;
|
|
11
|
+
fullSigned: string;
|
|
12
|
+
extractedTx: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/fixtures/bip322/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,cAAc;;;;;;;;;;;;CAmB1B,CAAC"}
|