@bitgo-beta/abstract-utxo 1.1.1-beta.222 → 1.1.1-beta.2221
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 +458 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +652 -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/deriveKeyWithSeed.d.ts +12 -0
- package/dist/cjs/src/deriveKeyWithSeed.d.ts.map +1 -0
- package/dist/cjs/src/deriveKeyWithSeed.js +17 -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 +17 -0
- package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -0
- package/dist/cjs/src/descriptor/builder/builder.js +54 -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 +148 -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 +9 -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 +94 -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 +170 -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 +33 -0
- package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/doge.js +76 -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 +11 -0
- package/dist/cjs/src/impl/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/index.js +47 -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/pearl/index.d.ts +3 -0
- package/dist/cjs/src/impl/pearl/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/index.js +19 -0
- package/dist/cjs/src/impl/pearl/pearl.d.ts +17 -0
- package/dist/cjs/src/impl/pearl/pearl.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/pearl.js +24 -0
- package/dist/cjs/src/impl/pearl/tpearl.d.ts +8 -0
- package/dist/cjs/src/impl/pearl/tpearl.d.ts.map +1 -0
- package/dist/cjs/src/impl/pearl/tpearl.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 +55 -0
- package/dist/cjs/src/keychains.d.ts.map +1 -0
- package/dist/cjs/src/keychains.js +143 -0
- package/dist/cjs/src/names.d.ts +13 -0
- package/dist/cjs/src/names.d.ts.map +1 -0
- package/dist/cjs/src/names.js +96 -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 +22 -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 +172 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.js +415 -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 +302 -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 +68 -0
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
- package/dist/cjs/src/recovery/psbt.js +160 -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 +21 -0
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
- package/dist/cjs/src/transaction/decode.js +45 -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 +47 -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 +18 -0
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parse.js +86 -0
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +14 -0
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
- package/dist/cjs/src/transaction/descriptor/recipient.d.ts +5 -0
- package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +25 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/signPsbt.js +44 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +36 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +90 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts +18 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/explainTransaction.js +84 -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 +47 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +3 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts +8 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/index.js +30 -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 +227 -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/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 +118 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +22 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +46 -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 +182 -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 +9 -0
- package/dist/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/index.js +52 -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 +105 -0
- package/dist/cjs/src/transaction/types.d.ts +47 -0
- package/dist/cjs/src/transaction/types.d.ts.map +1 -0
- package/dist/cjs/src/transaction/types.js +3 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts +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 +22 -0
- package/dist/cjs/src/verifyKey.d.ts.map +1 -0
- package/dist/cjs/src/verifyKey.js +110 -0
- package/dist/cjs/src/wallet.d.ts +15 -0
- package/dist/cjs/src/wallet.d.ts.map +1 -0
- package/dist/cjs/src/wallet.js +8 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/test/integration/impl/bch/bch.js +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 +201 -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 +102 -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/deriveKeyWithSeed.d.ts +2 -0
- package/dist/cjs/test/unit/deriveKeyWithSeed.d.ts.map +1 -0
- package/dist/cjs/test/unit/deriveKeyWithSeed.js +56 -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 +92 -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/pearl/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/pearl/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/pearl/unit/index.js +111 -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 +147 -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 +352 -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/descriptor/verifyTransactionQr.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.js +102 -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 +171 -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 +222 -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 +539 -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 +77 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/abstractUtxoCoin.d.ts +458 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +644 -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/deriveKeyWithSeed.d.ts +12 -0
- package/dist/esm/deriveKeyWithSeed.d.ts.map +1 -0
- package/dist/esm/deriveKeyWithSeed.js +14 -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 +17 -0
- package/dist/esm/descriptor/builder/builder.d.ts.map +1 -0
- package/dist/esm/descriptor/builder/builder.js +51 -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 +144 -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 +9 -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 +82 -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 +163 -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 +33 -0
- package/dist/esm/impl/doge/doge.d.ts.map +1 -0
- package/dist/esm/impl/doge/doge.js +72 -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 +11 -0
- package/dist/esm/impl/index.d.ts.map +1 -0
- package/dist/esm/impl/index.js +11 -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/pearl/index.d.ts +3 -0
- package/dist/esm/impl/pearl/index.d.ts.map +1 -0
- package/dist/esm/impl/pearl/index.js +3 -0
- package/dist/esm/impl/pearl/pearl.d.ts +17 -0
- package/dist/esm/impl/pearl/pearl.d.ts.map +1 -0
- package/dist/esm/impl/pearl/pearl.js +20 -0
- package/dist/esm/impl/pearl/tpearl.d.ts +8 -0
- package/dist/esm/impl/pearl/tpearl.d.ts.map +1 -0
- package/dist/esm/impl/pearl/tpearl.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 +55 -0
- package/dist/esm/keychains.d.ts.map +1 -0
- package/dist/esm/keychains.js +98 -0
- package/dist/esm/names.d.ts +13 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +86 -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 +19 -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 +172 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/backupKeyRecovery.js +404 -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 +295 -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 +68 -0
- package/dist/esm/recovery/psbt.d.ts.map +1 -0
- package/dist/esm/recovery/psbt.js +152 -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 +21 -0
- package/dist/esm/transaction/decode.d.ts.map +1 -0
- package/dist/esm/transaction/decode.js +39 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/explainPsbt.js +44 -0
- package/dist/esm/transaction/descriptor/index.d.ts +7 -0
- package/dist/esm/transaction/descriptor/index.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/index.js +6 -0
- package/dist/esm/transaction/descriptor/parse.d.ts +18 -0
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parse.js +82 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
- package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
- package/dist/esm/transaction/descriptor/recipient.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/recipient.js +2 -0
- package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
- package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/signPsbt.js +39 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/verifyTransaction.js +80 -0
- package/dist/esm/transaction/explainTransaction.d.ts +18 -0
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/explainTransaction.js +48 -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 +47 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.js +2 -0
- package/dist/esm/transaction/fixedScript/index.d.ts +8 -0
- package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/index.js +7 -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 +221 -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/signPsbtWasm.d.ts +20 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +111 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +22 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signTransaction.js +39 -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 +176 -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 +9 -0
- package/dist/esm/transaction/index.d.ts.map +1 -0
- package/dist/esm/transaction/index.js +9 -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 +66 -0
- package/dist/esm/transaction/types.d.ts +47 -0
- package/dist/esm/transaction/types.d.ts.map +1 -0
- package/dist/esm/transaction/types.js +2 -0
- package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
- package/dist/esm/transaction/verifyTransaction.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 +22 -0
- package/dist/esm/verifyKey.d.ts.map +1 -0
- package/dist/esm/verifyKey.js +102 -0
- package/dist/esm/wallet.d.ts +15 -0
- package/dist/esm/wallet.d.ts.map +1 -0
- package/dist/esm/wallet.js +5 -0
- package/package.json +48 -20
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -253
- package/dist/src/abstractUtxoCoin.d.ts +0 -392
- package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
- package/dist/src/abstractUtxoCoin.js +0 -931
- package/dist/src/config.js +0 -14
- package/dist/src/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -18
- package/dist/src/parseOutput.d.ts +0 -22
- package/dist/src/parseOutput.d.ts.map +0 -1
- package/dist/src/parseOutput.js +0 -181
- package/dist/src/recovery/RecoveryProvider.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 -8179
- /package/dist/{src → cjs/src}/config.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
- /package/dist/{src → esm}/config.d.ts.map +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CreateAddressFormat, Triple } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
3
|
+
import { UtxoCoinName } from '../names';
|
|
4
|
+
type ChainCode = fixedScriptWallet.ChainCode;
|
|
5
|
+
export interface FixedScriptAddressCoinSpecific {
|
|
6
|
+
outputScript?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GenerateAddressOptions {
|
|
9
|
+
chain?: number;
|
|
10
|
+
index?: number;
|
|
11
|
+
segwit?: boolean;
|
|
12
|
+
bech32?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface GenerateFixedScriptAddressOptions extends GenerateAddressOptions {
|
|
15
|
+
format?: CreateAddressFormat;
|
|
16
|
+
keychains: {
|
|
17
|
+
pub: string;
|
|
18
|
+
}[];
|
|
19
|
+
}
|
|
20
|
+
export declare function generateAddressWithChainAndIndex(coinName: UtxoCoinName, keychains: fixedScriptWallet.WalletKeysArg | Triple<string>, chain: ChainCode, index: number, format: CreateAddressFormat | undefined): string;
|
|
21
|
+
/**
|
|
22
|
+
* Generate an address for a wallet based on a set of configurations
|
|
23
|
+
* @param params.keychains {[object]} Array of objects with xpubs
|
|
24
|
+
* @param params.threshold {number} Minimum number of signatures
|
|
25
|
+
* @param params.chain {number} Derivation chain (see https://github.com/BitGo/unspents/blob/master/src/codes.ts for
|
|
26
|
+
* the corresponding address type of a given chain code)
|
|
27
|
+
* @param params.index {number} Derivation index
|
|
28
|
+
* @param params.segwit {boolean} Deprecated
|
|
29
|
+
* @param params.bech32 {boolean} Deprecated
|
|
30
|
+
* @returns {string} The generated address
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateAddress(coinName: UtxoCoinName, params: GenerateFixedScriptAddressOptions): string;
|
|
33
|
+
type Keychain = {
|
|
34
|
+
pub: string;
|
|
35
|
+
};
|
|
36
|
+
export declare function assertFixedScriptWalletAddress(coinName: UtxoCoinName, { chain, index, keychains, format, address, }: {
|
|
37
|
+
chain: number | undefined;
|
|
38
|
+
index: number;
|
|
39
|
+
keychains: Keychain[];
|
|
40
|
+
format: CreateAddressFormat;
|
|
41
|
+
address: string;
|
|
42
|
+
}): void;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=fixedScript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixedScript.d.ts","sourceRoot":"","sources":["../../../../src/address/fixedScript.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,mBAAmB,EASnB,MAAM,EACP,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAE7C,MAAM,WAAW,8BAA8B;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,iCAAkC,SAAQ,sBAAsB;IACxE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9B;AAaD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,iBAAiB,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAC3D,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,MAAM,CAKR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,iCAAiC,GAAG,MAAM,CAiEzG;AAED,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,YAAY,EACtB,EACE,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,IAAI,CAqBN"}
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
exports.generateAddressWithChainAndIndex = generateAddressWithChainAndIndex;
|
|
7
|
+
exports.generateAddress = generateAddress;
|
|
8
|
+
exports.assertFixedScriptWalletAddress = assertFixedScriptWalletAddress;
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
11
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
12
|
+
function supportsAddressType(coinName, addressType) {
|
|
13
|
+
return wasm_utxo_1.fixedScriptWallet.supportsScriptType(coinName, addressType);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Normalize script type aliases. "p2tr" is an alias for "p2trLegacy".
|
|
17
|
+
*/
|
|
18
|
+
function normalizeScriptType(scriptType) {
|
|
19
|
+
return scriptType === 'p2tr' ? 'p2trLegacy' : scriptType;
|
|
20
|
+
}
|
|
21
|
+
function generateAddressWithChainAndIndex(coinName, keychains, chain, index, format) {
|
|
22
|
+
// Convert CreateAddressFormat to AddressFormat for wasm-utxo
|
|
23
|
+
// 'base58' -> 'default', 'cashaddr' -> 'cashaddr'
|
|
24
|
+
const wasmFormat = format === 'base58' ? 'default' : format;
|
|
25
|
+
return wasm_utxo_1.fixedScriptWallet.address(keychains, chain, index, coinName, wasmFormat);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate an address for a wallet based on a set of configurations
|
|
29
|
+
* @param params.keychains {[object]} Array of objects with xpubs
|
|
30
|
+
* @param params.threshold {number} Minimum number of signatures
|
|
31
|
+
* @param params.chain {number} Derivation chain (see https://github.com/BitGo/unspents/blob/master/src/codes.ts for
|
|
32
|
+
* the corresponding address type of a given chain code)
|
|
33
|
+
* @param params.index {number} Derivation index
|
|
34
|
+
* @param params.segwit {boolean} Deprecated
|
|
35
|
+
* @param params.bech32 {boolean} Deprecated
|
|
36
|
+
* @returns {string} The generated address
|
|
37
|
+
*/
|
|
38
|
+
function generateAddress(coinName, params) {
|
|
39
|
+
let derivationIndex = 0;
|
|
40
|
+
if (lodash_1.default.isInteger(params.index) && params.index > 0) {
|
|
41
|
+
derivationIndex = params.index;
|
|
42
|
+
}
|
|
43
|
+
const { keychains, chain, segwit = false, bech32 = false } = params;
|
|
44
|
+
if (lodash_1.default.isNumber(chain) && lodash_1.default.isInteger(chain) && !wasm_utxo_1.fixedScriptWallet.ChainCode.is(chain)) {
|
|
45
|
+
throw new sdk_core_1.InvalidAddressDerivationPropertyError(`address validation failure: unrecognised chain code (${chain})`);
|
|
46
|
+
}
|
|
47
|
+
let derivationChain = wasm_utxo_1.fixedScriptWallet.ChainCode.value('p2sh', 'external');
|
|
48
|
+
if (lodash_1.default.isNumber(chain) && lodash_1.default.isInteger(chain) && wasm_utxo_1.fixedScriptWallet.ChainCode.is(chain)) {
|
|
49
|
+
derivationChain = chain;
|
|
50
|
+
}
|
|
51
|
+
function convertFlagsToAddressType() {
|
|
52
|
+
if (wasm_utxo_1.fixedScriptWallet.ChainCode.is(chain)) {
|
|
53
|
+
return wasm_utxo_1.fixedScriptWallet.ChainCode.scriptType(chain);
|
|
54
|
+
}
|
|
55
|
+
if (lodash_1.default.isBoolean(segwit) && segwit) {
|
|
56
|
+
return 'p2shP2wsh';
|
|
57
|
+
}
|
|
58
|
+
else if (lodash_1.default.isBoolean(bech32) && bech32) {
|
|
59
|
+
return 'p2wsh';
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return 'p2sh';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const addressType = normalizeScriptType(convertFlagsToAddressType());
|
|
66
|
+
if (addressType !== wasm_utxo_1.fixedScriptWallet.ChainCode.scriptType(derivationChain)) {
|
|
67
|
+
throw new sdk_core_1.AddressTypeChainMismatchError(addressType, derivationChain);
|
|
68
|
+
}
|
|
69
|
+
if (!supportsAddressType(coinName, addressType)) {
|
|
70
|
+
switch (addressType) {
|
|
71
|
+
case 'p2sh':
|
|
72
|
+
throw new Error(`internal error: p2sh should always be supported`);
|
|
73
|
+
case 'p2shP2wsh':
|
|
74
|
+
throw new sdk_core_1.P2shP2wshUnsupportedError();
|
|
75
|
+
case 'p2wsh':
|
|
76
|
+
throw new sdk_core_1.P2wshUnsupportedError();
|
|
77
|
+
case 'p2tr':
|
|
78
|
+
case 'p2trLegacy':
|
|
79
|
+
throw new sdk_core_1.P2trUnsupportedError();
|
|
80
|
+
case 'p2trMusig2':
|
|
81
|
+
throw new sdk_core_1.P2trMusig2UnsupportedError();
|
|
82
|
+
default:
|
|
83
|
+
throw new sdk_core_1.UnsupportedAddressTypeError();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (!(0, sdk_core_1.isTriple)(keychains)) {
|
|
87
|
+
throw new Error('keychains must be a triple');
|
|
88
|
+
}
|
|
89
|
+
return generateAddressWithChainAndIndex(coinName, keychains.map((k) => k.pub), derivationChain, derivationIndex, params.format);
|
|
90
|
+
}
|
|
91
|
+
function assertFixedScriptWalletAddress(coinName, { chain, index, keychains, format, address, }) {
|
|
92
|
+
if ((lodash_1.default.isUndefined(chain) && lodash_1.default.isUndefined(index)) || !(lodash_1.default.isFinite(chain) && lodash_1.default.isFinite(index))) {
|
|
93
|
+
throw new sdk_core_1.InvalidAddressDerivationPropertyError(`address validation failure: invalid chain (${chain}) or index (${index})`);
|
|
94
|
+
}
|
|
95
|
+
if (!keychains) {
|
|
96
|
+
throw new Error('missing required param keychains');
|
|
97
|
+
}
|
|
98
|
+
const expectedAddress = generateAddress(coinName, {
|
|
99
|
+
format,
|
|
100
|
+
keychains,
|
|
101
|
+
chain,
|
|
102
|
+
index,
|
|
103
|
+
});
|
|
104
|
+
if (expectedAddress !== address) {
|
|
105
|
+
throw new sdk_core_1.UnexpectedAddressError(`address validation failure: expected ${expectedAddress} but got ${address}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWRTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRkcmVzcy9maXhlZFNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWdEQSw0RUFXQztBQWFELDBDQWlFQztBQU1ELHdFQW9DQztBQW5MRCxvREFBdUI7QUFDdkIsbURBWThCO0FBQzlCLGdEQUFxRDtBQXVCckQsU0FBUyxtQkFBbUIsQ0FBQyxRQUFzQixFQUFFLFdBQTJCO0lBQzlFLE9BQU8sNkJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsbUJBQW1CLENBQUMsVUFBbUM7SUFDOUQsT0FBTyxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBZ0IsZ0NBQWdDLENBQzlDLFFBQXNCLEVBQ3RCLFNBQTJELEVBQzNELEtBQWdCLEVBQ2hCLEtBQWEsRUFDYixNQUF1QztJQUV2Qyw2REFBNkQ7SUFDN0Qsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVELE9BQU8sNkJBQWlCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxRQUFzQixFQUFFLE1BQXlDO0lBQy9GLElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQztJQUN4QixJQUFJLGdCQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSyxNQUFNLENBQUMsS0FBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQWUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQUcsTUFBMkMsQ0FBQztJQUV6RyxJQUFJLGdCQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsNkJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RGLE1BQU0sSUFBSSxnREFBcUMsQ0FBQyx3REFBd0QsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQsSUFBSSxlQUFlLEdBQWMsNkJBQWlCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkYsSUFBSSxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckYsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUyx5QkFBeUI7UUFDaEMsSUFBSSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLGdCQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxJQUFJLGdCQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFFckUsSUFBSSxXQUFXLEtBQUssNkJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzVFLE1BQU0sSUFBSSx3Q0FBNkIsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssTUFBTTtnQkFDVCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDckUsS0FBSyxXQUFXO2dCQUNkLE1BQU0sSUFBSSxvQ0FBeUIsRUFBRSxDQUFDO1lBQ3hDLEtBQUssT0FBTztnQkFDVixNQUFNLElBQUksZ0NBQXFCLEVBQUUsQ0FBQztZQUNwQyxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssWUFBWTtnQkFDZixNQUFNLElBQUksK0JBQW9CLEVBQUUsQ0FBQztZQUNuQyxLQUFLLFlBQVk7Z0JBQ2YsTUFBTSxJQUFJLHFDQUEwQixFQUFFLENBQUM7WUFDekM7Z0JBQ0UsTUFBTSxJQUFJLHNDQUEyQixFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsSUFBQSxtQkFBUSxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLGdDQUFnQyxDQUNyQyxRQUFRLEVBQ1IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBbUIsRUFDN0MsZUFBZSxFQUNmLGVBQWUsRUFDZixNQUFNLENBQUMsTUFBTSxDQUNkLENBQUM7QUFDSixDQUFDO0FBTUQsU0FBZ0IsOEJBQThCLENBQzVDLFFBQXNCLEVBQ3RCLEVBQ0UsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sR0FPUjtJQUVELElBQUksQ0FBQyxnQkFBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEcsTUFBTSxJQUFJLGdEQUFxQyxDQUM3Qyw4Q0FBOEMsS0FBSyxlQUFlLEtBQUssR0FBRyxDQUMzRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRTtRQUNoRCxNQUFNO1FBQ04sU0FBUztRQUNULEtBQUs7UUFDTCxLQUFLO0tBQ04sQ0FBQyxDQUFDO0lBRUgsSUFBSSxlQUFlLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLGlDQUFzQixDQUFDLHdDQUF3QyxlQUFlLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1xuICBBZGRyZXNzVHlwZUNoYWluTWlzbWF0Y2hFcnJvcixcbiAgQ3JlYXRlQWRkcmVzc0Zvcm1hdCxcbiAgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvcixcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbiAgUDJzaFAyd3NoVW5zdXBwb3J0ZWRFcnJvcixcbiAgUDJ0ck11c2lnMlVuc3VwcG9ydGVkRXJyb3IsXG4gIFAydHJVbnN1cHBvcnRlZEVycm9yLFxuICBQMndzaFVuc3VwcG9ydGVkRXJyb3IsXG4gIFVuc3VwcG9ydGVkQWRkcmVzc1R5cGVFcnJvcixcbiAgaXNUcmlwbGUsXG4gIFRyaXBsZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG50eXBlIFNjcmlwdFR5cGUyT2YzID0gZml4ZWRTY3JpcHRXYWxsZXQuT3V0cHV0U2NyaXB0VHlwZTtcbnR5cGUgQ2hhaW5Db2RlID0gZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpeGVkU2NyaXB0QWRkcmVzc0NvaW5TcGVjaWZpYyB7XG4gIG91dHB1dFNjcmlwdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBiZWNoMzI/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgR2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3NPcHRpb25zIGV4dGVuZHMgR2VuZXJhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGZvcm1hdD86IENyZWF0ZUFkZHJlc3NGb3JtYXQ7XG4gIGtleWNoYWluczogeyBwdWI6IHN0cmluZyB9W107XG59XG5cbmZ1bmN0aW9uIHN1cHBvcnRzQWRkcmVzc1R5cGUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSwgYWRkcmVzc1R5cGU6IFNjcmlwdFR5cGUyT2YzKTogYm9vbGVhbiB7XG4gIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5zdXBwb3J0c1NjcmlwdFR5cGUoY29pbk5hbWUsIGFkZHJlc3NUeXBlKTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgc2NyaXB0IHR5cGUgYWxpYXNlcy4gXCJwMnRyXCIgaXMgYW4gYWxpYXMgZm9yIFwicDJ0ckxlZ2FjeVwiLlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVTY3JpcHRUeXBlKHNjcmlwdFR5cGU6IFNjcmlwdFR5cGUyT2YzIHwgJ3AydHInKTogU2NyaXB0VHlwZTJPZjMge1xuICByZXR1cm4gc2NyaXB0VHlwZSA9PT0gJ3AydHInID8gJ3AydHJMZWdhY3knIDogc2NyaXB0VHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQWRkcmVzc1dpdGhDaGFpbkFuZEluZGV4KFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBrZXljaGFpbnM6IGZpeGVkU2NyaXB0V2FsbGV0LldhbGxldEtleXNBcmcgfCBUcmlwbGU8c3RyaW5nPixcbiAgY2hhaW46IENoYWluQ29kZSxcbiAgaW5kZXg6IG51bWJlcixcbiAgZm9ybWF0OiBDcmVhdGVBZGRyZXNzRm9ybWF0IHwgdW5kZWZpbmVkXG4pOiBzdHJpbmcge1xuICAvLyBDb252ZXJ0IENyZWF0ZUFkZHJlc3NGb3JtYXQgdG8gQWRkcmVzc0Zvcm1hdCBmb3Igd2FzbS11dHhvXG4gIC8vICdiYXNlNTgnIC0+ICdkZWZhdWx0JywgJ2Nhc2hhZGRyJyAtPiAnY2FzaGFkZHInXG4gIGNvbnN0IHdhc21Gb3JtYXQgPSBmb3JtYXQgPT09ICdiYXNlNTgnID8gJ2RlZmF1bHQnIDogZm9ybWF0O1xuICByZXR1cm4gZml4ZWRTY3JpcHRXYWxsZXQuYWRkcmVzcyhrZXljaGFpbnMsIGNoYWluLCBpbmRleCwgY29pbk5hbWUsIHdhc21Gb3JtYXQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGFuIGFkZHJlc3MgZm9yIGEgd2FsbGV0IGJhc2VkIG9uIGEgc2V0IG9mIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0gcGFyYW1zLmtleWNoYWlucyAgIHtbb2JqZWN0XX0gQXJyYXkgb2Ygb2JqZWN0cyB3aXRoIHhwdWJzXG4gKiBAcGFyYW0gcGFyYW1zLnRocmVzaG9sZCAgIHtudW1iZXJ9ICAgTWluaW11bSBudW1iZXIgb2Ygc2lnbmF0dXJlc1xuICogQHBhcmFtIHBhcmFtcy5jaGFpbiAgICAgICB7bnVtYmVyfSAgIERlcml2YXRpb24gY2hhaW4gKHNlZSBodHRwczovL2dpdGh1Yi5jb20vQml0R28vdW5zcGVudHMvYmxvYi9tYXN0ZXIvc3JjL2NvZGVzLnRzIGZvclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvcnJlc3BvbmRpbmcgYWRkcmVzcyB0eXBlIG9mIGEgZ2l2ZW4gY2hhaW4gY29kZSlcbiAqIEBwYXJhbSBwYXJhbXMuaW5kZXggICAgICAge251bWJlcn0gICBEZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gcGFyYW1zLnNlZ3dpdCAgICAgIHtib29sZWFufSAgRGVwcmVjYXRlZFxuICogQHBhcmFtIHBhcmFtcy5iZWNoMzIgICAgICB7Ym9vbGVhbn0gIERlcHJlY2F0ZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBnZW5lcmF0ZWQgYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBZGRyZXNzKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsIHBhcmFtczogR2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3NPcHRpb25zKTogc3RyaW5nIHtcbiAgbGV0IGRlcml2YXRpb25JbmRleCA9IDA7XG4gIGlmIChfLmlzSW50ZWdlcihwYXJhbXMuaW5kZXgpICYmIChwYXJhbXMuaW5kZXggYXMgbnVtYmVyKSA+IDApIHtcbiAgICBkZXJpdmF0aW9uSW5kZXggPSBwYXJhbXMuaW5kZXggYXMgbnVtYmVyO1xuICB9XG5cbiAgY29uc3QgeyBrZXljaGFpbnMsIGNoYWluLCBzZWd3aXQgPSBmYWxzZSwgYmVjaDMyID0gZmFsc2UgfSA9IHBhcmFtcyBhcyBHZW5lcmF0ZUZpeGVkU2NyaXB0QWRkcmVzc09wdGlvbnM7XG5cbiAgaWYgKF8uaXNOdW1iZXIoY2hhaW4pICYmIF8uaXNJbnRlZ2VyKGNoYWluKSAmJiAhZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLmlzKGNoYWluKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yKGBhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZTogdW5yZWNvZ25pc2VkIGNoYWluIGNvZGUgKCR7Y2hhaW59KWApO1xuICB9XG5cbiAgbGV0IGRlcml2YXRpb25DaGFpbjogQ2hhaW5Db2RlID0gZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLnZhbHVlKCdwMnNoJywgJ2V4dGVybmFsJyk7XG4gIGlmIChfLmlzTnVtYmVyKGNoYWluKSAmJiBfLmlzSW50ZWdlcihjaGFpbikgJiYgZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLmlzKGNoYWluKSkge1xuICAgIGRlcml2YXRpb25DaGFpbiA9IGNoYWluO1xuICB9XG5cbiAgZnVuY3Rpb24gY29udmVydEZsYWdzVG9BZGRyZXNzVHlwZSgpOiBTY3JpcHRUeXBlMk9mMyB7XG4gICAgaWYgKGZpeGVkU2NyaXB0V2FsbGV0LkNoYWluQ29kZS5pcyhjaGFpbikpIHtcbiAgICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5DaGFpbkNvZGUuc2NyaXB0VHlwZShjaGFpbik7XG4gICAgfVxuICAgIGlmIChfLmlzQm9vbGVhbihzZWd3aXQpICYmIHNlZ3dpdCkge1xuICAgICAgcmV0dXJuICdwMnNoUDJ3c2gnO1xuICAgIH0gZWxzZSBpZiAoXy5pc0Jvb2xlYW4oYmVjaDMyKSAmJiBiZWNoMzIpIHtcbiAgICAgIHJldHVybiAncDJ3c2gnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3Ayc2gnO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFkZHJlc3NUeXBlID0gbm9ybWFsaXplU2NyaXB0VHlwZShjb252ZXJ0RmxhZ3NUb0FkZHJlc3NUeXBlKCkpO1xuXG4gIGlmIChhZGRyZXNzVHlwZSAhPT0gZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLnNjcmlwdFR5cGUoZGVyaXZhdGlvbkNoYWluKSkge1xuICAgIHRocm93IG5ldyBBZGRyZXNzVHlwZUNoYWluTWlzbWF0Y2hFcnJvcihhZGRyZXNzVHlwZSwgZGVyaXZhdGlvbkNoYWluKTtcbiAgfVxuXG4gIGlmICghc3VwcG9ydHNBZGRyZXNzVHlwZShjb2luTmFtZSwgYWRkcmVzc1R5cGUpKSB7XG4gICAgc3dpdGNoIChhZGRyZXNzVHlwZSkge1xuICAgICAgY2FzZSAncDJzaCc6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW50ZXJuYWwgZXJyb3I6IHAyc2ggc2hvdWxkIGFsd2F5cyBiZSBzdXBwb3J0ZWRgKTtcbiAgICAgIGNhc2UgJ3Ayc2hQMndzaCc6XG4gICAgICAgIHRocm93IG5ldyBQMnNoUDJ3c2hVbnN1cHBvcnRlZEVycm9yKCk7XG4gICAgICBjYXNlICdwMndzaCc6XG4gICAgICAgIHRocm93IG5ldyBQMndzaFVuc3VwcG9ydGVkRXJyb3IoKTtcbiAgICAgIGNhc2UgJ3AydHInOlxuICAgICAgY2FzZSAncDJ0ckxlZ2FjeSc6XG4gICAgICAgIHRocm93IG5ldyBQMnRyVW5zdXBwb3J0ZWRFcnJvcigpO1xuICAgICAgY2FzZSAncDJ0ck11c2lnMic6XG4gICAgICAgIHRocm93IG5ldyBQMnRyTXVzaWcyVW5zdXBwb3J0ZWRFcnJvcigpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc1R5cGVFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghaXNUcmlwbGUoa2V5Y2hhaW5zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5Y2hhaW5zIG11c3QgYmUgYSB0cmlwbGUnKTtcbiAgfVxuXG4gIHJldHVybiBnZW5lcmF0ZUFkZHJlc3NXaXRoQ2hhaW5BbmRJbmRleChcbiAgICBjb2luTmFtZSxcbiAgICBrZXljaGFpbnMubWFwKChrKSA9PiBrLnB1YikgYXMgVHJpcGxlPHN0cmluZz4sXG4gICAgZGVyaXZhdGlvbkNoYWluLFxuICAgIGRlcml2YXRpb25JbmRleCxcbiAgICBwYXJhbXMuZm9ybWF0XG4gICk7XG59XG5cbnR5cGUgS2V5Y2hhaW4gPSB7XG4gIHB1Yjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcyhcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAge1xuICAgIGNoYWluLFxuICAgIGluZGV4LFxuICAgIGtleWNoYWlucyxcbiAgICBmb3JtYXQsXG4gICAgYWRkcmVzcyxcbiAgfToge1xuICAgIGNoYWluOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICBrZXljaGFpbnM6IEtleWNoYWluW107XG4gICAgZm9ybWF0OiBDcmVhdGVBZGRyZXNzRm9ybWF0O1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgfVxuKTogdm9pZCB7XG4gIGlmICgoXy5pc1VuZGVmaW5lZChjaGFpbikgJiYgXy5pc1VuZGVmaW5lZChpbmRleCkpIHx8ICEoXy5pc0Zpbml0ZShjaGFpbikgJiYgXy5pc0Zpbml0ZShpbmRleCkpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3IoXG4gICAgICBgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IGludmFsaWQgY2hhaW4gKCR7Y2hhaW59KSBvciBpbmRleCAoJHtpbmRleH0pYFxuICAgICk7XG4gIH1cblxuICBpZiAoIWtleWNoYWlucykge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBrZXljaGFpbnMnKTtcbiAgfVxuXG4gIGNvbnN0IGV4cGVjdGVkQWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcyhjb2luTmFtZSwge1xuICAgIGZvcm1hdCxcbiAgICBrZXljaGFpbnMsXG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gIH0pO1xuXG4gIGlmIChleHBlY3RlZEFkZHJlc3MgIT09IGFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFkZHJlc3NFcnJvcihgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IGV4cGVjdGVkICR7ZXhwZWN0ZWRBZGRyZXNzfSBidXQgZ290ICR7YWRkcmVzc31gKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gCAAgC,EAChC,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertFixedScriptWalletAddress = exports.generateAddressWithChainAndIndex = exports.generateAddress = void 0;
|
|
4
|
+
var fixedScript_1 = require("./fixedScript");
|
|
5
|
+
Object.defineProperty(exports, "generateAddress", { enumerable: true, get: function () { return fixedScript_1.generateAddress; } });
|
|
6
|
+
Object.defineProperty(exports, "generateAddressWithChainAndIndex", { enumerable: true, get: function () { return fixedScript_1.generateAddressWithChainAndIndex; } });
|
|
7
|
+
Object.defineProperty(exports, "assertFixedScriptWalletAddress", { enumerable: true, get: function () { return fixedScript_1.assertFixedScriptWalletAddress; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FLdUI7QUFKckIsOEdBQUEsZUFBZSxPQUFBO0FBQ2YsK0hBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsNkhBQUEsOEJBQThCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBnZW5lcmF0ZUFkZHJlc3MsXG4gIGdlbmVyYXRlQWRkcmVzc1dpdGhDaGFpbkFuZEluZGV4LFxuICBhc3NlcnRGaXhlZFNjcmlwdFdhbGxldEFkZHJlc3MsXG4gIEZpeGVkU2NyaXB0QWRkcmVzc0NvaW5TcGVjaWZpYyxcbn0gZnJvbSAnLi9maXhlZFNjcmlwdCc7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B;;;;;;;CAOzC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supportedCrossChainRecoveries = void 0;
|
|
4
|
+
// Supported cross-chain recovery routes. The object index is the coin to be recovered, and the value is
|
|
5
|
+
// an array of valid coins for recipient wallets of the original accidental/unintentional deposit.
|
|
6
|
+
exports.supportedCrossChainRecoveries = {
|
|
7
|
+
btc: ['bch', 'ltc', 'bsv', 'doge'],
|
|
8
|
+
bch: ['btc', 'ltc', 'bsv', 'doge'],
|
|
9
|
+
ltc: ['btc', 'bch', 'bsv', 'doge'],
|
|
10
|
+
bsv: ['btc', 'ltc', 'bch', 'doge'],
|
|
11
|
+
doge: ['btc', 'bch', 'ltc', 'bsv'],
|
|
12
|
+
bcha: ['btc', 'bch'],
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3R0FBd0c7QUFDeEcsa0dBQWtHO0FBQ3JGLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDbEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdXBwb3J0ZWQgY3Jvc3MtY2hhaW4gcmVjb3Zlcnkgcm91dGVzLiBUaGUgb2JqZWN0IGluZGV4IGlzIHRoZSBjb2luIHRvIGJlIHJlY292ZXJlZCwgYW5kIHRoZSB2YWx1ZSBpc1xuLy8gYW4gYXJyYXkgb2YgdmFsaWQgY29pbnMgZm9yIHJlY2lwaWVudCB3YWxsZXRzIG9mIHRoZSBvcmlnaW5hbCBhY2NpZGVudGFsL3VuaW50ZW50aW9uYWwgZGVwb3NpdC5cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3ZlcmllcyA9IHtcbiAgYnRjOiBbJ2JjaCcsICdsdGMnLCAnYnN2JywgJ2RvZ2UnXSxcbiAgYmNoOiBbJ2J0YycsICdsdGMnLCAnYnN2JywgJ2RvZ2UnXSxcbiAgbHRjOiBbJ2J0YycsICdiY2gnLCAnYnN2JywgJ2RvZ2UnXSxcbiAgYnN2OiBbJ2J0YycsICdsdGMnLCAnYmNoJywgJ2RvZ2UnXSxcbiAgZG9nZTogWydidGMnLCAnYmNoJywgJ2x0YycsICdic3YnXSxcbiAgYmNoYTogWydidGMnLCAnYmNoJ10sXG59O1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
|
+
/**
|
|
3
|
+
* Derive a child key from `key` using a path determined by `seed`.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors `BaseCoin.deriveKeyWithSeedBip32` from sdk-core but operates on
|
|
6
|
+
* wasm-utxo's BIP32 class (which has the same `derivePath` semantics).
|
|
7
|
+
*/
|
|
8
|
+
export declare function deriveKeyWithSeed(key: BIP32, seed: string): {
|
|
9
|
+
key: BIP32;
|
|
10
|
+
derivationPath: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=deriveKeyWithSeed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deriveKeyWithSeed.d.ts","sourceRoot":"","sources":["../../../src/deriveKeyWithSeed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAQlG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deriveKeyWithSeed = deriveKeyWithSeed;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
/**
|
|
6
|
+
* Derive a child key from `key` using a path determined by `seed`.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors `BaseCoin.deriveKeyWithSeedBip32` from sdk-core but operates on
|
|
9
|
+
* wasm-utxo's BIP32 class (which has the same `derivePath` semantics).
|
|
10
|
+
*/
|
|
11
|
+
function deriveKeyWithSeed(key, seed) {
|
|
12
|
+
const sha = (input) => (0, crypto_1.createHash)('sha256').update(input).digest();
|
|
13
|
+
const derivationPathInput = sha(sha(seed)).toString('hex');
|
|
14
|
+
const derivationPath = `m/999999/${parseInt(derivationPathInput.slice(0, 7), 16)}/${parseInt(derivationPathInput.slice(7, 14), 16)}`;
|
|
15
|
+
return { key: key.derivePath(derivationPath), derivationPath };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyaXZlS2V5V2l0aFNlZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVyaXZlS2V5V2l0aFNlZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSw4Q0FRQztBQWxCRCxtQ0FBb0M7QUFJcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxHQUFVLEVBQUUsSUFBWTtJQUN4RCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRSxDQUFDLElBQUEsbUJBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sY0FBYyxHQUFHLFlBQVksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUMxRixtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUNoQyxFQUFFLENBQ0gsRUFBRSxDQUFDO0lBQ0osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHR5cGUgeyBCSVAzMiB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG4vKipcbiAqIERlcml2ZSBhIGNoaWxkIGtleSBmcm9tIGBrZXlgIHVzaW5nIGEgcGF0aCBkZXRlcm1pbmVkIGJ5IGBzZWVkYC5cbiAqXG4gKiBNaXJyb3JzIGBCYXNlQ29pbi5kZXJpdmVLZXlXaXRoU2VlZEJpcDMyYCBmcm9tIHNkay1jb3JlIGJ1dCBvcGVyYXRlcyBvblxuICogd2FzbS11dHhvJ3MgQklQMzIgY2xhc3MgKHdoaWNoIGhhcyB0aGUgc2FtZSBgZGVyaXZlUGF0aGAgc2VtYW50aWNzKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZUtleVdpdGhTZWVkKGtleTogQklQMzIsIHNlZWQ6IHN0cmluZyk6IHsga2V5OiBCSVAzMjsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9IHtcbiAgY29uc3Qgc2hhID0gKGlucHV0OiBzdHJpbmcgfCBCdWZmZXIpOiBCdWZmZXIgPT4gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKGlucHV0KS5kaWdlc3QoKTtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGhJbnB1dCA9IHNoYShzaGEoc2VlZCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBgbS85OTk5OTkvJHtwYXJzZUludChkZXJpdmF0aW9uUGF0aElucHV0LnNsaWNlKDAsIDcpLCAxNil9LyR7cGFyc2VJbnQoXG4gICAgZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSg3LCAxNCksXG4gICAgMTZcbiAgKX1gO1xuICByZXR1cm4geyBrZXk6IGtleS5kZXJpdmVQYXRoKGRlcml2YXRpb25QYXRoKSwgZGVyaXZhdGlvblBhdGggfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
import { Descriptor, DescriptorPkType, bip32 } from '@bitgo/wasm-utxo';
|
|
3
|
+
export declare const NamedDescriptor: t.IntersectionC<[t.TypeC<{
|
|
4
|
+
name: t.StringC;
|
|
5
|
+
value: t.StringC;
|
|
6
|
+
}>, t.PartialC<{
|
|
7
|
+
signatures: t.UnionC<[t.ArrayC<t.StringC>, t.UndefinedC]>;
|
|
8
|
+
}>]>;
|
|
9
|
+
export type NamedDescriptor<T = string> = {
|
|
10
|
+
name: string;
|
|
11
|
+
value: T;
|
|
12
|
+
signatures?: string[];
|
|
13
|
+
};
|
|
14
|
+
export type NamedDescriptorNative = NamedDescriptor<Descriptor>;
|
|
15
|
+
export declare function createNamedDescriptorWithSignature(name: string, descriptor: string | Descriptor, signingKey: bip32.BIP32Interface): NamedDescriptor;
|
|
16
|
+
export declare function toNamedDescriptorNative(e: NamedDescriptor, pkType: DescriptorPkType): NamedDescriptorNative;
|
|
17
|
+
export declare function hasValidSignature(descriptor: string | Descriptor, key: bip32.BIP32Interface, signatures: string[]): boolean;
|
|
18
|
+
export declare function assertHasValidSignature(namedDescriptor: NamedDescriptor, key: bip32.BIP32Interface): void;
|
|
19
|
+
//# sourceMappingURL=NamedDescriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamedDescriptor.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/NamedDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAW,MAAM,kBAAkB,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;IAW3B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,IAAI;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;AAEhE,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GAAG,UAAU,EAC/B,UAAU,EAAE,KAAK,CAAC,cAAc,GAC/B,eAAe,CAOjB;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,qBAAqB,CAE3G;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,UAAU,EAC/B,GAAG,EAAE,KAAK,CAAC,cAAc,EACzB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAST;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAIzG"}
|
|
@@ -0,0 +1,77 @@
|
|
|
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.NamedDescriptor = void 0;
|
|
37
|
+
exports.createNamedDescriptorWithSignature = createNamedDescriptorWithSignature;
|
|
38
|
+
exports.toNamedDescriptorNative = toNamedDescriptorNative;
|
|
39
|
+
exports.hasValidSignature = hasValidSignature;
|
|
40
|
+
exports.assertHasValidSignature = assertHasValidSignature;
|
|
41
|
+
const t = __importStar(require("io-ts"));
|
|
42
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
43
|
+
exports.NamedDescriptor = t.intersection([
|
|
44
|
+
t.type({
|
|
45
|
+
name: t.string,
|
|
46
|
+
value: t.string,
|
|
47
|
+
}),
|
|
48
|
+
t.partial({
|
|
49
|
+
signatures: t.union([t.array(t.string), t.undefined]),
|
|
50
|
+
}),
|
|
51
|
+
], 'NamedDescriptor');
|
|
52
|
+
function createNamedDescriptorWithSignature(name, descriptor, signingKey) {
|
|
53
|
+
if (typeof descriptor === 'string') {
|
|
54
|
+
descriptor = wasm_utxo_1.Descriptor.fromString(descriptor, 'derivable');
|
|
55
|
+
}
|
|
56
|
+
const value = descriptor.toString();
|
|
57
|
+
const signature = Buffer.from(wasm_utxo_1.message.signMessage(value, signingKey.privateKey)).toString('hex');
|
|
58
|
+
return { name, value, signatures: [signature] };
|
|
59
|
+
}
|
|
60
|
+
function toNamedDescriptorNative(e, pkType) {
|
|
61
|
+
return { ...e, value: wasm_utxo_1.Descriptor.fromString(e.value, pkType) };
|
|
62
|
+
}
|
|
63
|
+
function hasValidSignature(descriptor, key, signatures) {
|
|
64
|
+
if (typeof descriptor === 'string') {
|
|
65
|
+
descriptor = wasm_utxo_1.Descriptor.fromString(descriptor, 'derivable');
|
|
66
|
+
}
|
|
67
|
+
const descriptorString = descriptor.toString();
|
|
68
|
+
return signatures.some((signature) => {
|
|
69
|
+
return wasm_utxo_1.message.verifyMessage(descriptorString, key.publicKey, Buffer.from(signature, 'hex'));
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function assertHasValidSignature(namedDescriptor, key) {
|
|
73
|
+
if (!hasValidSignature(namedDescriptor.value, key, namedDescriptor.signatures ?? [])) {
|
|
74
|
+
throw new Error(`Descriptor ${namedDescriptor.name} does not have a valid signature (key=${key.toBase58()})`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Rlc2NyaXB0b3IvTmFtZWREZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxnRkFXQztBQUVELDBEQUVDO0FBRUQsOENBYUM7QUFFRCwwREFJQztBQTVERCx5Q0FBMkI7QUFDM0IsZ0RBQWdGO0FBRW5FLFFBQUEsZUFBZSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQzNDO0lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNMLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNoQixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3RELENBQUM7Q0FDSCxFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBVUYsU0FBZ0Isa0NBQWtDLENBQ2hELElBQVksRUFDWixVQUErQixFQUMvQixVQUFnQztJQUVoQyxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLFVBQVUsR0FBRyxzQkFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsVUFBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsQ0FBa0IsRUFBRSxNQUF3QjtJQUNsRixPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLFVBQStCLEVBQy9CLEdBQXlCLEVBQ3pCLFVBQW9CO0lBRXBCLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsVUFBVSxHQUFHLHNCQUFVLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDbkMsT0FBTyxtQkFBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsZUFBZ0MsRUFBRSxHQUF5QjtJQUNqRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxlQUFlLENBQUMsSUFBSSx5Q0FBeUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgRGVzY3JpcHRvciwgRGVzY3JpcHRvclBrVHlwZSwgYmlwMzIsIG1lc3NhZ2UgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuZXhwb3J0IGNvbnN0IE5hbWVkRGVzY3JpcHRvciA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIG5hbWU6IHQuc3RyaW5nLFxuICAgICAgdmFsdWU6IHQuc3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBzaWduYXR1cmVzOiB0LnVuaW9uKFt0LmFycmF5KHQuc3RyaW5nKSwgdC51bmRlZmluZWRdKSxcbiAgICB9KSxcbiAgXSxcbiAgJ05hbWVkRGVzY3JpcHRvcidcbik7XG5cbmV4cG9ydCB0eXBlIE5hbWVkRGVzY3JpcHRvcjxUID0gc3RyaW5nPiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogVDtcbiAgc2lnbmF0dXJlcz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgTmFtZWREZXNjcmlwdG9yTmF0aXZlID0gTmFtZWREZXNjcmlwdG9yPERlc2NyaXB0b3I+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTmFtZWREZXNjcmlwdG9yV2l0aFNpZ25hdHVyZShcbiAgbmFtZTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBzdHJpbmcgfCBEZXNjcmlwdG9yLFxuICBzaWduaW5nS2V5OiBiaXAzMi5CSVAzMkludGVyZmFjZVxuKTogTmFtZWREZXNjcmlwdG9yIHtcbiAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yID09PSAnc3RyaW5nJykge1xuICAgIGRlc2NyaXB0b3IgPSBEZXNjcmlwdG9yLmZyb21TdHJpbmcoZGVzY3JpcHRvciwgJ2Rlcml2YWJsZScpO1xuICB9XG4gIGNvbnN0IHZhbHVlID0gZGVzY3JpcHRvci50b1N0cmluZygpO1xuICBjb25zdCBzaWduYXR1cmUgPSBCdWZmZXIuZnJvbShtZXNzYWdlLnNpZ25NZXNzYWdlKHZhbHVlLCBzaWduaW5nS2V5LnByaXZhdGVLZXkhKSkudG9TdHJpbmcoJ2hleCcpO1xuICByZXR1cm4geyBuYW1lLCB2YWx1ZSwgc2lnbmF0dXJlczogW3NpZ25hdHVyZV0gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTmFtZWREZXNjcmlwdG9yTmF0aXZlKGU6IE5hbWVkRGVzY3JpcHRvciwgcGtUeXBlOiBEZXNjcmlwdG9yUGtUeXBlKTogTmFtZWREZXNjcmlwdG9yTmF0aXZlIHtcbiAgcmV0dXJuIHsgLi4uZSwgdmFsdWU6IERlc2NyaXB0b3IuZnJvbVN0cmluZyhlLnZhbHVlLCBwa1R5cGUpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNWYWxpZFNpZ25hdHVyZShcbiAgZGVzY3JpcHRvcjogc3RyaW5nIHwgRGVzY3JpcHRvcixcbiAga2V5OiBiaXAzMi5CSVAzMkludGVyZmFjZSxcbiAgc2lnbmF0dXJlczogc3RyaW5nW11cbik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGRlc2NyaXB0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgZGVzY3JpcHRvciA9IERlc2NyaXB0b3IuZnJvbVN0cmluZyhkZXNjcmlwdG9yLCAnZGVyaXZhYmxlJyk7XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdG9yU3RyaW5nID0gZGVzY3JpcHRvci50b1N0cmluZygpO1xuICByZXR1cm4gc2lnbmF0dXJlcy5zb21lKChzaWduYXR1cmUpID0+IHtcbiAgICByZXR1cm4gbWVzc2FnZS52ZXJpZnlNZXNzYWdlKGRlc2NyaXB0b3JTdHJpbmcsIGtleS5wdWJsaWNLZXksIEJ1ZmZlci5mcm9tKHNpZ25hdHVyZSwgJ2hleCcpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRIYXNWYWxpZFNpZ25hdHVyZShuYW1lZERlc2NyaXB0b3I6IE5hbWVkRGVzY3JpcHRvciwga2V5OiBiaXAzMi5CSVAzMkludGVyZmFjZSk6IHZvaWQge1xuICBpZiAoIWhhc1ZhbGlkU2lnbmF0dXJlKG5hbWVkRGVzY3JpcHRvci52YWx1ZSwga2V5LCBuYW1lZERlc2NyaXB0b3Iuc2lnbmF0dXJlcyA/PyBbXSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERlc2NyaXB0b3IgJHtuYW1lZERlc2NyaXB0b3IubmFtZX0gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHNpZ25hdHVyZSAoa2V5PSR7a2V5LnRvQmFzZTU4KCl9KWApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { descriptorWallet } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { UtxoCoinSpecific, VerifyAddressOptions } from '../abstractUtxoCoin';
|
|
3
|
+
import { UtxoCoinName } from '../names';
|
|
4
|
+
export declare function assertDescriptorWalletAddress(coinName: UtxoCoinName, params: VerifyAddressOptions<UtxoCoinSpecific>, descriptors: descriptorWallet.DescriptorMap): void;
|
|
5
|
+
//# sourceMappingURL=assertDescriptorWalletAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUxC,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC9C,WAAW,EAAE,gBAAgB,CAAC,aAAa,GAC1C,IAAI,CAoBN"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
exports.assertDescriptorWalletAddress = assertDescriptorWalletAddress;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
9
|
+
class DescriptorAddressMismatchError extends Error {
|
|
10
|
+
constructor(descriptor, index, derivedAddress, expectedAddress) {
|
|
11
|
+
super(`Address mismatch for descriptor ${descriptor.toString()} at index ${index}: ${derivedAddress} !== ${expectedAddress}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function assertDescriptorWalletAddress(coinName, params, descriptors) {
|
|
15
|
+
(0, assert_1.default)(params.coinSpecific);
|
|
16
|
+
(0, assert_1.default)('descriptorName' in params.coinSpecific);
|
|
17
|
+
(0, assert_1.default)('descriptorChecksum' in params.coinSpecific);
|
|
18
|
+
const { descriptorName, descriptorChecksum } = params.coinSpecific;
|
|
19
|
+
const descriptor = descriptors.get(params.coinSpecific.descriptorName);
|
|
20
|
+
if (!descriptor) {
|
|
21
|
+
throw new Error(`Descriptor ${descriptorName} not found`);
|
|
22
|
+
}
|
|
23
|
+
const checksum = descriptor.toString().slice(-8);
|
|
24
|
+
if (checksum !== descriptorChecksum) {
|
|
25
|
+
throw new Error(`Descriptor checksum mismatch for descriptor name=${descriptorName}: ${checksum} !== ${descriptorChecksum}`);
|
|
26
|
+
}
|
|
27
|
+
const derivedScript = Buffer.from(descriptor.atDerivationIndex(params.index).scriptPubkey());
|
|
28
|
+
const derivedAddress = wasm_utxo_1.address.fromOutputScriptWithCoin(derivedScript, coinName);
|
|
29
|
+
if (params.address !== derivedAddress) {
|
|
30
|
+
throw new DescriptorAddressMismatchError(descriptor, params.index, derivedAddress, params.address);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9hc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLHNFQXdCQztBQXZDRCxvREFBNEI7QUFFNUIsZ0RBQXlFO0FBS3pFLE1BQU0sOEJBQStCLFNBQVEsS0FBSztJQUNoRCxZQUFZLFVBQXNCLEVBQUUsS0FBYSxFQUFFLGNBQXNCLEVBQUUsZUFBdUI7UUFDaEcsS0FBSyxDQUNILG1DQUFtQyxVQUFVLENBQUMsUUFBUSxFQUFFLGFBQWEsS0FBSyxLQUFLLGNBQWMsUUFBUSxlQUFlLEVBQUUsQ0FDdkgsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELFNBQWdCLDZCQUE2QixDQUMzQyxRQUFzQixFQUN0QixNQUE4QyxFQUM5QyxXQUEyQztJQUUzQyxJQUFBLGdCQUFNLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLElBQUEsZ0JBQU0sRUFBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsSUFBQSxnQkFBTSxFQUFDLG9CQUFvQixJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxNQUFNLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNuRSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxjQUFjLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsSUFBSSxRQUFRLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztRQUNwQyxNQUFNLElBQUksS0FBSyxDQUNiLG9EQUFvRCxjQUFjLEtBQUssUUFBUSxRQUFRLGtCQUFrQixFQUFFLENBQzVHLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0YsTUFBTSxjQUFjLEdBQUcsbUJBQU8sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakYsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSw4QkFBOEIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JHLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yLCBhZGRyZXNzLCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IFV0eG9Db2luU3BlY2lmaWMsIFZlcmlmeUFkZHJlc3NPcHRpb25zIH0gZnJvbSAnLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmNsYXNzIERlc2NyaXB0b3JBZGRyZXNzTWlzbWF0Y2hFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoZGVzY3JpcHRvcjogRGVzY3JpcHRvciwgaW5kZXg6IG51bWJlciwgZGVyaXZlZEFkZHJlc3M6IHN0cmluZywgZXhwZWN0ZWRBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBzdXBlcihcbiAgICAgIGBBZGRyZXNzIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yICR7ZGVzY3JpcHRvci50b1N0cmluZygpfSBhdCBpbmRleCAke2luZGV4fTogJHtkZXJpdmVkQWRkcmVzc30gIT09ICR7ZXhwZWN0ZWRBZGRyZXNzfWBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcyhcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9uczxVdHhvQ29pblNwZWNpZmljPixcbiAgZGVzY3JpcHRvcnM6IGRlc2NyaXB0b3JXYWxsZXQuRGVzY3JpcHRvck1hcFxuKTogdm9pZCB7XG4gIGFzc2VydChwYXJhbXMuY29pblNwZWNpZmljKTtcbiAgYXNzZXJ0KCdkZXNjcmlwdG9yTmFtZScgaW4gcGFyYW1zLmNvaW5TcGVjaWZpYyk7XG4gIGFzc2VydCgnZGVzY3JpcHRvckNoZWNrc3VtJyBpbiBwYXJhbXMuY29pblNwZWNpZmljKTtcbiAgY29uc3QgeyBkZXNjcmlwdG9yTmFtZSwgZGVzY3JpcHRvckNoZWNrc3VtIH0gPSBwYXJhbXMuY29pblNwZWNpZmljO1xuICBjb25zdCBkZXNjcmlwdG9yID0gZGVzY3JpcHRvcnMuZ2V0KHBhcmFtcy5jb2luU3BlY2lmaWMuZGVzY3JpcHRvck5hbWUpO1xuICBpZiAoIWRlc2NyaXB0b3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERlc2NyaXB0b3IgJHtkZXNjcmlwdG9yTmFtZX0gbm90IGZvdW5kYCk7XG4gIH1cbiAgY29uc3QgY2hlY2tzdW0gPSBkZXNjcmlwdG9yLnRvU3RyaW5nKCkuc2xpY2UoLTgpO1xuICBpZiAoY2hlY2tzdW0gIT09IGRlc2NyaXB0b3JDaGVja3N1bSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBEZXNjcmlwdG9yIGNoZWNrc3VtIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yIG5hbWU9JHtkZXNjcmlwdG9yTmFtZX06ICR7Y2hlY2tzdW19ICE9PSAke2Rlc2NyaXB0b3JDaGVja3N1bX1gXG4gICAgKTtcbiAgfVxuICBjb25zdCBkZXJpdmVkU2NyaXB0ID0gQnVmZmVyLmZyb20oZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChwYXJhbXMuaW5kZXgpLnNjcmlwdFB1YmtleSgpKTtcbiAgY29uc3QgZGVyaXZlZEFkZHJlc3MgPSBhZGRyZXNzLmZyb21PdXRwdXRTY3JpcHRXaXRoQ29pbihkZXJpdmVkU2NyaXB0LCBjb2luTmFtZSk7XG4gIGlmIChwYXJhbXMuYWRkcmVzcyAhPT0gZGVyaXZlZEFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRGVzY3JpcHRvckFkZHJlc3NNaXNtYXRjaEVycm9yKGRlc2NyaXB0b3IsIHBhcmFtcy5pbmRleCwgZGVyaXZlZEFkZHJlc3MsIHBhcmFtcy5hZGRyZXNzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { bip32, Descriptor } from '@bitgo/wasm-utxo';
|
|
2
|
+
type DescriptorWithKeys<TName extends string> = {
|
|
3
|
+
name: TName;
|
|
4
|
+
keys: bip32.BIP32Interface[];
|
|
5
|
+
path: string;
|
|
6
|
+
};
|
|
7
|
+
export type DescriptorBuilder = DescriptorWithKeys<'Wsh2Of2'> | DescriptorWithKeys<'Wsh2Of3'> | (DescriptorWithKeys<'ShWsh2Of3CltvDrop' | 'Wsh2Of3CltvDrop'> & {
|
|
8
|
+
locktime: number;
|
|
9
|
+
}) | (DescriptorWithKeys<'SbtcDeposit'> & {
|
|
10
|
+
lockTime: number;
|
|
11
|
+
maxFee: bigint;
|
|
12
|
+
stacksRecipient: Buffer;
|
|
13
|
+
signersAggregateKey: Buffer;
|
|
14
|
+
});
|
|
15
|
+
export declare function getDescriptorFromBuilder(builder: DescriptorBuilder): Descriptor;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../src/descriptor/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAErD,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC9C,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,CAAC,SAAS,CAAC,GAC7B,kBAAkB,CAAC,SAAS,CAAC,GAM7B,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAYpF,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC,CAAC;AAkDP,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAE/E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDescriptorFromBuilder = getDescriptorFromBuilder;
|
|
4
|
+
const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
|
|
5
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
6
|
+
function toXPub(k) {
|
|
7
|
+
if (typeof k === 'string') {
|
|
8
|
+
return k;
|
|
9
|
+
}
|
|
10
|
+
return k.neutered().toBase58();
|
|
11
|
+
}
|
|
12
|
+
function multi(m, n, keys, path) {
|
|
13
|
+
if (n < m) {
|
|
14
|
+
throw new Error(`Cannot create ${m} of ${n} multisig`);
|
|
15
|
+
}
|
|
16
|
+
if (keys.length < n) {
|
|
17
|
+
throw new Error(`Not enough keys for ${m} of ${n} multisig: keys.length=${keys.length}`);
|
|
18
|
+
}
|
|
19
|
+
keys = keys.slice(0, n);
|
|
20
|
+
return `multi(${m},${keys.map((k) => `${toXPub(k)}/${path}`).join(',')})`;
|
|
21
|
+
}
|
|
22
|
+
function getDescriptorString(builder) {
|
|
23
|
+
switch (builder.name) {
|
|
24
|
+
case 'Wsh2Of3':
|
|
25
|
+
return `wsh(${multi(2, 3, builder.keys, builder.path)})`;
|
|
26
|
+
case 'Wsh2Of2':
|
|
27
|
+
return `wsh(${multi(2, 2, builder.keys, builder.path)})`;
|
|
28
|
+
case 'Wsh2Of3CltvDrop':
|
|
29
|
+
return `wsh(and_v(r:after(${builder.locktime}),${multi(2, 3, builder.keys, builder.path)}))`;
|
|
30
|
+
case 'ShWsh2Of3CltvDrop':
|
|
31
|
+
return `sh(${getDescriptorString({ ...builder, name: 'Wsh2Of3CltvDrop' })})`;
|
|
32
|
+
case 'SbtcDeposit':
|
|
33
|
+
// The reclaim leaf always uses `/*` wildcard derivation; `createSbtcDepositDescriptor`
|
|
34
|
+
// hardcodes that suffix when given BIP32 keys, so reject any other path here.
|
|
35
|
+
if (builder.path !== '*') {
|
|
36
|
+
throw new Error(`SbtcDeposit path must be '*', got '${builder.path}'`);
|
|
37
|
+
}
|
|
38
|
+
if (builder.keys.length !== 3) {
|
|
39
|
+
throw new Error(`SbtcDeposit needs exactly 3 reclaim keys, got ${builder.keys.length}`);
|
|
40
|
+
}
|
|
41
|
+
return utxo_descriptors_1.sbtc.createSbtcDepositDescriptor({
|
|
42
|
+
walletKeys: [builder.keys[0], builder.keys[1], builder.keys[2]],
|
|
43
|
+
lockTime: builder.lockTime,
|
|
44
|
+
maxFee: builder.maxFee,
|
|
45
|
+
stacksRecipient: builder.stacksRecipient,
|
|
46
|
+
signersAggregateKey: builder.signersAggregateKey,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`Unknown descriptor template: ${builder}`);
|
|
50
|
+
}
|
|
51
|
+
function getDescriptorFromBuilder(builder) {
|
|
52
|
+
return wasm_utxo_1.Descriptor.fromString(getDescriptorString(builder), 'derivable');
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2J1aWxkZXIvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9GQSw0REFFQztBQXRGRCxtRUFBb0Q7QUFDcEQsZ0RBQXFEO0FBbUNyRCxTQUFTLE1BQU0sQ0FBQyxDQUFnQztJQUM5QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQXVDLEVBQUUsSUFBWTtJQUN4RixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLE9BQTBCO0lBQ3JELFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLEtBQUssU0FBUztZQUNaLE9BQU8sT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzNELEtBQUssU0FBUztZQUNaLE9BQU8sT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzNELEtBQUssaUJBQWlCO1lBQ3BCLE9BQU8scUJBQXFCLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvRixLQUFLLG1CQUFtQjtZQUN0QixPQUFPLE1BQU0sbUJBQW1CLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDL0UsS0FBSyxhQUFhO1lBQ2hCLHVGQUF1RjtZQUN2Riw4RUFBOEU7WUFDOUUsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUN6RSxDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzFGLENBQUM7WUFDRCxPQUFPLHVCQUFJLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3RDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7Z0JBQzFCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO2dCQUN4QyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsbUJBQW1CO2FBQ2pELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxPQUEwQjtJQUNqRSxPQUFPLHNCQUFVLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYnRjIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1kZXNjcmlwdG9ycyc7XG5pbXBvcnQgeyBiaXAzMiwgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG50eXBlIERlc2NyaXB0b3JXaXRoS2V5czxUTmFtZSBleHRlbmRzIHN0cmluZz4gPSB7XG4gIG5hbWU6IFROYW1lO1xuICBrZXlzOiBiaXAzMi5CSVAzMkludGVyZmFjZVtdO1xuICBwYXRoOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEZXNjcmlwdG9yQnVpbGRlciA9XG4gIHwgRGVzY3JpcHRvcldpdGhLZXlzPCdXc2gyT2YyJz5cbiAgfCBEZXNjcmlwdG9yV2l0aEtleXM8J1dzaDJPZjMnPlxuICAvKlxuICAgKiBUaGlzIGlzIGEgc2Vnd2l0ICh3cmFwcGVkIG9yIG5hdGl2ZSkgMm9mMyBtdWx0aXNpZyB0aGF0IGFsc28gdXNlcyBhXG4gICAqIHJlbGF0aXZlIGxvY2t0aW1lIHdpdGggYW4gT1BfRFJPUCAocmVxdWlyaW5nIGEgbWluaXNjcmlwdCBleHRlbnNpb24pLlxuICAgKiBJdCBpcyBiYXNpY2FsbHkgd2hhdCBpcyB1c2VkIGluIENvcmVEYW8gc3Rha2luZyB0cmFuc2FjdGlvbnMuXG4gICAqL1xuICB8IChEZXNjcmlwdG9yV2l0aEtleXM8J1NoV3NoMk9mM0NsdHZEcm9wJyB8ICdXc2gyT2YzQ2x0dkRyb3AnPiAmIHsgbG9ja3RpbWU6IG51bWJlciB9KVxuICAvKlxuICAgKiBzQlRDIHBlZy1pbiBkZXBvc2l0IFRhcHJvb3QgZGVzY3JpcHRvcjpcbiAgICogICB0cig8VU5TUEVOREFCTEU+LFxuICAgKiAgICAge1xuICAgKiAgICAgICBjOmFuZF92KHBheWxvYWRfZHJvcCg8ZmVlQkV8fHJlY2lwaWVudD4pLCBwa19rKDxzaWduZXJzS2V5PikpLFxuICAgKiAgICAgICBhbmRfdihyOm9sZGVyKDxsb2NrVGltZT4pLCBtdWx0aV9hKDIsIGsxLyosIGsyLyosIGszLyopKVxuICAgKiAgICAgfVxuICAgKiAgIClcbiAgICpcbiAgICogYGtleXNgIGFyZSB0aGUgdGhyZWUgcmVjbGFpbSBrZXlzIHVzZWQgaW4gdGhlIHJlY2xhaW0tbGVhZiBtdWx0aV9hLlxuICAgKi9cbiAgfCAoRGVzY3JpcHRvcldpdGhLZXlzPCdTYnRjRGVwb3NpdCc+ICYge1xuICAgICAgbG9ja1RpbWU6IG51bWJlcjtcbiAgICAgIG1heEZlZTogYmlnaW50O1xuICAgICAgc3RhY2tzUmVjaXBpZW50OiBCdWZmZXI7XG4gICAgICBzaWduZXJzQWdncmVnYXRlS2V5OiBCdWZmZXI7XG4gICAgfSk7XG5cbmZ1bmN0aW9uIHRvWFB1YihrOiBiaXAzMi5CSVAzMkludGVyZmFjZSB8IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgayA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaztcbiAgfVxuICByZXR1cm4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCk7XG59XG5cbmZ1bmN0aW9uIG11bHRpKG06IG51bWJlciwgbjogbnVtYmVyLCBrZXlzOiBiaXAzMi5CSVAzMkludGVyZmFjZVtdIHwgc3RyaW5nW10sIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChuIDwgbSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNyZWF0ZSAke219IG9mICR7bn0gbXVsdGlzaWdgKTtcbiAgfVxuICBpZiAoa2V5cy5sZW5ndGggPCBuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGtleXMgZm9yICR7bX0gb2YgJHtufSBtdWx0aXNpZzoga2V5cy5sZW5ndGg9JHtrZXlzLmxlbmd0aH1gKTtcbiAgfVxuICBrZXlzID0ga2V5cy5zbGljZSgwLCBuKTtcbiAgcmV0dXJuIGBtdWx0aSgke219LCR7a2V5cy5tYXAoKGspID0+IGAke3RvWFB1YihrKX0vJHtwYXRofWApLmpvaW4oJywnKX0pYDtcbn1cblxuZnVuY3Rpb24gZ2V0RGVzY3JpcHRvclN0cmluZyhidWlsZGVyOiBEZXNjcmlwdG9yQnVpbGRlcik6IHN0cmluZyB7XG4gIHN3aXRjaCAoYnVpbGRlci5uYW1lKSB7XG4gICAgY2FzZSAnV3NoMk9mMyc6XG4gICAgICByZXR1cm4gYHdzaCgke211bHRpKDIsIDMsIGJ1aWxkZXIua2V5cywgYnVpbGRlci5wYXRoKX0pYDtcbiAgICBjYXNlICdXc2gyT2YyJzpcbiAgICAgIHJldHVybiBgd3NoKCR7bXVsdGkoMiwgMiwgYnVpbGRlci5rZXlzLCBidWlsZGVyLnBhdGgpfSlgO1xuICAgIGNhc2UgJ1dzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4gYHdzaChhbmRfdihyOmFmdGVyKCR7YnVpbGRlci5sb2NrdGltZX0pLCR7bXVsdGkoMiwgMywgYnVpbGRlci5rZXlzLCBidWlsZGVyLnBhdGgpfSkpYDtcbiAgICBjYXNlICdTaFdzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4gYHNoKCR7Z2V0RGVzY3JpcHRvclN0cmluZyh7IC4uLmJ1aWxkZXIsIG5hbWU6ICdXc2gyT2YzQ2x0dkRyb3AnIH0pfSlgO1xuICAgIGNhc2UgJ1NidGNEZXBvc2l0JzpcbiAgICAgIC8vIFRoZSByZWNsYWltIGxlYWYgYWx3YXlzIHVzZXMgYC8qYCB3aWxkY2FyZCBkZXJpdmF0aW9uOyBgY3JlYXRlU2J0Y0RlcG9zaXREZXNjcmlwdG9yYFxuICAgICAgLy8gaGFyZGNvZGVzIHRoYXQgc3VmZml4IHdoZW4gZ2l2ZW4gQklQMzIga2V5cywgc28gcmVqZWN0IGFueSBvdGhlciBwYXRoIGhlcmUuXG4gICAgICBpZiAoYnVpbGRlci5wYXRoICE9PSAnKicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYnRjRGVwb3NpdCBwYXRoIG11c3QgYmUgJyonLCBnb3QgJyR7YnVpbGRlci5wYXRofSdgKTtcbiAgICAgIH1cbiAgICAgIGlmIChidWlsZGVyLmtleXMubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2J0Y0RlcG9zaXQgbmVlZHMgZXhhY3RseSAzIHJlY2xhaW0ga2V5cywgZ290ICR7YnVpbGRlci5rZXlzLmxlbmd0aH1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzYnRjLmNyZWF0ZVNidGNEZXBvc2l0RGVzY3JpcHRvcih7XG4gICAgICAgIHdhbGxldEtleXM6IFtidWlsZGVyLmtleXNbMF0sIGJ1aWxkZXIua2V5c1sxXSwgYnVpbGRlci5rZXlzWzJdXSxcbiAgICAgICAgbG9ja1RpbWU6IGJ1aWxkZXIubG9ja1RpbWUsXG4gICAgICAgIG1heEZlZTogYnVpbGRlci5tYXhGZWUsXG4gICAgICAgIHN0YWNrc1JlY2lwaWVudDogYnVpbGRlci5zdGFja3NSZWNpcGllbnQsXG4gICAgICAgIHNpZ25lcnNBZ2dyZWdhdGVLZXk6IGJ1aWxkZXIuc2lnbmVyc0FnZ3JlZ2F0ZUtleSxcbiAgICAgIH0pO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkZXNjcmlwdG9yIHRlbXBsYXRlOiAke2J1aWxkZXJ9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIoYnVpbGRlcjogRGVzY3JpcHRvckJ1aWxkZXIpOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhnZXREZXNjcmlwdG9yU3RyaW5nKGJ1aWxkZXIpLCAnZGVyaXZhYmxlJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/descriptor/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseDescriptor = exports.getDescriptorFromBuilder = void 0;
|
|
4
|
+
var builder_1 = require("./builder");
|
|
5
|
+
Object.defineProperty(exports, "getDescriptorFromBuilder", { enumerable: true, get: function () { return builder_1.getDescriptorFromBuilder; } });
|
|
6
|
+
var parse_1 = require("./parse");
|
|
7
|
+
Object.defineProperty(exports, "parseDescriptor", { enumerable: true, get: function () { return parse_1.parseDescriptor; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9idWlsZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUF3RTtBQUEvRCxtSEFBQSx3QkFBd0IsT0FBQTtBQUNqQyxpQ0FBMEM7QUFBakMsd0dBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyLCBEZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vYnVpbGRlcic7XG5leHBvcnQgeyBwYXJzZURlc2NyaXB0b3IgfSBmcm9tICcuL3BhcnNlJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Descriptor } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { DescriptorBuilder } from './builder';
|
|
3
|
+
export declare function parseDescriptorNode(node: unknown): DescriptorBuilder;
|
|
4
|
+
export declare function parseDescriptor(descriptor: Descriptor): DescriptorBuilder;
|
|
5
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../src/descriptor/builder/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAA4B,MAAM,WAAW,CAAC;AA4IxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CASpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAQzE"}
|