@bitgo/abstract-utxo 10.16.0 → 10.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/abstractUtxoCoin.d.ts +9 -13
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +28 -14
- package/dist/cjs/src/address/fixedScript.d.ts +4 -9
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
- package/dist/cjs/src/address/fixedScript.js +18 -50
- package/dist/cjs/src/descriptor/NamedDescriptor.d.ts +4 -5
- package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/NamedDescriptor.js +4 -6
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -38
- package/dist/cjs/src/descriptor/builder/builder.d.ts +2 -3
- package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/builder/builder.js +1 -1
- package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/builder/parse.js +3 -3
- package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts +2 -2
- package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +1 -1
- package/dist/cjs/src/descriptor/descriptorWallet.d.ts +1 -1
- package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/descriptorWallet.js +1 -1
- package/dist/cjs/src/descriptor/index.d.ts +1 -1
- package/dist/cjs/src/descriptor/index.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/index.js +1 -1
- package/dist/cjs/src/descriptor/validatePolicy.d.ts +3 -3
- package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/validatePolicy.js +3 -3
- package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
- package/dist/cjs/src/impl/bch/bch.js +6 -38
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts +15 -5
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -1
- package/dist/cjs/src/impl/btc/inscriptionBuilder.js +43 -55
- package/dist/cjs/src/impl/doge/doge.d.ts +2 -1
- package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -1
- package/dist/cjs/src/impl/doge/doge.js +1 -1
- package/dist/cjs/src/impl/ltc/ltc.d.ts +0 -1
- package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -1
- package/dist/cjs/src/impl/ltc/ltc.js +3 -41
- package/dist/cjs/src/impl/ltc/tltc.d.ts +0 -1
- package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -1
- package/dist/cjs/src/impl/ltc/tltc.js +3 -40
- package/dist/cjs/src/index.d.ts +2 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +3 -1
- package/dist/cjs/src/keychains.d.ts +5 -0
- package/dist/cjs/src/keychains.d.ts.map +1 -1
- package/dist/cjs/src/keychains.js +10 -1
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +2 -2
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +3 -2
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/descriptor/transaction.js +5 -8
- package/dist/cjs/src/recovery/RecoveryProvider.d.ts +1 -3
- package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -1
- package/dist/cjs/src/recovery/RecoveryProvider.js +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +73 -4
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.js +163 -129
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts +5 -5
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.js +22 -121
- package/dist/cjs/src/recovery/psbt.d.ts +8 -31
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -1
- package/dist/cjs/src/recovery/psbt.js +14 -126
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +3 -3
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +17 -54
- package/dist/cjs/src/transaction/descriptor/index.d.ts +1 -1
- package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/index.js +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.d.ts +6 -4
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.js +24 -50
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +6 -7
- package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/signPsbt.js +19 -18
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +4 -4
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +10 -38
- package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/explainTransaction.js +3 -2
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +5 -3
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/SigningError.js +10 -2
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +1 -8
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +8 -12
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +2 -2
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +36 -11
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +4 -2
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +3 -2
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +15 -25
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +6 -5
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +42 -7
- package/dist/cjs/src/transaction/outputDifference.d.ts +5 -1
- package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -1
- package/dist/cjs/src/transaction/outputDifference.js +6 -2
- package/dist/cjs/src/transaction/recipient.d.ts +5 -0
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
- package/dist/cjs/src/transaction/recipient.js +14 -1
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/signTransaction.js +10 -10
- package/dist/cjs/src/unspent.d.ts +55 -0
- package/dist/cjs/src/unspent.d.ts.map +1 -0
- package/dist/cjs/src/unspent.js +12 -0
- package/dist/cjs/src/wasmUtil.d.ts +29 -0
- package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
- package/dist/cjs/src/wasmUtil.js +87 -0
- package/dist/cjs/test/unit/address.d.ts +1 -1
- package/dist/cjs/test/unit/address.d.ts.map +1 -1
- package/dist/cjs/test/unit/address.js +107 -137
- package/dist/cjs/test/unit/bip322.js +50 -1
- package/dist/cjs/test/unit/coins.js +7 -2
- package/dist/cjs/test/unit/customSigner.js +5 -4
- package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +37 -4
- package/dist/cjs/test/unit/descriptor/builder.js +10 -4
- package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +37 -4
- package/dist/cjs/test/unit/descriptor/descriptorWallet.js +40 -6
- package/dist/cjs/test/unit/descriptorAddress.d.ts +2 -2
- package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
- package/dist/cjs/test/unit/descriptorAddress.js +10 -9
- package/dist/cjs/test/unit/explainTransaction.js +26 -3
- package/dist/cjs/test/unit/keychains.js +40 -1
- 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 +62 -0
- package/dist/cjs/test/unit/prebuildAndSign.d.ts +0 -4
- package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -1
- package/dist/cjs/test/unit/prebuildAndSign.js +12 -31
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +82 -258
- 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.js +41 -37
- 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 +186 -0
- package/dist/cjs/test/unit/recovery/mock.d.ts +15 -8
- package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
- package/dist/cjs/test/unit/recovery/mock.js +50 -77
- 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 +244 -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.js +46 -12
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -1
- package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +38 -4
- package/dist/cjs/test/unit/transaction/descriptor/parse.js +22 -19
- package/dist/cjs/test/unit/transaction/descriptor/sign.js +60 -16
- package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +43 -10
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +2 -2
- 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.js +8 -226
- package/dist/cjs/test/unit/txFormat.d.ts.map +1 -1
- package/dist/cjs/test/unit/txFormat.js +9 -9
- 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/index.d.ts +3 -0
- package/dist/cjs/test/unit/util/index.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/index.js +4 -1
- package/dist/cjs/test/unit/util/keychains.d.ts +29 -0
- package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/keychains.js +51 -1
- package/dist/cjs/test/unit/util/nockBitGo.d.ts +8 -1
- package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/nockBitGo.js +17 -1
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/nockIndexerAPI.js +4 -37
- 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 +8 -4
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/transaction.js +22 -2
- package/dist/cjs/test/unit/util/unspents.d.ts +66 -8
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/unspents.js +130 -15
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +13 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/utxoCoins.js +33 -2
- package/dist/cjs/test/unit/wallet.js +4 -4
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +9 -13
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +30 -16
- package/dist/esm/address/fixedScript.d.ts +4 -9
- package/dist/esm/address/fixedScript.d.ts.map +1 -1
- package/dist/esm/address/fixedScript.js +18 -17
- package/dist/esm/descriptor/NamedDescriptor.d.ts +4 -5
- package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -1
- package/dist/esm/descriptor/NamedDescriptor.js +5 -7
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
- package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -5
- package/dist/esm/descriptor/builder/builder.d.ts +2 -3
- package/dist/esm/descriptor/builder/builder.d.ts.map +1 -1
- package/dist/esm/descriptor/builder/builder.js +1 -1
- package/dist/esm/descriptor/builder/parse.d.ts.map +1 -1
- package/dist/esm/descriptor/builder/parse.js +3 -3
- package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +2 -2
- package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
- package/dist/esm/descriptor/createWallet/createDescriptors.js +1 -1
- package/dist/esm/descriptor/descriptorWallet.d.ts +1 -1
- package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -1
- package/dist/esm/descriptor/descriptorWallet.js +1 -1
- package/dist/esm/descriptor/index.d.ts +1 -1
- package/dist/esm/descriptor/index.d.ts.map +1 -1
- package/dist/esm/descriptor/index.js +1 -1
- package/dist/esm/descriptor/validatePolicy.d.ts +3 -3
- package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -1
- package/dist/esm/descriptor/validatePolicy.js +3 -3
- package/dist/esm/impl/bch/bch.d.ts.map +1 -1
- package/dist/esm/impl/bch/bch.js +6 -5
- package/dist/esm/impl/btc/inscriptionBuilder.d.ts +15 -5
- package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -1
- package/dist/esm/impl/btc/inscriptionBuilder.js +44 -23
- package/dist/esm/impl/doge/doge.d.ts +2 -1
- package/dist/esm/impl/doge/doge.d.ts.map +1 -1
- package/dist/esm/impl/doge/doge.js +1 -1
- package/dist/esm/impl/ltc/ltc.d.ts +0 -1
- package/dist/esm/impl/ltc/ltc.d.ts.map +1 -1
- package/dist/esm/impl/ltc/ltc.js +3 -8
- package/dist/esm/impl/ltc/tltc.d.ts +0 -1
- package/dist/esm/impl/ltc/tltc.d.ts.map +1 -1
- package/dist/esm/impl/ltc/tltc.js +3 -7
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/keychains.d.ts +5 -0
- package/dist/esm/keychains.d.ts.map +1 -1
- package/dist/esm/keychains.js +9 -1
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +2 -2
- package/dist/esm/offlineVault/descriptor/transaction.d.ts +3 -2
- package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/esm/offlineVault/descriptor/transaction.js +5 -8
- package/dist/esm/recovery/RecoveryProvider.d.ts +1 -3
- package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -1
- package/dist/esm/recovery/RecoveryProvider.js +1 -1
- package/dist/esm/recovery/backupKeyRecovery.d.ts +73 -4
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/backupKeyRecovery.js +165 -100
- package/dist/esm/recovery/crossChainRecovery.d.ts +5 -5
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/crossChainRecovery.js +24 -90
- package/dist/esm/recovery/psbt.d.ts +8 -31
- package/dist/esm/recovery/psbt.d.ts.map +1 -1
- package/dist/esm/recovery/psbt.js +14 -91
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +3 -3
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/explainPsbt.js +14 -18
- package/dist/esm/transaction/descriptor/index.d.ts +1 -1
- package/dist/esm/transaction/descriptor/index.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/index.js +1 -1
- package/dist/esm/transaction/descriptor/parse.d.ts +6 -4
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parse.js +22 -15
- package/dist/esm/transaction/descriptor/signPsbt.d.ts +6 -7
- package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/signPsbt.js +19 -18
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +4 -4
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +10 -5
- package/dist/esm/transaction/explainTransaction.d.ts +2 -1
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/explainTransaction.js +3 -2
- package/dist/esm/transaction/fixedScript/SigningError.d.ts +5 -3
- package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/SigningError.js +8 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +2 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.js +1 -8
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseOutput.js +8 -12
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +2 -2
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.js +36 -11
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +4 -2
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +3 -2
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +14 -24
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +6 -5
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +10 -8
- package/dist/esm/transaction/outputDifference.d.ts +5 -1
- package/dist/esm/transaction/outputDifference.d.ts.map +1 -1
- package/dist/esm/transaction/outputDifference.js +5 -2
- package/dist/esm/transaction/recipient.d.ts +5 -0
- package/dist/esm/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +13 -1
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/signTransaction.js +10 -10
- package/dist/esm/unspent.d.ts +55 -0
- package/dist/esm/unspent.d.ts.map +1 -0
- package/dist/esm/unspent.js +8 -0
- package/dist/esm/wasmUtil.d.ts +29 -0
- package/dist/esm/wasmUtil.d.ts.map +1 -0
- package/dist/esm/wasmUtil.js +47 -0
- package/package.json +13 -14
- package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +0 -2
- package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +0 -1
- package/dist/cjs/test/unit/impl/btc/unit/btc.js +0 -220
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +0 -4
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +0 -1
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +0 -10
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +0 -2
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +0 -1
- package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +0 -18
- package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +0 -2
- package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +0 -1
- package/dist/cjs/test/unit/impl/ltc/unit/index.js +0 -39
- package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +0 -1
- package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +0 -76
- /package/dist/cjs/test/unit/transaction/{descriptor/outputDifference.d.ts → outputDifference.d.ts} +0 -0
package/dist/esm/keychains.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as t from 'io-ts';
|
|
|
2
2
|
import { bitgo } from '@bitgo/utxo-lib';
|
|
3
3
|
import { BIP32Interface } from '@bitgo/secp256k1';
|
|
4
4
|
import { IRequestTracer, IWallet, Triple } from '@bitgo/sdk-core';
|
|
5
|
+
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
5
6
|
import { AbstractUtxoCoin } from './abstractUtxoCoin';
|
|
6
7
|
import { UtxoWallet } from './wallet';
|
|
7
8
|
/**
|
|
@@ -43,6 +44,10 @@ export declare function toXpubTriple(keychains: UtxoNamedKeychains | Triple<{
|
|
|
43
44
|
pub: string;
|
|
44
45
|
}> | Triple<string> | Triple<BIP32Interface>): Triple<string>;
|
|
45
46
|
export declare function fetchKeychains(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<UtxoNamedKeychains>;
|
|
47
|
+
/**
|
|
48
|
+
* Fetch wallet keys as wasm-utxo RootWalletKeys
|
|
49
|
+
*/
|
|
50
|
+
export declare function fetchWasmRootWalletKeys(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<fixedScriptWallet.RootWalletKeys>;
|
|
46
51
|
export declare const KeySignatures: t.PartialC<{
|
|
47
52
|
backupPub: t.StringC;
|
|
48
53
|
bitgoPub: t.StringC;
|
|
@@ -1 +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,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAS,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,OAAO,EAA4B,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
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,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAS,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,OAAO,EAA4B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,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,cAAc,CAAC,CAexB;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,cAAc,CAAC,GAChG,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"}
|
package/dist/esm/keychains.js
CHANGED
|
@@ -3,6 +3,7 @@ import * as t from 'io-ts';
|
|
|
3
3
|
import { bitgo } from '@bitgo/utxo-lib';
|
|
4
4
|
import { bip32 } from '@bitgo/secp256k1';
|
|
5
5
|
import { KeyIndices, promiseProps } from '@bitgo/sdk-core';
|
|
6
|
+
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
6
7
|
/*
|
|
7
8
|
|
|
8
9
|
The standard Keychain type from sdk-core requires a bunch of uninteresting parameters like `id` and `type` and leaves
|
|
@@ -79,6 +80,13 @@ export async function fetchKeychains(coin, wallet, reqId) {
|
|
|
79
80
|
assert(UtxoNamedKeychains.is(result));
|
|
80
81
|
return result;
|
|
81
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Fetch wallet keys as wasm-utxo RootWalletKeys
|
|
85
|
+
*/
|
|
86
|
+
export async function fetchWasmRootWalletKeys(coin, wallet, reqId) {
|
|
87
|
+
const keychains = await fetchKeychains(coin, wallet, reqId);
|
|
88
|
+
return fixedScriptWallet.RootWalletKeys.from([keychains.user.pub, keychains.backup.pub, keychains.bitgo.pub]);
|
|
89
|
+
}
|
|
82
90
|
export const KeySignatures = t.partial({
|
|
83
91
|
backupPub: t.string,
|
|
84
92
|
bitgoPub: t.string,
|
|
@@ -89,4 +97,4 @@ export function getKeySignatures(wallet) {
|
|
|
89
97
|
}
|
|
90
98
|
return undefined;
|
|
91
99
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBa0IsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUEyQixVQUFVLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFLNUY7Ozs7OztHQU1HO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDeEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2QsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDYixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDdkIsQ0FBQztDQUNILEVBQ0QsY0FBYyxDQUNmLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxZQUFZO0NBQ3BCLENBQUMsQ0FBQztBQUlILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUE2QjtJQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDMUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLFNBQXlG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RSxDQUFDO0tBQzlFLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDckMsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ25CLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNuQixDQUFDLENBQUM7QUFJSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBa0I7SUFDakQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgYml0Z28gfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UsIGJpcDMyIH0gZnJvbSAnQGJpdGdvL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBJUmVxdWVzdFRyYWNlciwgSVdhbGxldCwgS2V5SW5kaWNlcywgcHJvbWlzZVByb3BzLCBUcmlwbGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luIH0gZnJvbSAnLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IFV0eG9XYWxsZXQgfSBmcm9tICcuL3dhbGxldCc7XG5cbi8qXG5cblRoZSBzdGFuZGFyZCBLZXljaGFpbiB0eXBlIGZyb20gc2RrLWNvcmUgcmVxdWlyZXMgYSBidW5jaCBvZiB1bmludGVyZXN0aW5nIHBhcmFtZXRlcnMgbGlrZSBgaWRgIGFuZCBgdHlwZWAgYW5kIGxlYXZlc1xuaW1wb3J0YW50IGZpZWxkcyBsaWtlIGBwdWJgIGFuZCBgcHJ2YCBvcHRpb25hbC5cblxuVGhpcyBpcyBhIG1vcmUgZm9jdXNlZCB0eXBlIHRoYXQgb25seSBpbmNsdWRlcyB0aGUgZmllbGRzIHdlIGNhcmUgYWJvdXQuXG4gKi9cblxuLyoqXG4gKiBBIGtleWNoYWluIGZvciBhIFVUWE8gd2FsbGV0LlxuICovXG5leHBvcnQgY29uc3QgVXR4b0tleWNoYWluID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgcHViOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgcHJ2OiB0LnN0cmluZyxcbiAgICAgIGVuY3J5cHRlZFBydjogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdVdHhvS2V5Y2hhaW4nXG4pO1xuXG5leHBvcnQgdHlwZSBVdHhvS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgVXR4b0tleWNoYWluPjtcblxuZXhwb3J0IGNvbnN0IFV0eG9OYW1lZEtleWNoYWlucyA9IHQudHlwZSh7XG4gIHVzZXI6IFV0eG9LZXljaGFpbixcbiAgYmFja3VwOiBVdHhvS2V5Y2hhaW4sXG4gIGJpdGdvOiBVdHhvS2V5Y2hhaW4sXG59KTtcblxuZXhwb3J0IHR5cGUgVXR4b05hbWVkS2V5Y2hhaW5zID0gdC5UeXBlT2Y8dHlwZW9mIFV0eG9OYW1lZEtleWNoYWlucz47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0tleWNoYWluVHJpcGxlKGtleWNoYWluczogVXR4b05hbWVkS2V5Y2hhaW5zKTogVHJpcGxlPFV0eG9LZXljaGFpbj4ge1xuICBjb25zdCB7IHVzZXIsIGJhY2t1cCwgYml0Z28gfSA9IGtleWNoYWlucztcbiAgcmV0dXJuIFt1c2VyLCBiYWNrdXAsIGJpdGdvXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmlwMzJUcmlwbGUoXG4gIGtleWNoYWluczogYml0Z28uUm9vdFdhbGxldEtleXMgfCBVdHhvTmFtZWRLZXljaGFpbnMgfCBUcmlwbGU8eyBwdWI6IHN0cmluZyB9PiB8IHN0cmluZ1tdXG4pOiBUcmlwbGU8QklQMzJJbnRlcmZhY2U+IHtcbiAgaWYgKGtleWNoYWlucyBpbnN0YW5jZW9mIGJpdGdvLlJvb3RXYWxsZXRLZXlzKSB7XG4gICAgcmV0dXJuIGtleWNoYWlucy50cmlwbGU7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Y2hhaW5zKSkge1xuICAgIGlmIChrZXljaGFpbnMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIDMga2V5Y2hhaW5zJyk7XG4gICAgfVxuICAgIHJldHVybiBrZXljaGFpbnMubWFwKChrZXljaGFpbjogeyBwdWI6IHN0cmluZyB9IHwgc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2ID0gdHlwZW9mIGtleWNoYWluID09PSAnc3RyaW5nJyA/IGtleWNoYWluIDoga2V5Y2hhaW4ucHViO1xuICAgICAgcmV0dXJuIGJpcDMyLmZyb21CYXNlNTgodik7XG4gICAgfSkgYXMgVHJpcGxlPEJJUDMySW50ZXJmYWNlPjtcbiAgfVxuXG4gIHJldHVybiB0b0JpcDMyVHJpcGxlKHRvS2V5Y2hhaW5UcmlwbGUoa2V5Y2hhaW5zKSk7XG59XG5cbmZ1bmN0aW9uIHRvWHB1YihrZXljaGFpbjogeyBwdWI6IHN0cmluZyB9IHwgc3RyaW5nIHwgQklQMzJJbnRlcmZhY2UpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGtleWNoYWluID09PSAnc3RyaW5nJykge1xuICAgIGlmIChrZXljaGFpbi5zdGFydHNXaXRoKCd4cHViJykpIHtcbiAgICAgIHJldHVybiBrZXljaGFpbjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCB4cHViJyk7XG4gIH1cbiAgaWYgKCduZXV0ZXJlZCcgaW4ga2V5Y2hhaW4pIHtcbiAgICByZXR1cm4ga2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xuICB9XG4gIGlmICgncHViJyBpbiBrZXljaGFpbikge1xuICAgIHJldHVybiB0b1hwdWIoa2V5Y2hhaW4ucHViKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIGtleWNoYWluJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1hwdWJUcmlwbGUoXG4gIGtleWNoYWluczogVXR4b05hbWVkS2V5Y2hhaW5zIHwgVHJpcGxlPHsgcHViOiBzdHJpbmcgfT4gfCBUcmlwbGU8c3RyaW5nPiB8IFRyaXBsZTxCSVAzMkludGVyZmFjZT5cbik6IFRyaXBsZTxzdHJpbmc+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Y2hhaW5zKSkge1xuICAgIGlmIChrZXljaGFpbnMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIDMga2V5Y2hhaW5zJyk7XG4gICAgfVxuICAgIHJldHVybiBrZXljaGFpbnMubWFwKChrKSA9PiB0b1hwdWIoaykpIGFzIFRyaXBsZTxzdHJpbmc+O1xuICB9XG4gIHJldHVybiB0b1hwdWJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoS2V5Y2hhaW5zKFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICB3YWxsZXQ6IElXYWxsZXQsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8VXR4b05hbWVkS2V5Y2hhaW5zPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VQcm9wcyh7XG4gICAgdXNlcjogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0sIHJlcUlkIH0pLFxuICAgIGJhY2t1cDogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQkFDS1VQXSwgcmVxSWQgfSksXG4gICAgYml0Z286IGNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHdhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLkJJVEdPXSwgcmVxSWQgfSksXG4gIH0pO1xuICBhc3NlcnQoVXR4b05hbWVkS2V5Y2hhaW5zLmlzKHJlc3VsdCkpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY29uc3QgS2V5U2lnbmF0dXJlcyA9IHQucGFydGlhbCh7XG4gIGJhY2t1cFB1YjogdC5zdHJpbmcsXG4gIGJpdGdvUHViOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBLZXlTaWduYXR1cmVzID0gdC5UeXBlT2Y8dHlwZW9mIEtleVNpZ25hdHVyZXM+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5U2lnbmF0dXJlcyh3YWxsZXQ6IFV0eG9XYWxsZXQpOiBLZXlTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHQucGFydGlhbCh7IGtleVNpZ25hdHVyZXM6IEtleVNpZ25hdHVyZXMgfSkuaXMod2FsbGV0Ll93YWxsZXQpKSB7XG4gICAgcmV0dXJuIHdhbGxldC5fd2FsbGV0LmtleVNpZ25hdHVyZXM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBa0IsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUEyQixVQUFVLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLckQ7Ozs7OztHQU1HO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDeEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2QsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDYixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDdkIsQ0FBQztDQUNILEVBQ0QsY0FBYyxDQUNmLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxZQUFZO0NBQ3BCLENBQUMsQ0FBQztBQUlILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUE2QjtJQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDMUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENB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TSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzlFLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxJQUFzQixFQUN0QixNQUFlLEVBQ2YsS0FBc0I7SUFFdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEgsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDO0FBSUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlLCBiaXAzMiB9IGZyb20gJ0BiaXRnby9zZWNwMjU2azEnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIsIElXYWxsZXQsIEtleUluZGljZXMsIHByb21pc2VQcm9wcywgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4vd2FsbGV0JztcblxuLypcblxuVGhlIHN0YW5kYXJkIEtleWNoYWluIHR5cGUgZnJvbSBzZGstY29yZSByZXF1aXJlcyBhIGJ1bmNoIG9mIHVuaW50ZXJlc3RpbmcgcGFyYW1ldGVycyBsaWtlIGBpZGAgYW5kIGB0eXBlYCBhbmQgbGVhdmVzXG5pbXBvcnRhbnQgZmllbGRzIGxpa2UgYHB1YmAgYW5kIGBwcnZgIG9wdGlvbmFsLlxuXG5UaGlzIGlzIGEgbW9yZSBmb2N1c2VkIHR5cGUgdGhhdCBvbmx5IGluY2x1ZGVzIHRoZSBmaWVsZHMgd2UgY2FyZSBhYm91dC5cbiAqL1xuXG4vKipcbiAqIEEga2V5Y2hhaW4gZm9yIGEgVVRYTyB3YWxsZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVdHhvS2V5Y2hhaW4gPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIHQudHlwZSh7XG4gICAgICBwdWI6IHQuc3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBwcnY6IHQuc3RyaW5nLFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ1V0eG9LZXljaGFpbidcbik7XG5cbmV4cG9ydCB0eXBlIFV0eG9LZXljaGFpbiA9IHQuVHlwZU9mPHR5cGVvZiBVdHhvS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgVXR4b05hbWVkS2V5Y2hhaW5zID0gdC50eXBlKHtcbiAgdXNlcjogVXR4b0tleWNoYWluLFxuICBiYWNrdXA6IFV0eG9LZXljaGFpbixcbiAgYml0Z286IFV0eG9LZXljaGFpbixcbn0pO1xuXG5leHBvcnQgdHlwZSBVdHhvTmFtZWRLZXljaGFpbnMgPSB0LlR5cGVPZjx0eXBlb2YgVXR4b05hbWVkS2V5Y2hhaW5zPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvS2V5Y2hhaW5UcmlwbGUoa2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMpOiBUcmlwbGU8VXR4b0tleWNoYWluPiB7XG4gIGNvbnN0IHsgdXNlciwgYmFja3VwLCBiaXRnbyB9ID0ga2V5Y2hhaW5zO1xuICByZXR1cm4gW3VzZXIsIGJhY2t1cCwgYml0Z29dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9CaXAzMlRyaXBsZShcbiAga2V5Y2hhaW5zOiBiaXRnby5Sb290V2FsbGV0S2V5cyB8IFV0eG9OYW1lZEtleWNoYWlucyB8IFRyaXBsZTx7IHB1Yjogc3RyaW5nIH0+IHwgc3RyaW5nW11cbik6IFRyaXBsZTxCSVAzMkludGVyZmFjZT4ge1xuICBpZiAoa2V5Y2hhaW5zIGluc3RhbmNlb2YgYml0Z28uUm9vdFdhbGxldEtleXMpIHtcbiAgICByZXR1cm4ga2V5Y2hhaW5zLnRyaXBsZTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHYgPSB0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnID8ga2V5Y2hhaW4gOiBrZXljaGFpbi5wdWI7XG4gICAgICByZXR1cm4gYmlwMzIuZnJvbUJhc2U1OCh2KTtcbiAgICB9KSBhcyBUcmlwbGU8QklQMzJJbnRlcmZhY2U+O1xuICB9XG5cbiAgcmV0dXJuIHRvQmlwMzJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZnVuY3Rpb24gdG9YcHViKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcgfCBCSVAzMkludGVyZmFjZSk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGtleWNoYWluLnN0YXJ0c1dpdGgoJ3hwdWInKSkge1xuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHhwdWInKTtcbiAgfVxuICBpZiAoJ25ldXRlcmVkJyBpbiBrZXljaGFpbikge1xuICAgIHJldHVybiBrZXljaGFpbi5uZXV0ZXJlZCgpLnRvQmFzZTU4KCk7XG4gIH1cbiAgaWYgKCdwdWInIGluIGtleWNoYWluKSB7XG4gICAgcmV0dXJuIHRvWHB1YihrZXljaGFpbi5wdWIpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQga2V5Y2hhaW4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvWHB1YlRyaXBsZShcbiAga2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMgfCBUcmlwbGU8eyBwdWI6IHN0cmluZyB9PiB8IFRyaXBsZTxzdHJpbmc+IHwgVHJpcGxlPEJJUDMySW50ZXJmYWNlPlxuKTogVHJpcGxlPHN0cmluZz4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGspID0+IHRvWHB1YihrKSkgYXMgVHJpcGxlPHN0cmluZz47XG4gIH1cbiAgcmV0dXJuIHRvWHB1YlRyaXBsZSh0b0tleWNoYWluVHJpcGxlKGtleWNoYWlucykpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hLZXljaGFpbnMoXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHdhbGxldDogSVdhbGxldCxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxVdHhvTmFtZWRLZXljaGFpbnM+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZVByb3BzKHtcbiAgICB1c2VyOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSwgcmVxSWQgfSksXG4gICAgYmFja3VwOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5CQUNLVVBdLCByZXFJZCB9KSxcbiAgICBiaXRnbzogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQklUR09dLCByZXFJZCB9KSxcbiAgfSk7XG4gIGFzc2VydChVdHhvTmFtZWRLZXljaGFpbnMuaXMocmVzdWx0KSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRmV0Y2ggd2FsbGV0IGtleXMgYXMgd2FzbS11dHhvIFJvb3RXYWxsZXRLZXlzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFdhc21Sb290V2FsbGV0S2V5cyhcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJV2FsbGV0LFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzPiB7XG4gIGNvbnN0IGtleWNoYWlucyA9IGF3YWl0IGZldGNoS2V5Y2hhaW5zKGNvaW4sIHdhbGxldCwgcmVxSWQpO1xuICByZXR1cm4gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbShba2V5Y2hhaW5zLnVzZXIucHViLCBrZXljaGFpbnMuYmFja3VwLnB1Yiwga2V5Y2hhaW5zLmJpdGdvLnB1Yl0pO1xufVxuXG5leHBvcnQgY29uc3QgS2V5U2lnbmF0dXJlcyA9IHQucGFydGlhbCh7XG4gIGJhY2t1cFB1YjogdC5zdHJpbmcsXG4gIGJpdGdvUHViOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBLZXlTaWduYXR1cmVzID0gdC5UeXBlT2Y8dHlwZW9mIEtleVNpZ25hdHVyZXM+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5U2lnbmF0dXJlcyh3YWxsZXQ6IFV0eG9XYWxsZXQpOiBLZXlTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHQucGFydGlhbCh7IGtleVNpZ25hdHVyZXM6IEtleVNpZ25hdHVyZXMgfSkuaXMod2FsbGV0Ll93YWxsZXQpKSB7XG4gICAgcmV0dXJuIHdhbGxldC5fd2FsbGV0LmtleVNpZ25hdHVyZXM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { BaseCoin } from '@bitgo/sdk-core';
|
|
|
3
3
|
import { OfflineVaultSignable } from './OfflineVaultSignable';
|
|
4
4
|
import { DescriptorTransaction, getHalfSignedPsbt } from './descriptor';
|
|
5
5
|
function createHalfSignedFromPsbt(psbt) {
|
|
6
|
-
return { halfSigned: { txHex: psbt.
|
|
6
|
+
return { halfSigned: { txHex: Buffer.from(psbt.serialize()).toString('hex') } };
|
|
7
7
|
}
|
|
8
8
|
export function createHalfSigned(coinName, prv, derivationId, tx) {
|
|
9
9
|
if (typeof prv === 'string') {
|
|
@@ -18,4 +18,4 @@ export function createHalfSigned(coinName, prv, derivationId, tx) {
|
|
|
18
18
|
}
|
|
19
19
|
throw new Error('unsupported transaction type');
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNeEUsU0FBUyx3QkFBd0IsQ0FBQyxJQUFVO0lBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ2xGLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLFFBQXNCLEVBQ3RCLEdBQTRCLEVBQzVCLFlBQW9CLEVBQ3BCLEVBQVc7SUFFWCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLEdBQUcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxHQUFHLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSwgYmlwMzIgfSBmcm9tICdAYml0Z28vc2VjcDI1NmsxJztcbmltcG9ydCB7IFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSB9IGZyb20gJy4vT2ZmbGluZVZhdWx0U2lnbmFibGUnO1xuaW1wb3J0IHsgRGVzY3JpcHRvclRyYW5zYWN0aW9uLCBnZXRIYWxmU2lnbmVkUHNidCB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIE9mZmxpbmVWYXVsdEhhbGZTaWduZWQgPSB7XG4gIGhhbGZTaWduZWQ6IHsgdHhIZXg6IHN0cmluZyB9O1xufTtcblxuZnVuY3Rpb24gY3JlYXRlSGFsZlNpZ25lZEZyb21Qc2J0KHBzYnQ6IFBzYnQpOiBPZmZsaW5lVmF1bHRIYWxmU2lnbmVkIHtcbiAgcmV0dXJuIHsgaGFsZlNpZ25lZDogeyB0eEhleDogQnVmZmVyLmZyb20ocHNidC5zZXJpYWxpemUoKSkudG9TdHJpbmcoJ2hleCcpIH0gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUhhbGZTaWduZWQoXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIHBydjogc3RyaW5nIHwgQklQMzJJbnRlcmZhY2UsXG4gIGRlcml2YXRpb25JZDogc3RyaW5nLFxuICB0eDogdW5rbm93blxuKTogT2ZmbGluZVZhdWx0SGFsZlNpZ25lZCB7XG4gIGlmICh0eXBlb2YgcHJ2ID09PSAnc3RyaW5nJykge1xuICAgIHBydiA9IGJpcDMyLmZyb21CYXNlNTgocHJ2KTtcbiAgfVxuICBwcnYgPSBCYXNlQ29pbi5kZXJpdmVLZXlXaXRoU2VlZEJpcDMyKHBydiwgZGVyaXZhdGlvbklkKS5rZXk7XG4gIGlmICghT2ZmbGluZVZhdWx0U2lnbmFibGUuaXModHgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gIH1cbiAgaWYgKERlc2NyaXB0b3JUcmFuc2FjdGlvbi5pcyh0eCkpIHtcbiAgICByZXR1cm4gY3JlYXRlSGFsZlNpZ25lZEZyb21Qc2J0KGdldEhhbGZTaWduZWRQc2J0KHR4LCBwcnYsIGNvaW5OYW1lKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
1
|
import * as t from 'io-ts';
|
|
2
|
+
import { Psbt } from '@bitgo/wasm-utxo';
|
|
3
|
+
import type { BIP32Interface } from '@bitgo/utxo-lib';
|
|
3
4
|
import { DescriptorMap } from '../../descriptor';
|
|
4
5
|
import { TransactionExplanation } from '../TransactionExplanation';
|
|
5
6
|
import { UtxoCoinName } from '../../names';
|
|
@@ -34,6 +35,6 @@ export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
|
|
|
34
35
|
}>]>;
|
|
35
36
|
export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
|
|
36
37
|
export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
|
|
37
|
-
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv:
|
|
38
|
+
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: BIP32Interface, coinName: UtxoCoinName): Psbt;
|
|
38
39
|
export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, coinName: UtxoCoinName): TransactionExplanation<string>;
|
|
39
40
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,
|
|
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,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,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,cAAc,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAK9G;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAAC,MAAM,CAAC,CAehC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
1
|
import * as t from 'io-ts';
|
|
3
2
|
import { NamedDescriptor } from '../../descriptor';
|
|
4
3
|
import { OfflineVaultSignable, toKeyTriple } from '../OfflineVaultSignable';
|
|
5
4
|
import { getValidatorOneOfTemplates, getValidatorSignedByUserKey, getValidatorSome, toDescriptorMapValidate, } from '../../descriptor/validatePolicy';
|
|
6
5
|
import { explainPsbt, signPsbt } from '../../transaction/descriptor';
|
|
7
|
-
import {
|
|
6
|
+
import { toWasmPsbt } from '../../wasmUtil';
|
|
8
7
|
export const DescriptorTransaction = t.intersection([OfflineVaultSignable, t.type({ descriptors: t.array(NamedDescriptor) })], 'DescriptorTransaction');
|
|
9
8
|
export function getDescriptorsFromDescriptorTransaction(tx) {
|
|
10
9
|
const { descriptors, xpubsWithDerivationPath } = tx;
|
|
@@ -18,17 +17,15 @@ export function getDescriptorsFromDescriptorTransaction(tx) {
|
|
|
18
17
|
return toDescriptorMapValidate(descriptors, pubkeys, policy);
|
|
19
18
|
}
|
|
20
19
|
export function getHalfSignedPsbt(tx, prv, coinName) {
|
|
21
|
-
const
|
|
22
|
-
const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
|
|
20
|
+
const psbt = toWasmPsbt(Buffer.from(tx.coinSpecific.txHex, 'hex'));
|
|
23
21
|
const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
|
|
24
22
|
signPsbt(psbt, descriptorMap, prv, { onUnknownInput: 'throw' });
|
|
25
23
|
return psbt;
|
|
26
24
|
}
|
|
27
25
|
export function getTransactionExplanationFromPsbt(tx, coinName) {
|
|
28
|
-
const
|
|
29
|
-
const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
|
|
26
|
+
const psbt = toWasmPsbt(Buffer.from(tx.coinSpecific.txHex, 'hex'));
|
|
30
27
|
const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
|
|
31
|
-
const { outputs, changeOutputs, fee } = explainPsbt(psbt, descriptorMap);
|
|
28
|
+
const { outputs, changeOutputs, fee } = explainPsbt(psbt, descriptorMap, coinName);
|
|
32
29
|
return {
|
|
33
30
|
outputs,
|
|
34
31
|
changeOutputs,
|
|
@@ -41,4 +38,4 @@ export function getTransactionExplanationFromPsbt(tx, coinName) {
|
|
|
41
38
|
},
|
|
42
39
|
};
|
|
43
40
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFJM0IsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ2pELENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN6RSx1QkFBdUIsQ0FDeEIsQ0FBQztBQUlGLE1BQU0sVUFBVSx1Q0FBdUMsQ0FBQyxFQUF5QjtJQUMvRSxNQUFNLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLHdFQUF3RTtRQUN4RSwwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLCtDQUErQztRQUMvQywyQkFBMkIsRUFBRTtLQUM5QixDQUFDLENBQUM7SUFDSCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUF5QixFQUFFLEdBQW1CLEVBQUUsUUFBc0I7SUFDdEcsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxNQUFNLGFBQWEsR0FBRyx1Q0FBdUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLEVBQXlCLEVBQ3pCLFFBQXNCO0lBRXRCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkUsTUFBTSxhQUFhLEdBQUcsdUNBQXVDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkYsT0FBTztRQUNMLE9BQU87UUFDUCxhQUFhO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsaUJBQWlCO1lBQ2pCLEdBQUc7WUFDSCxVQUFVO1lBQ1YsY0FBYyxFQUFFLFNBQVM7WUFDekIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgUHNidCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0IHR5cGUgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgT2ZmbGluZVZhdWx0U2lnbmFibGUsIHRvS2V5VHJpcGxlIH0gZnJvbSAnLi4vT2ZmbGluZVZhdWx0U2lnbmFibGUnO1xuaW1wb3J0IHtcbiAgZ2V0VmFsaWRhdG9yT25lT2ZUZW1wbGF0ZXMsXG4gIGdldFZhbGlkYXRvclNpZ25lZEJ5VXNlcktleSxcbiAgZ2V0VmFsaWRhdG9yU29tZSxcbiAgdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUsXG59IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3IvdmFsaWRhdGVQb2xpY3knO1xuaW1wb3J0IHsgZXhwbGFpblBzYnQsIHNpZ25Qc2J0IH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi4vVHJhbnNhY3Rpb25FeHBsYW5hdGlvbic7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgeyB0b1dhc21Qc2J0IH0gZnJvbSAnLi4vLi4vd2FzbVV0aWwnO1xuXG5leHBvcnQgY29uc3QgRGVzY3JpcHRvclRyYW5zYWN0aW9uID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtPZmZsaW5lVmF1bHRTaWduYWJsZSwgdC50eXBlKHsgZGVzY3JpcHRvcnM6IHQuYXJyYXkoTmFtZWREZXNjcmlwdG9yKSB9KV0sXG4gICdEZXNjcmlwdG9yVHJhbnNhY3Rpb24nXG4pO1xuXG5leHBvcnQgdHlwZSBEZXNjcmlwdG9yVHJhbnNhY3Rpb24gPSB0LlR5cGVPZjx0eXBlb2YgRGVzY3JpcHRvclRyYW5zYWN0aW9uPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlc2NyaXB0b3JzRnJvbURlc2NyaXB0b3JUcmFuc2FjdGlvbih0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uKTogRGVzY3JpcHRvck1hcCB7XG4gIGNvbnN0IHsgZGVzY3JpcHRvcnMsIHhwdWJzV2l0aERlcml2YXRpb25QYXRoIH0gPSB0eDtcbiAgY29uc3QgcHVia2V5cyA9IHRvS2V5VHJpcGxlKHhwdWJzV2l0aERlcml2YXRpb25QYXRoKTtcbiAgY29uc3QgcG9saWN5ID0gZ2V0VmFsaWRhdG9yU29tZShbXG4gICAgLy8gYWxsb3cgYWxsIDItb2YtMy1pc2ggZGVzY3JpcHRvcnMgd2hlcmUgdGhlIGtleXMgbWF0Y2ggdGhlIHdhbGxldCBrZXlzXG4gICAgZ2V0VmFsaWRhdG9yT25lT2ZUZW1wbGF0ZXMoWydXc2gyT2YzJywgJ1dzaDJPZjNDbHR2RHJvcCcsICdTaFdzaDJPZjNDbHR2RHJvcCddKSxcbiAgICAvLyBhbGxvdyBhbGwgZGVzY3JpcHRvcnMgc2lnbmVkIGJ5IHRoZSB1c2VyIGtleVxuICAgIGdldFZhbGlkYXRvclNpZ25lZEJ5VXNlcktleSgpLFxuICBdKTtcbiAgcmV0dXJuIHRvRGVzY3JpcHRvck1hcFZhbGlkYXRlKGRlc2NyaXB0b3JzLCBwdWJrZXlzLCBwb2xpY3kpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGFsZlNpZ25lZFBzYnQodHg6IERlc2NyaXB0b3JUcmFuc2FjdGlvbiwgcHJ2OiBCSVAzMkludGVyZmFjZSwgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFBzYnQge1xuICBjb25zdCBwc2J0ID0gdG9XYXNtUHNidChCdWZmZXIuZnJvbSh0eC5jb2luU3BlY2lmaWMudHhIZXgsICdoZXgnKSk7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yc0Zyb21EZXNjcmlwdG9yVHJhbnNhY3Rpb24odHgpO1xuICBzaWduUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBwcnYsIHsgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycgfSk7XG4gIHJldHVybiBwc2J0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbkZyb21Qc2J0KFxuICB0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPHN0cmluZz4ge1xuICBjb25zdCBwc2J0ID0gdG9XYXNtUHNidChCdWZmZXIuZnJvbSh0eC5jb2luU3BlY2lmaWMudHhIZXgsICdoZXgnKSk7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yc0Zyb21EZXNjcmlwdG9yVHJhbnNhY3Rpb24odHgpO1xuICBjb25zdCB7IG91dHB1dHMsIGNoYW5nZU91dHB1dHMsIGZlZSB9ID0gZXhwbGFpblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwgY29pbk5hbWUpO1xuICByZXR1cm4ge1xuICAgIG91dHB1dHMsXG4gICAgY2hhbmdlT3V0cHV0cyxcbiAgICBmZWU6IHtcbiAgICAgIC8qIG5ldHdvcmsgZmVlICovXG4gICAgICBmZWUsXG4gICAgICAvKiBUT0RPICovXG4gICAgICBwYXlHb0ZlZVN0cmluZzogdW5kZWZpbmVkLFxuICAgICAgcGF5R29GZWVBZGRyZXNzOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AddressInfo, TransactionIO } from '@bitgo/blockapis';
|
|
2
|
-
import {
|
|
3
|
-
type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
|
|
2
|
+
import type { Unspent } from '../unspent';
|
|
4
3
|
/**
|
|
5
4
|
* An account with bear minimum information required for recoveries.
|
|
6
5
|
*/
|
|
@@ -18,5 +17,4 @@ export interface RecoveryProvider<TNumber extends number | bigint = number> {
|
|
|
18
17
|
getTransactionIO(txid: string): Promise<TransactionIO>;
|
|
19
18
|
}
|
|
20
19
|
export declare function forCoin(coinName: string, apiToken?: string): RecoveryProvider<number>;
|
|
21
|
-
export {};
|
|
22
20
|
//# sourceMappingURL=RecoveryProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RecoveryProvider.d.ts","sourceRoot":"","sources":["../../../src/recovery/RecoveryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACxE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAgBrF"}
|
|
@@ -16,4 +16,4 @@ export function forCoin(coinName, apiToken) {
|
|
|
16
16
|
}
|
|
17
17
|
throw new ApiNotImplementedError(coinName);
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3ZlcnlQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWNvdmVyeS9SZWNvdmVyeVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0JuRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWdCLEVBQUUsUUFBaUI7SUFDekQsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNqQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUs7WUFDUixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja2NoYWlyQXBpLCBBZGRyZXNzSW5mbywgVHJhbnNhY3Rpb25JTyB9IGZyb20gJ0BiaXRnby9ibG9ja2FwaXMnO1xuXG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi91bnNwZW50JztcblxuaW1wb3J0IHsgQXBpTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJy4vYmFzZUFwaSc7XG5cbi8qKlxuICogQW4gYWNjb3VudCB3aXRoIGJlYXIgbWluaW11bSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmb3IgcmVjb3Zlcmllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeUFjY291bnREYXRhIHtcbiAgdHhDb3VudDogbnVtYmVyO1xuICB0b3RhbEJhbGFuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZvciBBZGRyZXNzQXBpICYgVXR4b0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5UHJvdmlkZXI8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4ge1xuICBnZXRVbnNwZW50c0ZvckFkZHJlc3NlcyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxVbnNwZW50PFROdW1iZXI+W10+O1xuICBnZXRBZGRyZXNzSW5mbyhhZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPEFkZHJlc3NJbmZvPjtcbiAgZ2V0VHJhbnNhY3Rpb25IZXgodHhpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRUcmFuc2FjdGlvbklPKHR4aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JTz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JDb2luKGNvaW5OYW1lOiBzdHJpbmcsIGFwaVRva2VuPzogc3RyaW5nKTogUmVjb3ZlcnlQcm92aWRlcjxudW1iZXI+IHtcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ2J0Yyc6XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgY2FzZSAnYmNoJzpcbiAgICBjYXNlICdiY2hhJzpcbiAgICBjYXNlICdic3YnOlxuICAgIGNhc2UgJ2J0Zyc6XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgY2FzZSAnbHRjJzpcbiAgICBjYXNlICd6ZWMnOlxuICAgICAgcmV0dXJuIEJsb2NrY2hhaXJBcGkuZm9yQ29pbihjb2luTmFtZSwgeyBhcGlUb2tlbiB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBBcGlOb3RJbXBsZW1lbnRlZEVycm9yKGNvaW5OYW1lKTtcbn1cbiJdfQ==
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { BitGoBase, Triple } from '@bitgo/sdk-core';
|
|
2
|
+
import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
3
3
|
import { AbstractUtxoCoin } from '../abstractUtxoCoin';
|
|
4
|
+
import { UtxoCoinName } from '../names';
|
|
5
|
+
import { type WalletUnspent } from '../unspent';
|
|
4
6
|
import { RecoveryProvider } from './RecoveryProvider';
|
|
5
|
-
type ScriptType2Of3 =
|
|
6
|
-
type WalletUnspentJSON =
|
|
7
|
+
type ScriptType2Of3 = fixedScriptWallet.OutputScriptType;
|
|
8
|
+
type WalletUnspentJSON = WalletUnspent & {
|
|
7
9
|
valueString: string;
|
|
8
10
|
};
|
|
9
11
|
export declare const DEFAULT_RECOVERY_FEERATE_SAT_VBYTE_V1 = 50;
|
|
@@ -40,6 +42,73 @@ export type BackupKeyRecoveryTransansaction = {
|
|
|
40
42
|
recoveryAmount: number;
|
|
41
43
|
recoveryAmountString: string;
|
|
42
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Parameters for backup key recovery PSBT creation.
|
|
47
|
+
* All fields are pre-validated and derived - no string key parsing needed.
|
|
48
|
+
*/
|
|
49
|
+
export interface RecoverWithUnspentsParams {
|
|
50
|
+
/** Pre-derived wallet keys */
|
|
51
|
+
walletKeys: fixedScriptWallet.RootWalletKeys;
|
|
52
|
+
/** Pre-derived key triple (user, backup, bitgo). Check privateKey to determine signing capability. */
|
|
53
|
+
keys: Triple<BIP32>;
|
|
54
|
+
/** Validated recovery destination address */
|
|
55
|
+
recoveryDestination: string;
|
|
56
|
+
/** Fee rate in satoshi per vbyte */
|
|
57
|
+
feeRateSatVB: number;
|
|
58
|
+
/** KRS fee amount in satoshis (0 if not KRS recovery) */
|
|
59
|
+
krsFee?: bigint;
|
|
60
|
+
/** KRS fee address (required if krsFee > 0) */
|
|
61
|
+
krsFeeAddress?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Builds a funds recovery PSBT without BitGo, using provided unspents.
|
|
65
|
+
*
|
|
66
|
+
* This is the core transaction building logic, separated from unspent gathering
|
|
67
|
+
* and output formatting. Returns a PSBT at the appropriate signing stage.
|
|
68
|
+
*
|
|
69
|
+
* Signing behavior is determined by the keys:
|
|
70
|
+
* - If user key has no private key: unsigned PSBT
|
|
71
|
+
* - If user key has private key but backup doesn't: half-signed PSBT (user signature only)
|
|
72
|
+
* - If both user and backup keys have private keys: fully signed PSBT (not finalized)
|
|
73
|
+
*
|
|
74
|
+
* @param coinName - The coin name for the PSBT
|
|
75
|
+
* @param params - Recovery parameters with pre-derived keys
|
|
76
|
+
* @param unspents - The wallet unspents to recover (must be non-empty)
|
|
77
|
+
* @returns The PSBT at the appropriate signing stage (never finalized)
|
|
78
|
+
*/
|
|
79
|
+
export declare function backupKeyRecoveryWithWalletUnspents(coinName: UtxoCoinName, params: RecoverWithUnspentsParams, unspents: WalletUnspent<bigint>[]): fixedScriptWallet.BitGoPsbt;
|
|
80
|
+
/**
|
|
81
|
+
* Parameters for formatting a backup key recovery result.
|
|
82
|
+
*/
|
|
83
|
+
export interface FormatBackupKeyRecoveryParams {
|
|
84
|
+
/** Pre-derived wallet keys */
|
|
85
|
+
walletKeys: fixedScriptWallet.RootWalletKeys;
|
|
86
|
+
/** Pre-derived key triple (user, backup, bitgo). Check privateKey to determine signing capability. */
|
|
87
|
+
keys: Triple<BIP32>;
|
|
88
|
+
/** Recovery destination address */
|
|
89
|
+
recoveryDestination: string;
|
|
90
|
+
/** KRS provider name (if backup key is held by KRS) */
|
|
91
|
+
krsProvider?: string;
|
|
92
|
+
/** Original backup key string (needed for KRS recovery response) */
|
|
93
|
+
backupKey?: string;
|
|
94
|
+
/** The wallet unspents (needed for inputs array in response) */
|
|
95
|
+
unspents: WalletUnspent<bigint>[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Formats a backup key recovery PSBT into the appropriate response format.
|
|
99
|
+
*
|
|
100
|
+
* Output format depends on signing state and KRS provider:
|
|
101
|
+
* - Unsigned sweep: FormattedOfflineVaultTxInfo with PSBT hex
|
|
102
|
+
* - KRS keyternal: BackupKeyRecoveryTransansaction with legacy half-signed tx hex
|
|
103
|
+
* - KRS other: BackupKeyRecoveryTransansaction with PSBT hex
|
|
104
|
+
* - Full recovery: BackupKeyRecoveryTransansaction with finalized tx hex
|
|
105
|
+
*
|
|
106
|
+
* @param coin - The coin instance
|
|
107
|
+
* @param psbt - The PSBT to format (at appropriate signing stage)
|
|
108
|
+
* @param params - Formatting parameters
|
|
109
|
+
* @returns The formatted recovery result
|
|
110
|
+
*/
|
|
111
|
+
export declare function formatBackupKeyRecoveryResult(coin: AbstractUtxoCoin, psbt: fixedScriptWallet.BitGoPsbt, params: FormatBackupKeyRecoveryParams): BackupKeyRecoveryTransansaction | FormattedOfflineVaultTxInfo;
|
|
43
112
|
/**
|
|
44
113
|
* Builds a funds recovery transaction without BitGo.
|
|
45
114
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"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"}
|