@bitgo/abstract-utxo 10.17.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.
Files changed (292) hide show
  1. package/dist/cjs/src/abstractUtxoCoin.d.ts +5 -6
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/cjs/src/abstractUtxoCoin.js +24 -5
  4. package/dist/cjs/src/address/fixedScript.d.ts +1 -5
  5. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
  6. package/dist/cjs/src/address/fixedScript.js +3 -5
  7. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts +4 -5
  8. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -1
  9. package/dist/cjs/src/descriptor/NamedDescriptor.js +4 -6
  10. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  11. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  12. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -38
  13. package/dist/cjs/src/descriptor/builder/builder.d.ts +2 -3
  14. package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -1
  15. package/dist/cjs/src/descriptor/builder/builder.js +1 -1
  16. package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -1
  17. package/dist/cjs/src/descriptor/builder/parse.js +3 -3
  18. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts +2 -2
  19. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
  20. package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +1 -1
  21. package/dist/cjs/src/descriptor/descriptorWallet.d.ts +1 -1
  22. package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -1
  23. package/dist/cjs/src/descriptor/descriptorWallet.js +1 -1
  24. package/dist/cjs/src/descriptor/index.d.ts +1 -1
  25. package/dist/cjs/src/descriptor/index.d.ts.map +1 -1
  26. package/dist/cjs/src/descriptor/index.js +1 -1
  27. package/dist/cjs/src/descriptor/validatePolicy.d.ts +3 -3
  28. package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -1
  29. package/dist/cjs/src/descriptor/validatePolicy.js +3 -3
  30. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
  31. package/dist/cjs/src/impl/bch/bch.js +6 -38
  32. package/dist/cjs/src/impl/doge/doge.d.ts +2 -1
  33. package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -1
  34. package/dist/cjs/src/impl/doge/doge.js +1 -1
  35. package/dist/cjs/src/impl/ltc/ltc.d.ts +0 -1
  36. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -1
  37. package/dist/cjs/src/impl/ltc/ltc.js +3 -41
  38. package/dist/cjs/src/impl/ltc/tltc.d.ts +0 -1
  39. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -1
  40. package/dist/cjs/src/impl/ltc/tltc.js +3 -40
  41. package/dist/cjs/src/index.d.ts +2 -0
  42. package/dist/cjs/src/index.d.ts.map +1 -1
  43. package/dist/cjs/src/index.js +3 -1
  44. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +2 -2
  45. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +3 -2
  46. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
  47. package/dist/cjs/src/offlineVault/descriptor/transaction.js +5 -8
  48. package/dist/cjs/src/recovery/RecoveryProvider.d.ts +1 -3
  49. package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -1
  50. package/dist/cjs/src/recovery/RecoveryProvider.js +1 -1
  51. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +73 -4
  52. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  53. package/dist/cjs/src/recovery/backupKeyRecovery.js +163 -129
  54. package/dist/cjs/src/recovery/crossChainRecovery.d.ts +5 -5
  55. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
  56. package/dist/cjs/src/recovery/crossChainRecovery.js +22 -121
  57. package/dist/cjs/src/recovery/psbt.d.ts +8 -31
  58. package/dist/cjs/src/recovery/psbt.d.ts.map +1 -1
  59. package/dist/cjs/src/recovery/psbt.js +14 -126
  60. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +3 -3
  61. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  62. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +17 -54
  63. package/dist/cjs/src/transaction/descriptor/index.d.ts +1 -1
  64. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -1
  65. package/dist/cjs/src/transaction/descriptor/index.js +1 -1
  66. package/dist/cjs/src/transaction/descriptor/parse.d.ts +6 -4
  67. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
  68. package/dist/cjs/src/transaction/descriptor/parse.js +24 -50
  69. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +6 -7
  70. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -1
  71. package/dist/cjs/src/transaction/descriptor/signPsbt.js +19 -18
  72. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +4 -4
  73. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  74. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +10 -38
  75. package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -1
  76. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
  77. package/dist/cjs/src/transaction/explainTransaction.js +3 -2
  78. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +1 -3
  79. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -1
  80. package/dist/cjs/src/transaction/fixedScript/SigningError.js +1 -1
  81. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +2 -1
  82. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
  83. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +1 -8
  84. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  85. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +6 -11
  86. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
  87. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
  88. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +4 -2
  89. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
  90. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
  91. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +1 -1
  92. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +2 -2
  93. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
  94. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +4 -8
  95. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +6 -5
  96. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  97. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +42 -7
  98. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
  99. package/dist/cjs/src/transaction/signTransaction.js +10 -10
  100. package/dist/cjs/src/unspent.d.ts +55 -0
  101. package/dist/cjs/src/unspent.d.ts.map +1 -0
  102. package/dist/cjs/src/unspent.js +12 -0
  103. package/dist/cjs/src/wasmUtil.d.ts +29 -0
  104. package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
  105. package/dist/cjs/src/wasmUtil.js +87 -0
  106. package/dist/cjs/test/unit/address.d.ts +1 -1
  107. package/dist/cjs/test/unit/address.d.ts.map +1 -1
  108. package/dist/cjs/test/unit/address.js +107 -137
  109. package/dist/cjs/test/unit/bip322.js +50 -1
  110. package/dist/cjs/test/unit/customSigner.js +5 -4
  111. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +37 -4
  112. package/dist/cjs/test/unit/descriptor/builder.js +10 -4
  113. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +37 -4
  114. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +40 -6
  115. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
  116. package/dist/cjs/test/unit/descriptorAddress.js +3 -3
  117. package/dist/cjs/test/unit/explainTransaction.js +26 -3
  118. package/dist/cjs/test/unit/keychains.js +40 -1
  119. package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
  120. package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
  121. package/dist/cjs/test/unit/postProcessPrebuild.js +62 -0
  122. package/dist/cjs/test/unit/prebuildAndSign.d.ts +0 -4
  123. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -1
  124. package/dist/cjs/test/unit/prebuildAndSign.js +12 -32
  125. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +82 -259
  126. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
  127. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
  128. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +144 -0
  129. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +38 -35
  130. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
  131. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
  132. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +186 -0
  133. package/dist/cjs/test/unit/recovery/mock.d.ts +15 -8
  134. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
  135. package/dist/cjs/test/unit/recovery/mock.js +49 -77
  136. package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
  137. package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
  138. package/dist/cjs/test/unit/signTransaction.js +244 -0
  139. package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
  140. package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
  141. package/dist/cjs/test/unit/testSpoofTransaction.js +114 -0
  142. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +46 -12
  143. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -1
  144. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +38 -4
  145. package/dist/cjs/test/unit/transaction/descriptor/parse.js +22 -19
  146. package/dist/cjs/test/unit/transaction/descriptor/sign.js +60 -16
  147. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +43 -10
  148. package/dist/cjs/test/unit/transaction.js +6 -225
  149. package/dist/cjs/test/unit/util/address.d.ts +13 -0
  150. package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
  151. package/dist/cjs/test/unit/util/address.js +15 -0
  152. package/dist/cjs/test/unit/util/index.d.ts +3 -0
  153. package/dist/cjs/test/unit/util/index.d.ts.map +1 -1
  154. package/dist/cjs/test/unit/util/index.js +4 -1
  155. package/dist/cjs/test/unit/util/keychains.d.ts +29 -0
  156. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -1
  157. package/dist/cjs/test/unit/util/keychains.js +51 -1
  158. package/dist/cjs/test/unit/util/nockBitGo.d.ts +8 -1
  159. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -1
  160. package/dist/cjs/test/unit/util/nockBitGo.js +17 -1
  161. package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
  162. package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
  163. package/dist/cjs/test/unit/util/psbt.js +21 -0
  164. package/dist/cjs/test/unit/util/transaction.d.ts +8 -4
  165. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
  166. package/dist/cjs/test/unit/util/transaction.js +19 -1
  167. package/dist/cjs/test/unit/util/unspents.d.ts +66 -8
  168. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
  169. package/dist/cjs/test/unit/util/unspents.js +130 -15
  170. package/dist/cjs/test/unit/util/utxoCoins.d.ts +13 -0
  171. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
  172. package/dist/cjs/test/unit/util/utxoCoins.js +33 -2
  173. package/dist/cjs/test/unit/wallet.js +4 -4
  174. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  175. package/dist/esm/abstractUtxoCoin.d.ts +5 -6
  176. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
  177. package/dist/esm/abstractUtxoCoin.js +26 -7
  178. package/dist/esm/address/fixedScript.d.ts +1 -5
  179. package/dist/esm/address/fixedScript.d.ts.map +1 -1
  180. package/dist/esm/address/fixedScript.js +3 -5
  181. package/dist/esm/descriptor/NamedDescriptor.d.ts +4 -5
  182. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -1
  183. package/dist/esm/descriptor/NamedDescriptor.js +5 -7
  184. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  185. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  186. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -5
  187. package/dist/esm/descriptor/builder/builder.d.ts +2 -3
  188. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -1
  189. package/dist/esm/descriptor/builder/builder.js +1 -1
  190. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -1
  191. package/dist/esm/descriptor/builder/parse.js +3 -3
  192. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +2 -2
  193. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
  194. package/dist/esm/descriptor/createWallet/createDescriptors.js +1 -1
  195. package/dist/esm/descriptor/descriptorWallet.d.ts +1 -1
  196. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -1
  197. package/dist/esm/descriptor/descriptorWallet.js +1 -1
  198. package/dist/esm/descriptor/index.d.ts +1 -1
  199. package/dist/esm/descriptor/index.d.ts.map +1 -1
  200. package/dist/esm/descriptor/index.js +1 -1
  201. package/dist/esm/descriptor/validatePolicy.d.ts +3 -3
  202. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -1
  203. package/dist/esm/descriptor/validatePolicy.js +3 -3
  204. package/dist/esm/impl/bch/bch.d.ts.map +1 -1
  205. package/dist/esm/impl/bch/bch.js +6 -5
  206. package/dist/esm/impl/doge/doge.d.ts +2 -1
  207. package/dist/esm/impl/doge/doge.d.ts.map +1 -1
  208. package/dist/esm/impl/doge/doge.js +1 -1
  209. package/dist/esm/impl/ltc/ltc.d.ts +0 -1
  210. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -1
  211. package/dist/esm/impl/ltc/ltc.js +3 -8
  212. package/dist/esm/impl/ltc/tltc.d.ts +0 -1
  213. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -1
  214. package/dist/esm/impl/ltc/tltc.js +3 -7
  215. package/dist/esm/index.d.ts +2 -0
  216. package/dist/esm/index.d.ts.map +1 -1
  217. package/dist/esm/index.js +3 -1
  218. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +2 -2
  219. package/dist/esm/offlineVault/descriptor/transaction.d.ts +3 -2
  220. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -1
  221. package/dist/esm/offlineVault/descriptor/transaction.js +5 -8
  222. package/dist/esm/recovery/RecoveryProvider.d.ts +1 -3
  223. package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -1
  224. package/dist/esm/recovery/RecoveryProvider.js +1 -1
  225. package/dist/esm/recovery/backupKeyRecovery.d.ts +73 -4
  226. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
  227. package/dist/esm/recovery/backupKeyRecovery.js +165 -100
  228. package/dist/esm/recovery/crossChainRecovery.d.ts +5 -5
  229. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
  230. package/dist/esm/recovery/crossChainRecovery.js +24 -90
  231. package/dist/esm/recovery/psbt.d.ts +8 -31
  232. package/dist/esm/recovery/psbt.d.ts.map +1 -1
  233. package/dist/esm/recovery/psbt.js +14 -91
  234. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +3 -3
  235. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  236. package/dist/esm/transaction/descriptor/explainPsbt.js +14 -18
  237. package/dist/esm/transaction/descriptor/index.d.ts +1 -1
  238. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -1
  239. package/dist/esm/transaction/descriptor/index.js +1 -1
  240. package/dist/esm/transaction/descriptor/parse.d.ts +6 -4
  241. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
  242. package/dist/esm/transaction/descriptor/parse.js +22 -15
  243. package/dist/esm/transaction/descriptor/signPsbt.d.ts +6 -7
  244. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -1
  245. package/dist/esm/transaction/descriptor/signPsbt.js +19 -18
  246. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +4 -4
  247. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  248. package/dist/esm/transaction/descriptor/verifyTransaction.js +10 -5
  249. package/dist/esm/transaction/explainTransaction.d.ts +2 -1
  250. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
  251. package/dist/esm/transaction/explainTransaction.js +3 -2
  252. package/dist/esm/transaction/fixedScript/SigningError.d.ts +1 -3
  253. package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -1
  254. package/dist/esm/transaction/fixedScript/SigningError.js +1 -1
  255. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +2 -1
  256. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
  257. package/dist/esm/transaction/fixedScript/explainTransaction.js +1 -8
  258. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  259. package/dist/esm/transaction/fixedScript/parseOutput.js +6 -11
  260. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
  261. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
  262. package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +4 -2
  263. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
  264. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
  265. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +1 -1
  266. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +2 -2
  267. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
  268. package/dist/esm/transaction/fixedScript/signPsbtWasm.js +2 -6
  269. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +6 -5
  270. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  271. package/dist/esm/transaction/fixedScript/signTransaction.js +10 -8
  272. package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
  273. package/dist/esm/transaction/signTransaction.js +10 -10
  274. package/dist/esm/unspent.d.ts +55 -0
  275. package/dist/esm/unspent.d.ts.map +1 -0
  276. package/dist/esm/unspent.js +8 -0
  277. package/dist/esm/wasmUtil.d.ts +29 -0
  278. package/dist/esm/wasmUtil.d.ts.map +1 -0
  279. package/dist/esm/wasmUtil.js +47 -0
  280. package/package.json +11 -12
  281. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +0 -2
  282. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +0 -1
  283. package/dist/cjs/test/unit/impl/btc/unit/btc.js +0 -220
  284. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +0 -4
  285. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +0 -1
  286. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +0 -10
  287. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +0 -2
  288. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +0 -1
  289. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +0 -18
  290. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +0 -2
  291. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +0 -1
  292. package/dist/cjs/test/unit/impl/ltc/unit/index.js +0 -39
@@ -2,20 +2,22 @@ import assert from 'assert';
2
2
  import { isTriple } from '@bitgo/sdk-core';
3
3
  import _ from 'lodash';
4
4
  import { bitgo } from '@bitgo/utxo-lib';
5
- import { fixedScriptWallet } from '@bitgo/wasm-utxo';
5
+ import * as utxolib from '@bitgo/utxo-lib';
6
+ import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
6
7
  import { signLegacyTransaction } from './signLegacyTransaction';
7
8
  import { signPsbtWithMusig2ParticipantUtxolib, signAndVerifyPsbt as signAndVerifyPsbtUtxolib } from './signPsbtUtxolib';
8
9
  import { signPsbtWithMusig2ParticipantWasm, signAndVerifyPsbtWasm } from './signPsbtWasm';
9
10
  import { getReplayProtectionPubkeys } from './replayProtection';
10
11
  export function signAndVerifyPsbt(psbt, signerKeychain, rootWalletKeys, replayProtection) {
11
12
  if (psbt instanceof bitgo.UtxoPsbt) {
13
+ if (signerKeychain instanceof BIP32) {
14
+ signerKeychain = utxolib.bip32.fromBase58(signerKeychain.toBase58());
15
+ }
12
16
  return signAndVerifyPsbtUtxolib(psbt, signerKeychain);
13
17
  }
14
- else {
15
- assert(rootWalletKeys, 'rootWalletKeys required for wasm-utxo signing');
16
- assert(replayProtection, 'replayProtection required for wasm-utxo signing');
17
- return signAndVerifyPsbtWasm(psbt, signerKeychain, rootWalletKeys, replayProtection);
18
- }
18
+ assert(rootWalletKeys, 'rootWalletKeys required for wasm-utxo signing');
19
+ assert(replayProtection, 'replayProtection required for wasm-utxo signing');
20
+ return signAndVerifyPsbtWasm(psbt, signerKeychain, rootWalletKeys, replayProtection);
19
21
  }
20
22
  export async function signTransaction(coin, tx, signerKeychain, coinName, params) {
21
23
  let isLastSignature = false;
@@ -47,7 +49,7 @@ export async function signTransaction(coin, tx, signerKeychain, coinName, params
47
49
  });
48
50
  if (isLastSignature) {
49
51
  signedPsbt.finalizeAllInputs();
50
- return Buffer.from(signedPsbt.extractTransaction());
52
+ return Buffer.from(signedPsbt.extractTransaction().toBytes());
51
53
  }
52
54
  return signedPsbt;
53
55
  }
@@ -59,4 +61,4 @@ export async function signTransaction(coin, tx, signerKeychain, coinName, params
59
61
  cosignerPub: params.cosignerPub,
60
62
  });
61
63
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLGlCQUFpQixJQUFJLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLHFCQUFxQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ2hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBdUJoRSxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQTBELEVBQzFELGNBQThCLEVBQzlCLGNBQTRELEVBQzVELGdCQUFrRDtJQUVsRCxJQUFJLElBQUksWUFBWSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDeEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsY0FBYyxFQUFFLCtDQUErQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGlEQUFpRCxDQUFDLENBQUM7UUFDNUUsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBR25DLElBQWdHLEVBQ2hHLEVBQUssRUFDTCxjQUEwQyxFQUMxQyxRQUFzQixFQUN0QixNQVNDO0lBSUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxzR0FBc0c7UUFDdEcsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksRUFBRSxZQUFZLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBRyxNQUFNLG9DQUFvQyxDQUMzRCxJQUFpRCxFQUNqRCxFQUFFLEVBQ0YsY0FBYyxFQUNkO1lBQ0UsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixDQUNGLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxJQUFJLEVBQUUsWUFBWSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDdkQsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQ0FBaUMsQ0FDeEQsSUFBc0QsRUFDdEQsRUFBRSxFQUNGLGNBQWMsRUFDZCxjQUFjLEVBQ2Q7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLDBCQUEwQixDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUNELFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FDRixDQUFDO1FBQ0YsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8scUJBQXFCLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUU7UUFDekQsZUFBZTtRQUNmLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBpc1RyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vc2VjcDI1NmsxJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcblxuaW1wb3J0IHsgTXVzaWcyUGFydGljaXBhbnQgfSBmcm9tICcuL211c2lnMic7XG5pbXBvcnQgeyBzaWduTGVnYWN5VHJhbnNhY3Rpb24gfSBmcm9tICcuL3NpZ25MZWdhY3lUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudFV0eG9saWIsIHNpZ25BbmRWZXJpZnlQc2J0IGFzIHNpZ25BbmRWZXJpZnlQc2J0VXR4b2xpYiB9IGZyb20gJy4vc2lnblBzYnRVdHhvbGliJztcbmltcG9ydCB7IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50V2FzbSwgc2lnbkFuZFZlcmlmeVBzYnRXYXNtLCBSZXBsYXlQcm90ZWN0aW9uS2V5cyB9IGZyb20gJy4vc2lnblBzYnRXYXNtJztcbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi9yZXBsYXlQcm90ZWN0aW9uJztcblxuLyoqXG4gKiBTaWduIGFuZCB2ZXJpZnkgYSBQU0JUIHVzaW5nIGVpdGhlciB1dHhvbGliIG9yIHdhc20tdXR4byBkZXBlbmRpbmcgb24gdGhlIFBTQlQgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogQklQMzJJbnRlcmZhY2UsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyB8IHVuZGVmaW5lZCxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXMgfCB1bmRlZmluZWRcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzXG4pOiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gc2lnbkFuZFZlcmlmeVBzYnQoXG4gIHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQsXG4gIHNpZ25lcktleWNoYWluOiBCSVAzMkludGVyZmFjZSxcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5c1xuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlLFxuICByb290V2FsbGV0S2V5czogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMgfCB1bmRlZmluZWQsXG4gIHJlcGxheVByb3RlY3Rpb246IFJlcGxheVByb3RlY3Rpb25LZXlzIHwgdW5kZWZpbmVkXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBiaXRnby5VdHhvUHNidCkge1xuICAgIHJldHVybiBzaWduQW5kVmVyaWZ5UHNidFV0eG9saWIocHNidCwgc2lnbmVyS2V5Y2hhaW4pO1xuICB9IGVsc2Uge1xuICAgIGFzc2VydChyb290V2FsbGV0S2V5cywgJ3Jvb3RXYWxsZXRLZXlzIHJlcXVpcmVkIGZvciB3YXNtLXV0eG8gc2lnbmluZycpO1xuICAgIGFzc2VydChyZXBsYXlQcm90ZWN0aW9uLCAncmVwbGF5UHJvdGVjdGlvbiByZXF1aXJlZCBmb3Igd2FzbS11dHhvIHNpZ25pbmcnKTtcbiAgICByZXR1cm4gc2lnbkFuZFZlcmlmeVBzYnRXYXNtKHBzYnQsIHNpZ25lcktleWNoYWluLCByb290V2FsbGV0S2V5cywgcmVwbGF5UHJvdGVjdGlvbik7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25UcmFuc2FjdGlvbjxcbiAgVCBleHRlbmRzIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0XG4+KFxuICBjb2luOiBNdXNpZzJQYXJ0aWNpcGFudDx1dHhvbGliLmJpdGdvLlV0eG9Qc2J0PiB8IE11c2lnMlBhcnRpY2lwYW50PGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidD4sXG4gIHR4OiBULFxuICBzaWduZXJLZXljaGFpbjogQklQMzJJbnRlcmZhY2UgfCB1bmRlZmluZWQsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIHBhcmFtczoge1xuICAgIHdhbGxldElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdHhJbmZvOiB7IHVuc3BlbnRzPzogdXR4b2xpYi5iaXRnby5VbnNwZW50PGJpZ2ludCB8IG51bWJlcj5bXSB9IHwgdW5kZWZpbmVkO1xuICAgIGlzTGFzdFNpZ25hdHVyZTogYm9vbGVhbjtcbiAgICBzaWduaW5nU3RlcDogJ3NpZ25lck5vbmNlJyB8ICdjb3NpZ25lck5vbmNlJyB8ICdzaWduZXJTaWduYXR1cmUnIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBkZXByZWNhdGVkICovXG4gICAgYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeDogYm9vbGVhbjtcbiAgICBwdWJzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBjb3NpZ25lclB1Yjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG4pOiBQcm9taXNlPFxuICB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB8IEJ1ZmZlclxuPiB7XG4gIGxldCBpc0xhc3RTaWduYXR1cmUgPSBmYWxzZTtcbiAgaWYgKF8uaXNCb29sZWFuKHBhcmFtcy5pc0xhc3RTaWduYXR1cmUpKSB7XG4gICAgLy8gaWYgYnVpbGQgaXMgY2FsbGVkIGluc3RlYWQgb2YgYnVpbGRJbmNvbXBsZXRlLCBubyBzaWduYXR1cmUgcGxhY2Vob2xkZXJzIGFyZSBsZWZ0IGluIHRoZSBzaWcgc2NyaXB0XG4gICAgaXNMYXN0U2lnbmF0dXJlID0gcGFyYW1zLmlzTGFzdFNpZ25hdHVyZTtcbiAgfVxuXG4gIGlmICh0eCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgY29uc3Qgc2lnbmVkUHNidCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50VXR4b2xpYihcbiAgICAgIGNvaW4gYXMgTXVzaWcyUGFydGljaXBhbnQ8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4sXG4gICAgICB0eCxcbiAgICAgIHNpZ25lcktleWNoYWluLFxuICAgICAge1xuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmVkUHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgcmV0dXJuIHNpZ25lZFBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCk7XG4gICAgfVxuICAgIHJldHVybiBzaWduZWRQc2J0O1xuICB9IGVsc2UgaWYgKHR4IGluc3RhbmNlb2YgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0KSB7XG4gICAgYXNzZXJ0KHBhcmFtcy5wdWJzLCAncHVicyBhcmUgcmVxdWlyZWQgZm9yIGZpeGVkIHNjcmlwdCBzaWduaW5nJyk7XG4gICAgYXNzZXJ0KGlzVHJpcGxlKHBhcmFtcy5wdWJzKSwgJ3B1YnMgbXVzdCBiZSBhIHRyaXBsZScpO1xuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbVhwdWJzKHBhcmFtcy5wdWJzKTtcbiAgICBjb25zdCBzaWduZWRQc2J0ID0gYXdhaXQgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRXYXNtKFxuICAgICAgY29pbiBhcyBNdXNpZzJQYXJ0aWNpcGFudDxmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ+LFxuICAgICAgdHgsXG4gICAgICBzaWduZXJLZXljaGFpbixcbiAgICAgIHJvb3RXYWxsZXRLZXlzLFxuICAgICAge1xuICAgICAgICByZXBsYXlQcm90ZWN0aW9uOiB7XG4gICAgICAgICAgcHVibGljS2V5czogZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMoY29pbk5hbWUpLFxuICAgICAgICB9LFxuICAgICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfVxuICAgICk7XG4gICAgaWYgKGlzTGFzdFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmVkUHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNpZ25lZFBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCkpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgfVxuXG4gIHJldHVybiBzaWduTGVnYWN5VHJhbnNhY3Rpb24odHgsIHNpZ25lcktleWNoYWluLCBjb2luTmFtZSwge1xuICAgIGlzTGFzdFNpZ25hdHVyZSxcbiAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgIHR4SW5mbzogcGFyYW1zLnR4SW5mbyxcbiAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICBjb3NpZ25lclB1YjogcGFyYW1zLmNvc2lnbmVyUHViLFxuICB9KTtcbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLGlCQUFpQixJQUFJLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLHFCQUFxQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ2hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBdUJoRSxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQTBELEVBQzFELGNBQXNDLEVBQ3RDLGNBQTRELEVBQzVELGdCQUFrRDtJQUVsRCxJQUFJLElBQUksWUFBWSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxjQUFjLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDcEMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLHdCQUF3QixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLGNBQWMsRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxpREFBaUQsQ0FBQyxDQUFDO0lBQzVFLE9BQU8scUJBQXFCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBR25DLElBQWdHLEVBQ2hHLEVBQUssRUFDTCxjQUEwQyxFQUMxQyxRQUFzQixFQUN0QixNQVNDO0lBSUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxzR0FBc0c7UUFDdEcsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksRUFBRSxZQUFZLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBRyxNQUFNLG9DQUFvQyxDQUMzRCxJQUFpRCxFQUNqRCxFQUFFLEVBQ0YsY0FBYyxFQUNkO1lBQ0UsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtTQUMxQixDQUNGLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxJQUFJLEVBQUUsWUFBWSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDdkQsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQ0FBaUMsQ0FDeEQsSUFBc0QsRUFDdEQsRUFBRSxFQUNGLGNBQWMsRUFDZCxjQUFjLEVBQ2Q7WUFDRSxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLDBCQUEwQixDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUNELFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FDRixDQUFDO1FBQ0YsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8scUJBQXFCLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUU7UUFDekQsZUFBZTtRQUNmLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBpc1RyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vc2VjcDI1NmsxJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMyLCBmaXhlZFNjcmlwdFdhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi8uLi91bnNwZW50JztcblxuaW1wb3J0IHsgTXVzaWcyUGFydGljaXBhbnQgfSBmcm9tICcuL211c2lnMic7XG5pbXBvcnQgeyBzaWduTGVnYWN5VHJhbnNhY3Rpb24gfSBmcm9tICcuL3NpZ25MZWdhY3lUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudFV0eG9saWIsIHNpZ25BbmRWZXJpZnlQc2J0IGFzIHNpZ25BbmRWZXJpZnlQc2J0VXR4b2xpYiB9IGZyb20gJy4vc2lnblBzYnRVdHhvbGliJztcbmltcG9ydCB7IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50V2FzbSwgc2lnbkFuZFZlcmlmeVBzYnRXYXNtLCBSZXBsYXlQcm90ZWN0aW9uS2V5cyB9IGZyb20gJy4vc2lnblBzYnRXYXNtJztcbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi9yZXBsYXlQcm90ZWN0aW9uJztcblxuLyoqXG4gKiBTaWduIGFuZCB2ZXJpZnkgYSBQU0JUIHVzaW5nIGVpdGhlciB1dHhvbGliIG9yIHdhc20tdXR4byBkZXBlbmRpbmcgb24gdGhlIFBTQlQgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogQklQMzJJbnRlcmZhY2UgfCBCSVAzMixcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzIHwgdW5kZWZpbmVkLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5cyB8IHVuZGVmaW5lZFxuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogQklQMzJJbnRlcmZhY2UgfCBCSVAzMixcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5c1xuKTogZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbmRWZXJpZnlQc2J0KFxuICBwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LFxuICBzaWduZXJLZXljaGFpbjogQklQMzJJbnRlcmZhY2UgfCBCSVAzMixcbiAgcm9vdFdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLFxuICByZXBsYXlQcm90ZWN0aW9uOiBSZXBsYXlQcm90ZWN0aW9uS2V5c1xuKTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBzaWduQW5kVmVyaWZ5UHNidChcbiAgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlIHwgQklQMzIsXG4gIHJvb3RXYWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyB8IHVuZGVmaW5lZCxcbiAgcmVwbGF5UHJvdGVjdGlvbjogUmVwbGF5UHJvdGVjdGlvbktleXMgfCB1bmRlZmluZWRcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQge1xuICBpZiAocHNidCBpbnN0YW5jZW9mIGJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgaWYgKHNpZ25lcktleWNoYWluIGluc3RhbmNlb2YgQklQMzIpIHtcbiAgICAgIHNpZ25lcktleWNoYWluID0gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KHNpZ25lcktleWNoYWluLnRvQmFzZTU4KCkpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbkFuZFZlcmlmeVBzYnRVdHhvbGliKHBzYnQsIHNpZ25lcktleWNoYWluKTtcbiAgfVxuICBhc3NlcnQocm9vdFdhbGxldEtleXMsICdyb290V2FsbGV0S2V5cyByZXF1aXJlZCBmb3Igd2FzbS11dHhvIHNpZ25pbmcnKTtcbiAgYXNzZXJ0KHJlcGxheVByb3RlY3Rpb24sICdyZXBsYXlQcm90ZWN0aW9uIHJlcXVpcmVkIGZvciB3YXNtLXV0eG8gc2lnbmluZycpO1xuICByZXR1cm4gc2lnbkFuZFZlcmlmeVBzYnRXYXNtKHBzYnQsIHNpZ25lcktleWNoYWluLCByb290V2FsbGV0S2V5cywgcmVwbGF5UHJvdGVjdGlvbik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb248XG4gIFQgZXh0ZW5kcyB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidFxuPihcbiAgY29pbjogTXVzaWcyUGFydGljaXBhbnQ8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4gfCBNdXNpZzJQYXJ0aWNpcGFudDxmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQ+LFxuICB0eDogVCxcbiAgc2lnbmVyS2V5Y2hhaW46IEJJUDMySW50ZXJmYWNlIHwgdW5kZWZpbmVkLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBwYXJhbXM6IHtcbiAgICB3YWxsZXRJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHR4SW5mbzogeyB1bnNwZW50cz86IFVuc3BlbnQ8YmlnaW50IHwgbnVtYmVyPltdIH0gfCB1bmRlZmluZWQ7XG4gICAgaXNMYXN0U2lnbmF0dXJlOiBib29sZWFuO1xuICAgIHNpZ25pbmdTdGVwOiAnc2lnbmVyTm9uY2UnIHwgJ2Nvc2lnbmVyTm9uY2UnIHwgJ3NpZ25lclNpZ25hdHVyZScgfCB1bmRlZmluZWQ7XG4gICAgLyoqIGRlcHJlY2F0ZWQgKi9cbiAgICBhbGxvd05vblNlZ3dpdFNpZ25pbmdXaXRob3V0UHJldlR4OiBib29sZWFuO1xuICAgIHB1YnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGNvc2lnbmVyUHViOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH1cbik6IFByb21pc2U8XG4gIHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0IHwgQnVmZmVyXG4+IHtcbiAgbGV0IGlzTGFzdFNpZ25hdHVyZSA9IGZhbHNlO1xuICBpZiAoXy5pc0Jvb2xlYW4ocGFyYW1zLmlzTGFzdFNpZ25hdHVyZSkpIHtcbiAgICAvLyBpZiBidWlsZCBpcyBjYWxsZWQgaW5zdGVhZCBvZiBidWlsZEluY29tcGxldGUsIG5vIHNpZ25hdHVyZSBwbGFjZWhvbGRlcnMgYXJlIGxlZnQgaW4gdGhlIHNpZyBzY3JpcHRcbiAgICBpc0xhc3RTaWduYXR1cmUgPSBwYXJhbXMuaXNMYXN0U2lnbmF0dXJlO1xuICB9XG5cbiAgaWYgKHR4IGluc3RhbmNlb2YgYml0Z28uVXR4b1BzYnQpIHtcbiAgICBjb25zdCBzaWduZWRQc2J0ID0gYXdhaXQgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRVdHhvbGliKFxuICAgICAgY29pbiBhcyBNdXNpZzJQYXJ0aWNpcGFudDx1dHhvbGliLmJpdGdvLlV0eG9Qc2J0PixcbiAgICAgIHR4LFxuICAgICAgc2lnbmVyS2V5Y2hhaW4sXG4gICAgICB7XG4gICAgICAgIHNpZ25pbmdTdGVwOiBwYXJhbXMuc2lnbmluZ1N0ZXAsXG4gICAgICAgIHdhbGxldElkOiBwYXJhbXMud2FsbGV0SWQsXG4gICAgICB9XG4gICAgKTtcbiAgICBpZiAoaXNMYXN0U2lnbmF0dXJlKSB7XG4gICAgICBzaWduZWRQc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICByZXR1cm4gc2lnbmVkUHNidC5leHRyYWN0VHJhbnNhY3Rpb24oKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25lZFBzYnQ7XG4gIH0gZWxzZSBpZiAodHggaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQpIHtcbiAgICBhc3NlcnQocGFyYW1zLnB1YnMsICdwdWJzIGFyZSByZXF1aXJlZCBmb3IgZml4ZWQgc2NyaXB0IHNpZ25pbmcnKTtcbiAgICBhc3NlcnQoaXNUcmlwbGUocGFyYW1zLnB1YnMpLCAncHVicyBtdXN0IGJlIGEgdHJpcGxlJyk7XG4gICAgY29uc3Qgcm9vdFdhbGxldEtleXMgPSBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cy5mcm9tWHB1YnMocGFyYW1zLnB1YnMpO1xuICAgIGNvbnN0IHNpZ25lZFBzYnQgPSBhd2FpdCBzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudFdhc20oXG4gICAgICBjb2luIGFzIE11c2lnMlBhcnRpY2lwYW50PGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidD4sXG4gICAgICB0eCxcbiAgICAgIHNpZ25lcktleWNoYWluLFxuICAgICAgcm9vdFdhbGxldEtleXMsXG4gICAgICB7XG4gICAgICAgIHJlcGxheVByb3RlY3Rpb246IHtcbiAgICAgICAgICBwdWJsaWNLZXlzOiBnZXRSZXBsYXlQcm90ZWN0aW9uUHVia2V5cyhjb2luTmFtZSksXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25pbmdTdGVwOiBwYXJhbXMuc2lnbmluZ1N0ZXAsXG4gICAgICAgIHdhbGxldElkOiBwYXJhbXMud2FsbGV0SWQsXG4gICAgICB9XG4gICAgKTtcbiAgICBpZiAoaXNMYXN0U2lnbmF0dXJlKSB7XG4gICAgICBzaWduZWRQc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oc2lnbmVkUHNidC5leHRyYWN0VHJhbnNhY3Rpb24oKS50b0J5dGVzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmVkUHNidDtcbiAgfVxuXG4gIHJldHVybiBzaWduTGVnYWN5VHJhbnNhY3Rpb24odHgsIHNpZ25lcktleWNoYWluLCBjb2luTmFtZSwge1xuICAgIGlzTGFzdFNpZ25hdHVyZSxcbiAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgIHR4SW5mbzogcGFyYW1zLnR4SW5mbyxcbiAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICBjb3NpZ25lclB1YjogcGFyYW1zLmNvc2lnbmVyUHViLFxuICB9KTtcbn1cbiJdfQ==
@@ -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;AAyB/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"}
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"}
@@ -4,6 +4,7 @@ import { bip32 } from '@bitgo/secp256k1';
4
4
  import buildDebug from 'debug';
5
5
  import { getDescriptorMapFromWallet, getPolicyForEnv, isDescriptorWallet } from '../descriptor';
6
6
  import { fetchKeychains, toBip32Triple } from '../keychains';
7
+ import { isUtxoLibPsbt, toWasmPsbt } from '../wasmUtil';
7
8
  import * as fixedScript from './fixedScript';
8
9
  import * as descriptor from './descriptor';
9
10
  import { encodeTransaction } from './decode';
@@ -37,17 +38,16 @@ export async function signTransaction(coin, bitgo, params) {
37
38
  if (!signerKeychain) {
38
39
  throw new Error('missing signer');
39
40
  }
41
+ if (!isUtxoLibPsbt(tx) && !(tx instanceof Uint8Array)) {
42
+ throw new Error('descriptor wallets require PSBT format transactions');
43
+ }
40
44
  const walletKeys = toBip32Triple(await fetchKeychains(coin, wallet));
41
45
  const descriptorMap = getDescriptorMapFromWallet(wallet, walletKeys, getPolicyForEnv(bitgo.env));
42
- if (tx instanceof utxolib.bitgo.UtxoPsbt) {
43
- descriptor.signPsbt(tx, descriptorMap, signerKeychain, {
44
- onUnknownInput: 'throw',
45
- });
46
- return { txHex: tx.toHex() };
47
- }
48
- else {
49
- throw new Error('expected a UtxoPsbt object');
50
- }
46
+ const psbt = toWasmPsbt(tx);
47
+ descriptor.signPsbt(psbt, descriptorMap, signerKeychain, {
48
+ onUnknownInput: 'throw',
49
+ });
50
+ return { txHex: Buffer.from(psbt.serialize()).toString('hex') };
51
51
  }
52
52
  else {
53
53
  const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.name, {
@@ -63,4 +63,4 @@ export async function signTransaction(coin, bitgo, params) {
63
63
  return { txHex: buffer.toString('hex') };
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0FBRTVFLFNBQVMsaUJBQWlCLENBQUMsT0FBZ0I7SUFDekMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FB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Q0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIgfSBmcm9tICdAYml0Z28vc2VjcDI1NmsxJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5cbmltcG9ydCAqIGFzIGZpeGVkU2NyaXB0IGZyb20gJy4vZml4ZWRTY3JpcHQnO1xuaW1wb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZW5jb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2RlY29kZSc7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygnYml0Z286YWJzdHJhY3QtdXR4bzp0cmFuc2FjdGlvbjpzaWduVHJhbnNhY3Rpb24nKTtcblxuZnVuY3Rpb24gZ2V0U2lnbmVyS2V5Y2hhaW4odXNlclBydjogdW5rbm93bik6IHV0eG9saWIuQklQMzJJbnRlcmZhY2UgfCB1bmRlZmluZWQge1xuICBpZiAodXNlclBydiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodHlwZW9mIHVzZXJQcnYgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCB1c2VyIHByaXZhdGUga2V5IHRvIGJlIGEgc3RyaW5nJyk7XG4gIH1cbiAgY29uc3Qgc2lnbmVyS2V5Y2hhaW4gPSBiaXAzMi5mcm9tQmFzZTU4KHVzZXJQcnYsIHV0eG9saWIubmV0d29ya3MuYml0Y29pbik7XG4gIGlmIChzaWduZXJLZXljaGFpbi5pc05ldXRlcmVkKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgYnV0IHJlY2VpdmVkIHB1YmxpYyBrZXknKTtcbiAgfVxuICBkZWJ1ZyhgSGVyZSBpcyB0aGUgcHVibGljIGtleSBvZiB0aGUgeHBydiB5b3UgdXNlZCB0byBzaWduOiAke3NpZ25lcktleWNoYWluLm5ldXRlcmVkKCkudG9CYXNlNTgoKX1gKTtcbiAgcmV0dXJuIHNpZ25lcktleWNoYWluO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbik6IFByb21pc2U8eyB0eEhleDogc3RyaW5nIH0+IHtcbiAgY29uc3QgdHhQcmVidWlsZCA9IHBhcmFtcy50eFByZWJ1aWxkO1xuXG4gIGlmIChfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpIHx8ICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpICYmICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHR4UHJlYnVpbGQgbXVzdCBiZSBhbiBvYmplY3QsIGdvdCB0eXBlICR7dHlwZW9mIHR4UHJlYnVpbGR9YCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB0eFByZWJ1aWxkIHBhcmFtZXRlcicpO1xuICB9XG5cbiAgY29uc3QgdHggPSBjb2luLmRlY29kZVRyYW5zYWN0aW9uRnJvbVByZWJ1aWxkKHBhcmFtcy50eFByZWJ1aWxkKTtcblxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpO1xuXG4gIGNvbnN0IHsgd2FsbGV0IH0gPSBwYXJhbXM7XG5cbiAgaWYgKHdhbGxldCAmJiBpc0Rlc2NyaXB0b3JXYWxsZXQod2FsbGV0KSkge1xuICAgIGlmICghc2lnbmVyS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBzaWduZXInKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgd2FsbGV0KSk7XG4gICAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpO1xuICAgIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpIHtcbiAgICAgIGRlc2NyaXB0b3Iuc2lnblBzYnQodHgsIGRlc2NyaXB0b3JNYXAsIHNpZ25lcktleWNoYWluLCB7XG4gICAgICAgIG9uVW5rbm93bklucHV0OiAndGhyb3cnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4geyB0eEhleDogdHgudG9IZXgoKSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIGEgVXR4b1BzYnQgb2JqZWN0Jyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNpZ25lZFR4ID0gYXdhaXQgZml4ZWRTY3JpcHQuc2lnblRyYW5zYWN0aW9uKGNvaW4sIHR4LCBnZXRTaWduZXJLZXljaGFpbihwYXJhbXMucHJ2KSwgY29pbi5uYW1lLCB7XG4gICAgICB3YWxsZXRJZDogcGFyYW1zLnR4UHJlYnVpbGQud2FsbGV0SWQsXG4gICAgICB0eEluZm86IHBhcmFtcy50eFByZWJ1aWxkLnR4SW5mbyxcbiAgICAgIGlzTGFzdFNpZ25hdHVyZTogcGFyYW1zLmlzTGFzdFNpZ25hdHVyZSA/PyBmYWxzZSxcbiAgICAgIHNpZ25pbmdTdGVwOiBwYXJhbXMuc2lnbmluZ1N0ZXAsXG4gICAgICBhbGxvd05vblNlZ3dpdFNpZ25pbmdXaXRob3V0UHJldlR4OiBwYXJhbXMuYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeCA/PyBmYWxzZSxcbiAgICAgIHB1YnM6IHBhcmFtcy5wdWJzLFxuICAgICAgY29zaWduZXJQdWI6IHBhcmFtcy5jb3NpZ25lclB1YixcbiAgICB9KTtcbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuaXNCdWZmZXIoc2lnbmVkVHgpID8gc2lnbmVkVHggOiBlbmNvZGVUcmFuc2FjdGlvbihzaWduZWRUeCk7XG4gICAgcmV0dXJuIHsgdHhIZXg6IGJ1ZmZlci50b1N0cmluZygnaGV4JykgfTtcbiAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxVQUFVLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEQsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0FBRTVFLFNBQVMsaUJBQWlCLENBQUMsT0FBZ0I7SUFDekMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLElBQUksY0FB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QUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1NBQ2hDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDM0MsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvL3NlY3AyNTZrMSc7XG5pbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBnZXRQb2xpY3lGb3JFbnYsIGlzRGVzY3JpcHRvcldhbGxldCB9IGZyb20gJy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMsIHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgaXNVdHhvTGliUHNidCwgdG9XYXNtUHNidCB9IGZyb20gJy4uL3dhc21VdGlsJztcblxuaW1wb3J0ICogYXMgZml4ZWRTY3JpcHQgZnJvbSAnLi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBlbmNvZGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vZGVjb2RlJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCdiaXRnbzphYnN0cmFjdC11dHhvOnRyYW5zYWN0aW9uOnNpZ25UcmFuc2FjdGlvbicpO1xuXG5mdW5jdGlvbiBnZXRTaWduZXJLZXljaGFpbih1c2VyUHJ2OiB1bmtub3duKTogdXR4b2xpYi5CSVAzMkludGVyZmFjZSB8IHVuZGVmaW5lZCB7XG4gIGlmICh1c2VyUHJ2ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh0eXBlb2YgdXNlclBydiAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgdG8gYmUgYSBzdHJpbmcnKTtcbiAgfVxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGJpcDMyLmZyb21CYXNlNTgodXNlclBydiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgaWYgKHNpZ25lcktleWNoYWluLmlzTmV1dGVyZWQoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSBidXQgcmVjZWl2ZWQgcHVibGljIGtleScpO1xuICB9XG4gIGRlYnVnKGBIZXJlIGlzIHRoZSBwdWJsaWMga2V5IG9mIHRoZSB4cHJ2IHlvdSB1c2VkIHRvIHNpZ246ICR7c2lnbmVyS2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpfWApO1xuICByZXR1cm4gc2lnbmVyS2V5Y2hhaW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuKTogUHJvbWlzZTx7IHR4SGV4OiBzdHJpbmcgfT4ge1xuICBjb25zdCB0eFByZWJ1aWxkID0gcGFyYW1zLnR4UHJlYnVpbGQ7XG5cbiAgaWYgKF8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgfHwgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgJiYgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHhQcmVidWlsZCBtdXN0IGJlIGFuIG9iamVjdCwgZ290IHR5cGUgJHt0eXBlb2YgdHhQcmVidWlsZH1gKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHR4UHJlYnVpbGQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICBjb25zdCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gIGNvbnN0IHNpZ25lcktleWNoYWluID0gZ2V0U2lnbmVyS2V5Y2hhaW4ocGFyYW1zLnBydik7XG5cbiAgY29uc3QgeyB3YWxsZXQgfSA9IHBhcmFtcztcblxuICBpZiAod2FsbGV0ICYmIGlzRGVzY3JpcHRvcldhbGxldCh3YWxsZXQpKSB7XG4gICAgaWYgKCFzaWduZXJLZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHNpZ25lcicpO1xuICAgIH1cbiAgICBpZiAoIWlzVXR4b0xpYlBzYnQodHgpICYmICEodHggaW5zdGFuY2VvZiBVaW50OEFycmF5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZXNjcmlwdG9yIHdhbGxldHMgcmVxdWlyZSBQU0JUIGZvcm1hdCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgd2FsbGV0KSk7XG4gICAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpO1xuICAgIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KHR4KTtcbiAgICBkZXNjcmlwdG9yLnNpZ25Qc2J0KHBzYnQsIGRlc2NyaXB0b3JNYXAsIHNpZ25lcktleWNoYWluLCB7XG4gICAgICBvblVua25vd25JbnB1dDogJ3Rocm93JyxcbiAgICB9KTtcbiAgICByZXR1cm4geyB0eEhleDogQnVmZmVyLmZyb20ocHNidC5zZXJpYWxpemUoKSkudG9TdHJpbmcoJ2hleCcpIH07XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2lnbmVkVHggPSBhd2FpdCBmaXhlZFNjcmlwdC5zaWduVHJhbnNhY3Rpb24oY29pbiwgdHgsIGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpLCBjb2luLm5hbWUsIHtcbiAgICAgIHdhbGxldElkOiBwYXJhbXMudHhQcmVidWlsZC53YWxsZXRJZCxcbiAgICAgIHR4SW5mbzogcGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvLFxuICAgICAgaXNMYXN0U2lnbmF0dXJlOiBwYXJhbXMuaXNMYXN0U2lnbmF0dXJlID8/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,8 @@
1
+ export function parseOutputId(id) {
2
+ const [txid, vout] = id.split(':');
3
+ return { txid, vout: Number(vout) };
4
+ }
5
+ export function unspentSum(unspents) {
6
+ return unspents.reduce((sum, unspent) => sum + BigInt(unspent.value), 0n);
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zcGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bnNwZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1EQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQVU7SUFDdEMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFFBQXNDO0lBQy9ELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbi8qKlxuICogVW5zcGVudCB0cmFuc2FjdGlvbiBvdXRwdXQgKFVUWE8pIHR5cGUgZGVmaW5pdGlvblxuICpcbiAqIFRoaXMgdHlwZSByZXByZXNlbnRzIGFuIHVuc3BlbnQgdHJhbnNhY3Rpb24gb3V0cHV0LCBpbmRlcGVuZGVudCBmcm9tIHV0eG8tbGliLlxuICogVGhlIHN0cnVjdHVyZSBtYXRjaGVzIHV0eG9saWIuYml0Z28uVW5zcGVudCBidXQgaXMgZGVmaW5lZCBsb2NhbGx5LlxuICpcbiAqIEBwcm9wZXJ0eSBpZCAtIEZvcm1hdDogJHt0eGlkfToke3ZvdXR9LiBVc2UgYHBhcnNlT3V0cHV0SWQoaWQpYCB0byBwYXJzZS5cbiAqIEBwcm9wZXJ0eSBhZGRyZXNzIC0gVGhlIG5ldHdvcmstc3BlY2lmaWMgZW5jb2RlZCBhZGRyZXNzLiBVc2UgYHRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIG5ldHdvcmspYCB0byBvYnRhaW4gc2NyaXB0UHViS2V5LlxuICogQHByb3BlcnR5IHZhbHVlIC0gVGhlIGFtb3VudCBpbiBzYXRvc2hpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4ge1xuICAvKipcbiAgICogRm9ybWF0OiAke3R4aWR9OiR7dm91dH0uXG4gICAqIFVzZSBgcGFyc2VPdXRwdXRJZChpZClgIHRvIHBhcnNlLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuZXR3b3JrLXNwZWNpZmljIGVuY29kZWQgYWRkcmVzcy5cbiAgICogVXNlIGB0b091dHB1dFNjcmlwdChhZGRyZXNzLCBuZXR3b3JrKWAgdG8gb2J0YWluIHNjcmlwdFB1YktleS5cbiAgICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgaW4gc2F0b3NoaS5cbiAgICovXG4gIHZhbHVlOiBUTnVtYmVyO1xufVxuXG4vKipcbiAqIFdhbGxldCB1bnNwZW50IHR5cGUgLSBleHRlbmRzIFVuc3BlbnQgd2l0aCB3YWxsZXQtc3BlY2lmaWMgZmllbGRzXG4gKlxuICogVGhpcyB0eXBlIGluY2x1ZGVzIGFsbCBmaWVsZHMgZnJvbSBVbnNwZW50IHBsdXM6XG4gKiAtIGNoYWluOiBDaGFpbkNvZGUgKGNoYWluIGNvZGUgZm9yIHdhbGxldCBkZXJpdmF0aW9uKVxuICogLSBpbmRleDogbnVtYmVyIChpbmRleCBmb3Igd2FsbGV0IGRlcml2YXRpb24pXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0VW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiBleHRlbmRzIFVuc3BlbnQ8VE51bWJlcj4ge1xuICBjaGFpbjogdXR4b2xpYi5iaXRnby5DaGFpbkNvZGU7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbi8qKlxuICogVW5zcGVudCB3aXRoIHByZXZpb3VzIHRyYW5zYWN0aW9uIGRhdGFcbiAqXG4gKiBFeHRlbmRzIFVuc3BlbnQgd2l0aDpcbiAqIC0gcHJldlR4OiBCdWZmZXIgKHByZXZpb3VzIHRyYW5zYWN0aW9uIGRhdGEgZm9yIGxlZ2FjeSB0cmFuc2FjdGlvbnMpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5zcGVudFdpdGhQcmV2VHg8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4gZXh0ZW5kcyBVbnNwZW50PFROdW1iZXI+IHtcbiAgcHJldlR4OiBCdWZmZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU91dHB1dElkKGlkOiBzdHJpbmcpOiB7IHR4aWQ6IHN0cmluZzsgdm91dDogbnVtYmVyIH0ge1xuICBjb25zdCBbdHhpZCwgdm91dF0gPSBpZC5zcGxpdCgnOicpO1xuICByZXR1cm4geyB0eGlkLCB2b3V0OiBOdW1iZXIodm91dCkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc3BlbnRTdW0odW5zcGVudHM6IHsgdmFsdWU6IG51bWJlciB8IGJpZ2ludCB9W10pOiBiaWdpbnQge1xuICByZXR1cm4gdW5zcGVudHMucmVkdWNlKChzdW0sIHVuc3BlbnQpID0+IHN1bSArIEJpZ0ludCh1bnNwZW50LnZhbHVlKSwgMG4pO1xufVxuIl19
@@ -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,47 @@
1
+ import { BIP32, ECPair, Psbt } from '@bitgo/wasm-utxo';
2
+ import * as utxolib from '@bitgo/utxo-lib';
3
+ /**
4
+ * Convert a utxo-lib BIP32Interface to a wasm-utxo BIP32 instance.
5
+ * Preserves private key by using base58 serialization.
6
+ */
7
+ export function toWasmBIP32(key) {
8
+ if (key instanceof BIP32) {
9
+ return key;
10
+ }
11
+ // All utxo-lib BIP32Interface instances have toBase58
12
+ return BIP32.fromBase58(key.toBase58());
13
+ }
14
+ export function toWasmECPair(key) {
15
+ if (key instanceof ECPair) {
16
+ return key;
17
+ }
18
+ if (key instanceof Uint8Array) {
19
+ return ECPair.from(key);
20
+ }
21
+ if (key.privateKey) {
22
+ return ECPair.fromPrivateKey(key.privateKey);
23
+ }
24
+ return ECPair.fromPublicKey(key.publicKey);
25
+ }
26
+ export function isUtxoLibPsbt(psbt) {
27
+ return psbt instanceof utxolib.Psbt || psbt instanceof utxolib.bitgo.UtxoPsbt;
28
+ }
29
+ export function toWasmPsbt(psbt) {
30
+ if (psbt instanceof Psbt) {
31
+ return psbt;
32
+ }
33
+ if (psbt instanceof Uint8Array) {
34
+ return Psbt.deserialize(psbt);
35
+ }
36
+ if (isUtxoLibPsbt(psbt)) {
37
+ return Psbt.deserialize(psbt.toBuffer());
38
+ }
39
+ throw new Error('Unsupported PSBT type');
40
+ }
41
+ /**
42
+ * Sum the `value` property of an array of objects.
43
+ */
44
+ export function sumValues(arr) {
45
+ return arr.reduce((sum, e) => sum + e.value, BigInt(0));
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFpQjNDOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBYTtJQUN2QyxJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxzREFBc0Q7SUFDdEQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQWM7SUFDekMsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFLENBQUM7UUFDMUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxHQUFHLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQWE7SUFDekMsT0FBTyxJQUFJLFlBQVksT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDaEYsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBcUM7SUFDOUQsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBd0I7SUFDaEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJJUDMyLCBFQ1BhaXIsIFBzYnQsIGRlc2NyaXB0b3JXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuZXhwb3J0IHR5cGUgQklQMzJLZXkgPSBCSVAzMiB8IHV0eG9saWIuQklQMzJJbnRlcmZhY2U7XG5leHBvcnQgdHlwZSBFQ1BhaXJLZXkgPSBFQ1BhaXIgfCB1dHhvbGliLkVDUGFpckludGVyZmFjZSB8IFVpbnQ4QXJyYXk7XG5leHBvcnQgdHlwZSBVdHhvTGliUHNidCA9IHV0eG9saWIuUHNidCB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5cbi8qKlxuICogTWFwIG9mIGRlc2NyaXB0b3IgbmFtZSB0byBEZXNjcmlwdG9yIGluc3RhbmNlLlxuICogUmUtZXhwb3J0ZWQgZnJvbSB3YXNtLXV0eG8gZm9yIGNvbnNpc3RlbmN5LlxuICovXG5leHBvcnQgdHlwZSBEZXNjcmlwdG9yTWFwID0gZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwO1xuXG4vKipcbiAqIEtleSB0eXBlIGFjY2VwdGVkIGJ5IGRlc2NyaXB0b3JXYWxsZXQuc2lnbldpdGhLZXlcbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmVyS2V5ID0gUGFyYW1ldGVyczx0eXBlb2YgZGVzY3JpcHRvcldhbGxldC5zaWduV2l0aEtleT5bMV07XG5cbi8qKlxuICogQ29udmVydCBhIHV0eG8tbGliIEJJUDMySW50ZXJmYWNlIHRvIGEgd2FzbS11dHhvIEJJUDMyIGluc3RhbmNlLlxuICogUHJlc2VydmVzIHByaXZhdGUga2V5IGJ5IHVzaW5nIGJhc2U1OCBzZXJpYWxpemF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9XYXNtQklQMzIoa2V5OiBCSVAzMktleSk6IEJJUDMyIHtcbiAgaWYgKGtleSBpbnN0YW5jZW9mIEJJUDMyKSB7XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuICAvLyBBbGwgdXR4by1saWIgQklQMzJJbnRlcmZhY2UgaW5zdGFuY2VzIGhhdmUgdG9CYXNlNThcbiAgcmV0dXJuIEJJUDMyLmZyb21CYXNlNTgoa2V5LnRvQmFzZTU4KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9XYXNtRUNQYWlyKGtleTogRUNQYWlyS2V5KTogRUNQYWlyIHtcbiAgaWYgKGtleSBpbnN0YW5jZW9mIEVDUGFpcikge1xuICAgIHJldHVybiBrZXk7XG4gIH1cbiAgaWYgKGtleSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICByZXR1cm4gRUNQYWlyLmZyb20oa2V5KTtcbiAgfVxuICBpZiAoa2V5LnByaXZhdGVLZXkpIHtcbiAgICByZXR1cm4gRUNQYWlyLmZyb21Qcml2YXRlS2V5KGtleS5wcml2YXRlS2V5KTtcbiAgfVxuICByZXR1cm4gRUNQYWlyLmZyb21QdWJsaWNLZXkoa2V5LnB1YmxpY0tleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9MaWJQc2J0KHBzYnQ6IHVua25vd24pOiBwc2J0IGlzIFV0eG9MaWJQc2J0IHtcbiAgcmV0dXJuIHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQgfHwgcHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1dhc21Qc2J0KHBzYnQ6IFBzYnQgfCBVdHhvTGliUHNidCB8IFVpbnQ4QXJyYXkpOiBQc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBQc2J0KSB7XG4gICAgcmV0dXJuIHBzYnQ7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIFBzYnQuZGVzZXJpYWxpemUocHNidCk7XG4gIH1cbiAgaWYgKGlzVXR4b0xpYlBzYnQocHNidCkpIHtcbiAgICByZXR1cm4gUHNidC5kZXNlcmlhbGl6ZShwc2J0LnRvQnVmZmVyKCkpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgUFNCVCB0eXBlJyk7XG59XG5cbi8qKlxuICogU3VtIHRoZSBgdmFsdWVgIHByb3BlcnR5IG9mIGFuIGFycmF5IG9mIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdW1WYWx1ZXMoYXJyOiB7IHZhbHVlOiBiaWdpbnQgfVtdKTogYmlnaW50IHtcbiAgcmV0dXJuIGFyci5yZWR1Y2UoKHN1bSwgZSkgPT4gc3VtICsgZS52YWx1ZSwgQmlnSW50KDApKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/abstract-utxo",
3
- "version": "10.17.0",
3
+ "version": "10.18.0",
4
4
  "description": "BitGo SDK coin library for UTXO base implementation",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -27,7 +27,7 @@
27
27
  "build:cjs": "yarn tsc --build --incremental --verbose .",
28
28
  "build:esm": "yarn tsc --project tsconfig.esm.json",
29
29
  "fmt": "prettier --write .",
30
- "check-fmt": "prettier --check '**/*.{ts,js,json}'",
30
+ "check-fmt": "prettier --check '{src,test}/**/*.{ts,js,json}'",
31
31
  "clean": "rm -rf ./dist",
32
32
  "lint": "eslint --quiet .",
33
33
  "prepare": "npm run build",
@@ -60,15 +60,14 @@
60
60
  ]
61
61
  },
62
62
  "dependencies": {
63
- "@bitgo/blockapis": "^1.12.13",
64
- "@bitgo/sdk-api": "^1.73.4",
65
- "@bitgo/sdk-core": "^36.30.0",
63
+ "@bitgo/blockapis": "^1.13.0",
64
+ "@bitgo/sdk-api": "^1.74.0",
65
+ "@bitgo/sdk-core": "^36.31.0",
66
66
  "@bitgo/secp256k1": "^1.10.0",
67
- "@bitgo/unspents": "^0.51.0",
68
- "@bitgo/utxo-core": "^1.32.0",
69
- "@bitgo/utxo-lib": "^11.20.0",
70
- "@bitgo/utxo-ord": "^1.25.0",
71
- "@bitgo/wasm-utxo": "^1.29.0",
67
+ "@bitgo/utxo-core": "^1.33.0",
68
+ "@bitgo/utxo-lib": "^11.21.0",
69
+ "@bitgo/utxo-ord": "^1.26.0",
70
+ "@bitgo/wasm-utxo": "^1.36.0",
72
71
  "@types/lodash": "^4.14.121",
73
72
  "@types/superagent": "4.1.15",
74
73
  "bignumber.js": "^9.0.2",
@@ -79,8 +78,8 @@
79
78
  "superagent": "^9.0.1"
80
79
  },
81
80
  "devDependencies": {
82
- "@bitgo/sdk-test": "^9.1.25",
81
+ "@bitgo/sdk-test": "^9.1.26",
83
82
  "mocha": "^10.2.0"
84
83
  },
85
- "gitHead": "31283fc46954fc8b535cb29136ecf68fdee87be2"
84
+ "gitHead": "83a7782d1f719c62e132ab63b2fef30d44675226"
86
85
  }
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=btc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"btc.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/impl/btc/unit/btc.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}