@bitgo-beta/abstract-utxo 1.1.1-beta.201 → 1.1.1-beta.2011
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 +473 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +718 -0
- package/dist/cjs/src/address/fixedScript.d.ts +44 -0
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
- package/dist/cjs/src/address/fixedScript.js +108 -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 +19 -0
- package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/NamedDescriptor.js +77 -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 +33 -0
- package/dist/cjs/src/descriptor/builder/builder.d.ts +12 -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 +22 -0
- package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/bch.js +43 -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 +12 -0
- package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
- package/dist/cjs/src/impl/bch/tbch.js +15 -0
- package/dist/cjs/src/impl/bcha/bcha.d.ts +9 -0
- package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/bcha.js +15 -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 +12 -0
- package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
- package/dist/cjs/src/impl/bcha/tbcha.js +15 -0
- package/dist/cjs/src/impl/bsv/bsv.d.ts +9 -0
- package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
- package/dist/cjs/src/impl/bsv/bsv.js +15 -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 +12 -0
- package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
- package/dist/cjs/src/impl/bsv/tbsv.js +15 -0
- package/dist/cjs/src/impl/btc/btc.d.ts +15 -0
- package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/btc.js +22 -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 +61 -0
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/inscriptionBuilder.js +171 -0
- package/dist/cjs/src/impl/btc/tbtc.d.ts +12 -0
- package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtc.js +15 -0
- package/dist/cjs/src/impl/btc/tbtc4.d.ts +12 -0
- package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtc4.js +15 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts +12 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcbgsig.js +15 -0
- package/dist/cjs/src/impl/btc/tbtcsig.d.ts +12 -0
- package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcsig.js +15 -0
- package/dist/cjs/src/impl/btg/btg.d.ts +9 -0
- package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
- package/dist/cjs/src/impl/btg/btg.js +15 -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 +9 -0
- package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
- package/dist/cjs/src/impl/dash/dash.js +15 -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 +12 -0
- package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
- package/dist/cjs/src/impl/dash/tdash.js +15 -0
- package/dist/cjs/src/impl/doge/doge.d.ts +35 -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 +12 -0
- package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/tdoge.js +15 -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 +8 -0
- package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/ltc.js +15 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts +8 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/tltc.js +15 -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 +9 -0
- package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/tzec.js +15 -0
- package/dist/cjs/src/impl/zec/zec.d.ts +12 -0
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/zec.js +15 -0
- package/dist/cjs/src/index.d.ts +23 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +62 -0
- package/dist/cjs/src/keychains.d.ts +56 -0
- package/dist/cjs/src/keychains.d.ts.map +1 -0
- package/dist/cjs/src/keychains.js +144 -0
- package/dist/cjs/src/names.d.ts +36 -0
- package/dist/cjs/src/names.d.ts.map +1 -0
- package/dist/cjs/src/names.js +231 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +23 -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 +16 -0
- package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/TransactionExplanation.js +15 -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 +39 -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 -3
- 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 +158 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.js +411 -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 +21 -9
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/crossChainRecovery.js +299 -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 +62 -0
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
- package/dist/cjs/src/recovery/psbt.js +153 -0
- package/dist/cjs/src/tnumber.d.ts +4 -0
- package/dist/cjs/src/tnumber.d.ts.map +1 -0
- package/dist/cjs/src/tnumber.js +12 -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 +139 -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 +25 -0
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
- package/dist/cjs/src/transaction/decode.js +106 -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 +45 -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 +19 -0
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parse.js +84 -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 +24 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.js +44 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +37 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +80 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts +21 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/explainTransaction.js +92 -0
- package/dist/cjs/src/transaction/fetchInputs.d.ts +27 -0
- package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fetchInputs.js +111 -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 +32 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +149 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +83 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +346 -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 +34 -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 +216 -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 +228 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +10 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +44 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +163 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +157 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +116 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +34 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +78 -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 +203 -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 +20 -0
- package/dist/cjs/src/transaction/index.d.ts +10 -0
- package/dist/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/index.js +54 -0
- package/dist/cjs/src/transaction/outputDifference.d.ts +44 -0
- package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/src/transaction/outputDifference.js +51 -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 +34 -0
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/src/transaction/recipient.js +69 -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 +112 -0
- package/dist/cjs/src/transaction/types.d.ts +50 -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/unspent.d.ts +59 -0
- package/dist/cjs/src/unspent.d.ts.map +1 -0
- package/dist/cjs/src/unspent.js +20 -0
- package/dist/cjs/src/verifyKey.d.ts +21 -0
- package/dist/cjs/src/verifyKey.d.ts.map +1 -0
- package/dist/cjs/src/verifyKey.js +108 -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/src/wasmUtil.d.ts +34 -0
- package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
- package/dist/cjs/src/wasmUtil.js +95 -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 +76 -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 +178 -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 +481 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts +2 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts.map +1 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.js +99 -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 +161 -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 +204 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts +2 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.js +53 -0
- package/dist/cjs/test/unit/customSigner.d.ts +2 -0
- package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
- package/dist/cjs/test/unit/customSigner.js +99 -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 +51 -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 +78 -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 +53 -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 +62 -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 +103 -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 +37 -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 +71 -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 +41 -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 +34 -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 +33 -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 +34 -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 +34 -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 +30 -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 +87 -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 +155 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.js +99 -0
- package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
- package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
- package/dist/cjs/test/unit/postProcessPrebuild.js +65 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts +2 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
- package/dist/cjs/test/unit/prebuildAndSign.js +218 -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 +136 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +144 -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 +297 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +189 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts +37 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/mock.js +111 -0
- package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/signTransaction.js +223 -0
- package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/testSpoofTransaction.js +114 -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 +64 -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 +51 -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 +138 -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 +76 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.js +100 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.js +84 -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 +81 -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 +193 -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 +287 -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 +60 -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 +98 -0
- package/dist/cjs/test/unit/transaction/outputDifference.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/outputDifference.js +117 -0
- package/dist/cjs/test/unit/transaction/recipient.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/recipient.js +52 -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 +301 -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 +161 -0
- package/dist/cjs/test/unit/util/address.d.ts +13 -0
- package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/address.js +15 -0
- package/dist/cjs/test/unit/util/assert.d.ts +3 -0
- package/dist/cjs/test/unit/util/assert.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/assert.js +24 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts +13 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/fixtures.js +105 -0
- package/dist/cjs/test/unit/util/index.d.ts +11 -0
- package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/index.js +27 -0
- package/dist/cjs/test/unit/util/keychains.d.ts +55 -0
- package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/keychains.js +122 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts +10 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockBitGo.js +27 -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 +23 -0
- package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
- package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/psbt.js +21 -0
- package/dist/cjs/test/unit/util/transaction.d.ts +28 -0
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/transaction.js +131 -0
- package/dist/cjs/test/unit/util/unspents.d.ts +71 -0
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/unspents.js +224 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +30 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/utxoCoins.js +175 -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 +251 -0
- package/dist/cjs/test/unit/webauthn.d.ts +2 -0
- package/dist/cjs/test/unit/webauthn.d.ts.map +1 -0
- package/dist/cjs/test/unit/webauthn.js +73 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/abstractUtxoCoin.d.ts +473 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +677 -0
- package/dist/esm/address/fixedScript.d.ts +44 -0
- package/dist/esm/address/fixedScript.d.ts.map +1 -0
- package/dist/esm/address/fixedScript.js +100 -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 +19 -0
- package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -0
- package/dist/esm/descriptor/NamedDescriptor.js +37 -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 +12 -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 +22 -0
- package/dist/esm/impl/bch/bch.d.ts.map +1 -0
- package/dist/esm/impl/bch/bch.js +39 -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 +12 -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 +9 -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 +12 -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 +9 -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 +12 -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 +15 -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 +61 -0
- package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -0
- package/dist/esm/impl/btc/inscriptionBuilder.js +164 -0
- package/dist/esm/impl/btc/tbtc.d.ts +12 -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 +12 -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 +12 -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 +12 -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 +9 -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 +9 -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 +12 -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 +35 -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 +12 -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 +8 -0
- package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/esm/impl/ltc/ltc.js +11 -0
- package/dist/esm/impl/ltc/tltc.d.ts +8 -0
- package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/esm/impl/ltc/tltc.js +11 -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 +9 -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 +12 -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 +23 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/keychains.d.ts +56 -0
- package/dist/esm/keychains.d.ts.map +1 -0
- package/dist/esm/keychains.js +99 -0
- package/dist/esm/names.d.ts +36 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +184 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +20 -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 +16 -0
- package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -0
- package/dist/esm/offlineVault/TransactionExplanation.js +12 -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 +39 -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 +20 -0
- package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -0
- package/dist/esm/recovery/RecoveryProvider.js +19 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts +158 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/backupKeyRecovery.js +400 -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 +97 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/crossChainRecovery.js +292 -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 +62 -0
- package/dist/esm/recovery/psbt.d.ts.map +1 -0
- package/dist/esm/recovery/psbt.js +145 -0
- package/dist/esm/tnumber.d.ts +4 -0
- package/dist/esm/tnumber.d.ts.map +1 -0
- package/dist/esm/tnumber.js +9 -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 +100 -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 +25 -0
- package/dist/esm/transaction/decode.d.ts.map +1 -0
- package/dist/esm/transaction/decode.js +66 -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 +42 -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 +19 -0
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parse.js +80 -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 +24 -0
- package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/signPsbt.js +39 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +37 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.js +70 -0
- package/dist/esm/transaction/explainTransaction.d.ts +21 -0
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/explainTransaction.js +56 -0
- package/dist/esm/transaction/fetchInputs.d.ts +27 -0
- package/dist/esm/transaction/fetchInputs.d.ts.map +1 -0
- package/dist/esm/transaction/fetchInputs.js +74 -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 +26 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +144 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +83 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.js +309 -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 +209 -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 +222 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +10 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/replayProtection.js +38 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +123 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +117 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +109 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +34 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signTransaction.js +71 -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 +164 -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 +10 -0
- package/dist/esm/transaction/index.d.ts.map +1 -0
- package/dist/esm/transaction/index.js +10 -0
- package/dist/esm/transaction/outputDifference.d.ts +44 -0
- package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
- package/dist/esm/transaction/outputDifference.js +45 -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 +34 -0
- package/dist/esm/transaction/recipient.d.ts.map +1 -0
- package/dist/esm/transaction/recipient.js +61 -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 +73 -0
- package/dist/esm/transaction/types.d.ts +50 -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/unspent.d.ts +59 -0
- package/dist/esm/unspent.d.ts.map +1 -0
- package/dist/esm/unspent.js +15 -0
- package/dist/esm/verifyKey.d.ts +21 -0
- package/dist/esm/verifyKey.d.ts.map +1 -0
- package/dist/esm/verifyKey.js +100 -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/dist/esm/wasmUtil.d.ts +34 -0
- package/dist/esm/wasmUtil.d.ts.map +1 -0
- package/dist/esm/wasmUtil.js +54 -0
- package/package.json +47 -20
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -235
- 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.d.ts.map +0 -1
- 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 -8021
- /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,53 @@
|
|
|
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 wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
8
|
+
const verifyKey_1 = require("../../src/verifyKey");
|
|
9
|
+
const KEY_ROLES = ['user', 'backup', 'bitgo'];
|
|
10
|
+
function signKeySignature(signerPrivateKey, pubToSign) {
|
|
11
|
+
(0, assert_1.default)(signerPrivateKey.privateKey, 'signer must have a private key');
|
|
12
|
+
return Buffer.from(wasm_utxo_1.message.signMessage(pubToSign, signerPrivateKey.privateKey)).toString('hex');
|
|
13
|
+
}
|
|
14
|
+
function createMockCustomChangeKeySignatures(signerPrivateKey, changeKeychains) {
|
|
15
|
+
return {
|
|
16
|
+
user: signKeySignature(signerPrivateKey, changeKeychains[0].pub),
|
|
17
|
+
backup: signKeySignature(signerPrivateKey, changeKeychains[1].pub),
|
|
18
|
+
bitgo: signKeySignature(signerPrivateKey, changeKeychains[2].pub),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
describe('Custom Change Wallet Key Signatures', function () {
|
|
22
|
+
const mainUserKey = wasm_utxo_1.BIP32.fromSeedSha256('main-user');
|
|
23
|
+
const changeKeys = [
|
|
24
|
+
wasm_utxo_1.BIP32.fromSeedSha256('change-user'),
|
|
25
|
+
wasm_utxo_1.BIP32.fromSeedSha256('change-backup'),
|
|
26
|
+
wasm_utxo_1.BIP32.fromSeedSha256('change-bitgo'),
|
|
27
|
+
];
|
|
28
|
+
const changeKeychains = changeKeys.map((k) => ({ pub: k.neutered().toBase58() }));
|
|
29
|
+
it('should accept signatures from the correct key', function () {
|
|
30
|
+
const signatures = createMockCustomChangeKeySignatures(mainUserKey, changeKeychains);
|
|
31
|
+
for (const role of KEY_ROLES) {
|
|
32
|
+
const index = KEY_ROLES.indexOf(role);
|
|
33
|
+
assert_1.default.ok((0, verifyKey_1.verifyKeySignature)({
|
|
34
|
+
userKeychain: { pub: mainUserKey.neutered().toBase58() },
|
|
35
|
+
keychainToVerify: changeKeychains[index],
|
|
36
|
+
keySignature: signatures[role],
|
|
37
|
+
}), `failed to verify mock custom change ${role} key signature`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
it('should reject signatures from a different key', function () {
|
|
41
|
+
const wrongKey = wasm_utxo_1.BIP32.fromSeedSha256('wrong-key');
|
|
42
|
+
const badSignatures = createMockCustomChangeKeySignatures(wrongKey, changeKeychains);
|
|
43
|
+
for (const role of KEY_ROLES) {
|
|
44
|
+
const index = KEY_ROLES.indexOf(role);
|
|
45
|
+
assert_1.default.strictEqual((0, verifyKey_1.verifyKeySignature)({
|
|
46
|
+
userKeychain: { pub: mainUserKey.neutered().toBase58() },
|
|
47
|
+
keychainToVerify: changeKeychains[index],
|
|
48
|
+
keySignature: badSignatures[role],
|
|
49
|
+
}), false, `should have rejected custom change ${role} key signature from wrong key`);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tQ2hhbmdlV2FsbGV0Rml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvY3VzdG9tQ2hhbmdlV2FsbGV0Rml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsZ0RBQWtEO0FBRWxELG1EQUF5RDtBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFHdkQsU0FBUyxnQkFBZ0IsQ0FBQyxnQkFBdUIsRUFBRSxTQUFpQjtJQUNsRSxJQUFBLGdCQUFNLEVBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLGdDQUFnQyxDQUFDLENBQUM7SUFDdEUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsZ0JBQXVCLEVBQ3ZCLGVBQWtDO0lBRWxDLE9BQU87UUFDTCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNoRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNsRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztLQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRTtJQUM5QyxNQUFNLFdBQVcsR0FBRyxpQkFBSyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxNQUFNLFVBQVUsR0FBRztRQUNqQixpQkFBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDbkMsaUJBQUssQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBQ3JDLGlCQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQztLQUNyQyxDQUFDO0lBQ0YsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEYsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELE1BQU0sVUFBVSxHQUFHLG1DQUFtQyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUVyRixLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsZ0JBQU0sQ0FBQyxFQUFFLENBQ1AsSUFBQSw4QkFBa0IsRUFBQztnQkFDakIsWUFBWSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDeEQsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQztnQkFDeEMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDL0IsQ0FBQyxFQUNGLHVDQUF1QyxJQUFJLGdCQUFnQixDQUM1RCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELE1BQU0sUUFBUSxHQUFHLGlCQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUVyRixLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsZ0JBQU0sQ0FBQyxXQUFXLENBQ2hCLElBQUEsOEJBQWtCLEVBQUM7Z0JBQ2pCLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3hELGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hDLFlBQVksRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDO2FBQ2xDLENBQUMsRUFDRixLQUFLLEVBQ0wsc0NBQXNDLElBQUksK0JBQStCLENBQzFFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgQklQMzIsIG1lc3NhZ2UgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgdmVyaWZ5S2V5U2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vc3JjL3ZlcmlmeUtleSc7XG5cbmNvbnN0IEtFWV9ST0xFUyA9IFsndXNlcicsICdiYWNrdXAnLCAnYml0Z28nXSBhcyBjb25zdDtcbnR5cGUgS2V5Um9sZSA9ICh0eXBlb2YgS0VZX1JPTEVTKVtudW1iZXJdO1xuXG5mdW5jdGlvbiBzaWduS2V5U2lnbmF0dXJlKHNpZ25lclByaXZhdGVLZXk6IEJJUDMyLCBwdWJUb1NpZ246IHN0cmluZyk6IHN0cmluZyB7XG4gIGFzc2VydChzaWduZXJQcml2YXRlS2V5LnByaXZhdGVLZXksICdzaWduZXIgbXVzdCBoYXZlIGEgcHJpdmF0ZSBrZXknKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG1lc3NhZ2Uuc2lnbk1lc3NhZ2UocHViVG9TaWduLCBzaWduZXJQcml2YXRlS2V5LnByaXZhdGVLZXkpKS50b1N0cmluZygnaGV4Jyk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vY2tDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVzKFxuICBzaWduZXJQcml2YXRlS2V5OiBCSVAzMixcbiAgY2hhbmdlS2V5Y2hhaW5zOiB7IHB1Yjogc3RyaW5nIH1bXVxuKTogUmVjb3JkPEtleVJvbGUsIHN0cmluZz4ge1xuICByZXR1cm4ge1xuICAgIHVzZXI6IHNpZ25LZXlTaWduYXR1cmUoc2lnbmVyUHJpdmF0ZUtleSwgY2hhbmdlS2V5Y2hhaW5zWzBdLnB1YiksXG4gICAgYmFja3VwOiBzaWduS2V5U2lnbmF0dXJlKHNpZ25lclByaXZhdGVLZXksIGNoYW5nZUtleWNoYWluc1sxXS5wdWIpLFxuICAgIGJpdGdvOiBzaWduS2V5U2lnbmF0dXJlKHNpZ25lclByaXZhdGVLZXksIGNoYW5nZUtleWNoYWluc1syXS5wdWIpLFxuICB9O1xufVxuXG5kZXNjcmliZSgnQ3VzdG9tIENoYW5nZSBXYWxsZXQgS2V5IFNpZ25hdHVyZXMnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IG1haW5Vc2VyS2V5ID0gQklQMzIuZnJvbVNlZWRTaGEyNTYoJ21haW4tdXNlcicpO1xuICBjb25zdCBjaGFuZ2VLZXlzID0gW1xuICAgIEJJUDMyLmZyb21TZWVkU2hhMjU2KCdjaGFuZ2UtdXNlcicpLFxuICAgIEJJUDMyLmZyb21TZWVkU2hhMjU2KCdjaGFuZ2UtYmFja3VwJyksXG4gICAgQklQMzIuZnJvbVNlZWRTaGEyNTYoJ2NoYW5nZS1iaXRnbycpLFxuICBdO1xuICBjb25zdCBjaGFuZ2VLZXljaGFpbnMgPSBjaGFuZ2VLZXlzLm1hcCgoaykgPT4gKHsgcHViOiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSB9KSk7XG5cbiAgaXQoJ3Nob3VsZCBhY2NlcHQgc2lnbmF0dXJlcyBmcm9tIHRoZSBjb3JyZWN0IGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBzaWduYXR1cmVzID0gY3JlYXRlTW9ja0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZXMobWFpblVzZXJLZXksIGNoYW5nZUtleWNoYWlucyk7XG5cbiAgICBmb3IgKGNvbnN0IHJvbGUgb2YgS0VZX1JPTEVTKSB7XG4gICAgICBjb25zdCBpbmRleCA9IEtFWV9ST0xFUy5pbmRleE9mKHJvbGUpO1xuICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICB2ZXJpZnlLZXlTaWduYXR1cmUoe1xuICAgICAgICAgIHVzZXJLZXljaGFpbjogeyBwdWI6IG1haW5Vc2VyS2V5Lm5ldXRlcmVkKCkudG9CYXNlNTgoKSB9LFxuICAgICAgICAgIGtleWNoYWluVG9WZXJpZnk6IGNoYW5nZUtleWNoYWluc1tpbmRleF0sXG4gICAgICAgICAga2V5U2lnbmF0dXJlOiBzaWduYXR1cmVzW3JvbGVdLFxuICAgICAgICB9KSxcbiAgICAgICAgYGZhaWxlZCB0byB2ZXJpZnkgbW9jayBjdXN0b20gY2hhbmdlICR7cm9sZX0ga2V5IHNpZ25hdHVyZWBcbiAgICAgICk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlamVjdCBzaWduYXR1cmVzIGZyb20gYSBkaWZmZXJlbnQga2V5JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHdyb25nS2V5ID0gQklQMzIuZnJvbVNlZWRTaGEyNTYoJ3dyb25nLWtleScpO1xuICAgIGNvbnN0IGJhZFNpZ25hdHVyZXMgPSBjcmVhdGVNb2NrQ3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcyh3cm9uZ0tleSwgY2hhbmdlS2V5Y2hhaW5zKTtcblxuICAgIGZvciAoY29uc3Qgcm9sZSBvZiBLRVlfUk9MRVMpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gS0VZX1JPTEVTLmluZGV4T2Yocm9sZSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIHZlcmlmeUtleVNpZ25hdHVyZSh7XG4gICAgICAgICAgdXNlcktleWNoYWluOiB7IHB1YjogbWFpblVzZXJLZXkubmV1dGVyZWQoKS50b0Jhc2U1OCgpIH0sXG4gICAgICAgICAga2V5Y2hhaW5Ub1ZlcmlmeTogY2hhbmdlS2V5Y2hhaW5zW2luZGV4XSxcbiAgICAgICAgICBrZXlTaWduYXR1cmU6IGJhZFNpZ25hdHVyZXNbcm9sZV0sXG4gICAgICAgIH0pLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgYHNob3VsZCBoYXZlIHJlamVjdGVkIGN1c3RvbSBjaGFuZ2UgJHtyb2xlfSBrZXkgc2lnbmF0dXJlIGZyb20gd3Jvbmcga2V5YFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customSigner.d.ts","sourceRoot":"","sources":["../../../../test/unit/customSigner.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
const nock = require("nock");
|
|
38
|
+
const sinon = __importStar(require("sinon"));
|
|
39
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
40
|
+
const util_1 = require("./util");
|
|
41
|
+
nock.disableNetConnect();
|
|
42
|
+
const bgUrl = sdk_core_1.common.Environments[util_1.defaultBitGo.getEnv()].uri;
|
|
43
|
+
const basecoin = (0, util_1.getUtxoCoin)('tbtc');
|
|
44
|
+
const wallet = (0, util_1.getUtxoWallet)(basecoin, {
|
|
45
|
+
id: '5b34252f1bf349930e34020a',
|
|
46
|
+
coin: 'tbtc',
|
|
47
|
+
keys: ['5b3424f91bf349930e340175', '5b3424f91bf349930e340176', '5b3424f91bf349930e340177'],
|
|
48
|
+
});
|
|
49
|
+
describe('UTXO Custom Signer Function', function () {
|
|
50
|
+
const recipients = [
|
|
51
|
+
{ address: 'abc', amount: 123 },
|
|
52
|
+
{ address: 'def', amount: 456 },
|
|
53
|
+
];
|
|
54
|
+
const rootWalletKey = (0, util_1.getDefaultWalletKeys)();
|
|
55
|
+
let customSigningFunction;
|
|
56
|
+
let stubs;
|
|
57
|
+
beforeEach(function () {
|
|
58
|
+
customSigningFunction = sinon.stub().returns({
|
|
59
|
+
txHex: 'this-is-a-tx',
|
|
60
|
+
});
|
|
61
|
+
stubs = [
|
|
62
|
+
sinon.stub(wallet.baseCoin, 'postProcessPrebuild').returnsArg(0),
|
|
63
|
+
sinon.stub(wallet.baseCoin, 'verifyTransaction').resolves(true),
|
|
64
|
+
sinon.stub(wallet.baseCoin, 'signTransaction').resolves({ txHex: 'this-is-a-tx' }),
|
|
65
|
+
];
|
|
66
|
+
});
|
|
67
|
+
afterEach(function () {
|
|
68
|
+
stubs.forEach((s) => s.restore());
|
|
69
|
+
nock.cleanAll();
|
|
70
|
+
});
|
|
71
|
+
function nocks(txPrebuild) {
|
|
72
|
+
const pubs = rootWalletKey.triple.map((k) => k.neutered().toBase58());
|
|
73
|
+
nock(bgUrl)
|
|
74
|
+
.post(`/api/v2/${wallet.coin()}/wallet/${wallet.id()}/tx/build`)
|
|
75
|
+
.reply(200, { ...txPrebuild, txInfo: {} });
|
|
76
|
+
nock(bgUrl).get(`/api/v2/${wallet.coin()}/public/block/latest`).reply(200, { height: 1000 });
|
|
77
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[0]}`).reply(200, { pub: pubs[0] });
|
|
78
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[1]}`).reply(200, { pub: pubs[1] });
|
|
79
|
+
nock(bgUrl).persist().get(`/api/v2/${wallet.coin()}/key/${wallet.keyIds()[2]}`).reply(200, { pub: pubs[2] });
|
|
80
|
+
return nock(bgUrl).post(`/api/v2/${wallet.coin()}/wallet/${wallet.id()}/tx/send`).reply(200, { ok: true });
|
|
81
|
+
}
|
|
82
|
+
it('should use a custom signing function if provided for PSBT with taprootKeyPathSpend input', async function () {
|
|
83
|
+
const psbt = utxoLib.testutil.constructPsbt([{ scriptType: 'taprootKeyPathSpend', value: BigInt(1000) }], [{ scriptType: 'p2sh', value: BigInt(900) }], basecoin.network, rootWalletKey, 'unsigned');
|
|
84
|
+
const scope = nocks({ txHex: psbt.toHex() });
|
|
85
|
+
const result = await wallet.sendMany({ recipients, customSigningFunction });
|
|
86
|
+
(0, util_1.assertHasProperty)(result, 'ok', true);
|
|
87
|
+
sinon.assert.calledTwice(customSigningFunction);
|
|
88
|
+
scope.done();
|
|
89
|
+
});
|
|
90
|
+
it('should use a custom signing function if provided for PSBT without taprootKeyPathSpend input', async function () {
|
|
91
|
+
const psbt = utxoLib.testutil.constructPsbt([{ scriptType: 'p2wsh', value: BigInt(1000) }], [{ scriptType: 'p2sh', value: BigInt(900) }], basecoin.network, rootWalletKey, 'unsigned');
|
|
92
|
+
const scope = nocks({ txHex: psbt.toHex() });
|
|
93
|
+
const result = await wallet.sendMany({ recipients, customSigningFunction });
|
|
94
|
+
(0, util_1.assertHasProperty)(result, 'ok', true);
|
|
95
|
+
sinon.assert.calledOnce(customSigningFunction);
|
|
96
|
+
scope.done();
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tU2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2N1c3RvbVNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFnRDtBQUNoRCw2QkFBOEI7QUFDOUIsNkNBQStCO0FBQy9CLG1EQUFxRTtBQUVyRSxpQ0FBMkc7QUFFM0csSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFFekIsTUFBTSxLQUFLLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsbUJBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7QUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQkFBYSxFQUFDLFFBQVEsRUFBRTtJQUNyQyxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUM7Q0FDM0YsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLDZCQUE2QixFQUFFO0lBQ3RDLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQy9CLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO0tBQ2hDLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBRyxJQUFBLDJCQUFvQixHQUFFLENBQUM7SUFDN0MsSUFBSSxxQkFBNEMsQ0FBQztJQUNqRCxJQUFJLEtBQXdCLENBQUM7SUFFN0IsVUFBVSxDQUFDO1FBQ1QscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUMzQyxLQUFLLEVBQUUsY0FBYztTQUN0QixDQUFDLENBQUM7UUFDSCxLQUFLLEdBQUc7WUFDTixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDL0QsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDO1NBQ25GLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQztRQUNSLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsS0FBSyxDQUFDLFVBQTZCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ1IsSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDO2FBQy9ELEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELEVBQUUsQ0FBQywwRkFBMEYsRUFBRSxLQUFLO1FBQ2xHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUN6QyxDQUFDLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUM1RCxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFDNUMsUUFBUSxDQUFDLE9BQU8sRUFDaEIsYUFBYSxFQUNiLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUU1RSxJQUFBLHdCQUFpQixFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXdDLENBQUMsQ0FBQztRQUNuRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2RkFBNkYsRUFBRSxLQUFLO1FBQ3JHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUN6QyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDOUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQzVDLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLGFBQWEsRUFDYixVQUFVLENBQ1gsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBQSx3QkFBaUIsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLHFCQUF3QyxDQUFDLENBQUM7UUFDbEUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9MaWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IG5vY2sgPSByZXF1aXJlKCdub2NrJyk7XG5pbXBvcnQgKiBhcyBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBDdXN0b21TaWduaW5nRnVuY3Rpb24sIGNvbW1vbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgZGVmYXVsdEJpdEdvLCBnZXREZWZhdWx0V2FsbGV0S2V5cywgZ2V0VXR4b0NvaW4sIGdldFV0eG9XYWxsZXQsIGFzc2VydEhhc1Byb3BlcnR5IH0gZnJvbSAnLi91dGlsJztcblxubm9jay5kaXNhYmxlTmV0Q29ubmVjdCgpO1xuXG5jb25zdCBiZ1VybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbZGVmYXVsdEJpdEdvLmdldEVudigpXS51cmk7XG5jb25zdCBiYXNlY29pbiA9IGdldFV0eG9Db2luKCd0YnRjJyk7XG5jb25zdCB3YWxsZXQgPSBnZXRVdHhvV2FsbGV0KGJhc2Vjb2luLCB7XG4gIGlkOiAnNWIzNDI1MmYxYmYzNDk5MzBlMzQwMjBhJyxcbiAgY29pbjogJ3RidGMnLFxuICBrZXlzOiBbJzViMzQyNGY5MWJmMzQ5OTMwZTM0MDE3NScsICc1YjM0MjRmOTFiZjM0OTkzMGUzNDAxNzYnLCAnNWIzNDI0ZjkxYmYzNDk5MzBlMzQwMTc3J10sXG59KTtcblxuZGVzY3JpYmUoJ1VUWE8gQ3VzdG9tIFNpZ25lciBGdW5jdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgcmVjaXBpZW50cyA9IFtcbiAgICB7IGFkZHJlc3M6ICdhYmMnLCBhbW91bnQ6IDEyMyB9LFxuICAgIHsgYWRkcmVzczogJ2RlZicsIGFtb3VudDogNDU2IH0sXG4gIF07XG4gIGNvbnN0IHJvb3RXYWxsZXRLZXkgPSBnZXREZWZhdWx0V2FsbGV0S2V5cygpO1xuICBsZXQgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uOiBDdXN0b21TaWduaW5nRnVuY3Rpb247XG4gIGxldCBzdHViczogc2lub24uU2lub25TdHViW107XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uID0gc2lub24uc3R1YigpLnJldHVybnMoe1xuICAgICAgdHhIZXg6ICd0aGlzLWlzLWEtdHgnLFxuICAgIH0pO1xuICAgIHN0dWJzID0gW1xuICAgICAgc2lub24uc3R1Yih3YWxsZXQuYmFzZUNvaW4sICdwb3N0UHJvY2Vzc1ByZWJ1aWxkJykucmV0dXJuc0FyZygwKSxcbiAgICAgIHNpbm9uLnN0dWIod2FsbGV0LmJhc2VDb2luLCAndmVyaWZ5VHJhbnNhY3Rpb24nKS5yZXNvbHZlcyh0cnVlKSxcbiAgICAgIHNpbm9uLnN0dWIod2FsbGV0LmJhc2VDb2luLCAnc2lnblRyYW5zYWN0aW9uJykucmVzb2x2ZXMoeyB0eEhleDogJ3RoaXMtaXMtYS10eCcgfSksXG4gICAgXTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICBzdHVicy5mb3JFYWNoKChzKSA9PiBzLnJlc3RvcmUoKSk7XG4gICAgbm9jay5jbGVhbkFsbCgpO1xuICB9KTtcblxuICBmdW5jdGlvbiBub2Nrcyh0eFByZWJ1aWxkOiB7IHR4SGV4OiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHB1YnMgPSByb290V2FsbGV0S2V5LnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKTtcbiAgICBub2NrKGJnVXJsKVxuICAgICAgLnBvc3QoYC9hcGkvdjIvJHt3YWxsZXQuY29pbigpfS93YWxsZXQvJHt3YWxsZXQuaWQoKX0vdHgvYnVpbGRgKVxuICAgICAgLnJlcGx5KDIwMCwgeyAuLi50eFByZWJ1aWxkLCB0eEluZm86IHt9IH0pO1xuICAgIG5vY2soYmdVcmwpLmdldChgL2FwaS92Mi8ke3dhbGxldC5jb2luKCl9L3B1YmxpYy9ibG9jay9sYXRlc3RgKS5yZXBseSgyMDAsIHsgaGVpZ2h0OiAxMDAwIH0pO1xuICAgIG5vY2soYmdVcmwpLnBlcnNpc3QoKS5nZXQoYC9hcGkvdjIvJHt3YWxsZXQuY29pbigpfS9rZXkvJHt3YWxsZXQua2V5SWRzKClbMF19YCkucmVwbHkoMjAwLCB7IHB1YjogcHVic1swXSB9KTtcbiAgICBub2NrKGJnVXJsKS5wZXJzaXN0KCkuZ2V0KGAvYXBpL3YyLyR7d2FsbGV0LmNvaW4oKX0va2V5LyR7d2FsbGV0LmtleUlkcygpWzFdfWApLnJlcGx5KDIwMCwgeyBwdWI6IHB1YnNbMV0gfSk7XG4gICAgbm9jayhiZ1VybCkucGVyc2lzdCgpLmdldChgL2FwaS92Mi8ke3dhbGxldC5jb2luKCl9L2tleS8ke3dhbGxldC5rZXlJZHMoKVsyXX1gKS5yZXBseSgyMDAsIHsgcHViOiBwdWJzWzJdIH0pO1xuICAgIHJldHVybiBub2NrKGJnVXJsKS5wb3N0KGAvYXBpL3YyLyR7d2FsbGV0LmNvaW4oKX0vd2FsbGV0LyR7d2FsbGV0LmlkKCl9L3R4L3NlbmRgKS5yZXBseSgyMDAsIHsgb2s6IHRydWUgfSk7XG4gIH1cblxuICBpdCgnc2hvdWxkIHVzZSBhIGN1c3RvbSBzaWduaW5nIGZ1bmN0aW9uIGlmIHByb3ZpZGVkIGZvciBQU0JUIHdpdGggdGFwcm9vdEtleVBhdGhTcGVuZCBpbnB1dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwc2J0ID0gdXR4b0xpYi50ZXN0dXRpbC5jb25zdHJ1Y3RQc2J0KFxuICAgICAgW3sgc2NyaXB0VHlwZTogJ3RhcHJvb3RLZXlQYXRoU3BlbmQnLCB2YWx1ZTogQmlnSW50KDEwMDApIH1dLFxuICAgICAgW3sgc2NyaXB0VHlwZTogJ3Ayc2gnLCB2YWx1ZTogQmlnSW50KDkwMCkgfV0sXG4gICAgICBiYXNlY29pbi5uZXR3b3JrLFxuICAgICAgcm9vdFdhbGxldEtleSxcbiAgICAgICd1bnNpZ25lZCdcbiAgICApO1xuICAgIGNvbnN0IHNjb3BlID0gbm9ja3MoeyB0eEhleDogcHNidC50b0hleCgpIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhbGxldC5zZW5kTWFueSh7IHJlY2lwaWVudHMsIGN1c3RvbVNpZ25pbmdGdW5jdGlvbiB9KTtcblxuICAgIGFzc2VydEhhc1Byb3BlcnR5KHJlc3VsdCwgJ29rJywgdHJ1ZSk7XG4gICAgc2lub24uYXNzZXJ0LmNhbGxlZFR3aWNlKGN1c3RvbVNpZ25pbmdGdW5jdGlvbiBhcyBzaW5vbi5TaW5vblN0dWIpO1xuICAgIHNjb3BlLmRvbmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB1c2UgYSBjdXN0b20gc2lnbmluZyBmdW5jdGlvbiBpZiBwcm92aWRlZCBmb3IgUFNCVCB3aXRob3V0IHRhcHJvb3RLZXlQYXRoU3BlbmQgaW5wdXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcHNidCA9IHV0eG9MaWIudGVzdHV0aWwuY29uc3RydWN0UHNidChcbiAgICAgIFt7IHNjcmlwdFR5cGU6ICdwMndzaCcsIHZhbHVlOiBCaWdJbnQoMTAwMCkgfV0sXG4gICAgICBbeyBzY3JpcHRUeXBlOiAncDJzaCcsIHZhbHVlOiBCaWdJbnQoOTAwKSB9XSxcbiAgICAgIGJhc2Vjb2luLm5ldHdvcmssXG4gICAgICByb290V2FsbGV0S2V5LFxuICAgICAgJ3Vuc2lnbmVkJ1xuICAgICk7XG4gICAgY29uc3Qgc2NvcGUgPSBub2Nrcyh7IHR4SGV4OiBwc2J0LnRvSGV4KCkgfSk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd2FsbGV0LnNlbmRNYW55KHsgcmVjaXBpZW50cywgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uIH0pO1xuXG4gICAgYXNzZXJ0SGFzUHJvcGVydHkocmVzdWx0LCAnb2snLCB0cnVlKTtcbiAgICBzaW5vbi5hc3NlcnQuY2FsbGVkT25jZShjdXN0b21TaWduaW5nRnVuY3Rpb24gYXMgc2lub24uU2lub25TdHViKTtcbiAgICBzY29wZS5kb25lKCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamedDescriptor.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/NamedDescriptor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
|
|
41
|
+
const NamedDescriptor_1 = require("../../../src/descriptor/NamedDescriptor");
|
|
42
|
+
const builder_1 = require("../../../src/descriptor/builder");
|
|
43
|
+
describe('NamedDescriptor', function () {
|
|
44
|
+
it('creates named descriptor with signature', async function () {
|
|
45
|
+
const keys = testutils.getKeyTriple('default');
|
|
46
|
+
const namedDescriptor = (0, NamedDescriptor_1.createNamedDescriptorWithSignature)('foo', (0, builder_1.getDescriptorFromBuilder)({ name: 'Wsh2Of2', keys, path: '0/*' }), keys[0]);
|
|
47
|
+
assert_1.default.deepStrictEqual(await testutils.getFixture(__dirname + '/fixtures/NamedDescriptorWithSignature.json', namedDescriptor), namedDescriptor);
|
|
48
|
+
(0, NamedDescriptor_1.assertHasValidSignature)(namedDescriptor, keys[0]);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLHNFQUF3RDtBQUV4RCw2RUFBc0g7QUFDdEgsNkRBQTJFO0FBRTNFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxQixFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSztRQUNqRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sZUFBZSxHQUFHLElBQUEsb0RBQWtDLEVBQ3hELEtBQUssRUFDTCxJQUFBLGtDQUF3QixFQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQ2hFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO1FBQ0YsZ0JBQU0sQ0FBQyxlQUFlLENBQ3BCLE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsNkNBQTZDLEVBQUUsZUFBZSxDQUFDLEVBQ3RHLGVBQWUsQ0FDaEIsQ0FBQztRQUNGLElBQUEseUNBQXVCLEVBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHRlc3R1dGlscyBmcm9tICdAYml0Z28vd2FzbS11dHhvL3Rlc3R1dGlscyc7XG5cbmltcG9ydCB7IGFzc2VydEhhc1ZhbGlkU2lnbmF0dXJlLCBjcmVhdGVOYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JGcm9tQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2J1aWxkZXInO1xuXG5kZXNjcmliZSgnTmFtZWREZXNjcmlwdG9yJywgZnVuY3Rpb24gKCkge1xuICBpdCgnY3JlYXRlcyBuYW1lZCBkZXNjcmlwdG9yIHdpdGggc2lnbmF0dXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGtleXMgPSB0ZXN0dXRpbHMuZ2V0S2V5VHJpcGxlKCdkZWZhdWx0Jyk7XG4gICAgY29uc3QgbmFtZWREZXNjcmlwdG9yID0gY3JlYXRlTmFtZWREZXNjcmlwdG9yV2l0aFNpZ25hdHVyZShcbiAgICAgICdmb28nLFxuICAgICAgZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyKHsgbmFtZTogJ1dzaDJPZjInLCBrZXlzLCBwYXRoOiAnMC8qJyB9KSxcbiAgICAgIGtleXNbMF1cbiAgICApO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICBhd2FpdCB0ZXN0dXRpbHMuZ2V0Rml4dHVyZShfX2Rpcm5hbWUgKyAnL2ZpeHR1cmVzL05hbWVkRGVzY3JpcHRvcldpdGhTaWduYXR1cmUuanNvbicsIG5hbWVkRGVzY3JpcHRvciksXG4gICAgICBuYW1lZERlc2NyaXB0b3JcbiAgICApO1xuICAgIGFzc2VydEhhc1ZhbGlkU2lnbmF0dXJlKG5hbWVkRGVzY3JpcHRvciwga2V5c1swXSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/builder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
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 testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
|
|
38
|
+
const builder_1 = require("../../../src/descriptor/builder");
|
|
39
|
+
function getDescriptorBuilderForType(name) {
|
|
40
|
+
const keys = testutils.getKeyTriple('default').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 toComparable(builder) {
|
|
60
|
+
return {
|
|
61
|
+
...builder,
|
|
62
|
+
keys: builder.keys.map((k) => k.toBase58()),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function describeForName(n) {
|
|
66
|
+
describe(`DescriptorBuilder ${n}`, () => {
|
|
67
|
+
it('parses descriptor template', () => {
|
|
68
|
+
const builder = getDescriptorBuilderForType(n);
|
|
69
|
+
const descriptor = (0, builder_1.getDescriptorFromBuilder)(builder);
|
|
70
|
+
assert.deepStrictEqual(toComparable(builder), toComparable((0, builder_1.parseDescriptor)(descriptor)));
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
describeForName('Wsh2Of2');
|
|
75
|
+
describeForName('Wsh2Of3');
|
|
76
|
+
describeForName('Wsh2Of3CltvDrop');
|
|
77
|
+
describeForName('ShWsh2Of3CltvDrop');
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9kZXNjcmlwdG9yL2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMsc0VBQXdEO0FBRXhELDZEQUErRztBQUUvRyxTQUFTLDJCQUEyQixDQUFDLElBQStCO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4RSxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLFNBQVM7WUFDWixPQUFPO2dCQUNMLElBQUk7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLEVBQUUsS0FBSzthQUNaLENBQUM7UUFDSixLQUFLLGlCQUFpQixDQUFDO1FBQ3ZCLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixJQUFJO2dCQUNKLElBQUksRUFBRSxLQUFLO2dCQUNYLFFBQVEsRUFBRSxDQUFDO2FBQ1osQ0FBQztJQUNOLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsT0FBMEI7SUFDOUMsT0FBTztRQUNMLEdBQUcsT0FBTztRQUNWLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzVDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsQ0FBNEI7SUFDbkQsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUU7UUFDdEMsRUFBRSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtZQUNwQyxNQUFNLE9BQU8sR0FBRywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFBLGtDQUF3QixFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFBLHlCQUFlLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNCLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNuQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0ZXN0dXRpbHMgZnJvbSAnQGJpdGdvL3dhc20tdXR4by90ZXN0dXRpbHMnO1xuXG5pbXBvcnQgeyBwYXJzZURlc2NyaXB0b3IsIERlc2NyaXB0b3JCdWlsZGVyLCBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9idWlsZGVyJztcblxuZnVuY3Rpb24gZ2V0RGVzY3JpcHRvckJ1aWxkZXJGb3JUeXBlKG5hbWU6IERlc2NyaXB0b3JCdWlsZGVyWyduYW1lJ10pOiBEZXNjcmlwdG9yQnVpbGRlciB7XG4gIGNvbnN0IGtleXMgPSB0ZXN0dXRpbHMuZ2V0S2V5VHJpcGxlKCdkZWZhdWx0JykubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkpO1xuICBzd2l0Y2ggKG5hbWUpIHtcbiAgICBjYXNlICdXc2gyT2YyJzpcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGtleXM6IGtleXMuc2xpY2UoMCwgbmFtZSA9PT0gJ1dzaDJPZjMnID8gMyA6IDIpLFxuICAgICAgICBwYXRoOiAnMC8qJyxcbiAgICAgIH07XG4gICAgY2FzZSAnV3NoMk9mM0NsdHZEcm9wJzpcbiAgICBjYXNlICdTaFdzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lLFxuICAgICAgICBrZXlzLFxuICAgICAgICBwYXRoOiAnMC8qJyxcbiAgICAgICAgbG9ja3RpbWU6IDEsXG4gICAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHRvQ29tcGFyYWJsZShidWlsZGVyOiBEZXNjcmlwdG9yQnVpbGRlcik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5idWlsZGVyLFxuICAgIGtleXM6IGJ1aWxkZXIua2V5cy5tYXAoKGspID0+IGsudG9CYXNlNTgoKSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlRm9yTmFtZShuOiBEZXNjcmlwdG9yQnVpbGRlclsnbmFtZSddKSB7XG4gIGRlc2NyaWJlKGBEZXNjcmlwdG9yQnVpbGRlciAke259YCwgKCkgPT4ge1xuICAgIGl0KCdwYXJzZXMgZGVzY3JpcHRvciB0ZW1wbGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBnZXREZXNjcmlwdG9yQnVpbGRlckZvclR5cGUobik7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyKGJ1aWxkZXIpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh0b0NvbXBhcmFibGUoYnVpbGRlciksIHRvQ29tcGFyYWJsZShwYXJzZURlc2NyaXB0b3IoZGVzY3JpcHRvcikpKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmRlc2NyaWJlRm9yTmFtZSgnV3NoMk9mMicpO1xuZGVzY3JpYmVGb3JOYW1lKCdXc2gyT2YzJyk7XG5kZXNjcmliZUZvck5hbWUoJ1dzaDJPZjNDbHR2RHJvcCcpO1xuZGVzY3JpYmVGb3JOYW1lKCdTaFdzaDJPZjNDbHR2RHJvcCcpO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDescriptors.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/descriptor/createWallet/createDescriptors.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
|
|
41
|
+
const NamedDescriptor_1 = require("../../../../src/descriptor/NamedDescriptor");
|
|
42
|
+
const createWallet_1 = require("../../../../src/descriptor/createWallet");
|
|
43
|
+
describe('createDescriptors', function () {
|
|
44
|
+
it('should create standard named descriptors', async function () {
|
|
45
|
+
const keys = testutils.getKeyTriple('default');
|
|
46
|
+
const namedDescriptors = (0, createWallet_1.DefaultWsh2Of3)(keys[0], keys.slice(1));
|
|
47
|
+
assert_1.default.deepStrictEqual(namedDescriptors, await testutils.getFixture(__dirname + '/fixtures/DefaultWsh2Of3.json', namedDescriptors));
|
|
48
|
+
for (const namedDescriptor of namedDescriptors) {
|
|
49
|
+
(0, NamedDescriptor_1.assertHasValidSignature)(namedDescriptor, keys[0]);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvci9jcmVhdGVXYWxsZXQvY3JlYXRlRGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsc0VBQXdEO0FBRXhELGdGQUFxRjtBQUNyRiwwRUFBeUU7QUFFekUsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzVCLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLO1FBQ2xELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxnQkFBTSxDQUFDLGVBQWUsQ0FDcEIsZ0JBQWdCLEVBQ2hCLE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsK0JBQStCLEVBQUUsZ0JBQWdCLENBQUMsQ0FDMUYsQ0FBQztRQUNGLEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMvQyxJQUFBLHlDQUF1QixFQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdGVzdHV0aWxzIGZyb20gJ0BiaXRnby93YXNtLXV0eG8vdGVzdHV0aWxzJztcblxuaW1wb3J0IHsgYXNzZXJ0SGFzVmFsaWRTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9OYW1lZERlc2NyaXB0b3InO1xuaW1wb3J0IHsgRGVmYXVsdFdzaDJPZjMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9jcmVhdGVXYWxsZXQnO1xuXG5kZXNjcmliZSgnY3JlYXRlRGVzY3JpcHRvcnMnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgY3JlYXRlIHN0YW5kYXJkIG5hbWVkIGRlc2NyaXB0b3JzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGtleXMgPSB0ZXN0dXRpbHMuZ2V0S2V5VHJpcGxlKCdkZWZhdWx0Jyk7XG4gICAgY29uc3QgbmFtZWREZXNjcmlwdG9ycyA9IERlZmF1bHRXc2gyT2YzKGtleXNbMF0sIGtleXMuc2xpY2UoMSkpO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICBuYW1lZERlc2NyaXB0b3JzLFxuICAgICAgYXdhaXQgdGVzdHV0aWxzLmdldEZpeHR1cmUoX19kaXJuYW1lICsgJy9maXh0dXJlcy9EZWZhdWx0V3NoMk9mMy5qc29uJywgbmFtZWREZXNjcmlwdG9ycylcbiAgICApO1xuICAgIGZvciAoY29uc3QgbmFtZWREZXNjcmlwdG9yIG9mIG5hbWVkRGVzY3JpcHRvcnMpIHtcbiAgICAgIGFzc2VydEhhc1ZhbGlkU2lnbmF0dXJlKG5hbWVkRGVzY3JpcHRvciwga2V5c1swXSk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptorWallet.d.ts","sourceRoot":"","sources":["../../../../../test/unit/descriptor/descriptorWallet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
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 testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
|
|
41
|
+
const descriptor_1 = require("../../../src/descriptor");
|
|
42
|
+
const keychains_1 = require("../../../src/keychains");
|
|
43
|
+
const validatePolicy_1 = require("../../../src/descriptor/validatePolicy");
|
|
44
|
+
const { getDefaultXPubs, getDescriptorMap } = testutils.descriptor;
|
|
45
|
+
describe('isDescriptorWalletData', function () {
|
|
46
|
+
const descriptorMap = getDescriptorMap('Wsh2Of3');
|
|
47
|
+
it('should return true for valid DescriptorWalletData', function () {
|
|
48
|
+
const wallet = {
|
|
49
|
+
coinSpecific() {
|
|
50
|
+
return {
|
|
51
|
+
descriptors: [...descriptorMap.entries()].map(([name, descriptor]) => ({
|
|
52
|
+
name,
|
|
53
|
+
value: descriptor.toString(),
|
|
54
|
+
})),
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
(0, assert_1.default)((0, descriptor_1.isDescriptorWallet)(wallet));
|
|
59
|
+
assert_1.default.strictEqual((0, descriptor_1.getDescriptorMapFromWallet)(wallet, (0, keychains_1.toBip32Triple)(getDefaultXPubs()), validatePolicy_1.policyAllowAll).size, descriptorMap.size);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsc0VBQXdEO0FBRXhELHdEQUF5RjtBQUV6RixzREFBdUQ7QUFDdkQsMkVBQXdFO0FBRXhFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBRW5FLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxFQUFFLENBQUMsbURBQW1ELEVBQUU7UUFDdEQsTUFBTSxNQUFNLEdBQWU7WUFDekIsWUFBWTtnQkFDVixPQUFPO29CQUNMLFdBQVcsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3JFLElBQUk7d0JBQ0osS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7cUJBQzdCLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQztTQUN1QixDQUFDO1FBRTNCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkMsZ0JBQU0sQ0FBQyxXQUFXLENBQ2hCLElBQUEsdUNBQTBCLEVBQUMsTUFBTSxFQUFFLElBQUEseUJBQWEsRUFBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLCtCQUFjLENBQUMsQ0FBQyxJQUFJLEVBQ3pGLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0ZXN0dXRpbHMgZnJvbSAnQGJpdGdvL3dhc20tdXR4by90ZXN0dXRpbHMnO1xuXG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4uLy4uLy4uL3NyYy93YWxsZXQnO1xuaW1wb3J0IHsgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uLy4uLy4uL3NyYy9rZXljaGFpbnMnO1xuaW1wb3J0IHsgcG9saWN5QWxsb3dBbGwgfSBmcm9tICcuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5cbmNvbnN0IHsgZ2V0RGVmYXVsdFhQdWJzLCBnZXREZXNjcmlwdG9yTWFwIH0gPSB0ZXN0dXRpbHMuZGVzY3JpcHRvcjtcblxuZGVzY3JpYmUoJ2lzRGVzY3JpcHRvcldhbGxldERhdGEnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yTWFwKCdXc2gyT2YzJyk7XG4gIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgZm9yIHZhbGlkIERlc2NyaXB0b3JXYWxsZXREYXRhJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHdhbGxldDogVXR4b1dhbGxldCA9IHtcbiAgICAgIGNvaW5TcGVjaWZpYygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkZXNjcmlwdG9yczogWy4uLmRlc2NyaXB0b3JNYXAuZW50cmllcygpXS5tYXAoKFtuYW1lLCBkZXNjcmlwdG9yXSkgPT4gKHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogZGVzY3JpcHRvci50b1N0cmluZygpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSBhcyB1bmtub3duIGFzIFV0eG9XYWxsZXQ7XG5cbiAgICBhc3NlcnQoaXNEZXNjcmlwdG9yV2FsbGV0KHdhbGxldCkpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgdG9CaXAzMlRyaXBsZShnZXREZWZhdWx0WFB1YnMoKSksIHBvbGljeUFsbG93QWxsKS5zaXplLFxuICAgICAgZGVzY3JpcHRvck1hcC5zaXplXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptorAddress.d.ts","sourceRoot":"","sources":["../../../../test/unit/descriptorAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQpE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGzF"}
|
|
@@ -0,0 +1,103 @@
|
|
|
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 wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
39
|
+
const testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
|
|
40
|
+
const src_1 = require("../../src");
|
|
41
|
+
const util_1 = require("./util");
|
|
42
|
+
function getDescriptorAddress(d, index, coinName) {
|
|
43
|
+
const derivedScript = src_1.descriptor.Descriptor.fromString(d, 'derivable').atDerivationIndex(index).scriptPubkey();
|
|
44
|
+
return wasm_utxo_1.address.fromOutputScriptWithCoin(derivedScript, coinName);
|
|
45
|
+
}
|
|
46
|
+
describe('descriptor wallets', function () {
|
|
47
|
+
const coin = (0, util_1.getUtxoCoin)('tbtc');
|
|
48
|
+
const xpubs = testutils.getKeyTriple('setec astronomy').map((k) => k.neutered().toBase58());
|
|
49
|
+
function withChecksum(descriptor) {
|
|
50
|
+
return src_1.descriptor.Descriptor.fromString(descriptor, 'derivable').toString();
|
|
51
|
+
}
|
|
52
|
+
function getNamedDescriptor2Of2(name, a, b) {
|
|
53
|
+
return {
|
|
54
|
+
name,
|
|
55
|
+
value: withChecksum(`sh(multi(2,${a}/*,${b}/*))`),
|
|
56
|
+
signatures: [],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function getIWalletWithDescriptors(descriptors) {
|
|
60
|
+
return {
|
|
61
|
+
coinSpecific() {
|
|
62
|
+
return { descriptors };
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const descFoo = getNamedDescriptor2Of2('foo', xpubs[0], xpubs[1]);
|
|
67
|
+
const descBar = getNamedDescriptor2Of2('bar', xpubs[1], xpubs[0]);
|
|
68
|
+
const addressFoo0 = getDescriptorAddress(descFoo.value, 0, coin.name);
|
|
69
|
+
const addressFoo1 = getDescriptorAddress(descFoo.value, 1, coin.name);
|
|
70
|
+
const addressBar0 = getDescriptorAddress(descBar.value, 0, coin.name);
|
|
71
|
+
it('has expected values', function () {
|
|
72
|
+
assert.deepStrictEqual([addressFoo0, addressFoo1, addressBar0], [
|
|
73
|
+
'2N9b1trWxMJN16mTzGJypFn6pEWfXtgh689',
|
|
74
|
+
'2N1YFzj4ECzcjuruaEvSzGaGGH1topMXMXZ',
|
|
75
|
+
'2N9oN5Kc2fLt2MrxEkuQPsy8Fg2KdrFfeKH',
|
|
76
|
+
]);
|
|
77
|
+
});
|
|
78
|
+
function runTestIsAddress(address, index, descriptorName, descriptorChecksum, expected) {
|
|
79
|
+
it(`should return ${expected} for address ${address} with index ${index} and descriptor ${descriptorName} with checksum ${descriptorChecksum}`, async function () {
|
|
80
|
+
const wallet = getIWalletWithDescriptors([descFoo, descBar]);
|
|
81
|
+
async function f() {
|
|
82
|
+
return coin.isWalletAddress({
|
|
83
|
+
address,
|
|
84
|
+
index,
|
|
85
|
+
coinSpecific: { descriptorName, descriptorChecksum },
|
|
86
|
+
keychains: xpubs.map((pub) => ({ pub })),
|
|
87
|
+
}, wallet);
|
|
88
|
+
}
|
|
89
|
+
if (expected === true) {
|
|
90
|
+
assert.equal(await f(), expected);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// because isWalletAddress is stupid it actually throws instead of returning false
|
|
94
|
+
await assert.rejects(f, expected);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
runTestIsAddress(addressFoo0, 0, 'foo', descFoo.value.slice(-8), true);
|
|
99
|
+
runTestIsAddress(addressFoo1, 0, 'foo', descFoo.value.slice(-8), /Address mismatch for descriptor/);
|
|
100
|
+
runTestIsAddress(addressBar0, 0, 'bar', descFoo.value.slice(-8), /Descriptor checksum mismatch/);
|
|
101
|
+
runTestIsAddress(addressFoo0, 0, 'bar', descBar.value.slice(-8), /Address mismatch for descriptor/);
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvckFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvckFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSxvREFHQztBQWJELG9EQUFzQztBQUV0QyxnREFBb0U7QUFDcEUsc0VBQXdEO0FBR3hELG1DQUFnRDtBQUVoRCxpQ0FBcUM7QUFFckMsU0FBZ0Isb0JBQW9CLENBQUMsQ0FBUyxFQUFFLEtBQWEsRUFBRSxRQUFrQjtJQUMvRSxNQUFNLGFBQWEsR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFHLE9BQU8sbUJBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixNQUFNLElBQUksR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFNUYsU0FBUyxZQUFZLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTLHNCQUFzQixDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNoRSxPQUFPO1lBQ0wsSUFBSTtZQUNKLEtBQUssRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDakQsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMseUJBQXlCLENBQUMsV0FBb0M7UUFDckUsT0FBTztZQUNMLFlBQVk7Z0JBQ1YsT0FBTyxFQUFFLFdBQVcsRUFBbUMsQ0FBQztZQUMxRCxDQUFDO1NBQ1MsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEUsRUFBRSxDQUFDLHFCQUFxQixFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFDdkM7WUFDRSxxQ0FBcUM7WUFDckMscUNBQXFDO1lBQ3JDLHFDQUFxQztTQUN0QyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsZ0JBQWdCLENBQ3ZCLE9BQWUsRUFDZixLQUFhLEVBQ2IsY0FBc0IsRUFDdEIsa0JBQTBCLEVBQzFCLFFBQStCO1FBRS9CLEVBQUUsQ0FBQyxpQkFBaUIsUUFBUSxnQkFBZ0IsT0FBTyxlQUFlLEtBQUssbUJBQW1CLGNBQWMsa0JBQWtCLGtCQUFrQixFQUFFLEVBQUUsS0FBSztZQUNuSixNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzdELEtBQUssVUFBVSxDQUFDO2dCQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FDekI7b0JBQ0UsT0FBTztvQkFDUCxLQUFLO29CQUNMLFlBQVksRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtvQkFDcEQsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUN6QyxFQUNELE1BQU0sQ0FDUCxDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGtGQUFrRjtnQkFDbEYsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDcEcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2pHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztBQUN0RyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5cbmltcG9ydCB7IGFkZHJlc3MgYXMgd2FzbUFkZHJlc3MsIENvaW5OYW1lIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgKiBhcyB0ZXN0dXRpbHMgZnJvbSAnQGJpdGdvL3dhc20tdXR4by90ZXN0dXRpbHMnO1xuaW1wb3J0IHsgSVdhbGxldCwgV2FsbGV0Q29pblNwZWNpZmljIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBkZXNjcmlwdG9yIGFzIHV0eG9kIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuaW1wb3J0IHsgZ2V0VXR4b0NvaW4gfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZDogc3RyaW5nLCBpbmRleDogbnVtYmVyLCBjb2luTmFtZTogQ29pbk5hbWUpOiBzdHJpbmcge1xuICBjb25zdCBkZXJpdmVkU2NyaXB0ID0gdXR4b2QuRGVzY3JpcHRvci5mcm9tU3RyaW5nKGQsICdkZXJpdmFibGUnKS5hdERlcml2YXRpb25JbmRleChpbmRleCkuc2NyaXB0UHVia2V5KCk7XG4gIHJldHVybiB3YXNtQWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0V2l0aENvaW4oZGVyaXZlZFNjcmlwdCwgY29pbk5hbWUpO1xufVxuXG5kZXNjcmliZSgnZGVzY3JpcHRvciB3YWxsZXRzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBjb2luID0gZ2V0VXR4b0NvaW4oJ3RidGMnKTtcbiAgY29uc3QgeHB1YnMgPSB0ZXN0dXRpbHMuZ2V0S2V5VHJpcGxlKCdzZXRlYyBhc3Ryb25vbXknKS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKTtcblxuICBmdW5jdGlvbiB3aXRoQ2hlY2tzdW0oZGVzY3JpcHRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2QuRGVzY3JpcHRvci5mcm9tU3RyaW5nKGRlc2NyaXB0b3IsICdkZXJpdmFibGUnKS50b1N0cmluZygpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMihuYW1lOiBzdHJpbmcsIGE6IHN0cmluZywgYjogc3RyaW5nKTogdXR4b2QuTmFtZWREZXNjcmlwdG9yIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlOiB3aXRoQ2hlY2tzdW0oYHNoKG11bHRpKDIsJHthfS8qLCR7Yn0vKikpYCksXG4gICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0SVdhbGxldFdpdGhEZXNjcmlwdG9ycyhkZXNjcmlwdG9yczogdXR4b2QuTmFtZWREZXNjcmlwdG9yW10pOiBJV2FsbGV0IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29pblNwZWNpZmljKCkge1xuICAgICAgICByZXR1cm4geyBkZXNjcmlwdG9ycyB9IGFzIHVua25vd24gYXMgV2FsbGV0Q29pblNwZWNpZmljO1xuICAgICAgfSxcbiAgICB9IGFzIElXYWxsZXQ7XG4gIH1cblxuICBjb25zdCBkZXNjRm9vID0gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMignZm9vJywgeHB1YnNbMF0sIHhwdWJzWzFdKTtcbiAgY29uc3QgZGVzY0JhciA9IGdldE5hbWVkRGVzY3JpcHRvcjJPZjIoJ2JhcicsIHhwdWJzWzFdLCB4cHVic1swXSk7XG4gIGNvbnN0IGFkZHJlc3NGb28wID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Zvby52YWx1ZSwgMCwgY29pbi5uYW1lKTtcbiAgY29uc3QgYWRkcmVzc0ZvbzEgPSBnZXREZXNjcmlwdG9yQWRkcmVzcyhkZXNjRm9vLnZhbHVlLCAxLCBjb2luLm5hbWUpO1xuICBjb25zdCBhZGRyZXNzQmFyMCA9IGdldERlc2NyaXB0b3JBZGRyZXNzKGRlc2NCYXIudmFsdWUsIDAsIGNvaW4ubmFtZSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIFthZGRyZXNzRm9vMCwgYWRkcmVzc0ZvbzEsIGFkZHJlc3NCYXIwXSxcbiAgICAgIFtcbiAgICAgICAgJzJOOWIxdHJXeE1KTjE2bVR6R0p5cEZuNnBFV2ZYdGdoNjg5JyxcbiAgICAgICAgJzJOMVlGemo0RUN6Y2p1cnVhRXZTekdhR0dIMXRvcE1YTVhaJyxcbiAgICAgICAgJzJOOW9ONUtjMmZMdDJNcnhFa3VRUHN5OEZnMktkckZmZUtIJyxcbiAgICAgIF1cbiAgICApO1xuICB9KTtcblxuICBmdW5jdGlvbiBydW5UZXN0SXNBZGRyZXNzKFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGRlc2NyaXB0b3JOYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvckNoZWNrc3VtOiBzdHJpbmcsXG4gICAgZXhwZWN0ZWQ6IHRydWUgfCBFcnJvciB8IFJlZ0V4cFxuICApIHtcbiAgICBpdChgc2hvdWxkIHJldHVybiAke2V4cGVjdGVkfSBmb3IgYWRkcmVzcyAke2FkZHJlc3N9IHdpdGggaW5kZXggJHtpbmRleH0gYW5kIGRlc2NyaXB0b3IgJHtkZXNjcmlwdG9yTmFtZX0gd2l0aCBjaGVja3N1bSAke2Rlc2NyaXB0b3JDaGVja3N1bX1gLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3YWxsZXQgPSBnZXRJV2FsbGV0V2l0aERlc2NyaXB0b3JzKFtkZXNjRm9vLCBkZXNjQmFyXSk7XG4gICAgICBhc3luYyBmdW5jdGlvbiBmKCkge1xuICAgICAgICByZXR1cm4gY29pbi5pc1dhbGxldEFkZHJlc3MoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29pblNwZWNpZmljOiB7IGRlc2NyaXB0b3JOYW1lLCBkZXNjcmlwdG9yQ2hlY2tzdW0gfSxcbiAgICAgICAgICAgIGtleWNoYWluczogeHB1YnMubWFwKChwdWIpID0+ICh7IHB1YiB9KSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3YWxsZXRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgICBhc3NlcnQuZXF1YWwoYXdhaXQgZigpLCBleHBlY3RlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBiZWNhdXNlIGlzV2FsbGV0QWRkcmVzcyBpcyBzdHVwaWQgaXQgYWN0dWFsbHkgdGhyb3dzIGluc3RlYWQgb2YgcmV0dXJuaW5nIGZhbHNlXG4gICAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGYsIGV4cGVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzAsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgdHJ1ZSk7XG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzEsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgL0FkZHJlc3MgbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IvKTtcbiAgcnVuVGVzdElzQWRkcmVzcyhhZGRyZXNzQmFyMCwgMCwgJ2JhcicsIGRlc2NGb28udmFsdWUuc2xpY2UoLTgpLCAvRGVzY3JpcHRvciBjaGVja3N1bSBtaXNtYXRjaC8pO1xuICBydW5UZXN0SXNBZGRyZXNzKGFkZHJlc3NGb28wLCAwLCAnYmFyJywgZGVzY0Jhci52YWx1ZS5zbGljZSgtOCksIC9BZGRyZXNzIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yLyk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainTransaction.d.ts","sourceRoot":"","sources":["../../../../test/unit/explainTransaction.ts"],"names":[],"mappings":""}
|