@bitgo-beta/abstract-utxo 1.1.1-beta.202 → 1.1.1-beta.2021
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 +475 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/cjs/src/abstractUtxoCoin.js +718 -0
- package/dist/cjs/src/address/fixedScript.d.ts +44 -0
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
- package/dist/cjs/src/address/fixedScript.js +108 -0
- package/dist/cjs/src/address/index.d.ts +2 -0
- package/dist/cjs/src/address/index.d.ts.map +1 -0
- package/dist/cjs/src/address/index.js +8 -0
- package/dist/cjs/src/config.d.ts.map +1 -0
- package/dist/cjs/src/config.js +14 -0
- package/dist/cjs/src/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 +35 -0
- package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/doge.js +79 -0
- package/dist/cjs/src/impl/doge/index.d.ts +3 -0
- package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/index.js +19 -0
- package/dist/cjs/src/impl/doge/tdoge.d.ts +12 -0
- package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
- package/dist/cjs/src/impl/doge/tdoge.js +15 -0
- package/dist/cjs/src/impl/index.d.ts +10 -0
- package/dist/cjs/src/impl/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/index.js +46 -0
- package/dist/cjs/src/impl/ltc/index.d.ts +3 -0
- package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/index.js +19 -0
- package/dist/cjs/src/impl/ltc/ltc.d.ts +8 -0
- package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/ltc.js +15 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts +8 -0
- package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/cjs/src/impl/ltc/tltc.js +15 -0
- package/dist/cjs/src/impl/zec/index.d.ts +3 -0
- package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/index.js +19 -0
- package/dist/cjs/src/impl/zec/tzec.d.ts +9 -0
- package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/tzec.js +15 -0
- package/dist/cjs/src/impl/zec/zec.d.ts +12 -0
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
- package/dist/cjs/src/impl/zec/zec.js +15 -0
- package/dist/cjs/src/index.d.ts +23 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +62 -0
- package/dist/cjs/src/keychains.d.ts +56 -0
- package/dist/cjs/src/keychains.d.ts.map +1 -0
- package/dist/cjs/src/keychains.js +144 -0
- package/dist/cjs/src/names.d.ts +36 -0
- package/dist/cjs/src/names.d.ts.map +1 -0
- package/dist/cjs/src/names.js +231 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +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 +158 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/backupKeyRecovery.js +411 -0
- package/dist/{src → cjs/src}/recovery/baseApi.d.ts +3 -6
- package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/baseApi.js +73 -0
- package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -3
- package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
- package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +21 -9
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/src/recovery/crossChainRecovery.js +299 -0
- package/dist/{src → cjs/src}/recovery/index.d.ts +0 -1
- package/dist/cjs/src/recovery/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/recovery/index.js +6 -3
- package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
- package/dist/cjs/src/recovery/mempoolApi.js +36 -0
- package/dist/cjs/src/recovery/psbt.d.ts +62 -0
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -0
- package/dist/cjs/src/recovery/psbt.js +153 -0
- package/dist/cjs/src/tnumber.d.ts +4 -0
- package/dist/cjs/src/tnumber.d.ts.map +1 -0
- package/dist/cjs/src/tnumber.js +12 -0
- package/dist/cjs/src/transaction/bip322.d.ts +27 -0
- package/dist/cjs/src/transaction/bip322.d.ts.map +1 -0
- package/dist/cjs/src/transaction/bip322.js +139 -0
- package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts +2 -0
- package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
- package/dist/cjs/src/transaction/common/verifyPayGoAmount.js +3 -0
- package/dist/cjs/src/transaction/decode.d.ts +25 -0
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
- package/dist/cjs/src/transaction/decode.js +106 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +5 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +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 +80 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts +21 -0
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/explainTransaction.js +92 -0
- package/dist/cjs/src/transaction/fetchInputs.d.ts +27 -0
- package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fetchInputs.js +111 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +24 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.js +32 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +149 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +83 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +346 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts +10 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/index.js +34 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.d.ts +4 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/musig2.js +3 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +28 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +216 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +8 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +228 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +10 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +44 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +163 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +157 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +118 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +34 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +78 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts +21 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +219 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +9 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +20 -0
- package/dist/cjs/src/transaction/index.d.ts +10 -0
- package/dist/cjs/src/transaction/index.d.ts.map +1 -0
- package/dist/cjs/src/transaction/index.js +54 -0
- package/dist/cjs/src/transaction/outputDifference.d.ts +44 -0
- package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/src/transaction/outputDifference.js +51 -0
- package/dist/cjs/src/transaction/parseTransaction.d.ts +4 -0
- package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/parseTransaction.js +48 -0
- package/dist/cjs/src/transaction/recipient.d.ts +34 -0
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/src/transaction/recipient.js +69 -0
- package/dist/cjs/src/transaction/signTransaction.d.ts +6 -0
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/signTransaction.js +112 -0
- package/dist/cjs/src/transaction/types.d.ts +50 -0
- package/dist/cjs/src/transaction/types.d.ts.map +1 -0
- package/dist/cjs/src/transaction/types.js +7 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts +4 -0
- package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/verifyTransaction.js +50 -0
- package/dist/cjs/src/unspent.d.ts +59 -0
- package/dist/cjs/src/unspent.d.ts.map +1 -0
- package/dist/cjs/src/unspent.js +20 -0
- package/dist/cjs/src/verifyKey.d.ts +21 -0
- package/dist/cjs/src/verifyKey.d.ts.map +1 -0
- package/dist/cjs/src/verifyKey.js +108 -0
- package/dist/cjs/src/wallet.d.ts +15 -0
- package/dist/cjs/src/wallet.d.ts.map +1 -0
- package/dist/cjs/src/wallet.js +8 -0
- package/dist/cjs/src/wasmUtil.d.ts +34 -0
- package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
- package/dist/cjs/src/wasmUtil.js +95 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
- package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
- package/dist/cjs/test/integration/impl/bch/bch.js +76 -0
- package/dist/cjs/test/unit/address.d.ts +2 -0
- package/dist/cjs/test/unit/address.d.ts.map +1 -0
- package/dist/cjs/test/unit/address.js +178 -0
- package/dist/cjs/test/unit/bip322.d.ts +2 -0
- package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
- package/dist/cjs/test/unit/bip322.js +481 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts +2 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.d.ts.map +1 -0
- package/dist/cjs/test/unit/buildSignSendLegacyFormat.js +99 -0
- package/dist/cjs/test/unit/coins.d.ts +2 -0
- package/dist/cjs/test/unit/coins.d.ts.map +1 -0
- package/dist/cjs/test/unit/coins.js +161 -0
- package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
- package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/customChangeWallet.js +204 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts +2 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.js +53 -0
- package/dist/cjs/test/unit/customSigner.d.ts +2 -0
- package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
- package/dist/cjs/test/unit/customSigner.js +99 -0
- package/dist/cjs/test/unit/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/zec/unit/index.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/unit/index.js +30 -0
- package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
- package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
- package/dist/cjs/test/unit/keySignatures.js +54 -0
- package/dist/cjs/test/unit/keychains.d.ts +2 -0
- package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/keychains.js +87 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
- package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
- package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/parseTransaction.js +155 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/pendingApprovalTxHexPsbt.js +99 -0
- package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
- package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
- package/dist/cjs/test/unit/postProcessPrebuild.js +65 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts +2 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
- package/dist/cjs/test/unit/prebuildAndSign.js +218 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +136 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +144 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +297 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +189 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts +37 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
- package/dist/cjs/test/unit/recovery/mock.js +111 -0
- package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/signTransaction.js +223 -0
- package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/testSpoofTransaction.js +114 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +64 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +51 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/parse.js +138 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/sign.js +76 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.js +100 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.js +84 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +81 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +193 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +287 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +60 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +98 -0
- package/dist/cjs/test/unit/transaction/outputDifference.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/outputDifference.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/outputDifference.js +117 -0
- package/dist/cjs/test/unit/transaction/recipient.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/recipient.js +52 -0
- package/dist/cjs/test/unit/transaction.d.ts +2 -0
- package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction.js +301 -0
- package/dist/cjs/test/unit/txFormat.d.ts +30 -0
- package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
- package/dist/cjs/test/unit/txFormat.js +161 -0
- package/dist/cjs/test/unit/util/address.d.ts +13 -0
- package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/address.js +15 -0
- package/dist/cjs/test/unit/util/assert.d.ts +3 -0
- package/dist/cjs/test/unit/util/assert.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/assert.js +24 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts +13 -0
- package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/fixtures.js +105 -0
- package/dist/cjs/test/unit/util/index.d.ts +11 -0
- package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/index.js +27 -0
- package/dist/cjs/test/unit/util/keychains.d.ts +55 -0
- package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/keychains.js +122 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts +10 -0
- package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockBitGo.js +27 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/nockIndexerAPI.js +23 -0
- package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
- package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/psbt.js +21 -0
- package/dist/cjs/test/unit/util/transaction.d.ts +28 -0
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/transaction.js +131 -0
- package/dist/cjs/test/unit/util/unspents.d.ts +71 -0
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/unspents.js +224 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +30 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/utxoCoins.js +175 -0
- package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
- package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/util/wallet.js +9 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
- package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
- package/dist/cjs/test/unit/verifyTransaction.js +464 -0
- package/dist/cjs/test/unit/wallet.d.ts +2 -0
- package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
- package/dist/cjs/test/unit/wallet.js +251 -0
- package/dist/cjs/test/unit/webauthn.d.ts +2 -0
- package/dist/cjs/test/unit/webauthn.d.ts.map +1 -0
- package/dist/cjs/test/unit/webauthn.js +73 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/abstractUtxoCoin.d.ts +475 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
- package/dist/esm/abstractUtxoCoin.js +677 -0
- package/dist/esm/address/fixedScript.d.ts +44 -0
- package/dist/esm/address/fixedScript.d.ts.map +1 -0
- package/dist/esm/address/fixedScript.js +100 -0
- package/dist/esm/address/index.d.ts +2 -0
- package/dist/esm/address/index.d.ts.map +1 -0
- package/dist/esm/address/index.js +2 -0
- package/dist/esm/config.d.ts +9 -0
- package/dist/esm/config.js +11 -0
- package/dist/esm/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 +35 -0
- package/dist/esm/impl/doge/doge.d.ts.map +1 -0
- package/dist/esm/impl/doge/doge.js +75 -0
- package/dist/esm/impl/doge/index.d.ts +3 -0
- package/dist/esm/impl/doge/index.d.ts.map +1 -0
- package/dist/esm/impl/doge/index.js +3 -0
- package/dist/esm/impl/doge/tdoge.d.ts +12 -0
- package/dist/esm/impl/doge/tdoge.d.ts.map +1 -0
- package/dist/esm/impl/doge/tdoge.js +11 -0
- package/dist/esm/impl/index.d.ts +10 -0
- package/dist/esm/impl/index.d.ts.map +1 -0
- package/dist/esm/impl/index.js +10 -0
- package/dist/esm/impl/ltc/index.d.ts +3 -0
- package/dist/esm/impl/ltc/index.d.ts.map +1 -0
- package/dist/esm/impl/ltc/index.js +3 -0
- package/dist/esm/impl/ltc/ltc.d.ts +8 -0
- package/dist/esm/impl/ltc/ltc.d.ts.map +1 -0
- package/dist/esm/impl/ltc/ltc.js +11 -0
- package/dist/esm/impl/ltc/tltc.d.ts +8 -0
- package/dist/esm/impl/ltc/tltc.d.ts.map +1 -0
- package/dist/esm/impl/ltc/tltc.js +11 -0
- package/dist/esm/impl/zec/index.d.ts +3 -0
- package/dist/esm/impl/zec/index.d.ts.map +1 -0
- package/dist/esm/impl/zec/index.js +3 -0
- package/dist/esm/impl/zec/tzec.d.ts +9 -0
- package/dist/esm/impl/zec/tzec.d.ts.map +1 -0
- package/dist/esm/impl/zec/tzec.js +11 -0
- package/dist/esm/impl/zec/zec.d.ts +12 -0
- package/dist/esm/impl/zec/zec.d.ts.map +1 -0
- package/dist/esm/impl/zec/zec.js +11 -0
- package/dist/esm/index.d.ts +23 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/keychains.d.ts +56 -0
- package/dist/esm/keychains.d.ts.map +1 -0
- package/dist/esm/keychains.js +99 -0
- package/dist/esm/names.d.ts +36 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +184 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +9 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +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 +158 -0
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/backupKeyRecovery.js +400 -0
- package/dist/esm/recovery/baseApi.d.ts +24 -0
- package/dist/esm/recovery/baseApi.d.ts.map +1 -0
- package/dist/esm/recovery/baseApi.js +64 -0
- package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
- package/dist/esm/recovery/coingeckoApi.d.ts.map +1 -0
- package/dist/esm/recovery/coingeckoApi.js +40 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts +97 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -0
- package/dist/esm/recovery/crossChainRecovery.js +292 -0
- package/dist/esm/recovery/index.d.ts +7 -0
- package/dist/{src → esm}/recovery/index.d.ts.map +1 -1
- package/dist/esm/recovery/index.js +7 -0
- package/dist/esm/recovery/mempoolApi.d.ts +7 -0
- package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +1 -1
- package/dist/esm/recovery/mempoolApi.js +29 -0
- package/dist/esm/recovery/psbt.d.ts +62 -0
- package/dist/esm/recovery/psbt.d.ts.map +1 -0
- package/dist/esm/recovery/psbt.js +145 -0
- package/dist/esm/tnumber.d.ts +4 -0
- package/dist/esm/tnumber.d.ts.map +1 -0
- package/dist/esm/tnumber.js +9 -0
- package/dist/esm/transaction/bip322.d.ts +27 -0
- package/dist/esm/transaction/bip322.d.ts.map +1 -0
- package/dist/esm/transaction/bip322.js +100 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
- package/dist/esm/transaction/common/verifyPayGoAmount.js +1 -0
- package/dist/esm/transaction/decode.d.ts +25 -0
- package/dist/esm/transaction/decode.d.ts.map +1 -0
- package/dist/esm/transaction/decode.js +66 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/descriptor/explainPsbt.js +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 +70 -0
- package/dist/esm/transaction/explainTransaction.d.ts +21 -0
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/explainTransaction.js +56 -0
- package/dist/esm/transaction/fetchInputs.d.ts +27 -0
- package/dist/esm/transaction/fetchInputs.d.ts.map +1 -0
- package/dist/esm/transaction/fetchInputs.js +74 -0
- package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
- package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/SigningError.js +26 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +45 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +144 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +83 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.js +309 -0
- package/dist/esm/transaction/fixedScript/index.d.ts +10 -0
- package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/index.js +9 -0
- package/dist/esm/transaction/fixedScript/musig2.d.ts +4 -0
- package/dist/esm/transaction/fixedScript/musig2.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/musig2.js +2 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseOutput.js +209 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/parseTransaction.js +222 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +10 -0
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/replayProtection.js +38 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +32 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +123 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +20 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +117 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +20 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +111 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +34 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signTransaction.js +71 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +180 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
- package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
- package/dist/esm/transaction/index.d.ts +10 -0
- package/dist/esm/transaction/index.d.ts.map +1 -0
- package/dist/esm/transaction/index.js +10 -0
- package/dist/esm/transaction/outputDifference.d.ts +44 -0
- package/dist/esm/transaction/outputDifference.d.ts.map +1 -0
- package/dist/esm/transaction/outputDifference.js +45 -0
- package/dist/esm/transaction/parseTransaction.d.ts +4 -0
- package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/parseTransaction.js +12 -0
- package/dist/esm/transaction/recipient.d.ts +34 -0
- package/dist/esm/transaction/recipient.d.ts.map +1 -0
- package/dist/esm/transaction/recipient.js +61 -0
- package/dist/esm/transaction/signTransaction.d.ts +6 -0
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/signTransaction.js +73 -0
- package/dist/esm/transaction/types.d.ts +50 -0
- package/dist/esm/transaction/types.d.ts.map +1 -0
- package/dist/esm/transaction/types.js +4 -0
- package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
- package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/verifyTransaction.js +14 -0
- package/dist/esm/unspent.d.ts +59 -0
- package/dist/esm/unspent.d.ts.map +1 -0
- package/dist/esm/unspent.js +15 -0
- package/dist/esm/verifyKey.d.ts +21 -0
- package/dist/esm/verifyKey.d.ts.map +1 -0
- package/dist/esm/verifyKey.js +100 -0
- package/dist/esm/wallet.d.ts +15 -0
- package/dist/esm/wallet.d.ts.map +1 -0
- package/dist/esm/wallet.js +5 -0
- package/dist/esm/wasmUtil.d.ts +34 -0
- package/dist/esm/wasmUtil.d.ts.map +1 -0
- package/dist/esm/wasmUtil.js +54 -0
- package/package.json +48 -20
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -235
- package/dist/src/abstractUtxoCoin.d.ts +0 -392
- package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
- package/dist/src/abstractUtxoCoin.js +0 -931
- package/dist/src/config.js +0 -14
- package/dist/src/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -18
- package/dist/src/parseOutput.d.ts +0 -22
- package/dist/src/parseOutput.d.ts.map +0 -1
- package/dist/src/parseOutput.js +0 -181
- package/dist/src/recovery/RecoveryProvider.d.ts.map +0 -1
- package/dist/src/recovery/RecoveryProvider.js +0 -24
- package/dist/src/recovery/backupKeyRecovery.d.ts +0 -62
- package/dist/src/recovery/backupKeyRecovery.d.ts.map +0 -1
- package/dist/src/recovery/backupKeyRecovery.js +0 -293
- package/dist/src/recovery/baseApi.d.ts.map +0 -1
- package/dist/src/recovery/baseApi.js +0 -73
- package/dist/src/recovery/coingeckoApi.d.ts.map +0 -1
- package/dist/src/recovery/coingeckoApi.js +0 -47
- package/dist/src/recovery/crossChainRecovery.d.ts.map +0 -1
- package/dist/src/recovery/crossChainRecovery.js +0 -294
- package/dist/src/recovery/mempoolApi.js +0 -33
- package/dist/src/recovery/smartbitApi.d.ts +0 -11
- package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
- package/dist/src/recovery/smartbitApi.js +0 -36
- package/dist/src/replayProtection.d.ts +0 -4
- package/dist/src/replayProtection.d.ts.map +0 -1
- package/dist/src/replayProtection.js +0 -21
- package/dist/src/sign.d.ts +0 -31
- package/dist/src/sign.d.ts.map +0 -1
- package/dist/src/sign.js +0 -104
- package/dist/tsconfig.tsbuildinfo +0 -8021
- /package/dist/{src → cjs/src}/config.d.ts +0 -0
- /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
- /package/dist/{src → esm}/config.d.ts.map +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
import { bitgo } from '@bitgo-beta/utxo-lib';
|
|
3
|
+
import { IRequestTracer, IWallet, Triple } from '@bitgo-beta/sdk-core';
|
|
4
|
+
import { BIP32, bip32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
5
|
+
import { AbstractUtxoCoin } from './abstractUtxoCoin';
|
|
6
|
+
import { UtxoWallet } from './wallet';
|
|
7
|
+
/**
|
|
8
|
+
* A keychain for a UTXO wallet.
|
|
9
|
+
*/
|
|
10
|
+
export declare const UtxoKeychain: t.IntersectionC<[t.TypeC<{
|
|
11
|
+
pub: t.StringC;
|
|
12
|
+
}>, t.PartialC<{
|
|
13
|
+
prv: t.StringC;
|
|
14
|
+
encryptedPrv: t.StringC;
|
|
15
|
+
}>]>;
|
|
16
|
+
export type UtxoKeychain = t.TypeOf<typeof UtxoKeychain>;
|
|
17
|
+
export declare const UtxoNamedKeychains: t.TypeC<{
|
|
18
|
+
user: t.IntersectionC<[t.TypeC<{
|
|
19
|
+
pub: t.StringC;
|
|
20
|
+
}>, t.PartialC<{
|
|
21
|
+
prv: t.StringC;
|
|
22
|
+
encryptedPrv: t.StringC;
|
|
23
|
+
}>]>;
|
|
24
|
+
backup: t.IntersectionC<[t.TypeC<{
|
|
25
|
+
pub: t.StringC;
|
|
26
|
+
}>, t.PartialC<{
|
|
27
|
+
prv: t.StringC;
|
|
28
|
+
encryptedPrv: t.StringC;
|
|
29
|
+
}>]>;
|
|
30
|
+
bitgo: t.IntersectionC<[t.TypeC<{
|
|
31
|
+
pub: t.StringC;
|
|
32
|
+
}>, t.PartialC<{
|
|
33
|
+
prv: t.StringC;
|
|
34
|
+
encryptedPrv: t.StringC;
|
|
35
|
+
}>]>;
|
|
36
|
+
}>;
|
|
37
|
+
export type UtxoNamedKeychains = t.TypeOf<typeof UtxoNamedKeychains>;
|
|
38
|
+
export declare function toKeychainTriple(keychains: UtxoNamedKeychains): Triple<UtxoKeychain>;
|
|
39
|
+
export declare function toBip32Triple(keychains: bitgo.RootWalletKeys | UtxoNamedKeychains | Triple<{
|
|
40
|
+
pub: string;
|
|
41
|
+
}> | string[]): Triple<BIP32>;
|
|
42
|
+
export declare function toXpubTriple(keychains: UtxoNamedKeychains | Triple<{
|
|
43
|
+
pub: string;
|
|
44
|
+
}> | Triple<string> | Triple<bip32.BIP32Interface>): Triple<string>;
|
|
45
|
+
export declare function fetchKeychains(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<UtxoNamedKeychains>;
|
|
46
|
+
/**
|
|
47
|
+
* Fetch wallet keys as wasm-utxo RootWalletKeys
|
|
48
|
+
*/
|
|
49
|
+
export declare function fetchWasmRootWalletKeys(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<fixedScriptWallet.RootWalletKeys>;
|
|
50
|
+
export declare const KeySignatures: t.PartialC<{
|
|
51
|
+
backupPub: t.StringC;
|
|
52
|
+
bitgoPub: t.StringC;
|
|
53
|
+
}>;
|
|
54
|
+
export type KeySignatures = t.TypeOf<typeof KeySignatures>;
|
|
55
|
+
export declare function getKeySignatures(wallet: UtxoWallet): KeySignatures | undefined;
|
|
56
|
+
//# sourceMappingURL=keychains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../src/keychains.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,OAAO,EAA4B,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAUtC;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;IAWxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAGpF;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,KAAK,CAAC,cAAc,GAAG,kBAAkB,GAAG,MAAM,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,GACxF,MAAM,CAAC,KAAK,CAAC,CAef;AAkBD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GACtG,MAAM,CAAC,MAAM,CAAC,CAQhB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAG3C;AAED,eAAO,MAAM,aAAa;;;EAGxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAK9E"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import * as t from 'io-ts';
|
|
3
|
+
import { bitgo } from '@bitgo-beta/utxo-lib';
|
|
4
|
+
import { KeyIndices, promiseProps } from '@bitgo-beta/sdk-core';
|
|
5
|
+
import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
6
|
+
/*
|
|
7
|
+
|
|
8
|
+
The standard Keychain type from sdk-core requires a bunch of uninteresting parameters like `id` and `type` and leaves
|
|
9
|
+
important fields like `pub` and `prv` optional.
|
|
10
|
+
|
|
11
|
+
This is a more focused type that only includes the fields we care about.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A keychain for a UTXO wallet.
|
|
15
|
+
*/
|
|
16
|
+
export const UtxoKeychain = t.intersection([
|
|
17
|
+
t.type({
|
|
18
|
+
pub: t.string,
|
|
19
|
+
}),
|
|
20
|
+
t.partial({
|
|
21
|
+
prv: t.string,
|
|
22
|
+
encryptedPrv: t.string,
|
|
23
|
+
}),
|
|
24
|
+
], 'UtxoKeychain');
|
|
25
|
+
export const UtxoNamedKeychains = t.type({
|
|
26
|
+
user: UtxoKeychain,
|
|
27
|
+
backup: UtxoKeychain,
|
|
28
|
+
bitgo: UtxoKeychain,
|
|
29
|
+
});
|
|
30
|
+
export function toKeychainTriple(keychains) {
|
|
31
|
+
const { user, backup, bitgo } = keychains;
|
|
32
|
+
return [user, backup, bitgo];
|
|
33
|
+
}
|
|
34
|
+
export function toBip32Triple(keychains) {
|
|
35
|
+
if (keychains instanceof bitgo.RootWalletKeys) {
|
|
36
|
+
return keychains.triple.map((k) => BIP32.fromBase58(k.toBase58()));
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(keychains)) {
|
|
39
|
+
if (keychains.length !== 3) {
|
|
40
|
+
throw new Error('expected 3 keychains');
|
|
41
|
+
}
|
|
42
|
+
return keychains.map((keychain) => {
|
|
43
|
+
const v = typeof keychain === 'string' ? keychain : keychain.pub;
|
|
44
|
+
return BIP32.fromBase58(v);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return toBip32Triple(toKeychainTriple(keychains));
|
|
48
|
+
}
|
|
49
|
+
function toXpub(keychain) {
|
|
50
|
+
if (typeof keychain === 'string') {
|
|
51
|
+
if (keychain.startsWith('xpub')) {
|
|
52
|
+
return keychain;
|
|
53
|
+
}
|
|
54
|
+
throw new Error('expected xpub');
|
|
55
|
+
}
|
|
56
|
+
if ('neutered' in keychain) {
|
|
57
|
+
return keychain.neutered().toBase58();
|
|
58
|
+
}
|
|
59
|
+
if ('pub' in keychain) {
|
|
60
|
+
return toXpub(keychain.pub);
|
|
61
|
+
}
|
|
62
|
+
throw new Error('expected keychain');
|
|
63
|
+
}
|
|
64
|
+
export function toXpubTriple(keychains) {
|
|
65
|
+
if (Array.isArray(keychains)) {
|
|
66
|
+
if (keychains.length !== 3) {
|
|
67
|
+
throw new Error('expected 3 keychains');
|
|
68
|
+
}
|
|
69
|
+
return keychains.map((k) => toXpub(k));
|
|
70
|
+
}
|
|
71
|
+
return toXpubTriple(toKeychainTriple(keychains));
|
|
72
|
+
}
|
|
73
|
+
export async function fetchKeychains(coin, wallet, reqId) {
|
|
74
|
+
const result = await promiseProps({
|
|
75
|
+
user: coin.keychains().get({ id: wallet.keyIds()[KeyIndices.USER], reqId }),
|
|
76
|
+
backup: coin.keychains().get({ id: wallet.keyIds()[KeyIndices.BACKUP], reqId }),
|
|
77
|
+
bitgo: coin.keychains().get({ id: wallet.keyIds()[KeyIndices.BITGO], reqId }),
|
|
78
|
+
});
|
|
79
|
+
assert(UtxoNamedKeychains.is(result));
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Fetch wallet keys as wasm-utxo RootWalletKeys
|
|
84
|
+
*/
|
|
85
|
+
export async function fetchWasmRootWalletKeys(coin, wallet, reqId) {
|
|
86
|
+
const keychains = await fetchKeychains(coin, wallet, reqId);
|
|
87
|
+
return fixedScriptWallet.RootWalletKeys.from([keychains.user.pub, keychains.backup.pub, keychains.bitgo.pub]);
|
|
88
|
+
}
|
|
89
|
+
export const KeySignatures = t.partial({
|
|
90
|
+
backupPub: t.string,
|
|
91
|
+
bitgoPub: t.string,
|
|
92
|
+
});
|
|
93
|
+
export function getKeySignatures(wallet) {
|
|
94
|
+
if (t.partial({ keySignatures: KeySignatures }).is(wallet._wallet)) {
|
|
95
|
+
return wallet._wallet.keySignatures;
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBMkIsVUFBVSxFQUFFLFlBQVksRUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxLQUFLLEVBQVMsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtuRTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUN4QztJQUNFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDZCxDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNiLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTTtLQUN2QixDQUFDO0NBQ0gsRUFDRCxjQUFjLENBQ2YsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsSUFBSSxFQUFFLFlBQVk7SUFDbEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsS0FBSyxFQUFFLFlBQVk7Q0FDcEIsQ0FBQyxDQUFDO0FBSUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFNBQTZCO0lBQzVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEs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c2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIsIElXYWxsZXQsIEtleUluZGljZXMsIHByb21pc2VQcm9wcywgVHJpcGxlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQklQMzIsIGJpcDMyLCBmaXhlZFNjcmlwdFdhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luIH0gZnJvbSAnLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IFV0eG9XYWxsZXQgfSBmcm9tICcuL3dhbGxldCc7XG5cbi8qXG5cblRoZSBzdGFuZGFyZCBLZXljaGFpbiB0eXBlIGZyb20gc2RrLWNvcmUgcmVxdWlyZXMgYSBidW5jaCBvZiB1bmludGVyZXN0aW5nIHBhcmFtZXRlcnMgbGlrZSBgaWRgIGFuZCBgdHlwZWAgYW5kIGxlYXZlc1xuaW1wb3J0YW50IGZpZWxkcyBsaWtlIGBwdWJgIGFuZCBgcHJ2YCBvcHRpb25hbC5cblxuVGhpcyBpcyBhIG1vcmUgZm9jdXNlZCB0eXBlIHRoYXQgb25seSBpbmNsdWRlcyB0aGUgZmllbGRzIHdlIGNhcmUgYWJvdXQuXG4gKi9cblxuLyoqXG4gKiBBIGtleWNoYWluIGZvciBhIFVUWE8gd2FsbGV0LlxuICovXG5leHBvcnQgY29uc3QgVXR4b0tleWNoYWluID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgcHViOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgcHJ2OiB0LnN0cmluZyxcbiAgICAgIGVuY3J5cHRlZFBydjogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdVdHhvS2V5Y2hhaW4nXG4pO1xuXG5leHBvcnQgdHlwZSBVdHhvS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgVXR4b0tleWNoYWluPjtcblxuZXhwb3J0IGNvbnN0IFV0eG9OYW1lZEtleWNoYWlucyA9IHQudHlwZSh7XG4gIHVzZXI6IFV0eG9LZXljaGFpbixcbiAgYmFja3VwOiBVdHhvS2V5Y2hhaW4sXG4gIGJpdGdvOiBVdHhvS2V5Y2hhaW4sXG59KTtcblxuZXhwb3J0IHR5cGUgVXR4b05hbWVkS2V5Y2hhaW5zID0gdC5UeXBlT2Y8dHlwZW9mIFV0eG9OYW1lZEtleWNoYWlucz47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0tleWNoYWluVHJpcGxlKGtleWNoYWluczogVXR4b05hbWVkS2V5Y2hhaW5zKTogVHJpcGxlPFV0eG9LZXljaGFpbj4ge1xuICBjb25zdCB7IHVzZXIsIGJhY2t1cCwgYml0Z28gfSA9IGtleWNoYWlucztcbiAgcmV0dXJuIFt1c2VyLCBiYWNrdXAsIGJpdGdvXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmlwMzJUcmlwbGUoXG4gIGtleWNoYWluczogYml0Z28uUm9vdFdhbGxldEtleXMgfCBVdHhvTmFtZWRLZXljaGFpbnMgfCBUcmlwbGU8eyBwdWI6IHN0cmluZyB9PiB8IHN0cmluZ1tdXG4pOiBUcmlwbGU8QklQMzI+IHtcbiAgaWYgKGtleWNoYWlucyBpbnN0YW5jZW9mIGJpdGdvLlJvb3RXYWxsZXRLZXlzKSB7XG4gICAgcmV0dXJuIGtleWNoYWlucy50cmlwbGUubWFwKChrKSA9PiBCSVAzMi5mcm9tQmFzZTU4KGsudG9CYXNlNTgoKSkpIGFzIFRyaXBsZTxCSVAzMj47XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Y2hhaW5zKSkge1xuICAgIGlmIChrZXljaGFpbnMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIDMga2V5Y2hhaW5zJyk7XG4gICAgfVxuICAgIHJldHVybiBrZXljaGFpbnMubWFwKChrZXljaGFpbjogeyBwdWI6IHN0cmluZyB9IHwgc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2ID0gdHlwZW9mIGtleWNoYWluID09PSAnc3RyaW5nJyA/IGtleWNoYWluIDoga2V5Y2hhaW4ucHViO1xuICAgICAgcmV0dXJuIEJJUDMyLmZyb21CYXNlNTgodik7XG4gICAgfSkgYXMgVHJpcGxlPEJJUDMyPjtcbiAgfVxuXG4gIHJldHVybiB0b0JpcDMyVHJpcGxlKHRvS2V5Y2hhaW5UcmlwbGUoa2V5Y2hhaW5zKSk7XG59XG5cbmZ1bmN0aW9uIHRvWHB1YihrZXljaGFpbjogeyBwdWI6IHN0cmluZyB9IHwgc3RyaW5nIHwgYmlwMzIuQklQMzJJbnRlcmZhY2UpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGtleWNoYWluID09PSAnc3RyaW5nJykge1xuICAgIGlmIChrZXljaGFpbi5zdGFydHNXaXRoKCd4cHViJykpIHtcbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCB4cHViJyk7XG4gIH1cbiAgaWYgKCduZXV0ZXJlZCcgaW4ga2V5Y2hhaW4pIHtcbiAgICByZXR1cm4ga2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuICB9XG4gIGlmICgncHViJyBpbiBrZXljaGFpbikge1xuICAgIHJldHVybiB0b1hwdWIoa2V5Y2hhaW4ucHViKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIGtleWNoYWluJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1hwdWJUcmlwbGUoXG4gIGtleWNoYWluczogVXR4b05hbWVkS2V5Y2hhaW5zIHwgVHJpcGxlPHsgcHViOiBzdHJpbmcgfT4gfCBUcmlwbGU8c3RyaW5nPiB8IFRyaXBsZTxiaXAzMi5CSVAzMkludGVyZmFjZT5cbik6IFRyaXBsZTxzdHJpbmc+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Y2hhaW5zKSkge1xuICAgIGlmIChrZXljaGFpbnMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIDMga2V5Y2hhaW5zJyk7XG4gICAgfVxuICAgIHJldHVybiBrZXljaGFpbnMubWFwKChrKSA9PiB0b1hwdWIoaykpIGFzIFRyaXBsZTxzdHJpbmc+O1xuICB9XG4gIHJldHVybiB0b1hwdWJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoS2V5Y2hhaW5zKFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICB3YWxsZXQ6IElXYWxsZXQsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8VXR4b05hbWVkS2V5Y2hhaW5zPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VQcm9wcyh7XG4gICAgdXNlcjogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0sIHJlcUlkIH0pLFxuICAgIGJhY2t1cDogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQkFDS1VQXSwgcmVxSWQgfSksXG4gICAgYml0Z286IGNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHdhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLkJJVEdPXSwgcmVxSWQgfSksXG4gIH0pO1xuICBhc3NlcnQoVXR4b05hbWVkS2V5Y2hhaW5zLmlzKHJlc3VsdCkpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEZldGNoIHdhbGxldCBrZXlzIGFzIHdhc20tdXR4byBSb290V2FsbGV0S2V5c1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hXYXNtUm9vdFdhbGxldEtleXMoXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHdhbGxldDogSVdhbGxldCxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cz4ge1xuICBjb25zdCBrZXljaGFpbnMgPSBhd2FpdCBmZXRjaEtleWNoYWlucyhjb2luLCB3YWxsZXQsIHJlcUlkKTtcbiAgcmV0dXJuIGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLmZyb20oW2tleWNoYWlucy51c2VyLnB1Yiwga2V5Y2hhaW5zLmJhY2t1cC5wdWIsIGtleWNoYWlucy5iaXRnby5wdWJdKTtcbn1cblxuZXhwb3J0IGNvbnN0IEtleVNpZ25hdHVyZXMgPSB0LnBhcnRpYWwoe1xuICBiYWNrdXBQdWI6IHQuc3RyaW5nLFxuICBiaXRnb1B1YjogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IHR5cGUgS2V5U2lnbmF0dXJlcyA9IHQuVHlwZU9mPHR5cGVvZiBLZXlTaWduYXR1cmVzPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEtleVNpZ25hdHVyZXMod2FsbGV0OiBVdHhvV2FsbGV0KTogS2V5U2lnbmF0dXJlcyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0LnBhcnRpYWwoeyBrZXlTaWduYXR1cmVzOiBLZXlTaWduYXR1cmVzIH0pLmlzKHdhbGxldC5fd2FsbGV0KSkge1xuICAgIHJldHVybiB3YWxsZXQuX3dhbGxldC5rZXlTaWduYXR1cmVzO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
export declare const utxoCoinsMainnet: readonly ["btc", "bch", "bcha", "bsv", "btg", "dash", "doge", "ltc", "zec"];
|
|
3
|
+
export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tzec"];
|
|
4
|
+
export type UtxoCoinNameMainnet = (typeof utxoCoinsMainnet)[number];
|
|
5
|
+
export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig';
|
|
6
|
+
export type UtxoCoinName = UtxoCoinNameMainnet | UtxoCoinNameTestnet;
|
|
7
|
+
export declare function isUtxoCoinNameMainnet(coinName: string): coinName is UtxoCoinNameMainnet;
|
|
8
|
+
export declare function isUtxoCoinNameTestnet(coinName: string): coinName is UtxoCoinNameTestnet;
|
|
9
|
+
export declare function isUtxoCoinName(coinName: string): coinName is UtxoCoinName;
|
|
10
|
+
export declare function getMainnetCoinName(coinName: UtxoCoinName): UtxoCoinNameMainnet;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
13
|
+
* @param n
|
|
14
|
+
* @returns the family name for a network. Testnets and mainnets of the same coin share the same family name.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getFamilyFromNetwork(n: utxolib.Network): UtxoCoinNameMainnet;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
19
|
+
* Get the chain name for a network.
|
|
20
|
+
* The chain is different for every network.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCoinName(n: utxolib.Network): UtxoCoinName;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
25
|
+
* @param coinName - the name of the coin (e.g. 'btc', 'bch', 'ltc'). Also called 'chain' in some contexts.
|
|
26
|
+
* @returns the network for a coin. This is the mainnet network for the coin.
|
|
27
|
+
*/
|
|
28
|
+
export declare function getNetworkFromCoinName(coinName: string): utxolib.Network;
|
|
29
|
+
/** @deprecated - use getNetworkFromCoinName instead */
|
|
30
|
+
export declare const getNetworkFromChain: typeof getNetworkFromCoinName;
|
|
31
|
+
export declare function getFullNameFromCoinName(coinName: UtxoCoinName): string;
|
|
32
|
+
/** @deprecated - use getFullNameFromCoinName instead */
|
|
33
|
+
export declare function getFullNameFromNetwork(n: utxolib.Network): string;
|
|
34
|
+
export declare function isTestnetCoin(coinName: UtxoCoinName): boolean;
|
|
35
|
+
export declare function isMainnetCoin(coinName: UtxoCoinName): boolean;
|
|
36
|
+
//# sourceMappingURL=names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,6EAA8E,CAAC;AAC5G,eAAO,MAAM,gBAAgB,uHAanB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAChG,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAY9E;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,mBAAmB,CAiC5E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CA6B5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAOxE;AAED,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,+BAAyB,CAAC;AAyB1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiBtE;AAED,wDAAwD;AACxD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAEjE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
export const utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'zec'];
|
|
3
|
+
export const utxoCoinsTestnet = [
|
|
4
|
+
'tbtc',
|
|
5
|
+
'tbtc4',
|
|
6
|
+
'tbtcsig',
|
|
7
|
+
'tbtcbgsig',
|
|
8
|
+
'tbch',
|
|
9
|
+
'tbcha',
|
|
10
|
+
'tbsv',
|
|
11
|
+
'tbtg',
|
|
12
|
+
'tdash',
|
|
13
|
+
'tdoge',
|
|
14
|
+
'tltc',
|
|
15
|
+
'tzec',
|
|
16
|
+
];
|
|
17
|
+
export function isUtxoCoinNameMainnet(coinName) {
|
|
18
|
+
return utxoCoinsMainnet.includes(coinName);
|
|
19
|
+
}
|
|
20
|
+
export function isUtxoCoinNameTestnet(coinName) {
|
|
21
|
+
return utxoCoinsTestnet.includes(coinName);
|
|
22
|
+
}
|
|
23
|
+
export function isUtxoCoinName(coinName) {
|
|
24
|
+
return isUtxoCoinNameMainnet(coinName) || isUtxoCoinNameTestnet(coinName);
|
|
25
|
+
}
|
|
26
|
+
export function getMainnetCoinName(coinName) {
|
|
27
|
+
if (isUtxoCoinNameMainnet(coinName)) {
|
|
28
|
+
return coinName;
|
|
29
|
+
}
|
|
30
|
+
switch (coinName) {
|
|
31
|
+
case 'tbtc4':
|
|
32
|
+
case 'tbtcsig':
|
|
33
|
+
case 'tbtcbgsig':
|
|
34
|
+
return 'btc';
|
|
35
|
+
default:
|
|
36
|
+
return coinName.slice(1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getNetworkName(n) {
|
|
40
|
+
const name = utxolib.getNetworkName(n);
|
|
41
|
+
if (!name) {
|
|
42
|
+
throw new Error('Unknown network');
|
|
43
|
+
}
|
|
44
|
+
return name;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
48
|
+
* @param n
|
|
49
|
+
* @returns the family name for a network. Testnets and mainnets of the same coin share the same family name.
|
|
50
|
+
*/
|
|
51
|
+
export function getFamilyFromNetwork(n) {
|
|
52
|
+
switch (getNetworkName(n)) {
|
|
53
|
+
case 'bitcoin':
|
|
54
|
+
case 'testnet':
|
|
55
|
+
case 'bitcoinPublicSignet':
|
|
56
|
+
case 'bitcoinTestnet4':
|
|
57
|
+
case 'bitcoinBitGoSignet':
|
|
58
|
+
return 'btc';
|
|
59
|
+
case 'bitcoincash':
|
|
60
|
+
case 'bitcoincashTestnet':
|
|
61
|
+
return 'bch';
|
|
62
|
+
case 'ecash':
|
|
63
|
+
case 'ecashTest':
|
|
64
|
+
return 'bcha';
|
|
65
|
+
case 'bitcoingold':
|
|
66
|
+
case 'bitcoingoldTestnet':
|
|
67
|
+
return 'btg';
|
|
68
|
+
case 'bitcoinsv':
|
|
69
|
+
case 'bitcoinsvTestnet':
|
|
70
|
+
return 'bsv';
|
|
71
|
+
case 'dash':
|
|
72
|
+
case 'dashTest':
|
|
73
|
+
return 'dash';
|
|
74
|
+
case 'dogecoin':
|
|
75
|
+
case 'dogecoinTest':
|
|
76
|
+
return 'doge';
|
|
77
|
+
case 'litecoin':
|
|
78
|
+
case 'litecoinTest':
|
|
79
|
+
return 'ltc';
|
|
80
|
+
case 'zcash':
|
|
81
|
+
case 'zcashTest':
|
|
82
|
+
return 'zec';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
87
|
+
* Get the chain name for a network.
|
|
88
|
+
* The chain is different for every network.
|
|
89
|
+
*/
|
|
90
|
+
export function getCoinName(n) {
|
|
91
|
+
switch (getNetworkName(n)) {
|
|
92
|
+
case 'bitcoinPublicSignet':
|
|
93
|
+
return 'tbtcsig';
|
|
94
|
+
case 'bitcoinTestnet4':
|
|
95
|
+
return 'tbtc4';
|
|
96
|
+
case 'bitcoinBitGoSignet':
|
|
97
|
+
return 'tbtcbgsig';
|
|
98
|
+
case 'bitcoin':
|
|
99
|
+
case 'testnet':
|
|
100
|
+
case 'bitcoincash':
|
|
101
|
+
case 'bitcoincashTestnet':
|
|
102
|
+
case 'ecash':
|
|
103
|
+
case 'ecashTest':
|
|
104
|
+
case 'bitcoingold':
|
|
105
|
+
case 'bitcoingoldTestnet':
|
|
106
|
+
case 'bitcoinsv':
|
|
107
|
+
case 'bitcoinsvTestnet':
|
|
108
|
+
case 'dash':
|
|
109
|
+
case 'dashTest':
|
|
110
|
+
case 'dogecoin':
|
|
111
|
+
case 'dogecoinTest':
|
|
112
|
+
case 'litecoin':
|
|
113
|
+
case 'litecoinTest':
|
|
114
|
+
case 'zcash':
|
|
115
|
+
case 'zcashTest':
|
|
116
|
+
const mainnetName = getFamilyFromNetwork(n);
|
|
117
|
+
return utxolib.isTestnet(n) ? `t${mainnetName}` : mainnetName;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @deprecated - will be removed when we drop support for utxolib
|
|
122
|
+
* @param coinName - the name of the coin (e.g. 'btc', 'bch', 'ltc'). Also called 'chain' in some contexts.
|
|
123
|
+
* @returns the network for a coin. This is the mainnet network for the coin.
|
|
124
|
+
*/
|
|
125
|
+
export function getNetworkFromCoinName(coinName) {
|
|
126
|
+
for (const network of utxolib.getNetworkList()) {
|
|
127
|
+
if (getCoinName(network) === coinName) {
|
|
128
|
+
return network;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
throw new Error(`Unknown coin name ${coinName}`);
|
|
132
|
+
}
|
|
133
|
+
/** @deprecated - use getNetworkFromCoinName instead */
|
|
134
|
+
export const getNetworkFromChain = getNetworkFromCoinName;
|
|
135
|
+
function getBaseNameFromMainnet(coinName) {
|
|
136
|
+
switch (coinName) {
|
|
137
|
+
case 'btc':
|
|
138
|
+
return 'Bitcoin';
|
|
139
|
+
case 'bch':
|
|
140
|
+
return 'Bitcoin Cash';
|
|
141
|
+
case 'bcha':
|
|
142
|
+
return 'Bitcoin ABC';
|
|
143
|
+
case 'btg':
|
|
144
|
+
return 'Bitcoin Gold';
|
|
145
|
+
case 'bsv':
|
|
146
|
+
return 'Bitcoin SV';
|
|
147
|
+
case 'dash':
|
|
148
|
+
return 'Dash';
|
|
149
|
+
case 'doge':
|
|
150
|
+
return 'Dogecoin';
|
|
151
|
+
case 'ltc':
|
|
152
|
+
return 'Litecoin';
|
|
153
|
+
case 'zec':
|
|
154
|
+
return 'ZCash';
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
export function getFullNameFromCoinName(coinName) {
|
|
158
|
+
let prefix;
|
|
159
|
+
switch (coinName) {
|
|
160
|
+
case 'tbtc4':
|
|
161
|
+
prefix = 'Testnet4 ';
|
|
162
|
+
break;
|
|
163
|
+
case 'tbtcsig':
|
|
164
|
+
prefix = 'Public Signet ';
|
|
165
|
+
break;
|
|
166
|
+
case 'tbtcbgsig':
|
|
167
|
+
prefix = 'BitGo Signet ';
|
|
168
|
+
break;
|
|
169
|
+
default:
|
|
170
|
+
prefix = isUtxoCoinNameTestnet(coinName) ? 'Testnet ' : '';
|
|
171
|
+
}
|
|
172
|
+
return prefix + getBaseNameFromMainnet(getMainnetCoinName(coinName));
|
|
173
|
+
}
|
|
174
|
+
/** @deprecated - use getFullNameFromCoinName instead */
|
|
175
|
+
export function getFullNameFromNetwork(n) {
|
|
176
|
+
return getFullNameFromCoinName(getCoinName(n));
|
|
177
|
+
}
|
|
178
|
+
export function isTestnetCoin(coinName) {
|
|
179
|
+
return isUtxoCoinNameTestnet(coinName);
|
|
180
|
+
}
|
|
181
|
+
export function isMainnetCoin(coinName) {
|
|
182
|
+
return isUtxoCoinNameMainnet(coinName);
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7QUFDNUcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0NBQ0UsQ0FBQztBQU1YLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBZ0I7SUFDN0MsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssU0FBUyxD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TUFBTSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsd0RBQXdEO0FBQ3hELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxDQUFrQjtJQUN2RCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHplYycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBVdHhvQ29pbk5hbWVNYWlubmV0ID0gKHR5cGVvZiB1dHhvQ29pbnNNYWlubmV0KVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lVGVzdG5ldCA9IGB0JHtVdHhvQ29pbk5hbWVNYWlubmV0fWAgfCAndGJ0Y3NpZycgfCAndGJ0YzQnIHwgJ3RidGNiZ3NpZyc7XG5leHBvcnQgdHlwZSBVdHhvQ29pbk5hbWUgPSBVdHhvQ29pbk5hbWVNYWlubmV0IHwgVXR4b0NvaW5OYW1lVGVzdG5ldDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNNYWlubmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZU1haW5uZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWVUZXN0bmV0KGNvaW5OYW1lOiBzdHJpbmcpOiBjb2luTmFtZSBpcyBVdHhvQ29pbk5hbWVUZXN0bmV0IHtcbiAgcmV0dXJuIHV0eG9Db2luc1Rlc3RuZXQuaW5jbHVkZXMoY29pbk5hbWUgYXMgVXR4b0NvaW5OYW1lVGVzdG5ldCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZShjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSkgfHwgaXNVdHhvQ29pbk5hbWVUZXN0bmV0KGNvaW5OYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1haW5uZXRDb2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIGlmIChpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpKSB7XG4gICAgcmV0dXJuIGNvaW5OYW1lO1xuICB9XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICd0YnRjNCc6XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHJldHVybiAnYnRjJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvaW5OYW1lLnNsaWNlKDEpIGFzIFV0eG9Db2luTmFtZU1haW5uZXQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TmV0d29ya05hbWUobjogdXR4b2xpYi5OZXR3b3JrKTogdXR4b2xpYi5OZXR3b3JrTmFtZSB7XG4gIGNvbnN0IG5hbWUgPSB1dHhvbGliLmdldE5ldHdvcmtOYW1lKG4pO1xuICBpZiAoIW5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbmV0d29yaycpO1xuICB9XG4gIHJldHVybiBuYW1lO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gd2lsbCBiZSByZW1vdmVkIHdoZW4gd2UgZHJvcCBzdXBwb3J0IGZvciB1dHhvbGliXG4gKiBAcGFyYW0gblxuICogQHJldHVybnMgdGhlIGZhbWlseSBuYW1lIGZvciBhIG5ldHdvcmsuIFRlc3RuZXRzIGFuZCBtYWlubmV0cyBvZiB0aGUgc2FtZSBjb2luIHNoYXJlIHRoZSBzYW1lIGZhbWlseSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobjogdXR4b2xpYi5OZXR3b3JrKTogVXR4b0NvaW5OYW1lTWFpbm5ldCB7XG4gIHN3aXRjaCAoZ2V0TmV0d29ya05hbWUobikpIHtcbiAgICBjYXNlICdiaXRjb2luJzpcbiAgICBjYXNlICd0ZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luUHVibGljU2lnbmV0JzpcbiAgICBjYXNlICdiaXRjb2luVGVzdG5ldDQnOlxuICAgIGNhc2UgJ2JpdGNvaW5CaXRHb1NpZ25ldCc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgY2FzZSAnYml0Y29pbmNhc2gnOlxuICAgIGNhc2UgJ2JpdGNvaW5jYXNoVGVzdG5ldCc6XG4gICAgICByZXR1cm4gJ2JjaCc7XG4gICAgY2FzZSAnZWNhc2gnOlxuICAgIGNhc2UgJ2VjYXNoVGVzdCc6XG4gICAgICByZXR1cm4gJ2JjaGEnO1xuICAgIGNhc2UgJ2JpdGNvaW5nb2xkJzpcbiAgICBjYXNlICdiaXRjb2luZ29sZFRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdidGcnO1xuICAgIGNhc2UgJ2JpdGNvaW5zdic6XG4gICAgY2FzZSAnYml0Y29pbnN2VGVzdG5ldCc6XG4gICAgICByZXR1cm4gJ2Jzdic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZGFzaFRlc3QnOlxuICAgICAgcmV0dXJuICdkYXNoJztcbiAgICBjYXNlICdkb2dlY29pbic6XG4gICAgY2FzZSAnZG9nZWNvaW5UZXN0JzpcbiAgICAgIHJldHVybiAnZG9nZSc7XG4gICAgY2FzZSAnbGl0ZWNvaW4nOlxuICAgIGNhc2UgJ2xpdGVjb2luVGVzdCc6XG4gICAgICByZXR1cm4gJ2x0Yyc7XG4gICAgY2FzZSAnemNhc2gnOlxuICAgIGNhc2UgJ3pjYXNoVGVzdCc6XG4gICAgICByZXR1cm4gJ3plYyc7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIHdlIGRyb3Agc3VwcG9ydCBmb3IgdXR4b2xpYlxuICogR2V0IHRoZSBjaGFpbiBuYW1lIGZvciBhIG5ldHdvcmsuXG4gKiBUaGUgY2hhaW4gaXMgZGlmZmVyZW50IGZvciBldmVyeSBuZXR3b3JrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29pbk5hbWUobjogdXR4b2xpYi5OZXR3b3JrKTogVXR4b0NvaW5OYW1lIHtcbiAgc3dpdGNoIChnZXROZXR3b3JrTmFtZShuKSkge1xuICAgIGNhc2UgJ2JpdGNvaW5QdWJsaWNTaWduZXQnOlxuICAgICAgcmV0dXJuICd0YnRjc2lnJztcbiAgICBjYXNlICdiaXRjb2luVGVzdG5ldDQnOlxuICAgICAgcmV0dXJuICd0YnRjNCc7XG4gICAgY2FzZSAnYml0Y29pbkJpdEdvU2lnbmV0JzpcbiAgICAgIHJldHVybiAndGJ0Y2Jnc2lnJztcbiAgICBjYXNlICdiaXRjb2luJzpcbiAgICBjYXNlICd0ZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luY2FzaCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2hUZXN0bmV0JzpcbiAgICBjYXNlICdlY2FzaCc6XG4gICAgY2FzZSAnZWNhc2hUZXN0JzpcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2Rhc2hUZXN0JzpcbiAgICBjYXNlICdkb2dlY29pbic6XG4gICAgY2FzZSAnZG9nZWNvaW5UZXN0JzpcbiAgICBjYXNlICdsaXRlY29pbic6XG4gICAgY2FzZSAnbGl0ZWNvaW5UZXN0JzpcbiAgICBjYXNlICd6Y2FzaCc6XG4gICAgY2FzZSAnemNhc2hUZXN0JzpcbiAgICAgIGNvbnN0IG1haW5uZXROYW1lID0gZ2V0RmFtaWx5RnJvbU5ldHdvcmsobik7XG4gICAgICByZXR1cm4gdXR4b2xpYi5pc1Rlc3RuZXQobikgPyBgdCR7bWFpbm5ldE5hbWV9YCA6IG1haW5uZXROYW1lO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB3aWxsIGJlIHJlbW92ZWQgd2hlbiB3ZSBkcm9wIHN1cHBvcnQgZm9yIHV0eG9saWJcbiAqIEBwYXJhbSBjb2luTmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBjb2luIChlLmcuICdidGMnLCAnYmNoJywgJ2x0YycpLiBBbHNvIGNhbGxlZCAnY2hhaW4nIGluIHNvbWUgY29udGV4dHMuXG4gKiBAcmV0dXJucyB0aGUgbmV0d29yayBmb3IgYSBjb2luLiBUaGlzIGlzIHRoZSBtYWlubmV0IG5ldHdvcmsgZm9yIHRoZSBjb2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZTogc3RyaW5nKTogdXR4b2xpYi5OZXR3b3JrIHtcbiAgZm9yIChjb25zdCBuZXR3b3JrIG9mIHV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKSkge1xuICAgIGlmIChnZXRDb2luTmFtZShuZXR3b3JrKSA9PT0gY29pbk5hbWUpIHtcbiAgICAgIHJldHVybiBuZXR3b3JrO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29pbiBuYW1lICR7Y29pbk5hbWV9YCk7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAtIHVzZSBnZXROZXR3b3JrRnJvbUNvaW5OYW1lIGluc3RlYWQgKi9cbmV4cG9ydCBjb25zdCBnZXROZXR3b3JrRnJvbUNoYWluID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZTtcblxuZnVuY3Rpb24gZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChjb2luTmFtZTogVXR4b0NvaW5OYW1lTWFpbm5ldCk6IHN0cmluZyB7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgICAgcmV0dXJuICdCaXRjb2luJztcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIENhc2gnO1xuICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIEFCQyc7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBHb2xkJztcbiAgICBjYXNlICdic3YnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIFNWJztcbiAgICBjYXNlICdkYXNoJzpcbiAgICAgIHJldHVybiAnRGFzaCc7XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgICByZXR1cm4gJ0RvZ2Vjb2luJztcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuICdMaXRlY29pbic7XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiAnWkNhc2gnO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgbGV0IHByZWZpeDogc3RyaW5nO1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgICAgcHJlZml4ID0gJ1Rlc3RuZXQ0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjc2lnJzpcbiAgICAgIHByZWZpeCA9ICdQdWJsaWMgU2lnbmV0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjYmdzaWcnOlxuICAgICAgcHJlZml4ID0gJ0JpdEdvIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHByZWZpeCA9IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSkgPyAnVGVzdG5ldCAnIDogJyc7XG4gIH1cblxuICByZXR1cm4gcHJlZml4ICsgZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWUpKTtcbn1cblxuLyoqIEBkZXByZWNhdGVkIC0gdXNlIGdldEZ1bGxOYW1lRnJvbUNvaW5OYW1lIGluc3RlYWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21OZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShnZXRDb2luTmFtZShuKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { bip32 } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { UtxoCoinName } from '../names';
|
|
3
|
+
export type OfflineVaultHalfSigned = {
|
|
4
|
+
halfSigned: {
|
|
5
|
+
txHex: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare function createHalfSigned(coinName: UtxoCoinName, prv: string | bip32.BIP32Interface, derivationId: string, tx: unknown): OfflineVaultHalfSigned;
|
|
9
|
+
//# sourceMappingURL=OfflineVaultHalfSigned.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAQ,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,EAClC,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,OAAO,GACV,sBAAsB,CAUxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { deriveKeyWithSeed } from '../deriveKeyWithSeed';
|
|
3
|
+
import { OfflineVaultSignable } from './OfflineVaultSignable';
|
|
4
|
+
import { DescriptorTransaction, getHalfSignedPsbt } from './descriptor';
|
|
5
|
+
function createHalfSignedFromPsbt(psbt) {
|
|
6
|
+
return { halfSigned: { txHex: Buffer.from(psbt.serialize()).toString('hex') } };
|
|
7
|
+
}
|
|
8
|
+
export function createHalfSigned(coinName, prv, derivationId, tx) {
|
|
9
|
+
const wasmKey = typeof prv === 'string' ? BIP32.fromBase58(prv) : BIP32.fromBase58(prv.toBase58());
|
|
10
|
+
const derivedKey = deriveKeyWithSeed(wasmKey, derivationId).key;
|
|
11
|
+
if (!OfflineVaultSignable.is(tx)) {
|
|
12
|
+
throw new Error('unsupported transaction type');
|
|
13
|
+
}
|
|
14
|
+
if (DescriptorTransaction.is(tx)) {
|
|
15
|
+
return createHalfSignedFromPsbt(getHalfSignedPsbt(tx, derivedKey, coinName));
|
|
16
|
+
}
|
|
17
|
+
throw new Error('unsupported transaction type');
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTXhFLFNBQVMsd0JBQXdCLENBQUMsSUFBVTtJQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNsRixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixRQUFzQixFQUN0QixHQUFrQyxFQUNsQyxZQUFvQixFQUNwQixFQUFXO0lBRVgsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDaEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMiwgYmlwMzIsIFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgZGVyaXZlS2V5V2l0aFNlZWQgfSBmcm9tICcuLi9kZXJpdmVLZXlXaXRoU2VlZCc7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmltcG9ydCB7IE9mZmxpbmVWYXVsdFNpZ25hYmxlIH0gZnJvbSAnLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sIGdldEhhbGZTaWduZWRQc2J0IH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgT2ZmbGluZVZhdWx0SGFsZlNpZ25lZCA9IHtcbiAgaGFsZlNpZ25lZDogeyB0eEhleDogc3RyaW5nIH07XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVIYWxmU2lnbmVkRnJvbVBzYnQocHNidDogUHNidCk6IE9mZmxpbmVWYXVsdEhhbGZTaWduZWQge1xuICByZXR1cm4geyBoYWxmU2lnbmVkOiB7IHR4SGV4OiBCdWZmZXIuZnJvbShwc2J0LnNlcmlhbGl6ZSgpKS50b1N0cmluZygnaGV4JykgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGFsZlNpZ25lZChcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcHJ2OiBzdHJpbmcgfCBiaXAzMi5CSVAzMkludGVyZmFjZSxcbiAgZGVyaXZhdGlvbklkOiBzdHJpbmcsXG4gIHR4OiB1bmtub3duXG4pOiBPZmZsaW5lVmF1bHRIYWxmU2lnbmVkIHtcbiAgY29uc3Qgd2FzbUtleSA9IHR5cGVvZiBwcnYgPT09ICdzdHJpbmcnID8gQklQMzIuZnJvbUJhc2U1OChwcnYpIDogQklQMzIuZnJvbUJhc2U1OChwcnYudG9CYXNlNTgoKSk7XG4gIGNvbnN0IGRlcml2ZWRLZXkgPSBkZXJpdmVLZXlXaXRoU2VlZCh3YXNtS2V5LCBkZXJpdmF0aW9uSWQpLmtleTtcbiAgaWYgKCFPZmZsaW5lVmF1bHRTaWduYWJsZS5pcyh0eCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgfVxuICBpZiAoRGVzY3JpcHRvclRyYW5zYWN0aW9uLmlzKHR4KSkge1xuICAgIHJldHVybiBjcmVhdGVIYWxmU2lnbmVkRnJvbVBzYnQoZ2V0SGFsZlNpZ25lZFBzYnQodHgsIGRlcml2ZWRLZXksIGNvaW5OYW1lKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { Triple } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import * as t from 'io-ts';
|
|
4
|
+
export declare const XPubWithDerivationPath: t.IntersectionC<[t.TypeC<{
|
|
5
|
+
xpub: t.StringC;
|
|
6
|
+
}>, t.PartialC<{
|
|
7
|
+
derivedFromParentWithSeed: t.StringC;
|
|
8
|
+
}>]>;
|
|
9
|
+
export type XPubWithDerivationPath = t.TypeOf<typeof XPubWithDerivationPath>;
|
|
10
|
+
/**
|
|
11
|
+
* This is the transaction payload that is sent to the offline vault to sign.
|
|
12
|
+
*/
|
|
13
|
+
export declare const OfflineVaultSignable: t.TypeC<{
|
|
14
|
+
xpubsWithDerivationPath: t.TypeC<{
|
|
15
|
+
user: t.IntersectionC<[t.TypeC<{
|
|
16
|
+
xpub: t.StringC;
|
|
17
|
+
}>, t.PartialC<{
|
|
18
|
+
derivedFromParentWithSeed: t.StringC;
|
|
19
|
+
}>]>;
|
|
20
|
+
backup: t.IntersectionC<[t.TypeC<{
|
|
21
|
+
xpub: t.StringC;
|
|
22
|
+
}>, t.PartialC<{
|
|
23
|
+
derivedFromParentWithSeed: t.StringC;
|
|
24
|
+
}>]>;
|
|
25
|
+
bitgo: t.IntersectionC<[t.TypeC<{
|
|
26
|
+
xpub: t.StringC;
|
|
27
|
+
}>, t.PartialC<{
|
|
28
|
+
derivedFromParentWithSeed: t.StringC;
|
|
29
|
+
}>]>;
|
|
30
|
+
}>;
|
|
31
|
+
coinSpecific: t.TypeC<{
|
|
32
|
+
txHex: t.StringC;
|
|
33
|
+
}>;
|
|
34
|
+
}>;
|
|
35
|
+
export type OfflineVaultUnsigned = t.TypeOf<typeof OfflineVaultSignable>;
|
|
36
|
+
type WithXpub = {
|
|
37
|
+
xpub: string;
|
|
38
|
+
};
|
|
39
|
+
type NamedKeys = {
|
|
40
|
+
user: WithXpub;
|
|
41
|
+
backup: WithXpub;
|
|
42
|
+
bitgo: WithXpub;
|
|
43
|
+
};
|
|
44
|
+
export declare function toKeyTriple(xpubs: NamedKeys): Triple<BIP32>;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=OfflineVaultSignable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OfflineVaultSignable.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultSignable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;IAGlC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACjC,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAE3D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
|
+
import * as t from 'io-ts';
|
|
3
|
+
export const XPubWithDerivationPath = t.intersection([t.type({ xpub: t.string }), t.partial({ derivedFromParentWithSeed: t.string })], 'XPubWithDerivationPath');
|
|
4
|
+
/**
|
|
5
|
+
* This is the transaction payload that is sent to the offline vault to sign.
|
|
6
|
+
*/
|
|
7
|
+
export const OfflineVaultSignable = t.type({
|
|
8
|
+
xpubsWithDerivationPath: t.type({
|
|
9
|
+
user: XPubWithDerivationPath,
|
|
10
|
+
backup: XPubWithDerivationPath,
|
|
11
|
+
bitgo: XPubWithDerivationPath,
|
|
12
|
+
}),
|
|
13
|
+
coinSpecific: t.type({ txHex: t.string }),
|
|
14
|
+
}, 'BaseTransaction');
|
|
15
|
+
export function toKeyTriple(xpubs) {
|
|
16
|
+
return [BIP32.fromBase58(xpubs.user.xpub), BIP32.fromBase58(xpubs.backup.xpub), BIP32.fromBase58(xpubs.bitgo.xpub)];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0U2lnbmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L09mZmxpbmVWYXVsdFNpZ25hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2hGLHdCQUF3QixDQUN6QixDQUFDO0FBSUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QztJQUNFLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLEtBQUssRUFBRSxzQkFBc0I7S0FDOUIsQ0FBQztJQUNGLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUMxQyxFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBTUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFnQjtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzIgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgY29uc3QgWFB1YldpdGhEZXJpdmF0aW9uUGF0aCA9IHQuaW50ZXJzZWN0aW9uKFxuICBbdC50eXBlKHsgeHB1YjogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ6IHQuc3RyaW5nIH0pXSxcbiAgJ1hQdWJXaXRoRGVyaXZhdGlvblBhdGgnXG4pO1xuXG5leHBvcnQgdHlwZSBYUHViV2l0aERlcml2YXRpb25QYXRoID0gdC5UeXBlT2Y8dHlwZW9mIFhQdWJXaXRoRGVyaXZhdGlvblBhdGg+O1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIHRyYW5zYWN0aW9uIHBheWxvYWQgdGhhdCBpcyBzZW50IHRvIHRoZSBvZmZsaW5lIHZhdWx0IHRvIHNpZ24uXG4gKi9cbmV4cG9ydCBjb25zdCBPZmZsaW5lVmF1bHRTaWduYWJsZSA9IHQudHlwZShcbiAge1xuICAgIHhwdWJzV2l0aERlcml2YXRpb25QYXRoOiB0LnR5cGUoe1xuICAgICAgdXNlcjogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICAgIGJhY2t1cDogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICAgIGJpdGdvOiBYUHViV2l0aERlcml2YXRpb25QYXRoLFxuICAgIH0pLFxuICAgIGNvaW5TcGVjaWZpYzogdC50eXBlKHsgdHhIZXg6IHQuc3RyaW5nIH0pLFxuICB9LFxuICAnQmFzZVRyYW5zYWN0aW9uJ1xuKTtcblxuZXhwb3J0IHR5cGUgT2ZmbGluZVZhdWx0VW5zaWduZWQgPSB0LlR5cGVPZjx0eXBlb2YgT2ZmbGluZVZhdWx0U2lnbmFibGU+O1xuXG50eXBlIFdpdGhYcHViID0geyB4cHViOiBzdHJpbmcgfTtcbnR5cGUgTmFtZWRLZXlzID0geyB1c2VyOiBXaXRoWHB1YjsgYmFja3VwOiBXaXRoWHB1YjsgYml0Z286IFdpdGhYcHViIH07XG5leHBvcnQgZnVuY3Rpb24gdG9LZXlUcmlwbGUoeHB1YnM6IE5hbWVkS2V5cyk6IFRyaXBsZTxCSVAzMj4ge1xuICByZXR1cm4gW0JJUDMyLmZyb21CYXNlNTgoeHB1YnMudXNlci54cHViKSwgQklQMzIuZnJvbUJhc2U1OCh4cHVicy5iYWNrdXAueHB1YiksIEJJUDMyLmZyb21CYXNlNTgoeHB1YnMuYml0Z28ueHB1YildO1xufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { UtxoCoinName } from '../names';
|
|
2
|
+
export interface ExplanationOutput {
|
|
3
|
+
address: string;
|
|
4
|
+
amount: string | number;
|
|
5
|
+
}
|
|
6
|
+
export interface TransactionExplanation<TFee> {
|
|
7
|
+
outputs: ExplanationOutput[];
|
|
8
|
+
changeOutputs: ExplanationOutput[];
|
|
9
|
+
fee: {
|
|
10
|
+
fee: TFee;
|
|
11
|
+
payGoFeeString: string | number | undefined;
|
|
12
|
+
payGoFeeAddress: string | undefined;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function getTransactionExplanation(coinName: UtxoCoinName, tx: unknown): TransactionExplanation<string>;
|
|
16
|
+
//# sourceMappingURL=TransactionExplanation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionExplanation.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/TransactionExplanation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI;IAC1C,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,GAAG,EAAE;QAEH,GAAG,EAAE,IAAI,CAAC;QACV,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC5C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAS7G"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OfflineVaultSignable } from './OfflineVaultSignable';
|
|
2
|
+
import { DescriptorTransaction, getTransactionExplanationFromPsbt } from './descriptor';
|
|
3
|
+
export function getTransactionExplanation(coinName, tx) {
|
|
4
|
+
if (!OfflineVaultSignable.is(tx)) {
|
|
5
|
+
throw new Error('not a signable transaction');
|
|
6
|
+
}
|
|
7
|
+
if (DescriptorTransaction.is(tx)) {
|
|
8
|
+
return getTransactionExplanationFromPsbt(tx, coinName);
|
|
9
|
+
}
|
|
10
|
+
throw new Error('unsupported transaction type');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFrQnhGLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxRQUFzQixFQUFFLEVBQVc7SUFDM0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLGlDQUFpQyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmltcG9ydCB7IE9mZmxpbmVWYXVsdFNpZ25hYmxlIH0gZnJvbSAnLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidCB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25PdXRwdXQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb248VEZlZT4ge1xuICBvdXRwdXRzOiBFeHBsYW5hdGlvbk91dHB1dFtdO1xuICBjaGFuZ2VPdXRwdXRzOiBFeHBsYW5hdGlvbk91dHB1dFtdO1xuICBmZWU6IHtcbiAgICAvKiBuZXR3b3JrIGZlZSAqL1xuICAgIGZlZTogVEZlZTtcbiAgICBwYXlHb0ZlZVN0cmluZzogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHBheUdvRmVlQWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbihjb2luTmFtZTogVXR4b0NvaW5OYW1lLCB0eDogdW5rbm93bik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb248c3RyaW5nPiB7XG4gIGlmICghT2ZmbGluZVZhdWx0U2lnbmFibGUuaXModHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgYSBzaWduYWJsZSB0cmFuc2FjdGlvbicpO1xuICB9XG4gIGlmIChEZXNjcmlwdG9yVHJhbnNhY3Rpb24uaXModHgpKSB7XG4gICAgcmV0dXJuIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidCh0eCwgY29pbk5hbWUpO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './transaction';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
import { bip32, Psbt } from '@bitgo/wasm-utxo';
|
|
3
|
+
import { DescriptorMap } from '../../descriptor';
|
|
4
|
+
import { TransactionExplanation } from '../TransactionExplanation';
|
|
5
|
+
import { UtxoCoinName } from '../../names';
|
|
6
|
+
export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
|
|
7
|
+
xpubsWithDerivationPath: t.TypeC<{
|
|
8
|
+
user: t.IntersectionC<[t.TypeC<{
|
|
9
|
+
xpub: t.StringC;
|
|
10
|
+
}>, t.PartialC<{
|
|
11
|
+
derivedFromParentWithSeed: t.StringC;
|
|
12
|
+
}>]>;
|
|
13
|
+
backup: t.IntersectionC<[t.TypeC<{
|
|
14
|
+
xpub: t.StringC;
|
|
15
|
+
}>, t.PartialC<{
|
|
16
|
+
derivedFromParentWithSeed: t.StringC;
|
|
17
|
+
}>]>;
|
|
18
|
+
bitgo: t.IntersectionC<[t.TypeC<{
|
|
19
|
+
xpub: t.StringC;
|
|
20
|
+
}>, t.PartialC<{
|
|
21
|
+
derivedFromParentWithSeed: t.StringC;
|
|
22
|
+
}>]>;
|
|
23
|
+
}>;
|
|
24
|
+
coinSpecific: t.TypeC<{
|
|
25
|
+
txHex: t.StringC;
|
|
26
|
+
}>;
|
|
27
|
+
}>, t.TypeC<{
|
|
28
|
+
descriptors: t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
29
|
+
name: t.StringC;
|
|
30
|
+
value: t.StringC;
|
|
31
|
+
}>, t.PartialC<{
|
|
32
|
+
signatures: t.UnionC<[t.ArrayC<t.StringC>, t.UndefinedC]>;
|
|
33
|
+
}>]>>;
|
|
34
|
+
}>]>;
|
|
35
|
+
export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
|
|
36
|
+
export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
|
|
37
|
+
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: bip32.BIP32Interface, coinName: UtxoCoinName): Psbt;
|
|
38
|
+
export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, coinName: UtxoCoinName): TransactionExplanation<string>;
|
|
39
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,wBAAgB,uCAAuC,CAAC,EAAE,EAAE,qBAAqB,GAAG,aAAa,CAUhG;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAKpH;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAAC,MAAM,CAAC,CAehC"}
|