@bitgo-beta/abstract-utxo 1.6.1-alpha.45 → 1.6.1-alpha.451
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/README.md +76 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts +435 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +657 -0
- package/dist/cjs/src/address/fixedScript.d.ts +49 -0
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
- package/dist/cjs/src/address/fixedScript.js +135 -0
- package/dist/cjs/src/address/index.d.ts +2 -0
- package/dist/cjs/src/address/index.d.ts.map +1 -0
- package/dist/cjs/src/address/index.js +8 -0
- 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 +20 -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 +5 -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 +13 -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 +3 -0
- package/dist/cjs/src/descriptor/builder/index.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/builder/index.js +8 -0
- package/dist/cjs/src/descriptor/builder/parse.d.ts +5 -0
- 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 +20 -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 +12 -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 +3 -0
- package/dist/cjs/src/descriptor/createWallet/index.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/createWallet/index.js +19 -0
- package/dist/cjs/src/descriptor/descriptorWallet.d.ts +19 -0
- 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 +8 -0
- package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/index.js +53 -0
- package/dist/cjs/src/descriptor/validatePolicy.d.ts +22 -0
- 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 +20 -0
- package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/bch.js +74 -0
- package/dist/cjs/src/impl/bch/index.d.ts +3 -0
- package/dist/cjs/src/impl/bch/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/index.js +19 -0
- package/dist/cjs/src/impl/bch/tbch.d.ts +10 -0
- package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/tbch.js +48 -0
- package/dist/cjs/src/impl/bcha/bcha.d.ts +8 -0
- package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/bcha.js +48 -0
- package/dist/cjs/src/impl/bcha/index.d.ts +3 -0
- package/dist/cjs/src/impl/bcha/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/index.js +19 -0
- package/dist/cjs/src/impl/bcha/tbcha.d.ts +10 -0
- package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/tbcha.js +48 -0
- package/dist/cjs/src/impl/bsv/bsv.d.ts +8 -0
- package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
- package/dist/cjs/src/impl/bsv/bsv.js +48 -0
- package/dist/cjs/src/impl/bsv/index.d.ts +3 -0
- package/dist/cjs/src/impl/bsv/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/bsv/index.js +19 -0
- package/dist/cjs/src/impl/bsv/tbsv.d.ts +10 -0
- package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
- package/dist/cjs/src/impl/bsv/tbsv.js +48 -0
- package/dist/cjs/src/impl/btc/btc.d.ts +13 -0
- package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/btc.js +55 -0
- package/dist/cjs/src/impl/btc/index.d.ts +7 -0
- package/dist/cjs/src/impl/btc/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/index.js +23 -0
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts +51 -0
- 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 +10 -0
- package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtc.js +48 -0
- package/dist/cjs/src/impl/btc/tbtc4.d.ts +10 -0
- package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtc4.js +48 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts +10 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.js +48 -0
- package/dist/cjs/src/impl/btc/tbtcsig.d.ts +10 -0
- package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcsig.js +48 -0
- package/dist/cjs/src/impl/btg/btg.d.ts +7 -0
- package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
- package/dist/cjs/src/impl/btg/btg.js +48 -0
- package/dist/cjs/src/impl/btg/index.d.ts +2 -0
- package/dist/cjs/src/impl/btg/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/btg/index.js +18 -0
- package/dist/cjs/src/impl/dash/dash.d.ts +7 -0
- 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 +3 -0
- package/dist/cjs/src/impl/dash/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/dash/index.js +19 -0
- package/dist/cjs/src/impl/dash/tdash.d.ts +10 -0
- package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
- package/dist/cjs/src/impl/dash/tdash.js +48 -0
- package/dist/cjs/src/impl/doge/doge.d.ts +32 -0
- 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 +3 -0
- package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/index.js +19 -0
- package/dist/cjs/src/impl/doge/tdoge.d.ts +10 -0
- package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/tdoge.js +48 -0
- package/dist/cjs/src/impl/index.d.ts +10 -0
- package/dist/cjs/src/impl/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/index.js +46 -0
- package/dist/cjs/src/impl/ltc/index.d.ts +3 -0
- package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/index.js +19 -0
- package/dist/cjs/src/impl/ltc/ltc.d.ts +7 -0
- package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/ltc.js +52 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts +7 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/tltc.js +51 -0
- package/dist/cjs/src/impl/zec/index.d.ts +3 -0
- package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/index.js +19 -0
- package/dist/cjs/src/impl/zec/tzec.d.ts +7 -0
- package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/tzec.js +48 -0
- package/dist/cjs/src/impl/zec/zec.d.ts +10 -0
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/zec.js +48 -0
- package/dist/cjs/src/index.d.ts +21 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +60 -0
- package/dist/cjs/src/keychains.d.ts +52 -0
- package/dist/cjs/src/keychains.d.ts.map +1 -0
- package/dist/cjs/src/keychains.js +136 -0
- package/dist/cjs/src/names.d.ts +26 -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 +8 -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 +46 -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 +15 -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 +2 -0
- package/dist/cjs/src/offlineVault/descriptor/index.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/descriptor/index.js +18 -0
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +38 -0
- 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 +6 -0
- package/dist/cjs/src/offlineVault/index.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/index.js +44 -0
- package/dist/{src → cjs/src}/recovery/RecoveryProvider.d.ts +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 +89 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.js +361 -0
- package/dist/{src → cjs/src}/recovery/baseApi.d.ts +3 -6
- package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/baseApi.js +73 -0
- package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -3
- package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
- package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +18 -7
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/crossChainRecovery.js +391 -0
- package/dist/{src → cjs/src}/recovery/index.d.ts +0 -1
- package/dist/cjs/src/recovery/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/recovery/index.js +6 -3
- package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/mempoolApi.js +36 -0
- package/dist/cjs/src/recovery/psbt.d.ts +84 -0
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
- package/dist/cjs/src/recovery/psbt.js +250 -0
- package/dist/cjs/src/transaction/bip322.d.ts +27 -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 +2 -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/cjs/src/transaction/decode.d.ts +11 -0
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
- package/dist/cjs/src/transaction/decode.js +81 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +5 -0
- 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 +7 -0
- package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/index.js +14 -0
- package/dist/cjs/src/transaction/descriptor/parse.d.ts +16 -0
- 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 +14 -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 +5 -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 +25 -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 +36 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +109 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts +18 -0
- 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 +26 -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/SigningError.d.ts +24 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.js +26 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +11 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +67 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +73 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +344 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts +10 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/index.js +32 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.d.ts +4 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.js +3 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +28 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +220 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +8 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +215 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +7 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +78 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +30 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +152 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.d.ts +30 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.js +174 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +22 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +129 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +17 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +50 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts +21 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +199 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +9 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +53 -0
- package/dist/cjs/src/transaction/index.d.ts +8 -0
- package/dist/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/index.js +50 -0
- package/dist/cjs/src/transaction/outputDifference.d.ts +40 -0
- 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 +4 -0
- package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/parseTransaction.js +48 -0
- package/dist/cjs/src/transaction/recipient.d.ts +29 -0
- 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 +6 -0
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/signTransaction.js +105 -0
- package/dist/cjs/src/transaction/types.d.ts +49 -0
- package/dist/cjs/src/transaction/types.d.ts.map +1 -0
- package/dist/cjs/src/transaction/types.js +7 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts +4 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/verifyTransaction.js +50 -0
- package/dist/cjs/src/verifyKey.d.ts +29 -0
- 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 +15 -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 +309 -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 +295 -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 +132 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +288 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +59 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +157 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts +3 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/util.js +41 -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 +528 -0
- package/dist/cjs/test/unit/txFormat.d.ts +30 -0
- package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
- package/dist/cjs/test/unit/txFormat.js +174 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts +14 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/fixtures.js +102 -0
- package/dist/cjs/test/unit/util/index.d.ts +7 -0
- package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/index.js +23 -0
- package/dist/cjs/test/unit/util/keychains.d.ts +26 -0
- package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/keychains.js +72 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts +3 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockBitGo.js +11 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.js +56 -0
- package/dist/cjs/test/unit/util/transaction.d.ts +24 -0
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/transaction.js +107 -0
- package/dist/cjs/test/unit/util/unspents.d.ts +13 -0
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/unspents.js +106 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +8 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/utxoCoins.js +95 -0
- package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
- package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/wallet.js +9 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/verifyTransaction.js +327 -0
- package/dist/cjs/test/unit/wallet.d.ts +2 -0
- package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/wallet.js +248 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/abstractUtxoCoin.d.ts +435 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +616 -0
- package/dist/esm/address/fixedScript.d.ts +49 -0
- package/dist/esm/address/fixedScript.d.ts.map +1 -0
- package/dist/esm/address/fixedScript.js +94 -0
- package/dist/esm/address/index.d.ts +2 -0
- package/dist/esm/address/index.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/descriptor/NamedDescriptor.js +39 -0
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/descriptor/createWallet/index.js +3 -0
- package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
- package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -0
- package/dist/esm/descriptor/descriptorWallet.js +16 -0
- package/dist/esm/descriptor/index.d.ts +8 -0
- package/dist/esm/descriptor/index.d.ts.map +1 -0
- package/dist/esm/descriptor/index.js +7 -0
- package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
- package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/impl/bch/bch.js +37 -0
- package/dist/esm/impl/bch/index.d.ts +3 -0
- package/dist/esm/impl/bch/index.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/impl/bch/tbch.js +11 -0
- package/dist/esm/impl/bcha/bcha.d.ts +8 -0
- package/dist/esm/impl/bcha/bcha.d.ts.map +1 -0
- package/dist/esm/impl/bcha/bcha.js +11 -0
- package/dist/esm/impl/bcha/index.d.ts +3 -0
- package/dist/esm/impl/bcha/index.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/impl/dash/tdash.js +11 -0
- package/dist/esm/impl/doge/doge.d.ts +32 -0
- package/dist/esm/impl/doge/doge.d.ts.map +1 -0
- package/dist/esm/impl/doge/doge.js +75 -0
- package/dist/esm/impl/doge/index.d.ts +3 -0
- package/dist/esm/impl/doge/index.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/impl/doge/tdoge.js +11 -0
- package/dist/esm/impl/index.d.ts +10 -0
- package/dist/esm/impl/index.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/impl/zec/zec.js +11 -0
- package/dist/esm/index.d.ts +21 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/keychains.d.ts +52 -0
- package/dist/esm/keychains.d.ts.map +1 -0
- package/dist/esm/keychains.js +92 -0
- package/dist/esm/names.d.ts +26 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +171 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +23 -0
- package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
- package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
- package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
- package/dist/esm/offlineVault/TransactionExplanation.d.ts +15 -0
- package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -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.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
- package/dist/esm/offlineVault/index.d.ts +6 -0
- package/dist/esm/offlineVault/index.d.ts.map +1 -0
- package/dist/esm/offlineVault/index.js +4 -0
- package/dist/esm/recovery/RecoveryProvider.d.ts +22 -0
- package/dist/{src → esm}/recovery/RecoveryProvider.d.ts.map +1 -1
- package/dist/esm/recovery/RecoveryProvider.js +19 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts +89 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/backupKeyRecovery.js +319 -0
- package/dist/esm/recovery/baseApi.d.ts +24 -0
- package/dist/esm/recovery/baseApi.d.ts.map +1 -0
- package/dist/esm/recovery/baseApi.js +64 -0
- package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
- package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
- package/dist/esm/recovery/coingeckoApi.js +40 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts +96 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/crossChainRecovery.js +351 -0
- package/dist/esm/recovery/index.d.ts +7 -0
- package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
- package/dist/esm/recovery/index.js +7 -0
- package/dist/esm/recovery/mempoolApi.d.ts +7 -0
- package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
- package/dist/esm/recovery/mempoolApi.js +29 -0
- package/dist/esm/recovery/psbt.d.ts +84 -0
- package/dist/esm/recovery/psbt.d.ts.map +1 -0
- package/dist/esm/recovery/psbt.js +207 -0
- package/dist/esm/transaction/bip322.d.ts +27 -0
- package/dist/esm/transaction/bip322.d.ts.map +1 -0
- package/dist/esm/transaction/bip322.js +86 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
- package/dist/esm/transaction/decode.d.ts +11 -0
- package/dist/esm/transaction/decode.d.ts.map +1 -0
- package/dist/esm/transaction/decode.js +43 -0
- 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.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/index.js +6 -0
- package/dist/esm/transaction/descriptor/parse.d.ts +16 -0
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parse.js +79 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
- package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
- package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/recipient.js +2 -0
- package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
- package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/signPsbt.js +38 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.js +66 -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.d.ts.map +1 -0
- package/dist/esm/transaction/fetchInputs.js +72 -0
- package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
- package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/SigningError.js +21 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +11 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +64 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +73 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.js +307 -0
- package/dist/esm/transaction/fixedScript/index.d.ts +10 -0
- package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/index.js +9 -0
- package/dist/esm/transaction/fixedScript/musig2.d.ts +4 -0
- package/dist/esm/transaction/fixedScript/musig2.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/musig2.js +2 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseOutput.js +213 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.js +176 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +7 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/replayProtection.js +39 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +30 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +112 -0
- package/dist/esm/transaction/fixedScript/signPsbt.d.ts +30 -0
- package/dist/esm/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbt.js +134 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +22 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +122 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +17 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signTransaction.js +44 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +160 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
- package/dist/esm/transaction/index.d.ts +8 -0
- package/dist/esm/transaction/index.d.ts.map +1 -0
- package/dist/esm/transaction/index.js +8 -0
- package/dist/esm/transaction/outputDifference.d.ts +40 -0
- package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
- package/dist/esm/transaction/outputDifference.js +42 -0
- package/dist/esm/transaction/parseTransaction.d.ts +4 -0
- package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/parseTransaction.js +12 -0
- package/dist/esm/transaction/recipient.d.ts +29 -0
- package/dist/esm/transaction/recipient.d.ts.map +1 -0
- package/dist/esm/transaction/recipient.js +48 -0
- package/dist/esm/transaction/signTransaction.d.ts +6 -0
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/signTransaction.js +66 -0
- package/dist/esm/transaction/types.d.ts +49 -0
- package/dist/esm/transaction/types.d.ts.map +1 -0
- package/dist/esm/transaction/types.js +4 -0
- package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
- package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/verifyTransaction.js +14 -0
- package/dist/esm/verifyKey.d.ts +29 -0
- package/dist/esm/verifyKey.d.ts.map +1 -0
- package/dist/esm/verifyKey.js +123 -0
- package/dist/esm/wallet.d.ts +15 -0
- package/dist/esm/wallet.d.ts.map +1 -0
- package/dist/esm/wallet.js +5 -0
- package/package.json +48 -18
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -253
- package/dist/src/abstractUtxoCoin.d.ts +0 -392
- package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
- package/dist/src/abstractUtxoCoin.js +0 -931
- package/dist/src/config.js +0 -14
- package/dist/src/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -18
- package/dist/src/parseOutput.d.ts +0 -22
- package/dist/src/parseOutput.d.ts.map +0 -1
- package/dist/src/parseOutput.js +0 -181
- package/dist/src/recovery/RecoveryProvider.js +0 -24
- package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
- package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
- package/dist/src/recovery/backupKeyRecovery.js +0 -293
- package/dist/src/recovery/baseApi.d.ts.map +0 -1
- package/dist/src/recovery/baseApi.js +0 -73
- package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
- package/dist/src/recovery/coingeckoApi.js +0 -47
- package/dist/src/recovery/crossChainRecovery.d.ts.map +0 -1
- package/dist/src/recovery/crossChainRecovery.js +0 -294
- package/dist/src/recovery/mempoolApi.js +0 -33
- package/dist/src/recovery/smartbitApi.d.ts +0 -11
- package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
- package/dist/src/recovery/smartbitApi.js +0 -36
- package/dist/src/replayProtection.d.ts +0 -4
- package/dist/src/replayProtection.d.ts.map +0 -1
- package/dist/src/replayProtection.js +0 -21
- package/dist/src/sign.d.ts +0 -31
- package/dist/src/sign.d.ts.map +0 -1
- package/dist/src/sign.js +0 -104
- package/dist/tsconfig.tsbuildinfo +0 -8179
- /package/dist/{src → cjs/src}/config.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
- /package/dist/{src → esm}/config.d.ts.map +0 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const assert_1 = __importDefault(require("assert"));
|
|
40
|
+
const sinon = __importStar(require("sinon"));
|
|
41
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
42
|
+
const util_1 = require("./util");
|
|
43
|
+
describe('Verify Transaction', function () {
|
|
44
|
+
const coin = (0, util_1.getUtxoCoin)('tbtc');
|
|
45
|
+
const userKeychain = coin.keychains().create();
|
|
46
|
+
const otherKeychain = coin.keychains().create();
|
|
47
|
+
const changeKeys = {
|
|
48
|
+
user: coin.keychains().create(),
|
|
49
|
+
backup: coin.keychains().create(),
|
|
50
|
+
bitgo: coin.keychains().create(),
|
|
51
|
+
};
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
53
|
+
const sign = async (key, keychain) => (await coin.signMessage(keychain, key.pub)).toString('hex');
|
|
54
|
+
const signUser = (key) => sign(key, userKeychain);
|
|
55
|
+
const signOther = (key) => sign(key, otherKeychain);
|
|
56
|
+
const passphrase = 'test_passphrase';
|
|
57
|
+
const stubData = {
|
|
58
|
+
unsignedSendingWallet: {
|
|
59
|
+
keyIds: sinon.stub().returns(['0', '1', '2']),
|
|
60
|
+
},
|
|
61
|
+
parseTransactionData: {
|
|
62
|
+
badKey: {
|
|
63
|
+
keychains: {
|
|
64
|
+
// user public key swapped out
|
|
65
|
+
user: {
|
|
66
|
+
pub: otherKeychain.pub,
|
|
67
|
+
encryptedPrv: util_1.defaultBitGo.encrypt({
|
|
68
|
+
input: userKeychain.prv,
|
|
69
|
+
password: passphrase,
|
|
70
|
+
}),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
needsCustomChangeKeySignatureVerification: true,
|
|
74
|
+
},
|
|
75
|
+
noCustomChange: {
|
|
76
|
+
keychains: { user: userKeychain },
|
|
77
|
+
needsCustomChangeKeySignatureVerification: true,
|
|
78
|
+
},
|
|
79
|
+
emptyCustomChange: {
|
|
80
|
+
keychains: { user: userKeychain },
|
|
81
|
+
needsCustomChangeKeySignatureVerification: true,
|
|
82
|
+
customChange: {},
|
|
83
|
+
},
|
|
84
|
+
// needs to be async function to create signatures
|
|
85
|
+
badSigs: async () => ({
|
|
86
|
+
keychains: { user: userKeychain },
|
|
87
|
+
needsCustomChangeKeySignatureVerification: true,
|
|
88
|
+
customChange: {
|
|
89
|
+
keys: [changeKeys.user, changeKeys.backup, changeKeys.bitgo],
|
|
90
|
+
signatures: [
|
|
91
|
+
await signOther(changeKeys.user),
|
|
92
|
+
await signOther(changeKeys.backup),
|
|
93
|
+
await signOther(changeKeys.bitgo),
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
}),
|
|
97
|
+
goodSigs: async () => ({
|
|
98
|
+
keychains: { user: userKeychain },
|
|
99
|
+
needsCustomChangeKeySignatureVerification: true,
|
|
100
|
+
customChange: {
|
|
101
|
+
keys: [changeKeys.user, changeKeys.backup, changeKeys.bitgo],
|
|
102
|
+
signatures: [
|
|
103
|
+
await signUser(changeKeys.user),
|
|
104
|
+
await signUser(changeKeys.backup),
|
|
105
|
+
await signUser(changeKeys.bitgo),
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
missingOutputs: 1,
|
|
109
|
+
}),
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
const unsignedSendingWallet = sinon.createStubInstance(sdk_core_1.Wallet, stubData.unsignedSendingWallet);
|
|
113
|
+
it('should fail if the user private key cannot be verified to match the user public key', async () => {
|
|
114
|
+
sinon.stub(coin, 'parseTransaction').resolves(stubData.parseTransactionData.badKey);
|
|
115
|
+
const verifyWallet = sinon.createStubInstance(sdk_core_1.Wallet, {});
|
|
116
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
117
|
+
txParams: {
|
|
118
|
+
walletPassphrase: passphrase,
|
|
119
|
+
},
|
|
120
|
+
txPrebuild: {},
|
|
121
|
+
wallet: verifyWallet,
|
|
122
|
+
verification: {},
|
|
123
|
+
}), /transaction requires verification of user public key, but it was unable to be verified/);
|
|
124
|
+
coin.parseTransaction.restore();
|
|
125
|
+
});
|
|
126
|
+
it('should fail if the custom change verification data is required but missing', async () => {
|
|
127
|
+
sinon.stub(coin, 'parseTransaction').resolves(stubData.parseTransactionData.noCustomChange);
|
|
128
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
129
|
+
txParams: {
|
|
130
|
+
walletPassphrase: passphrase,
|
|
131
|
+
},
|
|
132
|
+
txPrebuild: {},
|
|
133
|
+
wallet: unsignedSendingWallet,
|
|
134
|
+
verification: {},
|
|
135
|
+
}), /parsed transaction is missing required custom change verification data/);
|
|
136
|
+
coin.parseTransaction.restore();
|
|
137
|
+
});
|
|
138
|
+
it('should fail if the custom change keys or key signatures are missing', async () => {
|
|
139
|
+
sinon.stub(coin, 'parseTransaction').resolves(stubData.parseTransactionData.emptyCustomChange);
|
|
140
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
141
|
+
txParams: {
|
|
142
|
+
walletPassphrase: passphrase,
|
|
143
|
+
},
|
|
144
|
+
txPrebuild: {},
|
|
145
|
+
wallet: unsignedSendingWallet,
|
|
146
|
+
verification: {},
|
|
147
|
+
}), /customChange property is missing keys or signatures/);
|
|
148
|
+
coin.parseTransaction.restore();
|
|
149
|
+
});
|
|
150
|
+
it('should fail if the custom change key signatures cannot be verified', async () => {
|
|
151
|
+
sinon.stub(coin, 'parseTransaction').resolves((await stubData.parseTransactionData.badSigs()));
|
|
152
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
153
|
+
txParams: {
|
|
154
|
+
walletPassphrase: passphrase,
|
|
155
|
+
},
|
|
156
|
+
txPrebuild: {},
|
|
157
|
+
wallet: unsignedSendingWallet,
|
|
158
|
+
verification: {},
|
|
159
|
+
}), /transaction requires verification of custom change key signatures, but they were unable to be verified/);
|
|
160
|
+
coin.parseTransaction.restore();
|
|
161
|
+
});
|
|
162
|
+
it('should successfully verify a custom change transaction when change keys and signatures are valid', async () => {
|
|
163
|
+
sinon.stub(coin, 'parseTransaction').resolves((await stubData.parseTransactionData.goodSigs()));
|
|
164
|
+
// if verify transaction gets rejected with the outputs missing error message,
|
|
165
|
+
// then we know that the verification of the custom change key signatures was successful
|
|
166
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
167
|
+
txParams: {
|
|
168
|
+
walletPassphrase: passphrase,
|
|
169
|
+
},
|
|
170
|
+
txPrebuild: {},
|
|
171
|
+
wallet: unsignedSendingWallet,
|
|
172
|
+
verification: {},
|
|
173
|
+
}), /expected outputs missing in transaction prebuild/);
|
|
174
|
+
coin.parseTransaction.restore();
|
|
175
|
+
});
|
|
176
|
+
it('should not allow more than 150 basis points of implicit external outputs (for paygo outputs)', async () => {
|
|
177
|
+
const coinMock = sinon.stub(coin, 'parseTransaction').resolves({
|
|
178
|
+
keychains: {},
|
|
179
|
+
keySignatures: {},
|
|
180
|
+
outputs: [],
|
|
181
|
+
missingOutputs: [],
|
|
182
|
+
explicitExternalOutputs: [],
|
|
183
|
+
implicitExternalOutputs: [],
|
|
184
|
+
changeOutputs: [],
|
|
185
|
+
explicitExternalSpendAmount: 10000,
|
|
186
|
+
implicitExternalSpendAmount: 151,
|
|
187
|
+
needsCustomChangeKeySignatureVerification: false,
|
|
188
|
+
});
|
|
189
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
190
|
+
txParams: {
|
|
191
|
+
walletPassphrase: passphrase,
|
|
192
|
+
},
|
|
193
|
+
txPrebuild: {},
|
|
194
|
+
wallet: unsignedSendingWallet,
|
|
195
|
+
}), /prebuild attempts to spend to unintended external recipients/);
|
|
196
|
+
coinMock.restore();
|
|
197
|
+
});
|
|
198
|
+
it('should allow 150 basis points of implicit external outputs (for paygo outputs)', async () => {
|
|
199
|
+
const coinMock = sinon.stub(coin, 'parseTransaction').resolves({
|
|
200
|
+
keychains: {},
|
|
201
|
+
keySignatures: {},
|
|
202
|
+
outputs: [],
|
|
203
|
+
missingOutputs: [],
|
|
204
|
+
explicitExternalOutputs: [],
|
|
205
|
+
implicitExternalOutputs: [],
|
|
206
|
+
changeOutputs: [],
|
|
207
|
+
explicitExternalSpendAmount: 1000,
|
|
208
|
+
implicitExternalSpendAmount: 15,
|
|
209
|
+
needsCustomChangeKeySignatureVerification: false,
|
|
210
|
+
});
|
|
211
|
+
const bitcoinMock = sinon
|
|
212
|
+
.stub(coin, 'createTransactionFromHex')
|
|
213
|
+
.returns({ ins: [] });
|
|
214
|
+
const result = await coin.verifyTransaction({
|
|
215
|
+
txParams: {
|
|
216
|
+
walletPassphrase: passphrase,
|
|
217
|
+
},
|
|
218
|
+
txPrebuild: {
|
|
219
|
+
txHex: '00',
|
|
220
|
+
},
|
|
221
|
+
wallet: unsignedSendingWallet,
|
|
222
|
+
});
|
|
223
|
+
assert_1.default.strictEqual(result, true);
|
|
224
|
+
coinMock.restore();
|
|
225
|
+
bitcoinMock.restore();
|
|
226
|
+
});
|
|
227
|
+
it('should not allow any implicit external outputs if paygo outputs are disallowed', async () => {
|
|
228
|
+
const coinMock = sinon.stub(coin, 'parseTransaction').resolves({
|
|
229
|
+
keychains: {},
|
|
230
|
+
keySignatures: {},
|
|
231
|
+
outputs: [],
|
|
232
|
+
missingOutputs: [],
|
|
233
|
+
explicitExternalOutputs: [],
|
|
234
|
+
implicitExternalOutputs: [],
|
|
235
|
+
changeOutputs: [],
|
|
236
|
+
explicitExternalSpendAmount: 0,
|
|
237
|
+
implicitExternalSpendAmount: 10,
|
|
238
|
+
needsCustomChangeKeySignatureVerification: false,
|
|
239
|
+
});
|
|
240
|
+
await assert_1.default.rejects(coin.verifyTransaction({
|
|
241
|
+
txParams: {
|
|
242
|
+
walletPassphrase: passphrase,
|
|
243
|
+
},
|
|
244
|
+
txPrebuild: {
|
|
245
|
+
txHex: '00',
|
|
246
|
+
},
|
|
247
|
+
wallet: unsignedSendingWallet,
|
|
248
|
+
verification: {
|
|
249
|
+
allowPaygoOutput: false,
|
|
250
|
+
},
|
|
251
|
+
}), /prebuild attempts to spend to unintended external recipients/);
|
|
252
|
+
coinMock.restore();
|
|
253
|
+
});
|
|
254
|
+
it('should allow paygo outputs if empty verification object is passed', async () => {
|
|
255
|
+
const coinMock = sinon.stub(coin, 'parseTransaction').resolves({
|
|
256
|
+
keychains: {},
|
|
257
|
+
keySignatures: {},
|
|
258
|
+
outputs: [],
|
|
259
|
+
missingOutputs: [],
|
|
260
|
+
explicitExternalOutputs: [],
|
|
261
|
+
implicitExternalOutputs: [],
|
|
262
|
+
changeOutputs: [],
|
|
263
|
+
explicitExternalSpendAmount: 1000,
|
|
264
|
+
implicitExternalSpendAmount: 15,
|
|
265
|
+
needsCustomChangeKeySignatureVerification: false,
|
|
266
|
+
});
|
|
267
|
+
const bitcoinMock = sinon
|
|
268
|
+
.stub(coin, 'createTransactionFromHex')
|
|
269
|
+
.returns({ ins: [] });
|
|
270
|
+
const result = await coin.verifyTransaction({
|
|
271
|
+
txParams: {
|
|
272
|
+
walletPassphrase: passphrase,
|
|
273
|
+
},
|
|
274
|
+
txPrebuild: {
|
|
275
|
+
txHex: '00',
|
|
276
|
+
},
|
|
277
|
+
wallet: unsignedSendingWallet,
|
|
278
|
+
verification: {},
|
|
279
|
+
});
|
|
280
|
+
assert_1.default.strictEqual(result, true);
|
|
281
|
+
coinMock.restore();
|
|
282
|
+
bitcoinMock.restore();
|
|
283
|
+
});
|
|
284
|
+
it('should work with bigint amounts', async () => {
|
|
285
|
+
// need a coin that uses bigint
|
|
286
|
+
const bigintCoin = (0, util_1.getUtxoCoin)('tdoge');
|
|
287
|
+
const coinMock = sinon.stub(bigintCoin, 'parseTransaction').resolves({
|
|
288
|
+
keychains: {},
|
|
289
|
+
keySignatures: {},
|
|
290
|
+
outputs: [],
|
|
291
|
+
missingOutputs: [],
|
|
292
|
+
explicitExternalOutputs: [
|
|
293
|
+
{
|
|
294
|
+
address: 'external_address',
|
|
295
|
+
amount: '10000',
|
|
296
|
+
},
|
|
297
|
+
],
|
|
298
|
+
implicitExternalOutputs: [
|
|
299
|
+
{
|
|
300
|
+
address: 'external_address_2',
|
|
301
|
+
amount: '15',
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
changeOutputs: [],
|
|
305
|
+
explicitExternalSpendAmount: BigInt(10000),
|
|
306
|
+
implicitExternalSpendAmount: BigInt(15),
|
|
307
|
+
needsCustomChangeKeySignatureVerification: false,
|
|
308
|
+
});
|
|
309
|
+
const bitcoinMock = sinon
|
|
310
|
+
.stub(bigintCoin, 'createTransactionFromHex')
|
|
311
|
+
.returns({ ins: [] });
|
|
312
|
+
const result = await bigintCoin.verifyTransaction({
|
|
313
|
+
txParams: {
|
|
314
|
+
walletPassphrase: passphrase,
|
|
315
|
+
},
|
|
316
|
+
txPrebuild: {
|
|
317
|
+
txHex: '00',
|
|
318
|
+
},
|
|
319
|
+
wallet: unsignedSendingWallet,
|
|
320
|
+
verification: {},
|
|
321
|
+
});
|
|
322
|
+
assert_1.default.strictEqual(result, true);
|
|
323
|
+
coinMock.restore();
|
|
324
|
+
bitcoinMock.restore();
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFHNUIsNkNBQStCO0FBQy9CLG1EQUE4QztBQUU5QyxpQ0FBbUQ7QUFFbkQsUUFBUSxDQUFDLG9CQUFvQixFQUFFO0lBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUEsa0JBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUVqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRWhELE1BQU0sVUFBVSxHQUFHO1FBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFO1FBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFO1FBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFO0tBQ2pDLENBQUM7SUFFRixvRUFBb0U7SUFDcEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkcsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUs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QkFBaUIsQ0FBQztZQUNoRCxRQUFRLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsVUFBVTthQUM3QjtZQUNELFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsTUFBTSxFQUFFLHFCQUE0QjtZQUNwQyxZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUM7UUFFSCxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IFdhbGxldCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgZGVmYXVsdEJpdEdvLCBnZXRVdHhvQ29pbiB9IGZyb20gJy4vdXRpbCc7XG5cbmRlc2NyaWJlKCdWZXJpZnkgVHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGNvaW4gPSBnZXRVdHhvQ29pbigndGJ0YycpO1xuXG4gIGNvbnN0IHVzZXJLZXljaGFpbiA9IGNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlKCk7XG4gIGNvbnN0IG90aGVyS2V5Y2hhaW4gPSBjb2luLmtleWNoYWlucygpLmNyZWF0ZSgpO1xuXG4gIGNvbnN0IGNoYW5nZUtleXMgPSB7XG4gICAgdXNlcjogY29pbi5rZXljaGFpbnMoKS5jcmVhdGUoKSxcbiAgICBiYWNrdXA6IGNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlKCksXG4gICAgYml0Z286IGNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlKCksXG4gIH07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgY29uc3Qgc2lnbiA9IGFzeW5jIChrZXksIGtleWNoYWluKSA9PiAoYXdhaXQgY29pbi5zaWduTWVzc2FnZShrZXljaGFpbiwga2V5LnB1YiEpKS50b1N0cmluZygnaGV4Jyk7XG4gIGNvbnN0IHNpZ25Vc2VyID0gKGtleSkgPT4gc2lnbihrZXksIHVzZXJLZXljaGFpbik7XG4gIGNvbnN0IHNpZ25PdGhlciA9IChrZXkpID0+IHNpZ24oa2V5LCBvdGhlcktleWNoYWluKTtcbiAgY29uc3QgcGFzc3BocmFzZSA9ICd0ZXN0X3Bhc3NwaHJhc2UnO1xuXG4gIGNvbnN0IHN0dWJEYXRhID0ge1xuICAgIHVuc2lnbmVkU2VuZGluZ1dhbGxldDoge1xuICAgICAga2V5SWRzOiBzaW5vbi5zdHViKCkucmV0dXJucyhbJzAnLCAnMScsICcyJ10pLFxuICAgIH0sXG4gICAgcGFyc2VUcmFuc2FjdGlvbkRhdGE6IHtcbiAgICAgIGJhZEtleToge1xuICAgICAgICBrZXljaGFpbnM6IHtcbiAgICAgICAgICAvLyB1c2VyIHB1YmxpYyBrZXkgc3dhcHBlZCBvdXRcbiAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICBwdWI6IG90aGVyS2V5Y2hhaW4ucHViLFxuICAgICAgICAgICAgZW5jcnlwdGVkUHJ2OiBkZWZhdWx0Qml0R28uZW5jcnlwdCh7XG4gICAgICAgICAgICAgIGlucHV0OiB1c2VyS2V5Y2hhaW4ucHJ2LFxuICAgICAgICAgICAgICBwYXNzd29yZDogcGFzc3BocmFzZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG5lZWRzQ3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlVmVyaWZpY2F0aW9uOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIG5vQ3VzdG9tQ2hhbmdlOiB7XG4gICAgICAgIGtleWNoYWluczogeyB1c2VyOiB1c2VyS2V5Y2hhaW4gfSxcbiAgICAgICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgZW1wdHlDdXN0b21DaGFuZ2U6IHtcbiAgICAgICAga2V5Y2hhaW5zOiB7IHVzZXI6IHVzZXJLZXljaGFpbiB9LFxuICAgICAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogdHJ1ZSxcbiAgICAgICAgY3VzdG9tQ2hhbmdlOiB7fSxcbiAgICAgIH0sXG4gICAgICAvLyBuZWVkcyB0byBiZSBhc3luYyBmdW5jdGlvbiB0byBjcmVhdGUgc2lnbmF0dXJlc1xuICAgICAgYmFkU2lnczogYXN5bmMgKCkgPT4gKHtcbiAgICAgICAga2V5Y2hhaW5zOiB7IHVzZXI6IHVzZXJLZXljaGFpbiB9LFxuICAgICAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogdHJ1ZSxcbiAgICAgICAgY3VzdG9tQ2hhbmdlOiB7XG4gICAgICAgICAga2V5czogW2NoYW5nZUtleXMudXNlciwgY2hhbmdlS2V5cy5iYWNrdXAsIGNoYW5nZUtleXMuYml0Z29dLFxuICAgICAgICAgIHNpZ25hdHVyZXM6IFtcbiAgICAgICAgICAgIGF3YWl0IHNpZ25PdGhlcihjaGFuZ2VLZXlzLnVzZXIpLFxuICAgICAgICAgICAgYXdhaXQgc2lnbk90aGVyKGNoYW5nZUtleXMuYmFja3VwKSxcbiAgICAgICAgICAgIGF3YWl0IHNpZ25PdGhlcihjaGFuZ2VLZXlzLmJpdGdvKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBnb29kU2lnczogYXN5bmMgKCkgPT4gKHtcbiAgICAgICAga2V5Y2hhaW5zOiB7IHVzZXI6IHVzZXJLZXljaGFpbiB9LFxuICAgICAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogdHJ1ZSxcbiAgICAgICAgY3VzdG9tQ2hhbmdlOiB7XG4gICAgICAgICAga2V5czogW2NoYW5nZUtleXMudXNlciwgY2hhbmdlS2V5cy5iYWNrdXAsIGNoYW5nZUtleXMuYml0Z29dLFxuICAgICAgICAgIHNpZ25hdHVyZXM6IFtcbiAgICAgICAgICAgIGF3YWl0IHNpZ25Vc2VyKGNoYW5nZUtleXMudXNlciksXG4gICAgICAgICAgICBhd2FpdCBzaWduVXNlcihjaGFuZ2VLZXlzLmJhY2t1cCksXG4gICAgICAgICAgICBhd2FpdCBzaWduVXNlcihjaGFuZ2VLZXlzLmJpdGdvKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBtaXNzaW5nT3V0cHV0czogMSxcbiAgICAgIH0pLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgdW5zaWduZWRTZW5kaW5nV2FsbGV0ID0gc2lub24uY3JlYXRlU3R1Ykluc3RhbmNlKFdhbGxldCwgc3R1YkRhdGEudW5zaWduZWRTZW5kaW5nV2FsbGV0IGFzIGFueSk7XG5cbiAgaXQoJ3Nob3VsZCBmYWlsIGlmIHRoZSB1c2VyIHByaXZhdGUga2V5IGNhbm5vdCBiZSB2ZXJpZmllZCB0byBtYXRjaCB0aGUgdXNlciBwdWJsaWMga2V5JywgYXN5bmMgKCkgPT4ge1xuICAgIHNpbm9uLnN0dWIoY29pbiwgJ3BhcnNlVHJhbnNhY3Rpb24nKS5yZXNvbHZlcyhzdHViRGF0YS5wYXJzZVRyYW5zYWN0aW9uRGF0YS5iYWRLZXkgYXMgYW55KTtcbiAgICBjb25zdCB2ZXJpZnlXYWxsZXQgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoV2FsbGV0LCB7fSk7XG5cbiAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhcbiAgICAgIGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczoge1xuICAgICAgICAgIHdhbGxldFBhc3NwaHJhc2U6IHBhc3NwaHJhc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHt9LFxuICAgICAgICB3YWxsZXQ6IHZlcmlmeVdhbGxldCBhcyBhbnksXG4gICAgICAgIHZlcmlmaWNhdGlvbjoge30sXG4gICAgICB9KSxcbiAgICAgIC90cmFuc2FjdGlvbiByZXF1aXJlcyB2ZXJpZmljYXRpb24gb2YgdXNlciBwdWJsaWMga2V5LCBidXQgaXQgd2FzIHVuYWJsZSB0byBiZSB2ZXJpZmllZC9cbiAgICApO1xuXG4gICAgKGNvaW4ucGFyc2VUcmFuc2FjdGlvbiBhcyBhbnkpLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBmYWlsIGlmIHRoZSBjdXN0b20gY2hhbmdlIHZlcmlmaWNhdGlvbiBkYXRhIGlzIHJlcXVpcmVkIGJ1dCBtaXNzaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIHNpbm9uLnN0dWIoY29pbiwgJ3BhcnNlVHJhbnNhY3Rpb24nKS5yZXNvbHZlcyhzdHViRGF0YS5wYXJzZVRyYW5zYWN0aW9uRGF0YS5ub0N1c3RvbUNoYW5nZSBhcyBhbnkpO1xuXG4gICAgYXdhaXQgYXNzZXJ0LnJlamVjdHMoXG4gICAgICBjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHtcbiAgICAgICAgICB3YWxsZXRQYXNzcGhyYXNlOiBwYXNzcGhyYXNlLFxuICAgICAgICB9LFxuICAgICAgICB0eFByZWJ1aWxkOiB7fSxcbiAgICAgICAgd2FsbGV0OiB1bnNpZ25lZFNlbmRpbmdXYWxsZXQgYXMgYW55LFxuICAgICAgICB2ZXJpZmljYXRpb246IHt9LFxuICAgICAgfSksXG4gICAgICAvcGFyc2VkIHRyYW5zYWN0aW9uIGlzIG1pc3NpbmcgcmVxdWlyZWQgY3VzdG9tIGNoYW5nZSB2ZXJpZmljYXRpb24gZGF0YS9cbiAgICApO1xuXG4gICAgKGNvaW4ucGFyc2VUcmFuc2FjdGlvbiBhcyBhbnkpLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBmYWlsIGlmIHRoZSBjdXN0b20gY2hhbmdlIGtleXMgb3Iga2V5IHNpZ25hdHVyZXMgYXJlIG1pc3NpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgc2lub24uc3R1Yihjb2luLCAncGFyc2VUcmFuc2FjdGlvbicpLnJlc29sdmVzKHN0dWJEYXRhLnBhcnNlVHJhbnNhY3Rpb25EYXRhLmVtcHR5Q3VzdG9tQ2hhbmdlIGFzIGFueSk7XG5cbiAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhcbiAgICAgIGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczoge1xuICAgICAgICAgIHdhbGxldFBhc3NwaHJhc2U6IHBhc3NwaHJhc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHt9LFxuICAgICAgICB3YWxsZXQ6IHVuc2lnbmVkU2VuZGluZ1dhbGxldCBhcyBhbnksXG4gICAgICAgIHZlcmlmaWNhdGlvbjoge30sXG4gICAgICB9KSxcbiAgICAgIC9jdXN0b21DaGFuZ2UgcHJvcGVydHkgaXMgbWlzc2luZyBrZXlzIG9yIHNpZ25hdHVyZXMvXG4gICAgKTtcblxuICAgIChjb2luLnBhcnNlVHJhbnNhY3Rpb24gYXMgYW55KS5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZmFpbCBpZiB0aGUgY3VzdG9tIGNoYW5nZSBrZXkgc2lnbmF0dXJlcyBjYW5ub3QgYmUgdmVyaWZpZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgc2lub24uc3R1Yihjb2luLCAncGFyc2VUcmFuc2FjdGlvbicpLnJlc29sdmVzKChhd2FpdCBzdHViRGF0YS5wYXJzZVRyYW5zYWN0aW9uRGF0YS5iYWRTaWdzKCkpIGFzIGFueSk7XG5cbiAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhcbiAgICAgIGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczoge1xuICAgICAgICAgIHdhbGxldFBhc3NwaHJhc2U6IHBhc3NwaHJhc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHt9LFxuICAgICAgICB3YWxsZXQ6IHVuc2lnbmVkU2VuZGluZ1dhbGxldCBhcyBhbnksXG4gICAgICAgIHZlcmlmaWNhdGlvbjoge30sXG4gICAgICB9KSxcbiAgICAgIC90cmFuc2FjdGlvbiByZXF1aXJlcyB2ZXJpZmljYXRpb24gb2YgY3VzdG9tIGNoYW5nZSBrZXkgc2lnbmF0dXJlcywgYnV0IHRoZXkgd2VyZSB1bmFibGUgdG8gYmUgdmVyaWZpZWQvXG4gICAgKTtcblxuICAgIChjb2luLnBhcnNlVHJhbnNhY3Rpb24gYXMgYW55KS5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc3VjY2Vzc2Z1bGx5IHZlcmlmeSBhIGN1c3RvbSBjaGFuZ2UgdHJhbnNhY3Rpb24gd2hlbiBjaGFuZ2Uga2V5cyBhbmQgc2lnbmF0dXJlcyBhcmUgdmFsaWQnLCBhc3luYyAoKSA9PiB7XG4gICAgc2lub24uc3R1Yihjb2luLCAncGFyc2VUcmFuc2FjdGlvbicpLnJlc29sdmVzKChhd2FpdCBzdHViRGF0YS5wYXJzZVRyYW5zYWN0aW9uRGF0YS5nb29kU2lncygpKSBhcyBhbnkpO1xuXG4gICAgLy8gaWYgdmVyaWZ5IHRyYW5zYWN0aW9uIGdldHMgcmVqZWN0ZWQgd2l0aCB0aGUgb3V0cHV0cyBtaXNzaW5nIGVycm9yIG1lc3NhZ2UsXG4gICAgLy8gdGhlbiB3ZSBrbm93IHRoYXQgdGhlIHZlcmlmaWNhdGlvbiBvZiB0aGUgY3VzdG9tIGNoYW5nZSBrZXkgc2lnbmF0dXJlcyB3YXMgc3VjY2Vzc2Z1bFxuICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKFxuICAgICAgY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4UGFyYW1zOiB7XG4gICAgICAgICAgd2FsbGV0UGFzc3BocmFzZTogcGFzc3BocmFzZSxcbiAgICAgICAgfSxcbiAgICAgICAgdHhQcmVidWlsZDoge30sXG4gICAgICAgIHdhbGxldDogdW5zaWduZWRTZW5kaW5nV2FsbGV0IGFzIGFueSxcbiAgICAgICAgdmVyaWZpY2F0aW9uOiB7fSxcbiAgICAgIH0pLFxuICAgICAgL2V4cGVjdGVkIG91dHB1dHMgbWlzc2luZyBpbiB0cmFuc2FjdGlvbiBwcmVidWlsZC9cbiAgICApO1xuXG4gICAgKGNvaW4ucGFyc2VUcmFuc2FjdGlvbiBhcyBhbnkpLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgYWxsb3cgbW9yZSB0aGFuIDE1MCBiYXNpcyBwb2ludHMgb2YgaW1wbGljaXQgZXh0ZXJuYWwgb3V0cHV0cyAoZm9yIHBheWdvIG91dHB1dHMpJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvaW5Nb2NrID0gc2lub24uc3R1Yihjb2luLCAncGFyc2VUcmFuc2FjdGlvbicpLnJlc29sdmVzKHtcbiAgICAgIGtleWNoYWluczoge30gYXMgYW55LFxuICAgICAga2V5U2lnbmF0dXJlczoge30sXG4gICAgICBvdXRwdXRzOiBbXSxcbiAgICAgIG1pc3NpbmdPdXRwdXRzOiBbXSxcbiAgICAgIGV4cGxpY2l0RXh0ZXJuYWxPdXRwdXRzOiBbXSxcbiAgICAgIGltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgZXhwbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50OiAxMDAwMCxcbiAgICAgIGltcGxpY2l0RXh0ZXJuYWxTcGVuZEFtb3VudDogMTUxLFxuICAgICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgYXNzZXJ0LnJlamVjdHMoXG4gICAgICBjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHtcbiAgICAgICAgICB3YWxsZXRQYXNzcGhyYXNlOiBwYXNzcGhyYXNlLFxuICAgICAgICB9LFxuICAgICAgICB0eFByZWJ1aWxkOiB7fSxcbiAgICAgICAgd2FsbGV0OiB1bnNpZ25lZFNlbmRpbmdXYWxsZXQgYXMgYW55LFxuICAgICAgfSksXG4gICAgICAvcHJlYnVpbGQgYXR0ZW1wdHMgdG8gc3BlbmQgdG8gdW5pbnRlbmRlZCBleHRlcm5hbCByZWNpcGllbnRzL1xuICAgICk7XG5cbiAgICBjb2luTW9jay5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYWxsb3cgMTUwIGJhc2lzIHBvaW50cyBvZiBpbXBsaWNpdCBleHRlcm5hbCBvdXRwdXRzIChmb3IgcGF5Z28gb3V0cHV0cyknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29pbk1vY2sgPSBzaW5vbi5zdHViKGNvaW4sICdwYXJzZVRyYW5zYWN0aW9uJykucmVzb2x2ZXMoe1xuICAgICAga2V5Y2hhaW5zOiB7fSBhcyBhbnksXG4gICAgICBrZXlTaWduYXR1cmVzOiB7fSxcbiAgICAgIG91dHB1dHM6IFtdLFxuICAgICAgbWlzc2luZ091dHB1dHM6IFtdLFxuICAgICAgZXhwbGljaXRFeHRlcm5hbE91dHB1dHM6IFtdLFxuICAgICAgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBleHBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IDEwMDAsXG4gICAgICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IDE1LFxuICAgICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Y29pbk1vY2sgPSBzaW5vblxuICAgICAgLnN0dWIoY29pbiwgJ2NyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleCcpXG4gICAgICAucmV0dXJucyh7IGluczogW10gfSBhcyB1bmtub3duIGFzIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgdHhQYXJhbXM6IHtcbiAgICAgICAgd2FsbGV0UGFzc3BocmFzZTogcGFzc3BocmFzZSxcbiAgICAgIH0sXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiAnMDAnLFxuICAgICAgfSxcbiAgICAgIHdhbGxldDogdW5zaWduZWRTZW5kaW5nV2FsbGV0IGFzIGFueSxcbiAgICB9KTtcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIHRydWUpO1xuXG4gICAgY29pbk1vY2sucmVzdG9yZSgpO1xuICAgIGJpdGNvaW5Nb2NrLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgYWxsb3cgYW55IGltcGxpY2l0IGV4dGVybmFsIG91dHB1dHMgaWYgcGF5Z28gb3V0cHV0cyBhcmUgZGlzYWxsb3dlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb2luTW9jayA9IHNpbm9uLnN0dWIoY29pbiwgJ3BhcnNlVHJhbnNhY3Rpb24nKS5yZXNvbHZlcyh7XG4gICAgICBrZXljaGFpbnM6IHt9IGFzIGFueSxcbiAgICAgIGtleVNpZ25hdHVyZXM6IHt9LFxuICAgICAgb3V0cHV0czogW10sXG4gICAgICBtaXNzaW5nT3V0cHV0czogW10sXG4gICAgICBleHBsaWNpdEV4dGVybmFsT3V0cHV0czogW10sXG4gICAgICBpbXBsaWNpdEV4dGVybmFsT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGV4cGxpY2l0RXh0ZXJuYWxTcGVuZEFtb3VudDogMCxcbiAgICAgIGltcGxpY2l0RXh0ZXJuYWxTcGVuZEFtb3VudDogMTAsXG4gICAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhcbiAgICAgIGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczoge1xuICAgICAgICAgIHdhbGxldFBhc3NwaHJhc2U6IHBhc3NwaHJhc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHtcbiAgICAgICAgICB0eEhleDogJzAwJyxcbiAgICAgICAgfSxcbiAgICAgICAgd2FsbGV0OiB1bnNpZ25lZFNlbmRpbmdXYWxsZXQgYXMgYW55LFxuICAgICAgICB2ZXJpZmljYXRpb246IHtcbiAgICAgICAgICBhbGxvd1BheWdvT3V0cHV0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgL3ByZWJ1aWxkIGF0dGVtcHRzIHRvIHNwZW5kIHRvIHVuaW50ZW5kZWQgZXh0ZXJuYWwgcmVjaXBpZW50cy9cbiAgICApO1xuXG4gICAgY29pbk1vY2sucmVzdG9yZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGFsbG93IHBheWdvIG91dHB1dHMgaWYgZW1wdHkgdmVyaWZpY2F0aW9uIG9iamVjdCBpcyBwYXNzZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29pbk1vY2sgPSBzaW5vbi5zdHViKGNvaW4sICdwYXJzZVRyYW5zYWN0aW9uJykucmVzb2x2ZXMoe1xuICAgICAga2V5Y2hhaW5zOiB7fSBhcyBhbnksXG4gICAgICBrZXlTaWduYXR1cmVzOiB7fSxcbiAgICAgIG91dHB1dHM6IFtdLFxuICAgICAgbWlzc2luZ091dHB1dHM6IFtdLFxuICAgICAgZXhwbGljaXRFeHRlcm5hbE91dHB1dHM6IFtdLFxuICAgICAgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBleHBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IDEwMDAsXG4gICAgICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IDE1LFxuICAgICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Y29pbk1vY2sgPSBzaW5vblxuICAgICAgLnN0dWIoY29pbiwgJ2NyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleCcpXG4gICAgICAucmV0dXJucyh7IGluczogW10gfSBhcyB1bmtub3duIGFzIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgdHhQYXJhbXM6IHtcbiAgICAgICAgd2FsbGV0UGFzc3BocmFzZTogcGFzc3BocmFzZSxcbiAgICAgIH0sXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiAnMDAnLFxuICAgICAgfSxcbiAgICAgIHdhbGxldDogdW5zaWduZWRTZW5kaW5nV2FsbGV0IGFzIGFueSxcbiAgICAgIHZlcmlmaWNhdGlvbjoge30sXG4gICAgfSk7XG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB0cnVlKTtcblxuICAgIGNvaW5Nb2NrLnJlc3RvcmUoKTtcbiAgICBiaXRjb2luTW9jay5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgd29yayB3aXRoIGJpZ2ludCBhbW91bnRzJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIG5lZWQgYSBjb2luIHRoYXQgdXNlcyBiaWdpbnRcbiAgICBjb25zdCBiaWdpbnRDb2luID0gZ2V0VXR4b0NvaW4oJ3Rkb2dlJyk7XG5cbiAgICBjb25zdCBjb2luTW9jayA9IHNpbm9uLnN0dWIoYmlnaW50Q29pbiwgJ3BhcnNlVHJhbnNhY3Rpb24nKS5yZXNvbHZlcyh7XG4gICAgICBrZXljaGFpbnM6IHt9IGFzIGFueSxcbiAgICAgIGtleVNpZ25hdHVyZXM6IHt9LFxuICAgICAgb3V0cHV0czogW10sXG4gICAgICBtaXNzaW5nT3V0cHV0czogW10sXG4gICAgICBleHBsaWNpdEV4dGVybmFsT3V0cHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogJ2V4dGVybmFsX2FkZHJlc3MnLFxuICAgICAgICAgIGFtb3VudDogJzEwMDAwJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBpbXBsaWNpdEV4dGVybmFsT3V0cHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogJ2V4dGVybmFsX2FkZHJlc3NfMicsXG4gICAgICAgICAgYW1vdW50OiAnMTUnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgZXhwbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50OiBCaWdJbnQoMTAwMDApLFxuICAgICAgaW1wbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50OiBCaWdJbnQoMTUpLFxuICAgICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Y29pbk1vY2sgPSBzaW5vblxuICAgICAgLnN0dWIoYmlnaW50Q29pbiwgJ2NyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleCcpXG4gICAgICAucmV0dXJucyh7IGluczogW10gfSBhcyB1bmtub3duIGFzIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJpZ2ludENvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgdHhQYXJhbXM6IHtcbiAgICAgICAgd2FsbGV0UGFzc3BocmFzZTogcGFzc3BocmFzZSxcbiAgICAgIH0sXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiAnMDAnLFxuICAgICAgfSxcbiAgICAgIHdhbGxldDogdW5zaWduZWRTZW5kaW5nV2FsbGV0IGFzIGFueSxcbiAgICAgIHZlcmlmaWNhdGlvbjoge30sXG4gICAgfSk7XG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCB0cnVlKTtcblxuICAgIGNvaW5Nb2NrLnJlc3RvcmUoKTtcbiAgICBiaXRjb2luTW9jay5yZXN0b3JlKCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../test/unit/wallet.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC"}
|