@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
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
@@ -9,6 +42,7 @@ const assert_1 = __importDefault(require("assert"));
|
|
|
9
42
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
10
43
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
44
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
45
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
12
46
|
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
13
47
|
const signLegacyTransaction_1 = require("./signLegacyTransaction");
|
|
14
48
|
const signPsbtUtxolib_1 = require("./signPsbtUtxolib");
|
|
@@ -16,13 +50,14 @@ const signPsbtWasm_1 = require("./signPsbtWasm");
|
|
|
16
50
|
const replayProtection_1 = require("./replayProtection");
|
|
17
51
|
function signAndVerifyPsbt(psbt, signerKeychain, rootWalletKeys, replayProtection) {
|
|
18
52
|
if (psbt instanceof utxo_lib_1.bitgo.UtxoPsbt) {
|
|
53
|
+
if (signerKeychain instanceof wasm_utxo_1.BIP32) {
|
|
54
|
+
signerKeychain = utxolib.bip32.fromBase58(signerKeychain.toBase58());
|
|
55
|
+
}
|
|
19
56
|
return (0, signPsbtUtxolib_1.signAndVerifyPsbt)(psbt, signerKeychain);
|
|
20
57
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return (0, signPsbtWasm_1.signAndVerifyPsbtWasm)(psbt, signerKeychain, rootWalletKeys, replayProtection);
|
|
25
|
-
}
|
|
58
|
+
(0, assert_1.default)(rootWalletKeys, 'rootWalletKeys required for wasm-utxo signing');
|
|
59
|
+
(0, assert_1.default)(replayProtection, 'replayProtection required for wasm-utxo signing');
|
|
60
|
+
return (0, signPsbtWasm_1.signAndVerifyPsbtWasm)(psbt, signerKeychain, rootWalletKeys, replayProtection);
|
|
26
61
|
}
|
|
27
62
|
async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
28
63
|
let isLastSignature = false;
|
|
@@ -54,7 +89,7 @@ async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
|
54
89
|
});
|
|
55
90
|
if (isLastSignature) {
|
|
56
91
|
signedPsbt.finalizeAllInputs();
|
|
57
|
-
return Buffer.from(signedPsbt.extractTransaction());
|
|
92
|
+
return Buffer.from(signedPsbt.extractTransaction().toBytes());
|
|
58
93
|
}
|
|
59
94
|
return signedPsbt;
|
|
60
95
|
}
|
|
@@ -66,4 +101,4 @@ async function signTransaction(coin, tx, signerKeychain, coinName, params) {
|
|
|
66
101
|
cosignerPub: params.cosignerPub,
|
|
67
102
|
});
|
|
68
103
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDQSw4Q0FlQztBQUVELDBDQXdFQztBQWhJRCxvREFBNEI7QUFFNUIsOENBQTJDO0FBQzNDLG9EQUF1QjtBQUV2Qiw4Q0FBd0M7QUFDeEMseURBQTJDO0FBQzNDLGdEQUE0RDtBQU01RCxtRUFBZ0U7QUFDaEUsdURBQXdIO0FBQ3hILGlEQUFnSDtBQUNoSCx5REFBZ0U7QUF1QmhFLFNBQWdCLGlCQUFpQixDQUMvQixJQUEwRCxFQUMxRCxjQUFzQyxFQUN0QyxjQUE0RCxFQUM1RCxnQkFBa0Q7SUFFbEQsSUFBSSxJQUFJLFlBQVksZ0JBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxJQUFJLGNBQWMsWUFBWSxpQkFBSyxFQUFFLENBQUM7WUFDcEMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLElBQUEsbUNBQXdCLEVBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFBLGdCQUFNLEVBQUMsY0FBYyxFQUFFLCtDQUErQyxDQUFDLENBQUM7SUFDeEUsSUFBQSxnQkFBTSxFQUFDLGdCQUFnQixFQUFFLGlEQUFpRCxDQUFDLENBQUM7SUFDNUUsT0FBTyxJQUFBLG9DQUFxQixFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVNLEtBQUssVUFBVSxlQUFlLENBR25DLElBQWdHLEVBQ2hHLEVBQUssRUFDTCxjQUEwQyxFQUMxQyxRQUFzQixFQUN0QixNQVNDO0lBSUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksZ0JBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDeEMsc0dBQXNHO1FBQ3RHLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLEVBQUUsWUFBWSxnQkFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxzREFBb0MsRUFDM0QsSUFBaUQsRUFDakQsRUFBRSxFQUNGLGNBQWMsRUFDZDtZQUNFLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FDRixDQUFDO1FBQ0YsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixPQUFPLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO1NBQU0sSUFBSSxFQUFFLFlBQVksNkJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsNENBQTRDLENBQUMsQ0FBQztRQUNsRSxJQUFBLGdCQUFNLEVBQUMsSUFBQSxtQkFBUSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sY0FBYyxHQUFHLDZCQUFpQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxnREFBaUMsRUFDeEQsSUFBc0QsRUFDdEQsRUFBRSxFQUNGLGNBQWMsRUFDZCxjQUFjLEVBQ2Q7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsUUFBUSxDQUFDO2FBQ2pEO1lBQ0QsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixDQUNGLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxJQUFBLDZDQUFxQixFQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFO1FBQ3pELGVBQWU7UUFDZixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ3JCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7S0FDaEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgaXNUcmlwbGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50IH0gZnJvbSAnLi4vLi4vdW5zcGVudCc7XG5cbmltcG9ydCB7IE11c2lnMlBhcnRpY2lwYW50IH0gZnJvbSAnLi9tdXNpZzInO1xuaW1wb3J0IHsgc2lnbkxlZ2FjeVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9zaWduTGVnYWN5VHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRVdHhvbGliLCBzaWduQW5kVmVyaWZ5UHNidCBhcyBzaWduQW5kVmVyaWZ5UHNidFV0eG9saWIgfSBmcm9tICcuL3NpZ25Qc2J0VXR4b2xpYic7XG5pbXBvcnQgeyBzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudFdhc20sIHNpZ25BbmRWZXJpZnlQc2J0V2FzbSwgUmVwbGF5UHJvdGVjdGlvbktleXMgfSBmcm9tICcuL3NpZ25Qc2J0V2FzbSc7XG5pbXBvcnQgeyBnZXRSZXBsYXlQcm90ZWN0aW9uUHVia2V5cyB9IGZyb20gJy4vcmVwbGF5UHJvdGVjdGlvbic7XG5cbi8qKlxuICogU2lnbiBhbmQgdmVyaWZ5IGEgUFNCVCB1c2luZyBlaXRoZXIgdXR4b2xpYiBvciB3YXNtLXV0eG8gZGVwZW5kaW5nIG9uIHRoZSBQU0JUIHR5cGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyB8IHVuZGVmaW5lZCxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXMgfCB1bmRlZmluZWRcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXNcbik6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXNcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBCSVAzMkludGVyZmFjZSB8IEJJUDMyLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMgfCB1bmRlZmluZWQsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzIHwgdW5kZWZpbmVkXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBiaXRnby5VdHhvUHNidCkge1xuICAgIGlmIChzaWduZXJLZXljaGFpbiBpbnN0YW5jZW9mIEJJUDMyKSB7XG4gICAgICBzaWduZXJLZXljaGFpbiA9IHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChzaWduZXJLZXljaGFpbi50b0Jhc2U1OCgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25BbmRWZXJpZnlQc2J0VXR4b2xpYihwc2J0LCBzaWduZXJLZXljaGFpbik7XG4gIH1cbiAgYXNzZXJ0KHJvb3RXYWxsZXRLZXlzLCAncm9vdFdhbGxldEtleXMgcmVxdWlyZWQgZm9yIHdhc20tdXR4byBzaWduaW5nJyk7XG4gIGFzc2VydChyZXBsYXlQcm90ZWN0aW9uLCAncmVwbGF5UHJvdGVjdGlvbiByZXF1aXJlZCBmb3Igd2FzbS11dHhvIHNpZ25pbmcnKTtcbiAgcmV0dXJuIHNpZ25BbmRWZXJpZnlQc2J0V2FzbShwc2J0LCBzaWduZXJLZXljaGFpbiwgcm9vdFdhbGxldEtleXMsIHJlcGxheVByb3RlY3Rpb24pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uPFxuICBUIGV4dGVuZHMgdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludCB8IG51bWJlcj4gfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnRcbj4oXG4gIGNvaW46IE11c2lnMlBhcnRpY2lwYW50PHV0eG9saWIuYml0Z28uVXR4b1BzYnQ+IHwgTXVzaWcyUGFydGljaXBhbnQ8Zml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0PixcbiAgdHg6IFQsXG4gIHNpZ25lcktleWNoYWluOiBCSVAzMkludGVyZmFjZSB8IHVuZGVmaW5lZCxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcGFyYW1zOiB7XG4gICAgd2FsbGV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0eEluZm86IHsgdW5zcGVudHM/OiBVbnNwZW50PGJpZ2ludCB8IG51bWJlcj5bXSB9IHwgdW5kZWZpbmVkO1xuICAgIGlzTGFzdFNpZ25hdHVyZTogYm9vbGVhbjtcbiAgICBzaWduaW5nU3RlcDogJ3NpZ25lck5vbmNlJyB8ICdjb3NpZ25lck5vbmNlJyB8ICdzaWduZXJTaWduYXR1cmUnIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBkZXByZWNhdGVkICovXG4gICAgYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeDogYm9vbGVhbjtcbiAgICBwdWJzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBjb3NpZ25lclB1Yjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG4pOiBQcm9taXNlPFxuICB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB8IEJ1ZmZlclxuPiB7XG4gIGxldCBpc0xhc3RTaWduYXR1cmUgPSBmYWxzZTtcbiAgaWYgKF8uaXNCb29sZWFuKHBhcmFtcy5pc0xhc3RTaWduYXR1cmUpKSB7XG4gICAgLy8gaWYgYnVpbGQgaXMgY2FsbGVkIGluc3RlYWQgb2YgYnVpbGRJbmNvbXBsZXRlLCBubyBzaWduYXR1cmUgcGxhY2Vob2xkZXJzIGFyZSBsZWZ0IGluIHRoZSBzaWcgc2NyaXB0XG4gICAgaXNMYXN0U2lnbmF0dXJlID0gcGFyYW1zLmlzTGFzdFNpZ25hdHVyZTtcbiAgfVxuXG4gIGlmICh0eCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50VXR4b2xpYihcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4sXG4gICAgICB0eCxcbiAgICAgIHNpZ25lcktleWNoYWluLFxuICAgICAge1xuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmVkUHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgcmV0dXJuIHNpZ25lZFBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCk7XG4gICAgfVxuICAgIHJldHVybiBzaWduZWRQc2J0O1xuICB9IGVsc2UgaWYgKHR4IGluc3RhbmNlb2YgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0KSB7XG4gICAgYXNzZXJ0KHBhcmFtcy5wdWJzLCAncHVicyBhcmUgcmVxdWlyZWQgZm9yIGZpeGVkIHNjcmlwdCBzaWduaW5nJyk7XG4gICAgYXNzZXJ0KGlzVHJpcGxlKHBhcmFtcy5wdWJzKSwgJ3B1YnMgbXVzdCBiZSBhIHRyaXBsZScpO1xuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbVhwdWJzKHBhcmFtcy5wdWJzKTtcbiAgICBjb25zdCBzaWduZWRQc2J0ID0gYXdhaXQgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRXYXNtKFxuICAgICAgY29pbiBhcyBNdXNpZzJQYXJ0aWNpcGFudDxmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ+LFxuICAgICAgdHgsXG4gICAgICBzaWduZXJLZXljaGFpbixcbiAgICAgIHJvb3RXYWxsZXRLZXlzLFxuICAgICAge1xuICAgICAgICByZXBsYXlQcm90ZWN0aW9uOiB7XG4gICAgICAgICAgcHVibGljS2V5czogZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMoY29pbk5hbWUpLFxuICAgICAgICB9LFxuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmVkUHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNpZ25lZFBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCkudG9CeXRlcygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25lZFBzYnQ7XG4gIH1cblxuICByZXR1cm4gc2lnbkxlZ2FjeVRyYW5zYWN0aW9uKHR4LCBzaWduZXJLZXljaGFpbiwgY29pbk5hbWUsIHtcbiAgICBpc0xhc3RTaWduYXR1cmUsXG4gICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICB0eEluZm86IHBhcmFtcy50eEluZm8sXG4gICAgcHViczogcGFyYW1zLnB1YnMsXG4gICAgY29zaWduZXJQdWI6IHBhcmFtcy5jb3NpZ25lclB1YixcbiAgfSk7XG59XG4iXX0=
|
|
@@ -5,7 +5,10 @@ export type ComparableOutput<TValue> = {
|
|
|
5
5
|
/** Actual outputs have fixed values. */
|
|
6
6
|
export type ActualOutput = ComparableOutput<bigint>;
|
|
7
7
|
/** Expected outputs can have a fixed value or 'max'. */
|
|
8
|
-
export type ExpectedOutput = ComparableOutput<bigint | 'max'
|
|
8
|
+
export type ExpectedOutput = ComparableOutput<bigint | 'max'> & {
|
|
9
|
+
/** When true, the output is not required to be present in the transaction. */
|
|
10
|
+
optional?: boolean;
|
|
11
|
+
};
|
|
9
12
|
/**
|
|
10
13
|
* @param a
|
|
11
14
|
* @param b
|
|
@@ -18,6 +21,7 @@ export declare function matchingOutput<TValue>(a: ComparableOutput<TValue>, b: C
|
|
|
18
21
|
* An output with value `max` is considered equal to any other output with the same script.
|
|
19
22
|
*/
|
|
20
23
|
export declare function outputDifference<A extends ActualOutput | ExpectedOutput, B extends ActualOutput | ExpectedOutput>(first: A[], second: B[]): A[];
|
|
24
|
+
export declare function getMissingOutputs<A extends ActualOutput, B extends ExpectedOutput>(actualOutputs: A[], expectedOutputs: B[]): B[];
|
|
21
25
|
export type OutputDifferenceWithExpected<TActual extends ActualOutput, TExpected extends ExpectedOutput> = {
|
|
22
26
|
/** These are the external outputs that were expected and found in the transaction. */
|
|
23
27
|
explicitOutputs: TActual[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputDifference.d.ts","sourceRoot":"","sources":["../../../../src/transaction/outputDifference.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEpD,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"outputDifference.d.ts","sourceRoot":"","sources":["../../../../src/transaction/outputDifference.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEpD,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,OAAO,CAKxG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,cAAc,EAAE,CAAC,SAAS,YAAY,GAAG,cAAc,EAC/G,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,EAAE,GACV,CAAC,EAAE,CASL;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,cAAc,EAChF,aAAa,EAAE,CAAC,EAAE,EAClB,eAAe,EAAE,CAAC,EAAE,GACnB,CAAC,EAAE,CAEL;AAED,MAAM,MAAM,4BAA4B,CAAC,OAAO,SAAS,YAAY,EAAE,SAAS,SAAS,cAAc,IAAI;IACzG,sFAAsF;IACtF,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B;;;OAGG;IACH,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B;;OAEG;IACH,cAAc,EAAE,SAAS,EAAE,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,SAAS,YAAY,EAAE,SAAS,SAAS,cAAc,EAC1G,aAAa,EAAE,OAAO,EAAE,EACxB,eAAe,EAAE,SAAS,EAAE,GAC3B,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CASlD"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.matchingOutput = matchingOutput;
|
|
4
4
|
exports.outputDifference = outputDifference;
|
|
5
|
+
exports.getMissingOutputs = getMissingOutputs;
|
|
5
6
|
exports.outputDifferencesWithExpected = outputDifferencesWithExpected;
|
|
6
7
|
/**
|
|
7
8
|
* @param a
|
|
@@ -29,6 +30,9 @@ function outputDifference(first, second) {
|
|
|
29
30
|
}
|
|
30
31
|
return first;
|
|
31
32
|
}
|
|
33
|
+
function getMissingOutputs(actualOutputs, expectedOutputs) {
|
|
34
|
+
return outputDifference(expectedOutputs, actualOutputs).filter((o) => !o.optional);
|
|
35
|
+
}
|
|
32
36
|
/**
|
|
33
37
|
* @param actualOutputs - external outputs in the transaction
|
|
34
38
|
* @param expectedOutputs - external outputs that were expected to be in the transaction
|
|
@@ -37,11 +41,11 @@ function outputDifference(first, second) {
|
|
|
37
41
|
function outputDifferencesWithExpected(actualOutputs, expectedOutputs) {
|
|
38
42
|
const implicitOutputs = outputDifference(actualOutputs, expectedOutputs);
|
|
39
43
|
const explicitOutputs = outputDifference(actualOutputs, implicitOutputs);
|
|
40
|
-
const missingOutputs =
|
|
44
|
+
const missingOutputs = getMissingOutputs(actualOutputs, expectedOutputs);
|
|
41
45
|
return {
|
|
42
46
|
explicitOutputs,
|
|
43
47
|
implicitOutputs,
|
|
44
48
|
missingOutputs,
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0RGlmZmVyZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9vdXRwdXREaWZmZXJlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBbUJBLHdDQUtDO0FBT0QsNENBWUM7QUFFRCw4Q0FLQztBQXFCRCxzRUFZQztBQXJFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFTLENBQTJCLEVBQUUsQ0FBMkI7SUFDN0YsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDMUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsS0FBVSxFQUNWLE1BQVc7SUFFWCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7UUFDNUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsYUFBa0IsRUFDbEIsZUFBb0I7SUFFcEIsT0FBTyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBZ0JEOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FDM0MsYUFBd0IsRUFDeEIsZUFBNEI7SUFFNUIsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN6RSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekUsT0FBTztRQUNMLGVBQWU7UUFDZixlQUFlO1FBQ2YsY0FBYztLQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29tcGFyYWJsZU91dHB1dDxUVmFsdWU+ID0ge1xuICBzY3JpcHQ6IEJ1ZmZlcjtcbiAgdmFsdWU6IFRWYWx1ZTtcbn07XG5cbi8qKiBBY3R1YWwgb3V0cHV0cyBoYXZlIGZpeGVkIHZhbHVlcy4gKi9cbmV4cG9ydCB0eXBlIEFjdHVhbE91dHB1dCA9IENvbXBhcmFibGVPdXRwdXQ8YmlnaW50PjtcblxuLyoqIEV4cGVjdGVkIG91dHB1dHMgY2FuIGhhdmUgYSBmaXhlZCB2YWx1ZSBvciAnbWF4Jy4gKi9cbmV4cG9ydCB0eXBlIEV4cGVjdGVkT3V0cHV0ID0gQ29tcGFyYWJsZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz4gJiB7XG4gIC8qKiBXaGVuIHRydWUsIHRoZSBvdXRwdXQgaXMgbm90IHJlcXVpcmVkIHRvIGJlIHByZXNlbnQgaW4gdGhlIHRyYW5zYWN0aW9uLiAqL1xuICBvcHRpb25hbD86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEBwYXJhbSBhXG4gKiBAcGFyYW0gYlxuICogQHJldHVybnMgd2hldGhlciB0aGUgdHdvIG91dHB1dHMgYXJlIGVxdWFsLiBPdXRwdXRzIHdpdGggdmFsdWUgYG1heGAgYXJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gYW55IG90aGVyIG91dHB1dCB3aXRoIHRoZSBzYW1lIHNjcmlwdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoaW5nT3V0cHV0PFRWYWx1ZT4oYTogQ29tcGFyYWJsZU91dHB1dDxUVmFsdWU+LCBiOiBDb21wYXJhYmxlT3V0cHV0PFRWYWx1ZT4pOiBib29sZWFuIHtcbiAgaWYgKGEudmFsdWUgPT09ICdtYXgnIHx8IGIudmFsdWUgPT09ICdtYXgnKSB7XG4gICAgcmV0dXJuIGEuc2NyaXB0LmVxdWFscyhiLnNjcmlwdCk7XG4gIH1cbiAgcmV0dXJuIGEuc2NyaXB0LmVxdWFscyhiLnNjcmlwdCkgJiYgYS52YWx1ZSA9PT0gYi52YWx1ZTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyBhbGwgb3V0cHV0cyBpbiB0aGUgZmlyc3QgYXJyYXkgdGhhdCBhcmUgbm90IGluIHRoZSBzZWNvbmQgYXJyYXkuXG4gKiBPdXRwdXRzIGNhbiBvY2N1ciBtb3JlIHRoYW4gb25jZSBpbiBlYWNoIGFycmF5LlxuICogQW4gb3V0cHV0IHdpdGggdmFsdWUgYG1heGAgaXMgY29uc2lkZXJlZCBlcXVhbCB0byBhbnkgb3RoZXIgb3V0cHV0IHdpdGggdGhlIHNhbWUgc2NyaXB0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gb3V0cHV0RGlmZmVyZW5jZTxBIGV4dGVuZHMgQWN0dWFsT3V0cHV0IHwgRXhwZWN0ZWRPdXRwdXQsIEIgZXh0ZW5kcyBBY3R1YWxPdXRwdXQgfCBFeHBlY3RlZE91dHB1dD4oXG4gIGZpcnN0OiBBW10sXG4gIHNlY29uZDogQltdXG4pOiBBW10ge1xuICBmaXJzdCA9IGZpcnN0LnNsaWNlKCk7XG4gIGZvciAoY29uc3Qgb3V0cHV0IG9mIHNlY29uZCkge1xuICAgIGNvbnN0IGluZGV4ID0gZmlyc3QuZmluZEluZGV4KChvKSA9PiBtYXRjaGluZ091dHB1dChvLCBvdXRwdXQpKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBmaXJzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmlyc3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaXNzaW5nT3V0cHV0czxBIGV4dGVuZHMgQWN0dWFsT3V0cHV0LCBCIGV4dGVuZHMgRXhwZWN0ZWRPdXRwdXQ+KFxuICBhY3R1YWxPdXRwdXRzOiBBW10sXG4gIGV4cGVjdGVkT3V0cHV0czogQltdXG4pOiBCW10ge1xuICByZXR1cm4gb3V0cHV0RGlmZmVyZW5jZShleHBlY3RlZE91dHB1dHMsIGFjdHVhbE91dHB1dHMpLmZpbHRlcigobykgPT4gIW8ub3B0aW9uYWwpO1xufVxuXG5leHBvcnQgdHlwZSBPdXRwdXREaWZmZXJlbmNlV2l0aEV4cGVjdGVkPFRBY3R1YWwgZXh0ZW5kcyBBY3R1YWxPdXRwdXQsIFRFeHBlY3RlZCBleHRlbmRzIEV4cGVjdGVkT3V0cHV0PiA9IHtcbiAgLyoqIFRoZXNlIGFyZSB0aGUgZXh0ZXJuYWwgb3V0cHV0cyB0aGF0IHdlcmUgZXhwZWN0ZWQgYW5kIGZvdW5kIGluIHRoZSB0cmFuc2FjdGlvbi4gKi9cbiAgZXhwbGljaXRPdXRwdXRzOiBUQWN0dWFsW107XG4gIC8qKlxuICAgKiBUaGVzZSBhcmUgdGhlIHN1cnByaXNlIGV4dGVybmFsIG91dHB1dHMgdGhhdCB3ZXJlIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCBpbiB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIFRoZXkgY2FuIGJlIFBheUdvIGZlZXMuXG4gICAqL1xuICBpbXBsaWNpdE91dHB1dHM6IFRBY3R1YWxbXTtcbiAgLyoqXG4gICAqIFRoZXNlIGFyZSB0aGUgb3V0cHV0cyB0aGF0IHdlcmUgZXhwZWN0ZWQgdG8gYmUgaW4gdGhlIHRyYW5zYWN0aW9uIGJ1dCB3ZXJlIG5vdCBmb3VuZC5cbiAgICovXG4gIG1pc3NpbmdPdXRwdXRzOiBURXhwZWN0ZWRbXTtcbn07XG5cbi8qKlxuICogQHBhcmFtIGFjdHVhbE91dHB1dHMgLSBleHRlcm5hbCBvdXRwdXRzIGluIHRoZSB0cmFuc2FjdGlvblxuICogQHBhcmFtIGV4cGVjdGVkT3V0cHV0cyAtIGV4dGVybmFsIG91dHB1dHMgdGhhdCB3ZXJlIGV4cGVjdGVkIHRvIGJlIGluIHRoZSB0cmFuc2FjdGlvblxuICogQHJldHVybnMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYWN0dWFsIGFuZCBleHBlY3RlZCBleHRlcm5hbCBvdXRwdXRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZDxUQWN0dWFsIGV4dGVuZHMgQWN0dWFsT3V0cHV0LCBURXhwZWN0ZWQgZXh0ZW5kcyBFeHBlY3RlZE91dHB1dD4oXG4gIGFjdHVhbE91dHB1dHM6IFRBY3R1YWxbXSxcbiAgZXhwZWN0ZWRPdXRwdXRzOiBURXhwZWN0ZWRbXVxuKTogT3V0cHV0RGlmZmVyZW5jZVdpdGhFeHBlY3RlZDxUQWN0dWFsLCBURXhwZWN0ZWQ+IHtcbiAgY29uc3QgaW1wbGljaXRPdXRwdXRzID0gb3V0cHV0RGlmZmVyZW5jZShhY3R1YWxPdXRwdXRzLCBleHBlY3RlZE91dHB1dHMpO1xuICBjb25zdCBleHBsaWNpdE91dHB1dHMgPSBvdXRwdXREaWZmZXJlbmNlKGFjdHVhbE91dHB1dHMsIGltcGxpY2l0T3V0cHV0cyk7XG4gIGNvbnN0IG1pc3NpbmdPdXRwdXRzID0gZ2V0TWlzc2luZ091dHB1dHMoYWN0dWFsT3V0cHV0cywgZXhwZWN0ZWRPdXRwdXRzKTtcbiAgcmV0dXJuIHtcbiAgICBleHBsaWNpdE91dHB1dHMsXG4gICAgaW1wbGljaXRPdXRwdXRzLFxuICAgIG1pc3NpbmdPdXRwdXRzLFxuICB9O1xufVxuIl19
|
|
@@ -15,6 +15,11 @@ export declare function fromExtendedAddressFormat(extendedAddress: string): {
|
|
|
15
15
|
script: string;
|
|
16
16
|
};
|
|
17
17
|
export declare function fromExtendedAddressFormatToScript(extendedAddress: string, coinName: UtxoCoinName): Buffer;
|
|
18
|
+
export declare function toOutputScript(v: string | {
|
|
19
|
+
address: string;
|
|
20
|
+
} | {
|
|
21
|
+
script: string;
|
|
22
|
+
}, coinName: UtxoCoinName): Buffer;
|
|
18
23
|
/**
|
|
19
24
|
* Convert a script or address to the extended address format.
|
|
20
25
|
* @param script
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,YAAY,EAAE,MAAM,UAAU,CAAC;AAIhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAK3G;AAED,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAOzG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAKtF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUpH"}
|
|
1
|
+
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,YAAY,EAAE,MAAM,UAAU,CAAC;AAIhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAK3G;AAED,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAOzG;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAWnH;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAKtF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUpH"}
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.isScriptRecipient = isScriptRecipient;
|
|
37
37
|
exports.fromExtendedAddressFormat = fromExtendedAddressFormat;
|
|
38
38
|
exports.fromExtendedAddressFormatToScript = fromExtendedAddressFormatToScript;
|
|
39
|
+
exports.toOutputScript = toOutputScript;
|
|
39
40
|
exports.toExtendedAddressFormat = toExtendedAddressFormat;
|
|
40
41
|
exports.assertValidTransactionRecipient = assertValidTransactionRecipient;
|
|
41
42
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
@@ -67,6 +68,18 @@ function fromExtendedAddressFormatToScript(extendedAddress, coinName) {
|
|
|
67
68
|
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
68
69
|
return utxolib.addressFormat.toOutputScriptTryFormats(result.address, network);
|
|
69
70
|
}
|
|
71
|
+
function toOutputScript(v, coinName) {
|
|
72
|
+
if (typeof v === 'string') {
|
|
73
|
+
return fromExtendedAddressFormatToScript(v, coinName);
|
|
74
|
+
}
|
|
75
|
+
if ('script' in v) {
|
|
76
|
+
return Buffer.from(v.script, 'hex');
|
|
77
|
+
}
|
|
78
|
+
if ('address' in v) {
|
|
79
|
+
return fromExtendedAddressFormatToScript(v.address, coinName);
|
|
80
|
+
}
|
|
81
|
+
throw new Error('invalid input');
|
|
82
|
+
}
|
|
70
83
|
/**
|
|
71
84
|
* Convert a script or address to the extended address format.
|
|
72
85
|
* @param script
|
|
@@ -88,4 +101,4 @@ function assertValidTransactionRecipient(output) {
|
|
|
88
101
|
}
|
|
89
102
|
}
|
|
90
103
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBLDhDQUVDO0FBT0QsOERBS0M7QUFFRCw4RUFPQztBQUVELHdDQVdDO0FBUUQsMERBS0M7QUFFRCwwRUFVQztBQXZFRCx5REFBMkM7QUFFM0Msb0NBQWdFO0FBRWhFLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE9BQWU7SUFDL0MsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQix5QkFBeUIsQ0FBQyxlQUF1QjtJQUMvRCxJQUFJLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUFDLGVBQXVCLEVBQUUsUUFBc0I7SUFDL0YsTUFBTSxNQUFNLEdBQUcseUJBQXlCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUQsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEsOEJBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxDQUFvRCxFQUFFLFFBQXNCO0lBQ3pHLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUIsT0FBTyxpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsTUFBYyxFQUFFLFFBQXNCO0lBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUEsOEJBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTO1FBQzVDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxTQUFnQiwrQkFBK0IsQ0FBQyxNQUE4RDtJQUM1RywrR0FBK0c7SUFDL0csc0ZBQXNGO0lBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxNQUFNLENBQUMsTUFBTSxjQUFjLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FDbkgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSwgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5jb25zdCBTY3JpcHRSZWNpcGllbnRQcmVmaXggPSAnc2NyaXB0UHViS2V5Oic7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGFkZHJlc3MgaXMgYSBzY3JpcHQgcmVjaXBpZW50IChzdGFydHMgd2l0aCBgc2NyaXB0UHViS2V5OmApLlxuICogQHBhcmFtIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoU2NyaXB0UmVjaXBpZW50UHJlZml4LnRvTG93ZXJDYXNlKCkpO1xufVxuXG4vKipcbiAqIEFuIGV4dGVuZGVkIGFkZHJlc3MgaXMgb25lIHRoYXQgZW5jb2RlcyBlaXRoZXIgYSByZWd1bGFyIGFkZHJlc3Mgb3IgYSBoZXggZW5jb2RlZCBzY3JpcHQgd2l0aCB0aGUgcHJlZml4IGBzY3JpcHRQdWJLZXk6YC5cbiAqIFRoaXMgZnVuY3Rpb24gY29udmVydHMgdGhlIGV4dGVuZGVkIGFkZHJlc3MgZm9ybWF0IHRvIGVpdGhlciBhIHNjcmlwdCBvciBhbiBhZGRyZXNzLlxuICogQHBhcmFtIGV4dGVuZGVkQWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0ge1xuICBpZiAoaXNTY3JpcHRSZWNpcGllbnQoZXh0ZW5kZWRBZGRyZXNzKSkge1xuICAgIHJldHVybiB7IHNjcmlwdDogZXh0ZW5kZWRBZGRyZXNzLnNsaWNlKFNjcmlwdFJlY2lwaWVudFByZWZpeC5sZW5ndGgpIH07XG4gIH1cbiAgcmV0dXJuIHsgYWRkcmVzczogZXh0ZW5kZWRBZGRyZXNzIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICBjb25zdCByZXN1bHQgPSBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzcyk7XG4gIGlmICgnc2NyaXB0JyBpbiByZXN1bHQpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ocmVzdWx0LnNjcmlwdCwgJ2hleCcpO1xuICB9XG4gIGNvbnN0IG5ldHdvcmsgPSBnZXROZXR3b3JrRnJvbUNvaW5OYW1lKGNvaW5OYW1lKTtcbiAgcmV0dXJuIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC50b091dHB1dFNjcmlwdFRyeUZvcm1hdHMocmVzdWx0LmFkZHJlc3MsIG5ldHdvcmspO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9PdXRwdXRTY3JpcHQodjogc3RyaW5nIHwgeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSwgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IEJ1ZmZlciB7XG4gIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHYsIGNvaW5OYW1lKTtcbiAgfVxuICBpZiAoJ3NjcmlwdCcgaW4gdikge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh2LnNjcmlwdCwgJ2hleCcpO1xuICB9XG4gIGlmICgnYWRkcmVzcycgaW4gdikge1xuICAgIHJldHVybiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQodi5hZGRyZXNzLCBjb2luTmFtZSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlucHV0Jyk7XG59XG5cbi8qKlxuICogQ29udmVydCBhIHNjcmlwdCBvciBhZGRyZXNzIHRvIHRoZSBleHRlbmRlZCBhZGRyZXNzIGZvcm1hdC5cbiAqIEBwYXJhbSBzY3JpcHRcbiAqIEBwYXJhbSBjb2luTmFtZVxuICogQHJldHVybnMgaWYgdGhlIHNjcmlwdCBpcyBhbiBPUF9SRVRVUk4gc2NyaXB0LCB0aGVuIGl0IHdpbGwgYmUgcHJlZml4ZWQgd2l0aCBgc2NyaXB0UHViS2V5OmAsIG90aGVyd2lzZSBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBhZGRyZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0OiBCdWZmZXIsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBzdHJpbmcge1xuICBjb25zdCBuZXR3b3JrID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZSk7XG4gIHJldHVybiBzY3JpcHRbMF0gPT09IHV0eG9saWIub3Bjb2Rlcy5PUF9SRVRVUk5cbiAgICA/IGAke1NjcmlwdFJlY2lwaWVudFByZWZpeH0ke3NjcmlwdC50b1N0cmluZygnaGV4Jyl9YFxuICAgIDogdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoc2NyaXB0LCBuZXR3b3JrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0OiB7IGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nOyBhZGRyZXNzPzogc3RyaW5nIH0pOiB2b2lkIHtcbiAgLy8gSW4gdGhlIGNhc2UgdGhhdCB0aGlzIGlzIGFuIE9QX1JFVFVSTiBvdXRwdXQgb3IgYW5vdGhlciBub24tZW5jb2RhYmxlIHNjcmlwdFB1YmtleSwgd2UgZG9udCBoYXZlIGFuIGFkZHJlc3MuXG4gIC8vIFdlIHdpbGwgdmVyaWZ5IHRoYXQgdGhlIGFtb3VudCBpcyB6ZXJvLCBhbmQgaWYgaXQgaXNudCB0aGVuIHdlIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gIGlmICghb3V0cHV0LmFkZHJlc3MgfHwgaXNTY3JpcHRSZWNpcGllbnQob3V0cHV0LmFkZHJlc3MpKSB7XG4gICAgaWYgKG91dHB1dC5hbW91bnQudG9TdHJpbmcoKSAhPT0gJzAnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBPbmx5IHplcm8gYW1vdW50cyBhbGxvd2VkIGZvciBub24tZW5jb2RlYWJsZSBzY3JpcHRQdWJrZXlzOiBhbW91bnQ6ICR7b3V0cHV0LmFtb3VudH0sIGFkZHJlc3M6ICR7b3V0cHV0LmFkZHJlc3N9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0B/E,wBAAsB,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACnE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2C5B"}
|
|
@@ -43,6 +43,7 @@ const secp256k1_1 = require("@bitgo/secp256k1");
|
|
|
43
43
|
const debug_1 = __importDefault(require("debug"));
|
|
44
44
|
const descriptor_1 = require("../descriptor");
|
|
45
45
|
const keychains_1 = require("../keychains");
|
|
46
|
+
const wasmUtil_1 = require("../wasmUtil");
|
|
46
47
|
const fixedScript = __importStar(require("./fixedScript"));
|
|
47
48
|
const descriptor = __importStar(require("./descriptor"));
|
|
48
49
|
const decode_1 = require("./decode");
|
|
@@ -76,17 +77,16 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
76
77
|
if (!signerKeychain) {
|
|
77
78
|
throw new Error('missing signer');
|
|
78
79
|
}
|
|
80
|
+
if (!(0, wasmUtil_1.isUtxoLibPsbt)(tx) && !(tx instanceof Uint8Array)) {
|
|
81
|
+
throw new Error('descriptor wallets require PSBT format transactions');
|
|
82
|
+
}
|
|
79
83
|
const walletKeys = (0, keychains_1.toBip32Triple)(await (0, keychains_1.fetchKeychains)(coin, wallet));
|
|
80
84
|
const descriptorMap = (0, descriptor_1.getDescriptorMapFromWallet)(wallet, walletKeys, (0, descriptor_1.getPolicyForEnv)(bitgo.env));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
throw new Error('expected a UtxoPsbt object');
|
|
89
|
-
}
|
|
85
|
+
const psbt = (0, wasmUtil_1.toWasmPsbt)(tx);
|
|
86
|
+
descriptor.signPsbt(psbt, descriptorMap, signerKeychain, {
|
|
87
|
+
onUnknownInput: 'throw',
|
|
88
|
+
});
|
|
89
|
+
return { txHex: Buffer.from(psbt.serialize()).toString('hex') };
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
92
|
const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.name, {
|
|
@@ -102,4 +102,4 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
102
102
|
return { txHex: buffer.toString('hex') };
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSwwQ0ErQ0M7QUEvRUQsb0RBQXVCO0FBRXZCLHlEQUEyQztBQUMzQyxnREFBeUM7QUFDekMsa0RBQStCO0FBRy9CLDhDQUFnRztBQUNoRyw0Q0FBNkQ7QUFDN0QsMENBQXdEO0FBRXhELDJEQUE2QztBQUM3Qyx5REFBMkM7QUFDM0MscUNBQTZDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBVSxFQUFDLGlEQUFpRCxDQUFDLENBQUM7QUFFNUUsU0FBUyxpQkFBaUIsQ0FBQyxPQUFnQjtJQUN6QyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLGlCQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxLQUFLLENBQUMsd0RBQXdELGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEcsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUVNLEtBQUssVUFBVSxlQUFlLENBQ25DLElBQXNCLEVBQ3RCLEtBQWdCLEVBQ2hCLE1BQXVDO0lBRXZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFFckMsSUFBSSxnQkFBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxPQUFPLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUxQixJQUFJLE1BQU0sSUFBSSxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUEsd0JBQWEsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxZQUFZLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFhLEVBQUMsTUFBTSxJQUFBLDBCQUFjLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBQSx1Q0FBMEIsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUEsNEJBQWUsRUFBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRyxNQUFNLElBQUksR0FBRyxJQUFBLHFCQUFVLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRTtZQUN2RCxjQUFjLEVBQUUsT0FBTztTQUN4QixDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNyRyxRQUFRLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ3BDLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDaEMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLElBQUksS0FBSztZQUNoRCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0Isa0NBQWtDLEVBQUUsTUFBTSxDQUFDLGtDQUFrQyxJQUFJLEtBQUs7WUFDdEYsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztTQUNoQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsMEJBQWlCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDM0MsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvL3NlY3AyNTZrMSc7XG5pbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBnZXRQb2xpY3lGb3JFbnYsIGlzRGVzY3JpcHRvcldhbGxldCB9IGZyb20gJy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMsIHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgaXNVdHhvTGliUHNidCwgdG9XYXNtUHNidCB9IGZyb20gJy4uL3dhc21VdGlsJztcblxuaW1wb3J0ICogYXMgZml4ZWRTY3JpcHQgZnJvbSAnLi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBlbmNvZGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vZGVjb2RlJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCdiaXRnbzphYnN0cmFjdC11dHhvOnRyYW5zYWN0aW9uOnNpZ25UcmFuc2FjdGlvbicpO1xuXG5mdW5jdGlvbiBnZXRTaWduZXJLZXljaGFpbih1c2VyUHJ2OiB1bmtub3duKTogdXR4b2xpYi5CSVAzMkludGVyZmFjZSB8IHVuZGVmaW5lZCB7XG4gIGlmICh1c2VyUHJ2ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh0eXBlb2YgdXNlclBydiAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgdG8gYmUgYSBzdHJpbmcnKTtcbiAgfVxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGJpcDMyLmZyb21CYXNlNTgodXNlclBydiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgaWYgKHNpZ25lcktleWNoYWluLmlzTmV1dGVyZWQoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSBidXQgcmVjZWl2ZWQgcHVibGljIGtleScpO1xuICB9XG4gIGRlYnVnKGBIZXJlIGlzIHRoZSBwdWJsaWMga2V5IG9mIHRoZSB4cHJ2IHlvdSB1c2VkIHRvIHNpZ246ICR7c2lnbmVyS2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpfWApO1xuICByZXR1cm4gc2lnbmVyS2V5Y2hhaW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuKTogUHJvbWlzZTx7IHR4SGV4OiBzdHJpbmcgfT4ge1xuICBjb25zdCB0eFByZWJ1aWxkID0gcGFyYW1zLnR4UHJlYnVpbGQ7XG5cbiAgaWYgKF8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgfHwgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgJiYgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHhQcmVidWlsZCBtdXN0IGJlIGFuIG9iamVjdCwgZ290IHR5cGUgJHt0eXBlb2YgdHhQcmVidWlsZH1gKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHR4UHJlYnVpbGQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICBjb25zdCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gIGNvbnN0IHNpZ25lcktleWNoYWluID0gZ2V0U2lnbmVyS2V5Y2hhaW4ocGFyYW1zLnBydik7XG5cbiAgY29uc3QgeyB3YWxsZXQgfSA9IHBhcmFtcztcblxuICBpZiAod2FsbGV0ICYmIGlzRGVzY3JpcHRvcldhbGxldCh3YWxsZXQpKSB7XG4gICAgaWYgKCFzaWduZXJLZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHNpZ25lcicpO1xuICAgIH1cbiAgICBpZiAoIWlzVXR4b0xpYlBzYnQodHgpICYmICEodHggaW5zdGFuY2VvZiBVaW50OEFycmF5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZXNjcmlwdG9yIHdhbGxldHMgcmVxdWlyZSBQU0JUIGZvcm1hdCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgd2FsbGV0KSk7XG4gICAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpO1xuICAgIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KHR4KTtcbiAgICBkZXNjcmlwdG9yLnNpZ25Qc2J0KHBzYnQsIGRlc2NyaXB0b3JNYXAsIHNpZ25lcktleWNoYWluLCB7XG4gICAgICBvblVua25vd25JbnB1dDogJ3Rocm93JyxcbiAgICB9KTtcbiAgICByZXR1cm4geyB0eEhleDogQnVmZmVyLmZyb20ocHNidC5zZXJpYWxpemUoKSkudG9TdHJpbmcoJ2hleCcpIH07XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2lnbmVkVHggPSBhd2FpdCBmaXhlZFNjcmlwdC5zaWduVHJhbnNhY3Rpb24oY29pbiwgdHgsIGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpLCBjb2luLm5hbWUsIHtcbiAgICAgIHdhbGxldElkOiBwYXJhbXMudHhQcmVidWlsZC53YWxsZXRJZCxcbiAgICAgIHR4SW5mbzogcGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvLFxuICAgICAgaXNMYXN0U2lnbmF0dXJlOiBwYXJhbXMuaXNMYXN0U2lnbmF0dXJlID8/IGZhbHNlLFxuICAgICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICAgIGFsbG93Tm9uU2Vnd2l0U2lnbmluZ1dpdGhvdXRQcmV2VHg6IHBhcmFtcy5hbGxvd05vblNlZ3dpdFNpZ25pbmdXaXRob3V0UHJldlR4ID8/IGZhbHNlLFxuICAgICAgcHViczogcGFyYW1zLnB1YnMsXG4gICAgICBjb3NpZ25lclB1YjogcGFyYW1zLmNvc2lnbmVyUHViLFxuICAgIH0pO1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcihzaWduZWRUeCkgPyBzaWduZWRUeCA6IGVuY29kZVRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICByZXR1cm4geyB0eEhleDogYnVmZmVyLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Unspent transaction output (UTXO) type definition
|
|
4
|
+
*
|
|
5
|
+
* This type represents an unspent transaction output, independent from utxo-lib.
|
|
6
|
+
* The structure matches utxolib.bitgo.Unspent but is defined locally.
|
|
7
|
+
*
|
|
8
|
+
* @property id - Format: ${txid}:${vout}. Use `parseOutputId(id)` to parse.
|
|
9
|
+
* @property address - The network-specific encoded address. Use `toOutputScript(address, network)` to obtain scriptPubKey.
|
|
10
|
+
* @property value - The amount in satoshi.
|
|
11
|
+
*/
|
|
12
|
+
export interface Unspent<TNumber extends number | bigint = number> {
|
|
13
|
+
/**
|
|
14
|
+
* Format: ${txid}:${vout}.
|
|
15
|
+
* Use `parseOutputId(id)` to parse.
|
|
16
|
+
*/
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* The network-specific encoded address.
|
|
20
|
+
* Use `toOutputScript(address, network)` to obtain scriptPubKey.
|
|
21
|
+
*/
|
|
22
|
+
address: string;
|
|
23
|
+
/**
|
|
24
|
+
* The amount in satoshi.
|
|
25
|
+
*/
|
|
26
|
+
value: TNumber;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Wallet unspent type - extends Unspent with wallet-specific fields
|
|
30
|
+
*
|
|
31
|
+
* This type includes all fields from Unspent plus:
|
|
32
|
+
* - chain: ChainCode (chain code for wallet derivation)
|
|
33
|
+
* - index: number (index for wallet derivation)
|
|
34
|
+
*/
|
|
35
|
+
export interface WalletUnspent<TNumber extends number | bigint = number> extends Unspent<TNumber> {
|
|
36
|
+
chain: utxolib.bitgo.ChainCode;
|
|
37
|
+
index: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Unspent with previous transaction data
|
|
41
|
+
*
|
|
42
|
+
* Extends Unspent with:
|
|
43
|
+
* - prevTx: Buffer (previous transaction data for legacy transactions)
|
|
44
|
+
*/
|
|
45
|
+
export interface UnspentWithPrevTx<TNumber extends number | bigint = number> extends Unspent<TNumber> {
|
|
46
|
+
prevTx: Buffer;
|
|
47
|
+
}
|
|
48
|
+
export declare function parseOutputId(id: string): {
|
|
49
|
+
txid: string;
|
|
50
|
+
vout: number;
|
|
51
|
+
};
|
|
52
|
+
export declare function unspentSum(unspents: {
|
|
53
|
+
value: number | bigint;
|
|
54
|
+
}[]): bigint;
|
|
55
|
+
//# sourceMappingURL=unspent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unspent.d.ts","sourceRoot":"","sources":["../../../src/unspent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAC/D;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAE,SAAQ,OAAO,CAAC,OAAO,CAAC;IAC/F,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAE,SAAQ,OAAO,CAAC,OAAO,CAAC;IACnG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAGxE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAEzE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseOutputId = parseOutputId;
|
|
4
|
+
exports.unspentSum = unspentSum;
|
|
5
|
+
function parseOutputId(id) {
|
|
6
|
+
const [txid, vout] = id.split(':');
|
|
7
|
+
return { txid, vout: Number(vout) };
|
|
8
|
+
}
|
|
9
|
+
function unspentSum(unspents) {
|
|
10
|
+
return unspents.reduce((sum, unspent) => sum + BigInt(unspent.value), 0n);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zcGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bnNwZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBbURBLHNDQUdDO0FBRUQsZ0NBRUM7QUFQRCxTQUFnQixhQUFhLENBQUMsRUFBVTtJQUN0QyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxRQUFzQztJQUMvRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG4vKipcbiAqIFVuc3BlbnQgdHJhbnNhY3Rpb24gb3V0cHV0IChVVFhPKSB0eXBlIGRlZmluaXRpb25cbiAqXG4gKiBUaGlzIHR5cGUgcmVwcmVzZW50cyBhbiB1bnNwZW50IHRyYW5zYWN0aW9uIG91dHB1dCwgaW5kZXBlbmRlbnQgZnJvbSB1dHhvLWxpYi5cbiAqIFRoZSBzdHJ1Y3R1cmUgbWF0Y2hlcyB1dHhvbGliLmJpdGdvLlVuc3BlbnQgYnV0IGlzIGRlZmluZWQgbG9jYWxseS5cbiAqXG4gKiBAcHJvcGVydHkgaWQgLSBGb3JtYXQ6ICR7dHhpZH06JHt2b3V0fS4gVXNlIGBwYXJzZU91dHB1dElkKGlkKWAgdG8gcGFyc2UuXG4gKiBAcHJvcGVydHkgYWRkcmVzcyAtIFRoZSBuZXR3b3JrLXNwZWNpZmljIGVuY29kZWQgYWRkcmVzcy4gVXNlIGB0b091dHB1dFNjcmlwdChhZGRyZXNzLCBuZXR3b3JrKWAgdG8gb2J0YWluIHNjcmlwdFB1YktleS5cbiAqIEBwcm9wZXJ0eSB2YWx1ZSAtIFRoZSBhbW91bnQgaW4gc2F0b3NoaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbnNwZW50PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+IHtcbiAgLyoqXG4gICAqIEZvcm1hdDogJHt0eGlkfToke3ZvdXR9LlxuICAgKiBVc2UgYHBhcnNlT3V0cHV0SWQoaWQpYCB0byBwYXJzZS5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmV0d29yay1zcGVjaWZpYyBlbmNvZGVkIGFkZHJlc3MuXG4gICAqIFVzZSBgdG9PdXRwdXRTY3JpcHQoYWRkcmVzcywgbmV0d29yaylgIHRvIG9idGFpbiBzY3JpcHRQdWJLZXkuXG4gICAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IGluIHNhdG9zaGkuXG4gICAqL1xuICB2YWx1ZTogVE51bWJlcjtcbn1cblxuLyoqXG4gKiBXYWxsZXQgdW5zcGVudCB0eXBlIC0gZXh0ZW5kcyBVbnNwZW50IHdpdGggd2FsbGV0LXNwZWNpZmljIGZpZWxkc1xuICpcbiAqIFRoaXMgdHlwZSBpbmNsdWRlcyBhbGwgZmllbGRzIGZyb20gVW5zcGVudCBwbHVzOlxuICogLSBjaGFpbjogQ2hhaW5Db2RlIChjaGFpbiBjb2RlIGZvciB3YWxsZXQgZGVyaXZhdGlvbilcbiAqIC0gaW5kZXg6IG51bWJlciAoaW5kZXggZm9yIHdhbGxldCBkZXJpdmF0aW9uKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4gZXh0ZW5kcyBVbnNwZW50PFROdW1iZXI+IHtcbiAgY2hhaW46IHV0eG9saWIuYml0Z28uQ2hhaW5Db2RlO1xuICBpbmRleDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFVuc3BlbnQgd2l0aCBwcmV2aW91cyB0cmFuc2FjdGlvbiBkYXRhXG4gKlxuICogRXh0ZW5kcyBVbnNwZW50IHdpdGg6XG4gKiAtIHByZXZUeDogQnVmZmVyIChwcmV2aW91cyB0cmFuc2FjdGlvbiBkYXRhIGZvciBsZWdhY3kgdHJhbnNhY3Rpb25zKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVuc3BlbnRXaXRoUHJldlR4PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+IGV4dGVuZHMgVW5zcGVudDxUTnVtYmVyPiB7XG4gIHByZXZUeDogQnVmZmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VPdXRwdXRJZChpZDogc3RyaW5nKTogeyB0eGlkOiBzdHJpbmc7IHZvdXQ6IG51bWJlciB9IHtcbiAgY29uc3QgW3R4aWQsIHZvdXRdID0gaWQuc3BsaXQoJzonKTtcbiAgcmV0dXJuIHsgdHhpZCwgdm91dDogTnVtYmVyKHZvdXQpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNwZW50U3VtKHVuc3BlbnRzOiB7IHZhbHVlOiBudW1iZXIgfCBiaWdpbnQgfVtdKTogYmlnaW50IHtcbiAgcmV0dXJuIHVuc3BlbnRzLnJlZHVjZSgoc3VtLCB1bnNwZW50KSA9PiBzdW0gKyBCaWdJbnQodW5zcGVudC52YWx1ZSksIDBuKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BIP32, ECPair, Psbt, descriptorWallet } from '@bitgo/wasm-utxo';
|
|
2
|
+
import * as utxolib from '@bitgo/utxo-lib';
|
|
3
|
+
export type BIP32Key = BIP32 | utxolib.BIP32Interface;
|
|
4
|
+
export type ECPairKey = ECPair | utxolib.ECPairInterface | Uint8Array;
|
|
5
|
+
export type UtxoLibPsbt = utxolib.Psbt | utxolib.bitgo.UtxoPsbt;
|
|
6
|
+
/**
|
|
7
|
+
* Map of descriptor name to Descriptor instance.
|
|
8
|
+
* Re-exported from wasm-utxo for consistency.
|
|
9
|
+
*/
|
|
10
|
+
export type DescriptorMap = descriptorWallet.DescriptorMap;
|
|
11
|
+
/**
|
|
12
|
+
* Key type accepted by descriptorWallet.signWithKey
|
|
13
|
+
*/
|
|
14
|
+
export type SignerKey = Parameters<typeof descriptorWallet.signWithKey>[1];
|
|
15
|
+
/**
|
|
16
|
+
* Convert a utxo-lib BIP32Interface to a wasm-utxo BIP32 instance.
|
|
17
|
+
* Preserves private key by using base58 serialization.
|
|
18
|
+
*/
|
|
19
|
+
export declare function toWasmBIP32(key: BIP32Key): BIP32;
|
|
20
|
+
export declare function toWasmECPair(key: ECPairKey): ECPair;
|
|
21
|
+
export declare function isUtxoLibPsbt(psbt: unknown): psbt is UtxoLibPsbt;
|
|
22
|
+
export declare function toWasmPsbt(psbt: Psbt | UtxoLibPsbt | Uint8Array): Psbt;
|
|
23
|
+
/**
|
|
24
|
+
* Sum the `value` property of an array of objects.
|
|
25
|
+
*/
|
|
26
|
+
export declare function sumValues(arr: {
|
|
27
|
+
value: bigint;
|
|
28
|
+
}[]): bigint;
|
|
29
|
+
//# sourceMappingURL=wasmUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasmUtil.d.ts","sourceRoot":"","sources":["../../../src/wasmUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAMhD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAWnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,WAAW,CAEhE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAWtE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.toWasmBIP32 = toWasmBIP32;
|
|
37
|
+
exports.toWasmECPair = toWasmECPair;
|
|
38
|
+
exports.isUtxoLibPsbt = isUtxoLibPsbt;
|
|
39
|
+
exports.toWasmPsbt = toWasmPsbt;
|
|
40
|
+
exports.sumValues = sumValues;
|
|
41
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
42
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
43
|
+
/**
|
|
44
|
+
* Convert a utxo-lib BIP32Interface to a wasm-utxo BIP32 instance.
|
|
45
|
+
* Preserves private key by using base58 serialization.
|
|
46
|
+
*/
|
|
47
|
+
function toWasmBIP32(key) {
|
|
48
|
+
if (key instanceof wasm_utxo_1.BIP32) {
|
|
49
|
+
return key;
|
|
50
|
+
}
|
|
51
|
+
// All utxo-lib BIP32Interface instances have toBase58
|
|
52
|
+
return wasm_utxo_1.BIP32.fromBase58(key.toBase58());
|
|
53
|
+
}
|
|
54
|
+
function toWasmECPair(key) {
|
|
55
|
+
if (key instanceof wasm_utxo_1.ECPair) {
|
|
56
|
+
return key;
|
|
57
|
+
}
|
|
58
|
+
if (key instanceof Uint8Array) {
|
|
59
|
+
return wasm_utxo_1.ECPair.from(key);
|
|
60
|
+
}
|
|
61
|
+
if (key.privateKey) {
|
|
62
|
+
return wasm_utxo_1.ECPair.fromPrivateKey(key.privateKey);
|
|
63
|
+
}
|
|
64
|
+
return wasm_utxo_1.ECPair.fromPublicKey(key.publicKey);
|
|
65
|
+
}
|
|
66
|
+
function isUtxoLibPsbt(psbt) {
|
|
67
|
+
return psbt instanceof utxolib.Psbt || psbt instanceof utxolib.bitgo.UtxoPsbt;
|
|
68
|
+
}
|
|
69
|
+
function toWasmPsbt(psbt) {
|
|
70
|
+
if (psbt instanceof wasm_utxo_1.Psbt) {
|
|
71
|
+
return psbt;
|
|
72
|
+
}
|
|
73
|
+
if (psbt instanceof Uint8Array) {
|
|
74
|
+
return wasm_utxo_1.Psbt.deserialize(psbt);
|
|
75
|
+
}
|
|
76
|
+
if (isUtxoLibPsbt(psbt)) {
|
|
77
|
+
return wasm_utxo_1.Psbt.deserialize(psbt.toBuffer());
|
|
78
|
+
}
|
|
79
|
+
throw new Error('Unsupported PSBT type');
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Sum the `value` property of an array of objects.
|
|
83
|
+
*/
|
|
84
|
+
function sumValues(arr) {
|
|
85
|
+
return arr.reduce((sum, e) => sum + e.value, BigInt(0));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2FzbVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkEsa0NBTUM7QUFFRCxvQ0FXQztBQUVELHNDQUVDO0FBRUQsZ0NBV0M7QUFLRCw4QkFFQztBQWpFRCxnREFBeUU7QUFDekUseURBQTJDO0FBaUIzQzs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsR0FBYTtJQUN2QyxJQUFJLEdBQUcsWUFBWSxpQkFBSyxFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0Qsc0RBQXNEO0lBQ3RELE9BQU8saUJBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQWdCLFlBQVksQ0FBQyxHQUFjO0lBQ3pDLElBQUksR0FBRyxZQUFZLGtCQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUM5QixPQUFPLGtCQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixPQUFPLGtCQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsT0FBTyxrQkFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxJQUFhO0lBQ3pDLE9BQU8sSUFBSSxZQUFZLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ2hGLENBQUM7QUFFRCxTQUFnQixVQUFVLENBQUMsSUFBcUM7SUFDOUQsSUFBSSxJQUFJLFlBQVksZ0JBQUksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQy9CLE9BQU8sZ0JBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxnQkFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxHQUF3QjtJQUNoRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzIsIEVDUGFpciwgUHNidCwgZGVzY3JpcHRvcldhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5leHBvcnQgdHlwZSBCSVAzMktleSA9IEJJUDMyIHwgdXR4b2xpYi5CSVAzMkludGVyZmFjZTtcbmV4cG9ydCB0eXBlIEVDUGFpcktleSA9IEVDUGFpciB8IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlIHwgVWludDhBcnJheTtcbmV4cG9ydCB0eXBlIFV0eG9MaWJQc2J0ID0gdXR4b2xpYi5Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcblxuLyoqXG4gKiBNYXAgb2YgZGVzY3JpcHRvciBuYW1lIHRvIERlc2NyaXB0b3IgaW5zdGFuY2UuXG4gKiBSZS1leHBvcnRlZCBmcm9tIHdhc20tdXR4byBmb3IgY29uc2lzdGVuY3kuXG4gKi9cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JNYXAgPSBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXA7XG5cbi8qKlxuICogS2V5IHR5cGUgYWNjZXB0ZWQgYnkgZGVzY3JpcHRvcldhbGxldC5zaWduV2l0aEtleVxuICovXG5leHBvcnQgdHlwZSBTaWduZXJLZXkgPSBQYXJhbWV0ZXJzPHR5cGVvZiBkZXNjcmlwdG9yV2FsbGV0LnNpZ25XaXRoS2V5PlsxXTtcblxuLyoqXG4gKiBDb252ZXJ0IGEgdXR4by1saWIgQklQMzJJbnRlcmZhY2UgdG8gYSB3YXNtLXV0eG8gQklQMzIgaW5zdGFuY2UuXG4gKiBQcmVzZXJ2ZXMgcHJpdmF0ZSBrZXkgYnkgdXNpbmcgYmFzZTU4IHNlcmlhbGl6YXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1dhc21CSVAzMihrZXk6IEJJUDMyS2V5KTogQklQMzIge1xuICBpZiAoa2V5IGluc3RhbmNlb2YgQklQMzIpIHtcbiAgICByZXR1cm4ga2V5O1xuICB9XG4gIC8vIEFsbCB1dHhvLWxpYiBCSVAzMkludGVyZmFjZSBpbnN0YW5jZXMgaGF2ZSB0b0Jhc2U1OFxuICByZXR1cm4gQklQMzIuZnJvbUJhc2U1OChrZXkudG9CYXNlNTgoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1dhc21FQ1BhaXIoa2V5OiBFQ1BhaXJLZXkpOiBFQ1BhaXIge1xuICBpZiAoa2V5IGluc3RhbmNlb2YgRUNQYWlyKSB7XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuICBpZiAoa2V5IGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgIHJldHVybiBFQ1BhaXIuZnJvbShrZXkpO1xuICB9XG4gIGlmIChrZXkucHJpdmF0ZUtleSkge1xuICAgIHJldHVybiBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoa2V5LnByaXZhdGVLZXkpO1xuICB9XG4gIHJldHVybiBFQ1BhaXIuZnJvbVB1YmxpY0tleShrZXkucHVibGljS2V5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0xpYlBzYnQocHNidDogdW5rbm93bik6IHBzYnQgaXMgVXR4b0xpYlBzYnQge1xuICByZXR1cm4gcHNidCBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCB8fCBwc2J0IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvV2FzbVBzYnQocHNidDogUHNidCB8IFV0eG9MaWJQc2J0IHwgVWludDhBcnJheSk6IFBzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIFBzYnQpIHtcbiAgICByZXR1cm4gcHNidDtcbiAgfVxuICBpZiAocHNidCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gUHNidC5kZXNlcmlhbGl6ZShwc2J0KTtcbiAgfVxuICBpZiAoaXNVdHhvTGliUHNidChwc2J0KSkge1xuICAgIHJldHVybiBQc2J0LmRlc2VyaWFsaXplKHBzYnQudG9CdWZmZXIoKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBQU0JUIHR5cGUnKTtcbn1cblxuLyoqXG4gKiBTdW0gdGhlIGB2YWx1ZWAgcHJvcGVydHkgb2YgYW4gYXJyYXkgb2Ygb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1bVZhbHVlcyhhcnI6IHsgdmFsdWU6IGJpZ2ludCB9W10pOiBiaWdpbnQge1xuICByZXR1cm4gYXJyLnJlZHVjZSgoc3VtLCBlKSA9PiBzdW0gKyBlLnZhbHVlLCBCaWdJbnQoMCkpO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../test/unit/address.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../test/unit/address.ts"],"names":[],"mappings":""}
|