@bitgo-beta/sdk-core 8.2.1-beta.207 → 8.2.1-beta.2071

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 (782) hide show
  1. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  6. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +43 -31
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +59 -5
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +112 -10
  12. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  13. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  14. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  15. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  16. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  17. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  18. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  19. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  20. package/dist/src/account-lib/baseCoin/index.js +8 -5
  21. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  30. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  33. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  36. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  45. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  48. package/dist/src/account-lib/index.d.ts +0 -1
  49. package/dist/src/account-lib/index.d.ts.map +1 -1
  50. package/dist/src/account-lib/index.js +23 -10
  51. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  52. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  53. package/dist/src/account-lib/mpc/index.js +6 -2
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
  55. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  56. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
  57. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  59. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  60. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
  62. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  63. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  66. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  67. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  69. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  70. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  71. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  72. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  73. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  74. package/dist/src/account-lib/mpc/util.js +24 -1
  75. package/dist/src/account-lib/staking/index.js +6 -2
  76. package/dist/src/account-lib/staking/utils.js +3 -3
  77. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  78. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  79. package/dist/src/account-lib/util/crypto.js +69 -38
  80. package/dist/src/api/bip32path.js +2 -3
  81. package/dist/src/api/index.js +6 -2
  82. package/dist/src/api/types.d.ts +37 -0
  83. package/dist/src/api/types.d.ts.map +1 -1
  84. package/dist/src/api/types.js +8 -1
  85. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -1
  86. package/dist/src/bitgo/address-book/address-book.js +20 -12
  87. package/dist/src/bitgo/address-book/index.js +6 -2
  88. package/dist/src/bitgo/address-book/types.d.ts +36 -36
  89. package/dist/src/bitgo/address-book/types.d.ts.map +1 -1
  90. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +123 -13
  91. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  92. package/dist/src/bitgo/baseCoin/baseCoin.js +200 -16
  93. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +301 -31
  94. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  95. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  96. package/dist/src/bitgo/baseCoin/index.js +6 -2
  97. package/dist/src/bitgo/bip32util.d.ts +3 -16
  98. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  99. package/dist/src/bitgo/bip32util.js +4 -56
  100. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  101. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  102. package/dist/src/bitgo/bitcoin.js +26 -13
  103. package/dist/src/bitgo/bitgoBase.d.ts +17 -4
  104. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  105. package/dist/src/bitgo/bitgoBase.js +1 -1
  106. package/dist/src/bitgo/coinFactory.d.ts +24 -3
  107. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  108. package/dist/src/bitgo/coinFactory.js +35 -3
  109. package/dist/src/bitgo/config.d.ts +3 -101
  110. package/dist/src/bitgo/config.d.ts.map +1 -1
  111. package/dist/src/bitgo/config.js +26 -15
  112. package/dist/src/bitgo/defi/defiVault.d.ts +171 -0
  113. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  114. package/dist/src/bitgo/defi/defiVault.js +445 -0
  115. package/dist/src/bitgo/defi/iDefiVault.d.ts +101 -0
  116. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  117. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  118. package/dist/src/bitgo/defi/index.d.ts +3 -0
  119. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  120. package/dist/src/bitgo/defi/index.js +22 -0
  121. package/dist/src/bitgo/ecdh.d.ts +0 -1
  122. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  123. package/dist/src/bitgo/ecdh.js +26 -13
  124. package/dist/src/bitgo/enterprise/enterprise.d.ts +9 -4
  125. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  126. package/dist/src/bitgo/enterprise/enterprise.js +47 -21
  127. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  128. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +5 -3
  129. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  130. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  131. package/dist/src/bitgo/enterprise/index.js +6 -2
  132. package/dist/src/bitgo/environments.d.ts +68 -3
  133. package/dist/src/bitgo/environments.d.ts.map +1 -1
  134. package/dist/src/bitgo/environments.js +414 -34
  135. package/dist/src/bitgo/errors.d.ts +182 -1
  136. package/dist/src/bitgo/errors.d.ts.map +1 -1
  137. package/dist/src/bitgo/errors.js +177 -3
  138. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  139. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  140. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  141. package/dist/src/bitgo/index.d.ts +6 -1
  142. package/dist/src/bitgo/index.d.ts.map +1 -1
  143. package/dist/src/bitgo/index.js +32 -11
  144. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  145. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  146. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  147. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  148. package/dist/src/bitgo/internal/index.js +6 -2
  149. package/dist/src/bitgo/internal/internal.js +5 -6
  150. package/dist/src/bitgo/internal/keycard.d.ts +13 -8
  151. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  152. package/dist/src/bitgo/internal/keycard.js +63 -48
  153. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  154. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  155. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  156. package/dist/src/bitgo/keychain/iKeychains.d.ts +132 -11
  157. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  158. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  159. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  160. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  161. package/dist/src/bitgo/keychain/index.js +7 -2
  162. package/dist/src/bitgo/keychain/keychains.d.ts +59 -7
  163. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  164. package/dist/src/bitgo/keychain/keychains.js +298 -53
  165. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  166. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  167. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  168. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  169. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  170. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  171. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  172. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  173. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  174. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  175. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  176. package/dist/src/bitgo/market/index.js +6 -2
  177. package/dist/src/bitgo/market/markets.js +23 -9
  178. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +5 -1
  179. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  180. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  181. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  182. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  183. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  184. package/dist/src/bitgo/pendingApproval/pendingApproval.js +246 -111
  185. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  186. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  187. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  188. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  189. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  190. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  191. package/dist/src/bitgo/proofs/index.js +6 -0
  192. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  193. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  194. package/dist/src/bitgo/proofs/types.js +80 -0
  195. package/dist/src/bitgo/recovery/index.js +6 -2
  196. package/dist/src/bitgo/recovery/initiate.d.ts +13 -3
  197. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  198. package/dist/src/bitgo/recovery/initiate.js +49 -41
  199. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +13 -0
  200. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  201. package/dist/src/bitgo/safe/derivableEd25519Pub.js +35 -0
  202. package/dist/src/bitgo/safe/iSafe.d.ts +124 -0
  203. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
  204. package/dist/src/bitgo/safe/iSafe.js +3 -0
  205. package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
  206. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
  207. package/dist/src/bitgo/safe/iSafes.js +3 -0
  208. package/dist/src/bitgo/safe/index.d.ts +7 -0
  209. package/dist/src/bitgo/safe/index.d.ts.map +1 -0
  210. package/dist/src/bitgo/safe/index.js +23 -0
  211. package/dist/src/bitgo/safe/rootCoin.d.ts +15 -0
  212. package/dist/src/bitgo/safe/rootCoin.d.ts.map +1 -0
  213. package/dist/src/bitgo/safe/rootCoin.js +47 -0
  214. package/dist/src/bitgo/safe/safe.d.ts +88 -0
  215. package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
  216. package/dist/src/bitgo/safe/safe.js +404 -0
  217. package/dist/src/bitgo/safe/safes.d.ts +102 -0
  218. package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
  219. package/dist/src/bitgo/safe/safes.js +281 -0
  220. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  221. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  222. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  223. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  224. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  225. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  226. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  227. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  228. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  229. package/dist/src/bitgo/staking/iStakingWallet.d.ts +165 -8
  230. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  231. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  232. package/dist/src/bitgo/staking/index.d.ts +3 -0
  233. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  234. package/dist/src/bitgo/staking/index.js +9 -2
  235. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  236. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  237. package/dist/src/bitgo/staking/stakingWallet.js +153 -7
  238. package/dist/src/bitgo/trading/iTradingAccount.d.ts +13 -1
  239. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  240. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  241. package/dist/src/bitgo/trading/index.d.ts +1 -0
  242. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  243. package/dist/src/bitgo/trading/index.js +7 -2
  244. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  245. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  246. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  247. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  248. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  249. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  250. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  251. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  252. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  253. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  254. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  255. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  256. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  257. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  258. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  259. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  260. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  261. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  262. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  263. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  264. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  265. package/dist/src/bitgo/trading/network/index.d.ts +2 -0
  266. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
  267. package/dist/src/bitgo/trading/network/index.js +8 -2
  268. package/dist/src/bitgo/trading/network/network.d.ts +4 -3
  269. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
  270. package/dist/src/bitgo/trading/network/network.js +24 -27
  271. package/dist/src/bitgo/trading/network/types.d.ts +79 -46
  272. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
  273. package/dist/src/bitgo/trading/network/types.js +1 -1
  274. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  275. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  276. package/dist/src/bitgo/trading/network/utils.js +54 -0
  277. package/dist/src/bitgo/trading/tradingAccount.d.ts +15 -1
  278. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  279. package/dist/src/bitgo/trading/tradingAccount.js +55 -7
  280. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
  281. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  282. package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
  283. package/dist/src/bitgo/tss/common.d.ts +41 -6
  284. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  285. package/dist/src/bitgo/tss/common.js +127 -17
  286. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  287. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  288. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  289. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  290. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  291. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  292. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  293. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  294. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  295. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  296. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  297. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  298. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  299. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  300. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  301. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
  302. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  303. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
  304. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  305. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  306. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  307. package/dist/src/bitgo/tss/index.d.ts +3 -2
  308. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  309. package/dist/src/bitgo/tss/index.js +26 -10
  310. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +50 -0
  311. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  312. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +112 -0
  313. package/dist/src/bitgo/tss/types.d.ts +3 -3
  314. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  315. package/dist/src/bitgo/tss/types.js +2 -2
  316. package/dist/src/bitgo/types.d.ts +3 -3
  317. package/dist/src/bitgo/types.d.ts.map +1 -1
  318. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +10 -0
  319. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  320. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +76 -14
  321. package/dist/src/bitgo/utils/codecProps.js +24 -11
  322. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  323. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  324. package/dist/src/bitgo/utils/codecs.js +59 -0
  325. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  326. package/dist/src/bitgo/utils/decode.js +30 -16
  327. package/dist/src/bitgo/utils/index.d.ts +4 -2
  328. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  329. package/dist/src/bitgo/utils/index.js +27 -11
  330. package/dist/src/bitgo/utils/messageTypes.d.ts +46 -0
  331. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  332. package/dist/src/bitgo/utils/messageTypes.js +23 -0
  333. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  334. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  335. package/dist/src/bitgo/utils/mpcUtils.js +207 -14
  336. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  337. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  338. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  339. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -7
  340. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  341. package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
  342. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  343. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  344. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  345. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  346. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  347. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  348. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  349. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  350. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  351. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  352. package/dist/src/bitgo/utils/triple.js +2 -3
  353. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  354. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  355. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  356. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +94 -17
  357. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  358. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +310 -45
  359. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +449 -55
  360. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  361. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  362. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  363. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  364. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  365. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  366. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  367. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  368. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +25 -51
  369. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  370. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
  371. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +240 -0
  372. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  373. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1076 -0
  374. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +16 -0
  375. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  376. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +37 -0
  377. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +69 -0
  378. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
  379. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +442 -0
  380. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +5 -0
  381. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  382. package/dist/src/bitgo/utils/tss/ecdsa/index.js +11 -2
  383. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  384. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  385. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  386. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +125 -0
  387. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  388. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  389. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  390. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  391. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +119 -0
  392. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  393. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  394. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  395. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
  396. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  397. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
  398. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +221 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +890 -0
  401. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +8 -0
  402. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  403. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
  404. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +25 -0
  405. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  406. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +241 -0
  407. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  408. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  409. package/dist/src/bitgo/utils/tss/eddsa/index.js +30 -8
  410. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +15 -7
  411. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  412. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  413. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +53 -0
  414. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  415. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +55 -0
  416. package/dist/src/bitgo/utils/tss/index.d.ts +6 -0
  417. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  418. package/dist/src/bitgo/utils/tss/index.js +30 -10
  419. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
  420. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  421. package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
  422. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  423. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  424. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  425. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +42 -0
  426. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  427. package/dist/src/bitgo/utils/tss/recipientUtils.js +168 -0
  428. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  429. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  430. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
  431. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  432. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  433. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  434. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
  435. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  436. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
  437. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
  438. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  439. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  440. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  441. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  442. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  443. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  444. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  445. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  446. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  447. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  448. package/dist/src/bitgo/utils/txRequest.js +49 -0
  449. package/dist/src/bitgo/utils/util.js +24 -10
  450. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  451. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  452. package/dist/src/bitgo/utils/wallet.js +48 -0
  453. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  454. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  455. package/dist/src/bitgo/v1Wallets.js +3 -0
  456. package/dist/src/bitgo/wallet/BuildParams.d.ts +90 -1
  457. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  458. package/dist/src/bitgo/wallet/BuildParams.js +92 -11
  459. package/dist/src/bitgo/wallet/iWallet.d.ts +607 -33
  460. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  461. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  462. package/dist/src/bitgo/wallet/iWallets.d.ts +310 -16
  463. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  464. package/dist/src/bitgo/wallet/iWallets.js +84 -3
  465. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  466. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  467. package/dist/src/bitgo/wallet/index.js +7 -2
  468. package/dist/src/bitgo/wallet/safeKeychain.d.ts +75 -0
  469. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  470. package/dist/src/bitgo/wallet/safeKeychain.js +151 -0
  471. package/dist/src/bitgo/wallet/wallet.d.ts +359 -27
  472. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  473. package/dist/src/bitgo/wallet/wallet.js +2292 -450
  474. package/dist/src/bitgo/wallet/wallets.d.ts +99 -4
  475. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  476. package/dist/src/bitgo/wallet/wallets.js +1242 -156
  477. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  478. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  479. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  480. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  481. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  482. package/dist/src/bitgo/walletUtil/index.js +19 -0
  483. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  484. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  485. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  486. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  487. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  488. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  489. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  490. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  491. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  492. package/dist/src/bitgo/webauthn/base64url.d.ts +16 -0
  493. package/dist/src/bitgo/webauthn/base64url.d.ts.map +1 -0
  494. package/dist/src/bitgo/webauthn/base64url.js +27 -0
  495. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts +18 -0
  496. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts.map +1 -0
  497. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.js +26 -0
  498. package/dist/src/bitgo/webauthn/derivePassword.d.ts +11 -0
  499. package/dist/src/bitgo/webauthn/derivePassword.d.ts.map +1 -0
  500. package/dist/src/bitgo/webauthn/derivePassword.js +16 -0
  501. package/dist/src/bitgo/webauthn/index.d.ts +5 -0
  502. package/dist/src/bitgo/webauthn/index.d.ts.map +1 -0
  503. package/dist/src/bitgo/webauthn/index.js +21 -0
  504. package/dist/src/bitgo/webauthn/types.d.ts +18 -0
  505. package/dist/src/bitgo/webauthn/types.d.ts.map +1 -0
  506. package/dist/src/bitgo/webauthn/types.js +3 -0
  507. package/dist/src/bitgo/webhook/index.js +6 -2
  508. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  509. package/dist/src/coins/fiat.d.ts +45 -0
  510. package/dist/src/coins/fiat.d.ts.map +1 -0
  511. package/dist/src/coins/fiat.js +94 -0
  512. package/dist/src/coins/index.d.ts +1 -6
  513. package/dist/src/coins/index.d.ts.map +1 -1
  514. package/dist/src/coins/index.js +7 -8
  515. package/dist/src/coins/ofc.d.ts +21 -2
  516. package/dist/src/coins/ofc.d.ts.map +1 -1
  517. package/dist/src/coins/ofc.js +29 -3
  518. package/dist/src/coins/ofcToken.d.ts +15 -4
  519. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  520. package/dist/src/coins/ofcToken.js +43 -5
  521. package/dist/src/coins/susd.d.ts +3 -2
  522. package/dist/src/coins/susd.d.ts.map +1 -1
  523. package/dist/src/coins/susd.js +5 -1
  524. package/dist/src/common.js +27 -13
  525. package/dist/src/index.d.ts +9 -1
  526. package/dist/src/index.d.ts.map +1 -1
  527. package/dist/src/index.js +40 -11
  528. package/dist/src/lightning.d.ts +20 -0
  529. package/dist/src/lightning.d.ts.map +1 -0
  530. package/dist/src/lightning.js +13 -0
  531. package/dist/src/units.js +5 -6
  532. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  533. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  534. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  535. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  536. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  537. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  538. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  539. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  540. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  541. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  542. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  543. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  544. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  545. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  546. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  547. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  548. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  549. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  550. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  551. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  552. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  553. package/dist/test/unit/bitgo/defi/defiVault.js +863 -0
  554. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  555. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  556. package/dist/test/unit/bitgo/environment.js +38 -0
  557. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  558. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  559. package/dist/test/unit/bitgo/errors.js +262 -0
  560. package/dist/test/unit/bitgo/keychain/keychains.d.ts +2 -0
  561. package/dist/test/unit/bitgo/keychain/keychains.d.ts.map +1 -0
  562. package/dist/test/unit/bitgo/keychain/keychains.js +166 -0
  563. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  564. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  565. package/dist/test/unit/bitgo/recovery/initiate.js +188 -0
  566. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
  567. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  568. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +133 -0
  569. package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -0
  570. package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
  571. package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
  572. package/dist/test/unit/bitgo/safe/safe.js +528 -0
  573. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts +2 -0
  574. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts.map +1 -0
  575. package/dist/test/unit/bitgo/safe/safeDerivation.js +75 -0
  576. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  577. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  578. package/dist/test/unit/bitgo/safe/safes.js +376 -0
  579. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  580. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  581. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  582. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  583. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  584. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  585. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  586. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  587. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  588. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  589. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  590. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  591. package/dist/test/unit/bitgo/tss/common.d.ts +2 -0
  592. package/dist/test/unit/bitgo/tss/common.d.ts.map +1 -0
  593. package/dist/test/unit/bitgo/tss/common.js +77 -0
  594. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  595. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  596. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +181 -0
  597. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
  598. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  599. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  600. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  601. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts +2 -0
  602. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts.map +1 -0
  603. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.js +109 -0
  604. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
  605. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
  606. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
  607. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  608. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  609. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  610. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  611. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  612. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  613. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  614. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  615. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  616. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  617. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  618. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  619. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  620. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  621. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  622. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1068 -0
  623. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  624. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  625. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  626. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  627. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  628. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  629. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  630. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  631. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1993 -0
  632. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +2 -0
  633. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  634. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +174 -0
  635. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  636. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  637. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +376 -0
  638. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
  639. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  640. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
  641. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  642. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  643. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  644. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  645. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  646. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +462 -0
  647. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  648. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  649. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
  650. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  651. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  652. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
  653. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  654. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  655. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  656. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  657. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  658. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  659. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  660. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  661. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  662. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  663. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  664. package/dist/test/unit/bitgo/wallet/BuildParams.js +154 -0
  665. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
  666. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  667. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  668. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  669. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
  670. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
  671. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
  672. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  673. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  674. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  675. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  676. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  677. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  678. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  679. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  680. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  681. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  682. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  683. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  684. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  685. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  686. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  687. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  688. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  689. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
  690. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts +9 -0
  691. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts.map +1 -0
  692. package/dist/test/unit/bitgo/wallet/safeShareWallet.js +303 -0
  693. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  694. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  695. package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
  696. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  697. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  698. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  699. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  700. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  701. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
  702. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  703. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  704. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  705. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  706. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  707. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +304 -0
  708. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  709. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  710. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  711. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  712. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  713. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
  714. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  715. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  716. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  717. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  718. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  719. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  720. package/dist/test/unit/coins/ofc.d.ts +2 -0
  721. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  722. package/dist/test/unit/coins/ofc.js +124 -0
  723. package/dist/test/unit/lightning.d.ts +2 -0
  724. package/dist/test/unit/lightning.d.ts.map +1 -0
  725. package/dist/test/unit/lightning.js +23 -0
  726. package/dist/test/unit/units.d.ts.map +1 -1
  727. package/dist/test/unit/units.js +64 -64
  728. package/dist/tsconfig.tsbuildinfo +1 -1
  729. package/package.json +25 -22
  730. package/.eslintignore +0 -5
  731. package/CHANGELOG.md +0 -1788
  732. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  733. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  734. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  735. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +0 -49
  736. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +0 -1
  737. package/dist/src/account-lib/util/ed25519KeyDeriver.js +0 -87
  738. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  739. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  740. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  741. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  742. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  743. package/dist/src/bitgo/lightning/index.js +0 -17
  744. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  745. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  746. package/dist/src/bitgo/lightning/lightning.js +0 -111
  747. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  748. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  749. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  750. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  751. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  752. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  753. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  754. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  755. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  756. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  757. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  758. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  759. package/dist/src/coins/fiateur.d.ts +0 -31
  760. package/dist/src/coins/fiateur.d.ts.map +0 -1
  761. package/dist/src/coins/fiateur.js +0 -57
  762. package/dist/src/coins/fiatgbp.d.ts +0 -31
  763. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  764. package/dist/src/coins/fiatgbp.js +0 -57
  765. package/dist/src/coins/fiatusd.d.ts +0 -31
  766. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  767. package/dist/src/coins/fiatusd.js +0 -57
  768. package/dist/src/coins/tfiateur.d.ts +0 -11
  769. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  770. package/dist/src/coins/tfiateur.js +0 -17
  771. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  772. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  773. package/dist/src/coins/tfiatgbp.js +0 -17
  774. package/dist/src/coins/tfiatusd.d.ts +0 -11
  775. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  776. package/dist/src/coins/tfiatusd.js +0 -17
  777. package/dist/src/openssl/index.d.ts +0 -5
  778. package/dist/src/openssl/index.d.ts.map +0 -1
  779. package/dist/src/openssl/index.js +0 -9
  780. package/dist/test/unit/openssl.d.ts +0 -2
  781. package/dist/test/unit/openssl.d.ts.map +0 -1
  782. package/dist/test/unit/openssl.js +0 -39
@@ -1,6 +1,7 @@
1
1
  import TssUtils, { TssUtilsTypes, EddsaUtilsTypes } from './eddsa';
2
2
  export * as ECDSAUtils from './ecdsa';
3
3
  export * as EDDSAUtils from './eddsa';
4
+ export * as RedpallasUtils from './redpallas';
4
5
  /** @deprecated use EDDSAUtils */
5
6
  export { TssUtils };
6
7
  /** @deprecated use EDDSAUtilsTypes */
@@ -10,4 +11,9 @@ export { EddsaUtilsTypes };
10
11
  export { ITssUtils, IEddsaUtils, TxRequest, EddsaUnsignedTransaction } from './eddsa';
11
12
  export * as BaseTssUtils from './baseTSSUtils';
12
13
  export * from './baseTypes';
14
+ export * from './addressVerification';
15
+ export * from './preHashedSignable';
16
+ export * from './recipientUtils';
17
+ export * from './keyShareEnvelope';
18
+ export * from './signableConsistency';
13
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AAEtC,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,aAAa,CAAC;AAE9C,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,24 +15,40 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
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
+ })();
21
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
37
  };
24
38
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.BaseTssUtils = exports.EddsaUtilsTypes = exports.TssUtilsTypes = exports.TssUtils = exports.EDDSAUtils = exports.ECDSAUtils = void 0;
39
+ exports.BaseTssUtils = exports.EddsaUtilsTypes = exports.TssUtilsTypes = exports.TssUtils = exports.RedpallasUtils = exports.EDDSAUtils = exports.ECDSAUtils = void 0;
26
40
  const eddsa_1 = __importStar(require("./eddsa"));
27
41
  exports.TssUtils = eddsa_1.default;
28
42
  Object.defineProperty(exports, "TssUtilsTypes", { enumerable: true, get: function () { return eddsa_1.TssUtilsTypes; } });
29
43
  Object.defineProperty(exports, "EddsaUtilsTypes", { enumerable: true, get: function () { return eddsa_1.EddsaUtilsTypes; } });
30
44
  exports.ECDSAUtils = __importStar(require("./ecdsa"));
31
45
  exports.EDDSAUtils = __importStar(require("./eddsa"));
46
+ exports.RedpallasUtils = __importStar(require("./redpallas"));
32
47
  exports.BaseTssUtils = __importStar(require("./baseTSSUtils"));
33
48
  __exportStar(require("./baseTypes"), exports);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBbUU7QUFLMUQsbUJBTEYsZUFBUSxDQUtFO0FBRVIsOEZBUFUscUJBQWEsT0FPVjtBQUNiLGdHQVJ5Qix1QkFBZSxPQVF6QjtBQVB4QixzREFBc0M7QUFDdEMsc0RBQXNDO0FBWXRDLCtEQUErQztBQUMvQyw4Q0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVHNzVXRpbHMsIHsgVHNzVXRpbHNUeXBlcywgRWRkc2FVdGlsc1R5cGVzIH0gZnJvbSAnLi9lZGRzYSc7XG5leHBvcnQgKiBhcyBFQ0RTQVV0aWxzIGZyb20gJy4vZWNkc2EnO1xuZXhwb3J0ICogYXMgRUREU0FVdGlscyBmcm9tICcuL2VkZHNhJztcblxuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzICovXG5leHBvcnQgeyBUc3NVdGlscyB9O1xuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzVHlwZXMgKi9cbmV4cG9ydCB7IFRzc1V0aWxzVHlwZXMgfTtcbmV4cG9ydCB7IEVkZHNhVXRpbHNUeXBlcyB9O1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgRUREU0FVdGlscy48dHlwZS9tZXRob2Q+ICovXG5leHBvcnQgeyBJVHNzVXRpbHMsIElFZGRzYVV0aWxzLCBUeFJlcXVlc3QsIEVkZHNhVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4vZWRkc2EnO1xuXG5leHBvcnQgKiBhcyBCYXNlVHNzVXRpbHMgZnJvbSAnLi9iYXNlVFNTVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlVHlwZXMnO1xuIl19
49
+ __exportStar(require("./addressVerification"), exports);
50
+ __exportStar(require("./preHashedSignable"), exports);
51
+ __exportStar(require("./recipientUtils"), exports);
52
+ __exportStar(require("./keyShareEnvelope"), exports);
53
+ __exportStar(require("./signableConsistency"), exports);
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtRTtBQU0xRCxtQkFORixlQUFRLENBTUU7QUFFUiw4RkFSVSxxQkFBYSxPQVFWO0FBQ2IsZ0dBVHlCLHVCQUFlLE9BU3pCO0FBUnhCLHNEQUFzQztBQUN0QyxzREFBc0M7QUFDdEMsOERBQThDO0FBWTlDLCtEQUErQztBQUMvQyw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQyxtREFBaUM7QUFDakMscURBQW1DO0FBQ25DLHdEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUc3NVdGlscywgeyBUc3NVdGlsc1R5cGVzLCBFZGRzYVV0aWxzVHlwZXMgfSBmcm9tICcuL2VkZHNhJztcbmV4cG9ydCAqIGFzIEVDRFNBVXRpbHMgZnJvbSAnLi9lY2RzYSc7XG5leHBvcnQgKiBhcyBFRERTQVV0aWxzIGZyb20gJy4vZWRkc2EnO1xuZXhwb3J0ICogYXMgUmVkcGFsbGFzVXRpbHMgZnJvbSAnLi9yZWRwYWxsYXMnO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEVERFNBVXRpbHMgKi9cbmV4cG9ydCB7IFRzc1V0aWxzIH07XG4vKiogQGRlcHJlY2F0ZWQgdXNlIEVERFNBVXRpbHNUeXBlcyAqL1xuZXhwb3J0IHsgVHNzVXRpbHNUeXBlcyB9O1xuZXhwb3J0IHsgRWRkc2FVdGlsc1R5cGVzIH07XG5cbi8vIGV4cG9ydGluZyB0aGlzIHR5cGVzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuLyoqIEBkZXByZWNhdGVkIHVzZSBFRERTQVV0aWxzLjx0eXBlL21ldGhvZD4gKi9cbmV4cG9ydCB7IElUc3NVdGlscywgSUVkZHNhVXRpbHMsIFR4UmVxdWVzdCwgRWRkc2FVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9lZGRzYSc7XG5cbmV4cG9ydCAqIGFzIEJhc2VUc3NVdGlscyBmcm9tICcuL2Jhc2VUU1NVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2VUeXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3NWZXJpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wcmVIYXNoZWRTaWduYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwaWVudFV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4va2V5U2hhcmVFbnZlbG9wZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ25hYmxlQ29uc2lzdGVuY3knO1xuIl19
@@ -0,0 +1,40 @@
1
+ import { Buffer } from 'buffer';
2
+ /** Version of the Safe MPC keyshare envelope that carries VRF material. */
3
+ export declare const SAFE_MPC_KEY_ENVELOPE_VERSION = 1;
4
+ export interface ParsedMpcV2KeyShare {
5
+ /** Serialized MPC signing keyshare (DKLS or MPS) or reduced signing keyshare. */
6
+ signingKeyShare: Buffer;
7
+ /** Serialized VRF keyshare, present in Safe-root envelopes. */
8
+ vrfKeyShare?: Buffer;
9
+ }
10
+ /**
11
+ * Combines a signing keyshare with a VRF keyshare into the Safe MPC CBOR envelope
12
+ * (`{ version, prvKeyShare, vrf }`). `envelope` wraps the full signing share for
13
+ * `encryptedPrv`. `reducedEnvelope` wraps the reduced signing share for
14
+ * `reducedEncryptedPrv`, which is what Safe keycards store.
15
+ */
16
+ export declare function buildSafeMpcKeyEnvelopes(privateMaterial: Buffer, reducedPrivateMaterial: Buffer, vrfKeyShare: Buffer): {
17
+ envelope: Buffer;
18
+ reducedEnvelope: Buffer;
19
+ };
20
+ /**
21
+ * Parses a decrypted Safe MPC root blob produced by {@link buildSafeMpcKeyEnvelopes}.
22
+ * Throws if the blob is not a versioned envelope with both shares. Wallet-card recovery
23
+ * uses {@link parseMpcV2KeyShareEnvelope} instead, because legacy cards have no VRF share.
24
+ */
25
+ export declare function parseSafeMpcKeyEnvelopes(decryptedBlob: string): {
26
+ signing: Buffer;
27
+ vrf: Buffer;
28
+ };
29
+ /**
30
+ * Parses decrypted MPCv2 key material from a wallet or Safe keycard.
31
+ *
32
+ * Legacy MPCv2 cards contain base64(CBOR ReducedKeyShare). Safe-root cards contain
33
+ * base64(CBOR({ version: 1, prvKeyShare, vrf })); the signing share remains reduced,
34
+ * while `vrf` is the complete serialized VrfKeyshare required by the VRF wasm API.
35
+ *
36
+ * The legacy path is intentionally retained because existing wallet cards do not have
37
+ * VRF material and must continue to recover as before.
38
+ */
39
+ export declare function parseMpcV2KeyShareEnvelope(decryptedKeyShare: string): ParsedMpcV2KeyShare;
40
+ //# sourceMappingURL=keyShareEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyShareEnvelope.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/keyShareEnvelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,sBAAsB,EAAE,MAAM,EAC9B,WAAW,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAY/C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAoBhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,GAAG,mBAAmB,CAkBzF"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SAFE_MPC_KEY_ENVELOPE_VERSION = void 0;
4
+ exports.buildSafeMpcKeyEnvelopes = buildSafeMpcKeyEnvelopes;
5
+ exports.parseSafeMpcKeyEnvelopes = parseSafeMpcKeyEnvelopes;
6
+ exports.parseMpcV2KeyShareEnvelope = parseMpcV2KeyShareEnvelope;
7
+ const cbor_x_1 = require("cbor-x");
8
+ const buffer_1 = require("buffer");
9
+ /** Version of the Safe MPC keyshare envelope that carries VRF material. */
10
+ exports.SAFE_MPC_KEY_ENVELOPE_VERSION = 1;
11
+ function isRecord(value) {
12
+ return typeof value === 'object' && value !== null;
13
+ }
14
+ function isSafeMpcKeyEnvelope(value) {
15
+ return isRecord(value) && 'version' in value && 'prvKeyShare' in value && 'vrf' in value;
16
+ }
17
+ function asBuffer(value, field) {
18
+ if (!(value instanceof Uint8Array)) {
19
+ throw new Error(`Invalid MPC keyshare envelope: ${field} must be a byte string`);
20
+ }
21
+ return buffer_1.Buffer.from(value);
22
+ }
23
+ function tryDecodeCbor(decryptedKeyShare) {
24
+ const encoded = buffer_1.Buffer.from(decryptedKeyShare, 'base64');
25
+ try {
26
+ return { encoded, decoded: (0, cbor_x_1.decode)(encoded) };
27
+ }
28
+ catch (error) {
29
+ return { encoded, error };
30
+ }
31
+ }
32
+ /**
33
+ * Combines a signing keyshare with a VRF keyshare into the Safe MPC CBOR envelope
34
+ * (`{ version, prvKeyShare, vrf }`). `envelope` wraps the full signing share for
35
+ * `encryptedPrv`. `reducedEnvelope` wraps the reduced signing share for
36
+ * `reducedEncryptedPrv`, which is what Safe keycards store.
37
+ */
38
+ function buildSafeMpcKeyEnvelopes(privateMaterial, reducedPrivateMaterial, vrfKeyShare) {
39
+ const envelope = (0, cbor_x_1.encode)({
40
+ version: exports.SAFE_MPC_KEY_ENVELOPE_VERSION,
41
+ prvKeyShare: new Uint8Array(privateMaterial),
42
+ vrf: new Uint8Array(vrfKeyShare),
43
+ });
44
+ const reducedEnvelope = (0, cbor_x_1.encode)({
45
+ version: exports.SAFE_MPC_KEY_ENVELOPE_VERSION,
46
+ prvKeyShare: new Uint8Array(reducedPrivateMaterial),
47
+ vrf: new Uint8Array(vrfKeyShare),
48
+ });
49
+ return { envelope: buffer_1.Buffer.from(envelope), reducedEnvelope: buffer_1.Buffer.from(reducedEnvelope) };
50
+ }
51
+ /**
52
+ * Parses a decrypted Safe MPC root blob produced by {@link buildSafeMpcKeyEnvelopes}.
53
+ * Throws if the blob is not a versioned envelope with both shares. Wallet-card recovery
54
+ * uses {@link parseMpcV2KeyShareEnvelope} instead, because legacy cards have no VRF share.
55
+ */
56
+ function parseSafeMpcKeyEnvelopes(decryptedBlob) {
57
+ const decoded = tryDecodeCbor(decryptedBlob);
58
+ if ('error' in decoded) {
59
+ const message = decoded.error instanceof Error ? decoded.error.message : String(decoded.error);
60
+ throw new Error(`Failed to decode safe MPC root key envelope: ${message}`);
61
+ }
62
+ if (!isSafeMpcKeyEnvelope(decoded.decoded)) {
63
+ throw new Error('Invalid safe MPC root key envelope: expected version, signing keyshare, and VRF keyshare');
64
+ }
65
+ const { version, prvKeyShare, vrf } = decoded.decoded;
66
+ if (version !== exports.SAFE_MPC_KEY_ENVELOPE_VERSION) {
67
+ throw new Error(`Unsupported safe MPC root key envelope version: ${String(version)}`);
68
+ }
69
+ if (!(prvKeyShare instanceof Uint8Array) || prvKeyShare.length === 0) {
70
+ throw new Error('Safe MPC root key envelope is missing a signing keyshare');
71
+ }
72
+ if (!(vrf instanceof Uint8Array) || vrf.length === 0) {
73
+ throw new Error('Safe MPC root key envelope is missing a VRF keyshare');
74
+ }
75
+ return { signing: buffer_1.Buffer.from(prvKeyShare), vrf: buffer_1.Buffer.from(vrf) };
76
+ }
77
+ /**
78
+ * Parses decrypted MPCv2 key material from a wallet or Safe keycard.
79
+ *
80
+ * Legacy MPCv2 cards contain base64(CBOR ReducedKeyShare). Safe-root cards contain
81
+ * base64(CBOR({ version: 1, prvKeyShare, vrf })); the signing share remains reduced,
82
+ * while `vrf` is the complete serialized VrfKeyshare required by the VRF wasm API.
83
+ *
84
+ * The legacy path is intentionally retained because existing wallet cards do not have
85
+ * VRF material and must continue to recover as before.
86
+ */
87
+ function parseMpcV2KeyShareEnvelope(decryptedKeyShare) {
88
+ const decoded = tryDecodeCbor(decryptedKeyShare);
89
+ if ('error' in decoded) {
90
+ return { signingKeyShare: decoded.encoded };
91
+ }
92
+ if (!isRecord(decoded.decoded) || !('version' in decoded.decoded)) {
93
+ return { signingKeyShare: decoded.encoded };
94
+ }
95
+ if (decoded.decoded.version !== exports.SAFE_MPC_KEY_ENVELOPE_VERSION) {
96
+ throw new Error(`Unsupported MPC keyshare envelope version: ${String(decoded.decoded.version)}`);
97
+ }
98
+ return {
99
+ signingKeyShare: asBuffer(decoded.decoded.prvKeyShare, 'prvKeyShare'),
100
+ vrfKeyShare: asBuffer(decoded.decoded.vrf, 'vrf'),
101
+ };
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5U2hhcmVFbnZlbG9wZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3Mva2V5U2hhcmVFbnZlbG9wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtREEsNERBZ0JDO0FBT0QsNERBb0JDO0FBWUQsZ0VBa0JDO0FBNUhELG1DQUF3QztBQUN4QyxtQ0FBZ0M7QUFFaEMsMkVBQTJFO0FBQzlELFFBQUEsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDO0FBZS9DLFNBQVMsUUFBUSxDQUFDLEtBQWM7SUFDOUIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQztBQUNyRCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxLQUFjO0lBQzFDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsSUFBSSxLQUFLLElBQUksYUFBYSxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDO0FBQzNGLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxLQUFjLEVBQUUsS0FBYTtJQUM3QyxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLHdCQUF3QixDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUNELE9BQU8sZUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLGlCQUF5QjtJQUV6QixNQUFNLE9BQU8sR0FBRyxlQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELElBQUksQ0FBQztRQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUEsZUFBTSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUFDLE9BQU8s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LFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxxQ0FBNkIsRUFBRSxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWUsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO1FBQ3JFLFdBQVcsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO0tBQ2xELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVjb2RlLCBlbmNvZGUgfSBmcm9tICdjYm9yLXgnO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcblxuLyoqIFZlcnNpb24gb2YgdGhlIFNhZmUgTVBDIGtleXNoYXJlIGVudmVsb3BlIHRoYXQgY2FycmllcyBWUkYgbWF0ZXJpYWwuICovXG5leHBvcnQgY29uc3QgU0FGRV9NUENfS0VZX0VOVkVMT1BFX1ZFUlNJT04gPSAxO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZE1wY1YyS2V5U2hhcmUge1xuICAvKiogU2VyaWFsaXplZCBNUEMgc2lnbmluZyBrZXlzaGFyZSAoREtMUyBvciBNUFMpIG9yIHJlZHVjZWQgc2lnbmluZyBrZXlzaGFyZS4gKi9cbiAgc2lnbmluZ0tleVNoYXJlOiBCdWZmZXI7XG4gIC8qKiBTZXJpYWxpemVkIFZSRiBrZXlzaGFyZSwgcHJlc2VudCBpbiBTYWZlLXJvb3QgZW52ZWxvcGVzLiAqL1xuICB2cmZLZXlTaGFyZT86IEJ1ZmZlcjtcbn1cblxudHlwZSBTYWZlTXBjS2V5RW52ZWxvcGUgPSB7XG4gIHZlcnNpb246IHVua25vd247XG4gIHBydktleVNoYXJlOiB1bmtub3duO1xuICB2cmY6IHVua25vd247XG59O1xuXG5mdW5jdGlvbiBpc1JlY29yZCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzU2FmZU1wY0tleUVudmVsb3BlKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgU2FmZU1wY0tleUVudmVsb3BlIHtcbiAgcmV0dXJuIGlzUmVjb3JkKHZhbHVlKSAmJiAndmVyc2lvbicgaW4gdmFsdWUgJiYgJ3BydktleVNoYXJlJyBpbiB2YWx1ZSAmJiAndnJmJyBpbiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gYXNCdWZmZXIodmFsdWU6IHVua25vd24sIGZpZWxkOiBzdHJpbmcpOiBCdWZmZXIge1xuICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1QQyBrZXlzaGFyZSBlbnZlbG9wZTogJHtmaWVsZH0gbXVzdCBiZSBhIGJ5dGUgc3RyaW5nYCk7XG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdHJ5RGVjb2RlQ2JvcihcbiAgZGVjcnlwdGVkS2V5U2hhcmU6IHN0cmluZ1xuKTogeyBlbmNvZGVkOiBCdWZmZXI7IGRlY29kZWQ6IHVua25vd24gfSB8IHsgZW5jb2RlZDogQnVmZmVyOyBlcnJvcjogdW5rbm93biB9IHtcbiAgY29uc3QgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKGRlY3J5cHRlZEtleVNoYXJlLCAnYmFzZTY0Jyk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgZW5jb2RlZCwgZGVjb2RlZDogZGVjb2RlKGVuY29kZWQpIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHsgZW5jb2RlZCwgZXJyb3IgfTtcbiAgfVxufVxuXG4vKipcbiAqIENvbWJpbmVzIGEgc2lnbmluZyBrZXlzaGFyZSB3aXRoIGEgVlJGIGtleXNoYXJlIGludG8gdGhlIFNhZmUgTVBDIENCT1IgZW52ZWxvcGVcbiAqIChgeyB2ZXJzaW9uLCBwcnZLZXlTaGFyZSwgdnJmIH1gKS4gYGVudmVsb3BlYCB3cmFwcyB0aGUgZnVsbCBzaWduaW5nIHNoYXJlIGZvclxuICogYGVuY3J5cHRlZFBydmAuIGByZWR1Y2VkRW52ZWxvcGVgIHdyYXBzIHRoZSByZWR1Y2VkIHNpZ25pbmcgc2hhcmUgZm9yXG4gKiBgcmVkdWNlZEVuY3J5cHRlZFBydmAsIHdoaWNoIGlzIHdoYXQgU2FmZSBrZXljYXJkcyBzdG9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2FmZU1wY0tleUVudmVsb3BlcyhcbiAgcHJpdmF0ZU1hdGVyaWFsOiBCdWZmZXIsXG4gIHJlZHVjZWRQcml2YXRlTWF0ZXJpYWw6IEJ1ZmZlcixcbiAgdnJmS2V5U2hhcmU6IEJ1ZmZlclxuKTogeyBlbnZlbG9wZTogQnVmZmVyOyByZWR1Y2VkRW52ZWxvcGU6IEJ1ZmZlciB9IHtcbiAgY29uc3QgZW52ZWxvcGUgPSBlbmNvZGUoe1xuICAgIHZlcnNpb246IFNBRkVfTVBDX0tFWV9FTlZFTE9QRV9WRVJTSU9OLFxuICAgIHBydktleVNoYXJlOiBuZXcgVWludDhBcnJheShwcml2YXRlTWF0ZXJpYWwpLFxuICAgIHZyZjogbmV3IFVpbnQ4QXJyYXkodnJmS2V5U2hhcmUpLFxuICB9KTtcbiAgY29uc3QgcmVkdWNlZEVudmVsb3BlID0gZW5jb2RlKHtcbiAgICB2ZXJzaW9uOiBTQUZFX01QQ19LRVlfRU5WRUxPUEVfVkVSU0lPTixcbiAgICBwcnZLZXlTaGFyZTogbmV3IFVpbnQ4QXJyYXkocmVkdWNlZFByaXZhdGVNYXRlcmlhbCksXG4gICAgdnJmOiBuZXcgVWludDhBcnJheSh2cmZLZXlTaGFyZSksXG4gIH0pO1xuICByZXR1cm4geyBlbnZlbG9wZTogQnVmZmVyLmZyb20oZW52ZWxvcGUpLCByZWR1Y2VkRW52ZWxvcGU6IEJ1ZmZlci5mcm9tKHJlZHVjZWRFbnZlbG9wZSkgfTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBkZWNyeXB0ZWQgU2FmZSBNUEMgcm9vdCBibG9iIHByb2R1Y2VkIGJ5IHtAbGluayBidWlsZFNhZmVNcGNLZXlFbnZlbG9wZXN9LlxuICogVGhyb3dzIGlmIHRoZSBibG9iIGlzIG5vdCBhIHZlcnNpb25lZCBlbnZlbG9wZSB3aXRoIGJvdGggc2hhcmVzLiBXYWxsZXQtY2FyZCByZWNvdmVyeVxuICogdXNlcyB7QGxpbmsgcGFyc2VNcGNWMktleVNoYXJlRW52ZWxvcGV9IGluc3RlYWQsIGJlY2F1c2UgbGVnYWN5IGNhcmRzIGhhdmUgbm8gVlJGIHNoYXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTYWZlTXBjS2V5RW52ZWxvcGVzKGRlY3J5cHRlZEJsb2I6IHN0cmluZyk6IHsgc2lnbmluZzogQnVmZmVyOyB2cmY6IEJ1ZmZlciB9IHtcbiAgY29uc3QgZGVjb2RlZCA9IHRyeURlY29kZUNib3IoZGVjcnlwdGVkQmxvYik7XG4gIGlmICgnZXJyb3InIGluIGRlY29kZWQpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZGVjb2RlZC5lcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZGVjb2RlZC5lcnJvci5tZXNzYWdlIDogU3RyaW5nKGRlY29kZWQuZXJyb3IpO1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBzYWZlIE1QQyByb290IGtleSBlbnZlbG9wZTogJHttZXNzYWdlfWApO1xuICB9XG4gIGlmICghaXNTYWZlTXBjS2V5RW52ZWxvcGUoZGVjb2RlZC5kZWNvZGVkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzYWZlIE1QQyByb290IGtleSBlbnZlbG9wZTogZXhwZWN0ZWQgdmVyc2lvbiwgc2lnbmluZyBrZXlzaGFyZSwgYW5kIFZSRiBrZXlzaGFyZScpO1xuICB9XG4gIGNvbnN0IHsgdmVyc2lvbiwgcHJ2S2V5U2hhcmUsIHZyZiB9ID0gZGVjb2RlZC5kZWNvZGVkO1xuICBpZiAodmVyc2lvbiAhPT0gU0FGRV9NUENfS0VZX0VOVkVMT1BFX1ZFUlNJT04pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHNhZmUgTVBDIHJvb3Qga2V5IGVudmVsb3BlIHZlcnNpb246ICR7U3RyaW5nKHZlcnNpb24pfWApO1xuICB9XG4gIGlmICghKHBydktleVNoYXJlIGluc3RhbmNlb2YgVWludDhBcnJheSkgfHwgcHJ2S2V5U2hhcmUubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlIE1QQyByb290IGtleSBlbnZlbG9wZSBpcyBtaXNzaW5nIGEgc2lnbmluZyBrZXlzaGFyZScpO1xuICB9XG4gIGlmICghKHZyZiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHx8IHZyZi5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUgTVBDIHJvb3Qga2V5IGVudmVsb3BlIGlzIG1pc3NpbmcgYSBWUkYga2V5c2hhcmUnKTtcbiAgfVxuICByZXR1cm4geyBzaWduaW5nOiBCdWZmZXIuZnJvbShwcnZLZXlTaGFyZSksIHZyZjogQnVmZmVyLmZyb20odnJmKSB9O1xufVxuXG4vKipcbiAqIFBhcnNlcyBkZWNyeXB0ZWQgTVBDdjIga2V5IG1hdGVyaWFsIGZyb20gYSB3YWxsZXQgb3IgU2FmZSBrZXljYXJkLlxuICpcbiAqIExlZ2FjeSBNUEN2MiBjYXJkcyBjb250YWluIGJhc2U2NChDQk9SIFJlZHVjZWRLZXlTaGFyZSkuIFNhZmUtcm9vdCBjYXJkcyBjb250YWluXG4gKiBiYXNlNjQoQ0JPUih7IHZlcnNpb246IDEsIHBydktleVNoYXJlLCB2cmYgfSkpOyB0aGUgc2lnbmluZyBzaGFyZSByZW1haW5zIHJlZHVjZWQsXG4gKiB3aGlsZSBgdnJmYCBpcyB0aGUgY29tcGxldGUgc2VyaWFsaXplZCBWcmZLZXlzaGFyZSByZXF1aXJlZCBieSB0aGUgVlJGIHdhc20gQVBJLlxuICpcbiAqIFRoZSBsZWdhY3kgcGF0aCBpcyBpbnRlbnRpb25hbGx5IHJldGFpbmVkIGJlY2F1c2UgZXhpc3Rpbmcgd2FsbGV0IGNhcmRzIGRvIG5vdCBoYXZlXG4gKiBWUkYgbWF0ZXJpYWwgYW5kIG11c3QgY29udGludWUgdG8gcmVjb3ZlciBhcyBiZWZvcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1wY1YyS2V5U2hhcmVFbnZlbG9wZShkZWNyeXB0ZWRLZXlTaGFyZTogc3RyaW5nKTogUGFyc2VkTXBjVjJLZXlTaGFyZSB7XG4gIGNvbnN0IGRlY29kZWQgPSB0cnlEZWNvZGVDYm9yKGRlY3J5cHRlZEtleVNoYXJlKTtcbiAgaWYgKCdlcnJvcicgaW4gZGVjb2RlZCkge1xuICAgIHJldHVybiB7IHNpZ25pbmdLZXlTaGFyZTogZGVjb2RlZC5lbmNvZGVkIH07XG4gIH1cblxuICBpZiAoIWlzUmVjb3JkKGRlY29kZWQuZGVjb2RlZCkgfHwgISgndmVyc2lvbicgaW4gZGVjb2RlZC5kZWNvZGVkKSkge1xuICAgIHJldHVybiB7IHNpZ25pbmdLZXlTaGFyZTogZGVjb2RlZC5lbmNvZGVkIH07XG4gIH1cblxuICBpZiAoZGVjb2RlZC5kZWNvZGVkLnZlcnNpb24gIT09IFNBRkVfTVBDX0tFWV9FTlZFTE9QRV9WRVJTSU9OKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBNUEMga2V5c2hhcmUgZW52ZWxvcGUgdmVyc2lvbjogJHtTdHJpbmcoZGVjb2RlZC5kZWNvZGVkLnZlcnNpb24pfWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzaWduaW5nS2V5U2hhcmU6IGFzQnVmZmVyKGRlY29kZWQuZGVjb2RlZC5wcnZLZXlTaGFyZSwgJ3BydktleVNoYXJlJyksXG4gICAgdnJmS2V5U2hhcmU6IGFzQnVmZmVyKGRlY29kZWQuZGVjb2RlZC52cmYsICd2cmYnKSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { IBaseCoin } from '../../baseCoin';
2
+ import { SignableTransaction } from './baseTypes';
3
+ export interface CoinWithPreHashedSignable {
4
+ /**
5
+ * Returns true when the signableHex for this transaction is already the
6
+ * final signing hash (SHA-256 for Avalanche atomic txs), and the MPC
7
+ * signing flow should use it directly without additional hashing.
8
+ */
9
+ isSignablePreHashed(unsignedTx: SignableTransaction): boolean;
10
+ }
11
+ export declare function isCoinWithPreHashedSignable(coin: unknown): coin is CoinWithPreHashedSignable;
12
+ /**
13
+ * Detect Avalanche atomic cross-chain transactions by codec prefix.
14
+ *
15
+ * Avalanche codec type IDs start with 0x00000000 (first 4 hex chars = '0000').
16
+ * Standard EVM RLP encoding starts with 0xf8xx — overlap is currently impossible.
17
+ *
18
+ * Note: The WP strips the '0x' prefix from serializedTxHex before storing,
19
+ * so we check for '0000' not '0x0000'.
20
+ */
21
+ export declare function isAvalancheAtomicTx(unsignedTx: SignableTransaction): boolean;
22
+ export declare function shouldUsePreHashedSignable(coin: IBaseCoin, unsignedTx: SignableTransaction): boolean;
23
+ //# sourceMappingURL=preHashedSignable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preHashedSignable.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/preHashedSignable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC;CAC/D;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,yBAAyB,CAM5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAE5E;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAEpG"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCoinWithPreHashedSignable = isCoinWithPreHashedSignable;
4
+ exports.isAvalancheAtomicTx = isAvalancheAtomicTx;
5
+ exports.shouldUsePreHashedSignable = shouldUsePreHashedSignable;
6
+ function isCoinWithPreHashedSignable(coin) {
7
+ return (coin !== null &&
8
+ typeof coin === 'object' &&
9
+ typeof coin.isSignablePreHashed === 'function');
10
+ }
11
+ /**
12
+ * Detect Avalanche atomic cross-chain transactions by codec prefix.
13
+ *
14
+ * Avalanche codec type IDs start with 0x00000000 (first 4 hex chars = '0000').
15
+ * Standard EVM RLP encoding starts with 0xf8xx — overlap is currently impossible.
16
+ *
17
+ * Note: The WP strips the '0x' prefix from serializedTxHex before storing,
18
+ * so we check for '0000' not '0x0000'.
19
+ */
20
+ function isAvalancheAtomicTx(unsignedTx) {
21
+ return unsignedTx.serializedTxHex.startsWith('0000');
22
+ }
23
+ function shouldUsePreHashedSignable(coin, unsignedTx) {
24
+ return isCoinWithPreHashedSignable(coin) && coin.isSignablePreHashed(unsignedTx);
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlSGFzaGVkU2lnbmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3ByZUhhc2hlZFNpZ25hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsa0VBTUM7QUFXRCxrREFFQztBQUVELGdFQUVDO0FBdkJELFNBQWdCLDJCQUEyQixDQUFDLElBQWE7SUFDdkQsT0FBTyxDQUNMLElBQUksS0FBSyxJQUFJO1FBQ2IsT0FBTyxJQUFJLEtBQUssUUFBUTtRQUN4QixPQUFRLElBQWtDLENBQUMsbUJBQW1CLEtBQUssVUFBVSxDQUM5RSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsVUFBK0I7SUFDakUsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsSUFBZSxFQUFFLFVBQStCO0lBQ3pGLE9BQU8sMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi8uLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBTaWduYWJsZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9iYXNlVHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5XaXRoUHJlSGFzaGVkU2lnbmFibGUge1xuICAvKipcbiAgICogUmV0dXJucyB0cnVlIHdoZW4gdGhlIHNpZ25hYmxlSGV4IGZvciB0aGlzIHRyYW5zYWN0aW9uIGlzIGFscmVhZHkgdGhlXG4gICAqIGZpbmFsIHNpZ25pbmcgaGFzaCAoU0hBLTI1NiBmb3IgQXZhbGFuY2hlIGF0b21pYyB0eHMpLCBhbmQgdGhlIE1QQ1xuICAgKiBzaWduaW5nIGZsb3cgc2hvdWxkIHVzZSBpdCBkaXJlY3RseSB3aXRob3V0IGFkZGl0aW9uYWwgaGFzaGluZy5cbiAgICovXG4gIGlzU2lnbmFibGVQcmVIYXNoZWQodW5zaWduZWRUeDogU2lnbmFibGVUcmFuc2FjdGlvbik6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvaW5XaXRoUHJlSGFzaGVkU2lnbmFibGUoY29pbjogdW5rbm93bik6IGNvaW4gaXMgQ29pbldpdGhQcmVIYXNoZWRTaWduYWJsZSB7XG4gIHJldHVybiAoXG4gICAgY29pbiAhPT0gbnVsbCAmJlxuICAgIHR5cGVvZiBjb2luID09PSAnb2JqZWN0JyAmJlxuICAgIHR5cGVvZiAoY29pbiBhcyBDb2luV2l0aFByZUhhc2hlZFNpZ25hYmxlKS5pc1NpZ25hYmxlUHJlSGFzaGVkID09PSAnZnVuY3Rpb24nXG4gICk7XG59XG5cbi8qKlxuICogRGV0ZWN0IEF2YWxhbmNoZSBhdG9taWMgY3Jvc3MtY2hhaW4gdHJhbnNhY3Rpb25zIGJ5IGNvZGVjIHByZWZpeC5cbiAqXG4gKiBBdmFsYW5jaGUgY29kZWMgdHlwZSBJRHMgc3RhcnQgd2l0aCAweDAwMDAwMDAwIChmaXJzdCA0IGhleCBjaGFycyA9ICcwMDAwJykuXG4gKiBTdGFuZGFyZCBFVk0gUkxQIGVuY29kaW5nIHN0YXJ0cyB3aXRoIDB4Zjh4eCDigJQgb3ZlcmxhcCBpcyBjdXJyZW50bHkgaW1wb3NzaWJsZS5cbiAqXG4gKiBOb3RlOiBUaGUgV1Agc3RyaXBzIHRoZSAnMHgnIHByZWZpeCBmcm9tIHNlcmlhbGl6ZWRUeEhleCBiZWZvcmUgc3RvcmluZyxcbiAqIHNvIHdlIGNoZWNrIGZvciAnMDAwMCcgbm90ICcweDAwMDAnLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBdmFsYW5jaGVBdG9taWNUeCh1bnNpZ25lZFR4OiBTaWduYWJsZVRyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiB1bnNpZ25lZFR4LnNlcmlhbGl6ZWRUeEhleC5zdGFydHNXaXRoKCcwMDAwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRVc2VQcmVIYXNoZWRTaWduYWJsZShjb2luOiBJQmFzZUNvaW4sIHVuc2lnbmVkVHg6IFNpZ25hYmxlVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQ29pbldpdGhQcmVIYXNoZWRTaWduYWJsZShjb2luKSAmJiBjb2luLmlzU2lnbmFibGVQcmVIYXNoZWQodW5zaWduZWRUeCk7XG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { TransactionParams } from '../../baseCoin';
2
+ import { TxRequest } from './baseTypes';
3
+ /**
4
+ * Transaction types that legitimately carry no explicit recipients.
5
+ * These are the intentType strings as stored in TxRequest.intent.intentType by WP.
6
+ * verifyTransaction handles no-recipient validation for these internally.
7
+ * Mirrors the bypass list in abstractEthLikeNewCoins.ts verifyTssTransaction.
8
+ *
9
+ * ECDSA types: acceleration, fillNonce, transferToken, tokenApproval, consolidate,
10
+ * bridgeFunds, enableToken, customTx, wrapApprove, wrap, unwrap,
11
+ * finalizeUnwrap, contractCall
12
+ * BSC/BNB delegation-based staking: delegate, undelegate, switchValidator
13
+ * CELO/ETH lock-based staking: stake, unstake, stakeWithCallData, unstakeWithCallData,
14
+ * transferStake, increaseStake, goUnstake
15
+ * Claim rewards (BSC, CELO — TRX/SOL use EdDSA and are unaffected): claim, stakeClaimRewards
16
+ */
17
+ export declare const NO_RECIPIENT_TX_TYPES: Set<string>;
18
+ /**
19
+ * Resolves the effective txParams for TSS signing recipient verification.
20
+ *
21
+ * For smart contract interactions, recipients live in txRequest.intent.recipients
22
+ * (native amount = 0, so buildParams is empty). Falls back to intent recipients
23
+ * mapped to ITransactionRecipient shape when txParams.recipients is absent.
24
+ *
25
+ * tokenName is derived from tokenData.tokenName when present, otherwise from
26
+ * amount.symbol when chainName is provided and symbol differs from it.
27
+ *
28
+ * Staking intents (BSC delegate/undelegate, CELO stake/unstake, etc.) are
29
+ * identified generically by the presence of `stakingRequestId` on the intent —
30
+ * a required field on BaseStakeIntent in @bitgo/public-types. These intents
31
+ * have no txParams recipients by design; validation is done at the coin layer.
32
+ *
33
+ * Throws InvalidTransactionError if no recipients can be resolved and the
34
+ * transaction is not a known no-recipient type.
35
+ *
36
+ * @param txRequest - the transaction request containing the persisted intent
37
+ * @param txParams - the caller-supplied transaction parameters (may be undefined)
38
+ * @param chainName - the base chain name (e.g. 'sol', 'tsol') used to exclude
39
+ * native-coin transfers from tokenName; pass baseCoin.getChain()
40
+ */
41
+ export declare function resolveEffectiveTxParams(txRequest: TxRequest, txParams: TransactionParams | undefined, chainName?: string): TransactionParams;
42
+ //# sourceMappingURL=recipientUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipientUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/recipientUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAmB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,aAsFhC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,CA0DnB"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NO_RECIPIENT_TX_TYPES = void 0;
4
+ exports.resolveEffectiveTxParams = resolveEffectiveTxParams;
5
+ const errors_1 = require("../../errors");
6
+ /**
7
+ * Transaction types that legitimately carry no explicit recipients.
8
+ * These are the intentType strings as stored in TxRequest.intent.intentType by WP.
9
+ * verifyTransaction handles no-recipient validation for these internally.
10
+ * Mirrors the bypass list in abstractEthLikeNewCoins.ts verifyTssTransaction.
11
+ *
12
+ * ECDSA types: acceleration, fillNonce, transferToken, tokenApproval, consolidate,
13
+ * bridgeFunds, enableToken, customTx, wrapApprove, wrap, unwrap,
14
+ * finalizeUnwrap, contractCall
15
+ * BSC/BNB delegation-based staking: delegate, undelegate, switchValidator
16
+ * CELO/ETH lock-based staking: stake, unstake, stakeWithCallData, unstakeWithCallData,
17
+ * transferStake, increaseStake, goUnstake
18
+ * Claim rewards (BSC, CELO — TRX/SOL use EdDSA and are unaffected): claim, stakeClaimRewards
19
+ */
20
+ exports.NO_RECIPIENT_TX_TYPES = new Set([
21
+ // ECDSA types
22
+ 'acceleration',
23
+ 'fillNonce',
24
+ 'transferToken',
25
+ 'tokenApproval',
26
+ 'consolidate',
27
+ 'bridgeFunds',
28
+ 'enableToken',
29
+ 'enabletoken',
30
+ 'disableToken',
31
+ 'disabletoken',
32
+ 'customTx',
33
+ // DeFi vault operations — recipients/calldata built server-side from defiParams
34
+ 'defiApprove',
35
+ 'defiDeposit',
36
+ 'defiWithdraw',
37
+ // Native wrap/unwrap (WETH9 deposit()/withdraw()) — calldata and the WETH9
38
+ // address are resolved server-side from the vault binding, so no recipients.
39
+ // Registered in BOTH spellings on purpose: this set is matched against
40
+ // txParams.type, which is buildParams.type (camelCase, from wallet.sendMany),
41
+ // AND against intent.intentType (kebab-case, as WP persists it). Signing paths
42
+ // that carry no txParams — notably pendingApproval.approve() →
43
+ // recreateTxRequest() → signTxRequest() with no txParams — only ever see the
44
+ // kebab-case spelling.
45
+ 'wrapNative',
46
+ 'wrap-native',
47
+ 'unwrapNative',
48
+ 'unwrap-native',
49
+ // ERC-7984 shield/unshield: approve/wrap/unwrap calldata is built server-side from the
50
+ // intent, and finalizeUnwrap txnReqs are WP-created at READY_TO_FINALIZE (client signs
51
+ // only) — none carry SDK-level recipients.
52
+ 'wrapApprove',
53
+ 'wrap',
54
+ 'unwrap',
55
+ 'finalizeUnwrap',
56
+ // Smart contract invocations with no explicit SDK-level recipients
57
+ 'contractCall',
58
+ // BSC/BNB delegation-based staking — intentType strings from TxRequest.intent.intentType.
59
+ // Note: SOL solDelegateIntent also uses intentType "delegate".
60
+ 'delegate',
61
+ 'undelegate',
62
+ 'switchValidator',
63
+ // CELO/ETH lock-based staking
64
+ 'stake',
65
+ 'unstake',
66
+ 'stakeWithCallData',
67
+ 'unstakeWithCallData',
68
+ 'transferStake',
69
+ 'increaseStake',
70
+ 'goUnstake',
71
+ // Claim rewards — BSC and CELO (TRX/SOL/Cosmos use EdDSA, not affected by this guard)
72
+ 'claim',
73
+ 'stakeClaimRewards',
74
+ 'createAccount',
75
+ // Canton operations with no SDK-level recipients. Canton.verifyTransaction validates these from the transaction itself.
76
+ 'transferAccept',
77
+ 'transferReject',
78
+ 'transferOfferWithdrawn',
79
+ 'cosignDelegationAccept',
80
+ 'allocationAllocate',
81
+ 'allocationOfferWithdrawn',
82
+ 'cantonCommand',
83
+ 'cantonEndInvestorOnboardingOffer',
84
+ 'cantonEndInvestorOnboardingAccept',
85
+ 'cantonEndInvestorOnboardingReject',
86
+ 'cantonParticipantOnboardingRequest',
87
+ 'pledge',
88
+ // Avalanche / Flare cross-chain atomic imports — recipients are not supplied
89
+ // by the client because the import consumes UTXOs already owned by the
90
+ // wallet; the destination address is the wallet itself. WP issues these
91
+ // with intentType 'import' (P-chain) or 'importtoc' (C-chain).
92
+ 'import',
93
+ 'importtoc',
94
+ // SOL: deactivate stake account — no on-chain transfer recipient.
95
+ 'deactivate',
96
+ // SOL: authorize stake account — no transfer recipient.
97
+ 'authorize',
98
+ ]);
99
+ /**
100
+ * Resolves the effective txParams for TSS signing recipient verification.
101
+ *
102
+ * For smart contract interactions, recipients live in txRequest.intent.recipients
103
+ * (native amount = 0, so buildParams is empty). Falls back to intent recipients
104
+ * mapped to ITransactionRecipient shape when txParams.recipients is absent.
105
+ *
106
+ * tokenName is derived from tokenData.tokenName when present, otherwise from
107
+ * amount.symbol when chainName is provided and symbol differs from it.
108
+ *
109
+ * Staking intents (BSC delegate/undelegate, CELO stake/unstake, etc.) are
110
+ * identified generically by the presence of `stakingRequestId` on the intent —
111
+ * a required field on BaseStakeIntent in @bitgo/public-types. These intents
112
+ * have no txParams recipients by design; validation is done at the coin layer.
113
+ *
114
+ * Throws InvalidTransactionError if no recipients can be resolved and the
115
+ * transaction is not a known no-recipient type.
116
+ *
117
+ * @param txRequest - the transaction request containing the persisted intent
118
+ * @param txParams - the caller-supplied transaction parameters (may be undefined)
119
+ * @param chainName - the base chain name (e.g. 'sol', 'tsol') used to exclude
120
+ * native-coin transfers from tokenName; pass baseCoin.getChain()
121
+ */
122
+ function resolveEffectiveTxParams(txRequest, txParams, chainName) {
123
+ const intentRecipients = txRequest.intent?.recipients?.map((intentRecipient) => {
124
+ // Prefer tokenData.tokenName; fall back to amount.symbol when chainName is
125
+ // provided and differs from it. When absent, skip the symbol fallback.
126
+ const { symbol } = intentRecipient.amount;
127
+ const tokenName = intentRecipient.tokenData?.tokenName ||
128
+ (chainName !== undefined && symbol && symbol !== chainName ? symbol : undefined);
129
+ return {
130
+ address: intentRecipient.address.address,
131
+ amount: intentRecipient.amount.value,
132
+ data: intentRecipient.data,
133
+ ...(tokenName && { tokenName }),
134
+ };
135
+ });
136
+ const effectiveTxParams = {
137
+ ...txParams,
138
+ recipients: txParams?.recipients?.length ? txParams.recipients : intentRecipients,
139
+ };
140
+ // Fall back to intent.intentType when txParams.type is not explicitly set.
141
+ // Staking wallets call signTransaction without txParams, so the type lives only in the intent.
142
+ const txType = effectiveTxParams.type ?? txRequest.intent?.intentType ?? '';
143
+ // Propagate the resolved type so downstream callers
144
+ if (!effectiveTxParams.type && txType) {
145
+ effectiveTxParams.type = txType;
146
+ }
147
+ // Propagate stakingRequestId from intent into effectiveTxParams so verifyTssTransaction
148
+ // overrides can bypass the no-recipient guard without needing access to txRequest directly.
149
+ const intentStakingRequestId = txRequest.intent?.stakingRequestId;
150
+ if (intentStakingRequestId && !effectiveTxParams.stakingRequestId) {
151
+ effectiveTxParams.stakingRequestId = intentStakingRequestId;
152
+ }
153
+ // All staking intents (BSC delegate/undelegate, CELO stake/unstake, etc.) carry
154
+ // stakingRequestId as a required field on BaseStakeIntent (@bitgo/public-types).
155
+ // Use its presence as a generic staking signal — no need to enumerate every intentType.
156
+ const isStakingIntent = !!txRequest.intent?.stakingRequestId;
157
+ // buildParams.type from the wallet UI is PascalCase ('Import'); intent.intentType from WP
158
+ // is lowercase ('import'). Either may be the source of truth depending on the signing path.
159
+ const intentType = txRequest.intent?.intentType ?? '';
160
+ if (!effectiveTxParams.recipients?.length &&
161
+ !isStakingIntent &&
162
+ !exports.NO_RECIPIENT_TX_TYPES.has(txType) &&
163
+ !exports.NO_RECIPIENT_TX_TYPES.has(intentType)) {
164
+ throw new errors_1.InvalidTransactionError('Recipient details are required to verify this transaction before signing. Pass txParams with at least one recipient.');
165
+ }
166
+ return effectiveTxParams;
167
+ }
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL3JlY2lwaWVudFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlJQSw0REE4REM7QUE5TEQseUNBQXVEO0FBR3ZEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNDLGNBQWM7SUFDZCxjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxjQUFjO0lBQ2QsVUFBVTtJQUNWLGdGQUFnRjtJQUNoRixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCwyRUFBMkU7SUFDM0UsNkVBQTZFO0lBQzdFLHVFQUF1RTtJQUN2RSw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLCtEQUErRDtJQUMvRCw2RUFBNkU7SUFDN0UsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGVBQWU7SUFDZix1RkFBdUY7SUFDdkYsdUZBQXVGO0lBQ3ZGLDJDQUEyQztJQUMzQyxhQUFhO0lBQ2IsTUFBTTtJQUNOLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsbUVBQW1FO0lBQ25FLGNBQWM7SUFFZCwwRkFBMEY7SUFDMUYsK0RBQStEO0lBQy9ELFVBQVU7SUFDVixZQUFZO0lBQ1osaUJBQWlCO0lBRWpCLDhCQUE4QjtJQUM5QixPQUFPO0lBQ1AsU0FBUztJQUNULG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGVBQWU7SUFDZixXQUFXO0lBRVgsc0ZBQXNGO0lBQ3RGLE9BQU87SUFDUCxtQkFBbUI7SUFFbkIsZUFBZTtJQUNmLHdIQUF3SDtJQUN4SCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qix3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LE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHsgUG9wdWxhdGVkSW50ZW50LCBUeFJlcXVlc3QgfSBmcm9tICcuL2Jhc2VUeXBlcyc7XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gdHlwZXMgdGhhdCBsZWdpdGltYXRlbHkgY2Fycnkgbm8gZXhwbGljaXQgcmVjaXBpZW50cy5cbiAqIFRoZXNlIGFyZSB0aGUgaW50ZW50VHlwZSBzdHJpbmdzIGFzIHN0b3JlZCBpbiBUeFJlcXVlc3QuaW50ZW50LmludGVudFR5cGUgYnkgV1AuXG4gKiB2ZXJpZnlUcmFuc2FjdGlvbiBoYW5kbGVzIG5vLXJlY2lwaWVudCB2YWxpZGF0aW9uIGZvciB0aGVzZSBpbnRlcm5hbGx5LlxuICogTWlycm9ycyB0aGUgYnlwYXNzIGxpc3QgaW4gYWJzdHJhY3RFdGhMaWtlTmV3Q29pbnMudHMgdmVyaWZ5VHNzVHJhbnNhY3Rpb24uXG4gKlxuICogRUNEU0EgdHlwZXM6IGFjY2VsZXJhdGlvbiwgZmlsbE5vbmNlLCB0cmFuc2ZlclRva2VuLCB0b2tlbkFwcHJvdmFsLCBjb25zb2xpZGF0ZSxcbiAqICAgICAgICAgICAgICBicmlkZ2VGdW5kcywgZW5hYmxlVG9rZW4sIGN1c3RvbVR4LCB3cmFwQXBwcm92ZSwgd3JhcCwgdW53cmFwLFxuICogICAgICAgICAgICAgIGZpbmFsaXplVW53cmFwLCBjb250cmFjdENhbGxcbiAqIEJTQy9CTkIgZGVsZWdhdGlvbi1iYXNlZCBzdGFraW5nOiBkZWxlZ2F0ZSwgdW5kZWxlZ2F0ZSwgc3dpdGNoVmFsaWRhdG9yXG4gKiBDRUxPL0VUSCBsb2NrLWJhc2VkIHN0YWtpbmc6IHN0YWtlLCB1bnN0YWtlLCBzdGFrZVdpdGhDYWxsRGF0YSwgdW5zdGFrZVdpdGhDYWxsRGF0YSxcbiAqICAgICAgICAgICAgICB0cmFuc2ZlclN0YWtlLCBpbmNyZWFzZVN0YWtlLCBnb1Vuc3Rha2VcbiAqIENsYWltIHJld2FyZHMgKEJTQywgQ0VMTyDigJQgVFJYL1NPTCB1c2UgRWREU0EgYW5kIGFyZSB1bmFmZmVjdGVkKTogY2xhaW0sIHN0YWtlQ2xhaW1SZXdhcmRzXG4gKi9cbmV4cG9ydCBjb25zdCBOT19SRUNJUElFTlRfVFhfVFlQRVMgPSBuZXcgU2V0KFtcbiAgLy8gRUNEU0EgdHlwZXNcbiAgJ2FjY2VsZXJhdGlvbicsXG4gICdmaWxsTm9uY2UnLFxuICAndHJhbnNmZXJUb2tlbicsXG4gICd0b2tlbkFwcHJvdmFsJyxcbiAgJ2NvbnNvbGlkYXRlJyxcbiAgJ2JyaWRnZUZ1bmRzJyxcbiAgJ2VuYWJsZVRva2VuJyxcbiAgJ2VuYWJsZXRva2VuJyxcbiAgJ2Rpc2FibGVUb2tlbicsXG4gICdkaXNhYmxldG9rZW4nLFxuICAnY3VzdG9tVHgnLFxuICAvLyBEZUZpIHZhdWx0IG9wZXJhdGlvbnMg4oCUIHJlY2lwaWVudHMvY2FsbGRhdGEgYnVpbHQgc2VydmVyLXNpZGUgZnJvbSBkZWZpUGFyYW1zXG4gICdkZWZpQXBwcm92ZScsXG4gICdkZWZpRGVwb3NpdCcsXG4gICdkZWZpV2l0aGRyYXcnLFxuICAvLyBOYXRpdmUgd3JhcC91bndyYXAgKFdFVEg5IGRlcG9zaXQoKS93aXRoZHJhdygpKSDigJQgY2FsbGRhdGEgYW5kIHRoZSBXRVRIOVxuICAvLyBhZGRyZXNzIGFyZSByZXNvbHZlZCBzZXJ2ZXItc2lkZSBmcm9tIHRoZSB2YXVsdCBiaW5kaW5nLCBzbyBubyByZWNpcGllbnRzLlxuICAvLyBSZWdpc3RlcmVkIGluIEJPVEggc3BlbGxpbmdzIG9uIHB1cnBvc2U6IHRoaXMgc2V0IGlzIG1hdGNoZWQgYWdhaW5zdFxuICAvLyB0eFBhcmFtcy50eXBlLCB3aGljaCBpcyBidWlsZFBhcmFtcy50eXBlIChjYW1lbENhc2UsIGZyb20gd2FsbGV0LnNlbmRNYW55KSxcbiAgLy8gQU5EIGFnYWluc3QgaW50ZW50LmludGVudFR5cGUgKGtlYmFiLWNhc2UsIGFzIFdQIHBlcnNpc3RzIGl0KS4gU2lnbmluZyBwYXRoc1xuICAvLyB0aGF0IGNhcnJ5IG5vIHR4UGFyYW1zIOKAlCBub3RhYmx5IHBlbmRpbmdBcHByb3ZhbC5hcHByb3ZlKCkg4oaSXG4gIC8vIHJlY3JlYXRlVHhSZXF1ZXN0KCkg4oaSIHNpZ25UeFJlcXVlc3QoKSB3aXRoIG5vIHR4UGFyYW1zIOKAlCBvbmx5IGV2ZXIgc2VlIHRoZVxuICAvLyBrZWJhYi1jYXNlIHNwZWxsaW5nLlxuICAnd3JhcE5hdGl2ZScsXG4gICd3cmFwLW5hdGl2ZScsXG4gICd1bndyYXBOYXRpdmUnLFxuICAndW53cmFwLW5hdGl2ZScsXG4gIC8vIEVSQy03OTg0IHNoaWVsZC91bnNoaWVsZDogYXBwcm92ZS93cmFwL3Vud3JhcCBjYWxsZGF0YSBpcyBidWlsdCBzZXJ2ZXItc2lkZSBmcm9tIHRoZVxuICAvLyBpbnRlbnQsIGFuZCBmaW5hbGl6ZVVud3JhcCB0eG5SZXFzIGFyZSBXUC1jcmVhdGVkIGF0IFJFQURZX1RPX0ZJTkFMSVpFIChjbGllbnQgc2lnbnNcbiAgLy8gb25seSkg4oCUIG5vbmUgY2FycnkgU0RLLWxldmVsIHJlY2lwaWVudHMuXG4gICd3cmFwQXBwcm92ZScsXG4gICd3cmFwJyxcbiAgJ3Vud3JhcCcsXG4gICdmaW5hbGl6ZVVud3JhcCcsXG4gIC8vIFNtYXJ0IGNvbnRyYWN0IGludm9jYXRpb25zIHdpdGggbm8gZXhwbGljaXQgU0RLLWxldmVsIHJlY2lwaWVudHNcbiAgJ2NvbnRyYWN0Q2FsbCcsXG5cbiAgLy8gQlNDL0JOQiBkZWxlZ2F0aW9uLWJhc2VkIHN0YWtpbmcg4oCUIGludGVudFR5cGUgc3RyaW5ncyBmcm9tIFR4UmVxdWVzdC5pbnRlbnQuaW50ZW50VHlwZS5cbiAgLy8gTm90ZTogU09MIHNvbERlbGVnYXRlSW50ZW50IGFsc28gdXNlcyBpbnRlbnRUeXBlIFwiZGVsZWdhdGVcIi5cbiAgJ2RlbGVnYXRlJyxcbiAgJ3VuZGVsZWdhdGUnLFxuICAnc3dpdGNoVmFsaWRhdG9yJyxcblxuICAvLyBDRUxPL0VUSCBsb2NrLWJhc2VkIHN0YWtpbmdcbiAgJ3N0YWtlJyxcbiAgJ3Vuc3Rha2UnLFxuICAnc3Rha2VXaXRoQ2FsbERhdGEnLFxuICAndW5zdGFrZVdpdGhDYWxsRGF0YScsXG4gICd0cmFuc2ZlclN0YWtlJyxcbiAgJ2luY3JlYXNlU3Rha2UnLFxuICAnZ29VbnN0YWtlJyxcblxuICAvLyBDbGFpbSByZXdhcmRzIOKAlCBCU0MgYW5kIENFTE8gKFRSWC9TT0wvQ29zbW9zIHVzZSBFZERTQSwgbm90IGFmZmVjdGVkIGJ5IHRoaXMgZ3VhcmQpXG4gICdjbGFpbScsXG4gICdzdGFrZUNsYWltUmV3YXJkcycsXG5cbiAgJ2NyZWF0ZUFjY291bnQnLFxuICAvLyBDYW50b24gb3BlcmF0aW9ucyB3aXRoIG5vIFNESy1sZXZlbCByZWNpcGllbnRzLiBDYW50b24udmVyaWZ5VHJhbnNhY3Rpb24gdmFsaWRhdGVzIHRoZXNlIGZyb20gdGhlIHRyYW5zYWN0aW9uIGl0c2VsZi5cbiAgJ3RyYW5zZmVyQWNjZXB0JyxcbiAgJ3RyYW5zZmVyUmVqZWN0JyxcbiAgJ3RyYW5zZmVyT2ZmZXJXaXRoZHJhd24nLFxuICAnY29zaWduRGVsZWdhdGlvbkFjY2VwdCcsXG4gICdhbGxvY2F0aW9uQWxsb2NhdGUnLFxuICAnYWxsb2NhdGlvbk9mZmVyV2l0aGRyYXduJyxcbiAgJ2NhbnRvbkNvbW1hbmQnLFxuICAnY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXInLFxuICAnY2FudG9uRW5kSW52ZXN0b3JPbmJvYXJkaW5nQWNjZXB0JyxcbiAgJ2NhbnRvbkVuZEludmVzdG9yT25ib2FyZGluZ1JlamVjdCcsXG4gICdjYW50b25QYXJ0aWNpcGFudE9uYm9hcmRpbmdSZXF1ZXN0JyxcblxuICAncGxlZGdlJyxcblxuICAvLyBBdmFsYW5jaGUgLyBGbGFyZSBjcm9zcy1jaGFpbiBhdG9taWMgaW1wb3J0cyDigJQgcmVjaXBpZW50cyBhcmUgbm90IHN1cHBsaWVkXG4gIC8vIGJ5IHRoZSBjbGllbnQgYmVjYXVzZSB0aGUgaW1wb3J0IGNvbnN1bWVzIFVUWE9zIGFscmVhZHkgb3duZWQgYnkgdGhlXG4gIC8vIHdhbGxldDsgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgaXMgdGhlIHdhbGxldCBpdHNlbGYuIFdQIGlzc3VlcyB0aGVzZVxuICAvLyB3aXRoIGludGVudFR5cGUgJ2ltcG9ydCcgKFAtY2hhaW4pIG9yICdpbXBvcnR0b2MnIChDLWNoYWluKS5cbiAgJ2ltcG9ydCcsXG4gICdpbXBvcnR0b2MnLFxuXG4gIC8vIFNPTDogZGVhY3RpdmF0ZSBzdGFrZSBhY2NvdW50IOKAlCBubyBvbi1jaGFpbiB0cmFuc2ZlciByZWNpcGllbnQuXG4gICdkZWFjdGl2YXRlJyxcblxuICAvLyBTT0w6IGF1dGhvcml6ZSBzdGFrZSBhY2NvdW50IOKAlCBubyB0cmFuc2ZlciByZWNpcGllbnQuXG4gICdhdXRob3JpemUnLFxuXSk7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGVmZmVjdGl2ZSB0eFBhcmFtcyBmb3IgVFNTIHNpZ25pbmcgcmVjaXBpZW50IHZlcmlmaWNhdGlvbi5cbiAqXG4gKiBGb3Igc21hcnQgY29udHJhY3QgaW50ZXJhY3Rpb25zLCByZWNpcGllbnRzIGxpdmUgaW4gdHhSZXF1ZXN0LmludGVudC5yZWNpcGllbnRzXG4gKiAobmF0aXZlIGFtb3VudCA9IDAsIHNvIGJ1aWxkUGFyYW1zIGlzIGVtcHR5KS4gRmFsbHMgYmFjayB0byBpbnRlbnQgcmVjaXBpZW50c1xuICogbWFwcGVkIHRvIElUcmFuc2FjdGlvblJlY2lwaWVudCBzaGFwZSB3aGVuIHR4UGFyYW1zLnJlY2lwaWVudHMgaXMgYWJzZW50LlxuICpcbiAqIHRva2VuTmFtZSBpcyBkZXJpdmVkIGZyb20gdG9rZW5EYXRhLnRva2VuTmFtZSB3aGVuIHByZXNlbnQsIG90aGVyd2lzZSBmcm9tXG4gKiBhbW91bnQuc3ltYm9sIHdoZW4gY2hhaW5OYW1lIGlzIHByb3ZpZGVkIGFuZCBzeW1ib2wgZGlmZmVycyBmcm9tIGl0LlxuICpcbiAqIFN0YWtpbmcgaW50ZW50cyAoQlNDIGRlbGVnYXRlL3VuZGVsZWdhdGUsIENFTE8gc3Rha2UvdW5zdGFrZSwgZXRjLikgYXJlXG4gKiBpZGVudGlmaWVkIGdlbmVyaWNhbGx5IGJ5IHRoZSBwcmVzZW5jZSBvZiBgc3Rha2luZ1JlcXVlc3RJZGAgb24gdGhlIGludGVudCDigJRcbiAqIGEgcmVxdWlyZWQgZmllbGQgb24gQmFzZVN0YWtlSW50ZW50IGluIEBiaXRnby9wdWJsaWMtdHlwZXMuIFRoZXNlIGludGVudHNcbiAqIGhhdmUgbm8gdHhQYXJhbXMgcmVjaXBpZW50cyBieSBkZXNpZ247IHZhbGlkYXRpb24gaXMgZG9uZSBhdCB0aGUgY29pbiBsYXllci5cbiAqXG4gKiBUaHJvd3MgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgaWYgbm8gcmVjaXBpZW50cyBjYW4gYmUgcmVzb2x2ZWQgYW5kIHRoZVxuICogdHJhbnNhY3Rpb24gaXMgbm90IGEga25vd24gbm8tcmVjaXBpZW50IHR5cGUuXG4gKlxuICogQHBhcmFtIHR4UmVxdWVzdCAtIHRoZSB0cmFuc2FjdGlvbiByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHBlcnNpc3RlZCBpbnRlbnRcbiAqIEBwYXJhbSB0eFBhcmFtcyAtIHRoZSBjYWxsZXItc3VwcGxpZWQgdHJhbnNhY3Rpb24gcGFyYW1ldGVycyAobWF5IGJlIHVuZGVmaW5lZClcbiAqIEBwYXJhbSBjaGFpbk5hbWUgLSB0aGUgYmFzZSBjaGFpbiBuYW1lIChlLmcuICdzb2wnLCAndHNvbCcpIHVzZWQgdG8gZXhjbHVkZVxuICogICBuYXRpdmUtY29pbiB0cmFuc2ZlcnMgZnJvbSB0b2tlbk5hbWU7IHBhc3MgYmFzZUNvaW4uZ2V0Q2hhaW4oKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUVmZmVjdGl2ZVR4UGFyYW1zKFxuICB0eFJlcXVlc3Q6IFR4UmVxdWVzdCxcbiAgdHhQYXJhbXM6IFRyYW5zYWN0aW9uUGFyYW1zIHwgdW5kZWZpbmVkLFxuICBjaGFpbk5hbWU/OiBzdHJpbmdcbik6IFRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgY29uc3QgaW50ZW50UmVjaXBpZW50cyA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LnJlY2lwaWVudHM/Lm1hcCgoaW50ZW50UmVjaXBpZW50KSA9PiB7XG4gICAgLy8gUHJlZmVyIHRva2VuRGF0YS50b2tlbk5hbWU7IGZhbGwgYmFjayB0byBhbW91bnQuc3ltYm9sIHdoZW4gY2hhaW5OYW1lIGlzXG4gICAgLy8gcHJvdmlkZWQgYW5kIGRpZmZlcnMgZnJvbSBpdC4gV2hlbiBhYnNlbnQsIHNraXAgdGhlIHN5bWJvbCBmYWxsYmFjay5cbiAgICBjb25zdCB7IHN5bWJvbCB9ID0gaW50ZW50UmVjaXBpZW50LmFtb3VudDtcbiAgICBjb25zdCB0b2tlbk5hbWUgPVxuICAgICAgaW50ZW50UmVjaXBpZW50LnRva2VuRGF0YT8udG9rZW5OYW1lIHx8XG4gICAgICAoY2hhaW5OYW1lICE9PSB1bmRlZmluZWQgJiYgc3ltYm9sICYmIHN5bWJvbCAhPT0gY2hhaW5OYW1lID8gc3ltYm9sIDogdW5kZWZpbmVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogaW50ZW50UmVjaXBpZW50LmFkZHJlc3MuYWRkcmVzcyxcbiAgICAgIGFtb3VudDogaW50ZW50UmVjaXBpZW50LmFtb3VudC52YWx1ZSxcbiAgICAgIGRhdGE6IGludGVudFJlY2lwaWVudC5kYXRhLFxuICAgICAgLi4uKHRva2VuTmFtZSAmJiB7IHRva2VuTmFtZSB9KSxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBlZmZlY3RpdmVUeFBhcmFtczogVHJhbnNhY3Rpb25QYXJhbXMgPSB7XG4gICAgLi4udHhQYXJhbXMsXG4gICAgcmVjaXBpZW50czogdHhQYXJhbXM/LnJlY2lwaWVudHM/Lmxlbmd0aCA/IHR4UGFyYW1zLnJlY2lwaWVudHMgOiBpbnRlbnRSZWNpcGllbnRzLFxuICB9O1xuXG4gIC8vIEZhbGwgYmFjayB0byBpbnRlbnQuaW50ZW50VHlwZSB3aGVuIHR4UGFyYW1zLnR5cGUgaXMgbm90IGV4cGxpY2l0bHkgc2V0LlxuICAvLyBTdGFraW5nIHdhbGxldHMgY2FsbCBzaWduVHJhbnNhY3Rpb24gd2l0aG91dCB0eFBhcmFtcywgc28gdGhlIHR5cGUgbGl2ZXMgb25seSBpbiB0aGUgaW50ZW50LlxuICBjb25zdCB0eFR5cGUgPSBlZmZlY3RpdmVUeFBhcmFtcy50eXBlID8/ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LmludGVudFR5cGUgPz8gJyc7XG5cbiAgLy8gUHJvcGFnYXRlIHRoZSByZXNvbHZlZCB0eXBlIHNvIGRvd25zdHJlYW0gY2FsbGVyc1xuICBpZiAoIWVmZmVjdGl2ZVR4UGFyYW1zLnR5cGUgJiYgdHhUeXBlKSB7XG4gICAgZWZmZWN0aXZlVHhQYXJhbXMudHlwZSA9IHR4VHlwZTtcbiAgfVxuXG4gIC8vIFByb3BhZ2F0ZSBzdGFraW5nUmVxdWVzdElkIGZyb20gaW50ZW50IGludG8gZWZmZWN0aXZlVHhQYXJhbXMgc28gdmVyaWZ5VHNzVHJhbnNhY3Rpb25cbiAgLy8gb3ZlcnJpZGVzIGNhbiBieXBhc3MgdGhlIG5vLXJlY2lwaWVudCBndWFyZCB3aXRob3V0IG5lZWRpbmcgYWNjZXNzIHRvIHR4UmVxdWVzdCBkaXJlY3RseS5cbiAgY29uc3QgaW50ZW50U3Rha2luZ1JlcXVlc3RJZCA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LnN0YWtpbmdSZXF1ZXN0SWQ7XG4gIGlmIChpbnRlbnRTdGFraW5nUmVxdWVzdElkICYmICFlZmZlY3RpdmVUeFBhcmFtcy5zdGFraW5nUmVxdWVzdElkKSB7XG4gICAgZWZmZWN0aXZlVHhQYXJhbXMuc3Rha2luZ1JlcXVlc3RJZCA9IGludGVudFN0YWtpbmdSZXF1ZXN0SWQ7XG4gIH1cblxuICAvLyBBbGwgc3Rha2luZyBpbnRlbnRzIChCU0MgZGVsZWdhdGUvdW5kZWxlZ2F0ZSwgQ0VMTyBzdGFrZS91bnN0YWtlLCBldGMuKSBjYXJyeVxuICAvLyBzdGFraW5nUmVxdWVzdElkIGFzIGEgcmVxdWlyZWQgZmllbGQgb24gQmFzZVN0YWtlSW50ZW50IChAYml0Z28vcHVibGljLXR5cGVzKS5cbiAgLy8gVXNlIGl0cyBwcmVzZW5jZSBhcyBhIGdlbmVyaWMgc3Rha2luZyBzaWduYWwg4oCUIG5vIG5lZWQgdG8gZW51bWVyYXRlIGV2ZXJ5IGludGVudFR5cGUuXG4gIGNvbnN0IGlzU3Rha2luZ0ludGVudCA9ICEhKHR4UmVxdWVzdC5pbnRlbnQgYXMgUG9wdWxhdGVkSW50ZW50KT8uc3Rha2luZ1JlcXVlc3RJZDtcblxuICAvLyBidWlsZFBhcmFtcy50eXBlIGZyb20gdGhlIHdhbGxldCBVSSBpcyBQYXNjYWxDYXNlICgnSW1wb3J0Jyk7IGludGVudC5pbnRlbnRUeXBlIGZyb20gV1BcbiAgLy8gaXMgbG93ZXJjYXNlICgnaW1wb3J0JykuIEVpdGhlciBtYXkgYmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBkZXBlbmRpbmcgb24gdGhlIHNpZ25pbmcgcGF0aC5cbiAgY29uc3QgaW50ZW50VHlwZSA9ICh0eFJlcXVlc3QuaW50ZW50IGFzIFBvcHVsYXRlZEludGVudCk/LmludGVudFR5cGUgPz8gJyc7XG5cbiAgaWYgKFxuICAgICFlZmZlY3RpdmVUeFBhcmFtcy5yZWNpcGllbnRzPy5sZW5ndGggJiZcbiAgICAhaXNTdGFraW5nSW50ZW50ICYmXG4gICAgIU5PX1JFQ0lQSUVOVF9UWF9UWVBFUy5oYXModHhUeXBlKSAmJlxuICAgICFOT19SRUNJUElFTlRfVFhfVFlQRVMuaGFzKGludGVudFR5cGUpXG4gICkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICdSZWNpcGllbnQgZGV0YWlscyBhcmUgcmVxdWlyZWQgdG8gdmVyaWZ5IHRoaXMgdHJhbnNhY3Rpb24gYmVmb3JlIHNpZ25pbmcuIFBhc3MgdHhQYXJhbXMgd2l0aCBhdCBsZWFzdCBvbmUgcmVjaXBpZW50LidcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGVmZmVjdGl2ZVR4UGFyYW1zO1xufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { RedpallasBitgoToOVC1Round1Response, RedpallasBitgoToOVC1Round2Response, RedpallasMPCv2KeyGenRound1Response, RedpallasMPCv2KeyGenRound2Response, RedpallasOVC1ToBitgoRound1Payload, RedpallasOVC2ToBitgoRound2Payload } from '@bitgo/public-types';
2
+ import { IBaseCoin } from '../../../../baseCoin';
3
+ import { BitGoBase } from '../../../../bitgoBase';
4
+ import { Keychain } from '../../../..';
5
+ import { RedpallasMPCv2KeyGenSendFn } from '../redpallasMPCv2KeyGenSender';
6
+ /**
7
+ * Custodial (SMC/OVC) DKG-only key generation for the Zcash Orchard shielded pool (RedPallas).
8
+ *
9
+ * Mirrors for both custodial and SMC wallet
10
+ * ceremonies driven by external OVC (offline vault console) clients: round1/round2 payloads are
11
+ * relayed from OVC1/OVC2 to BitGo and back. There is no round3 (no signing) - RedPallas MPS DKG
12
+ * completes key generation in 2 online rounds, same as EdDSA MPS DKG.
13
+ */
14
+ export declare class RedpallasMPCv2SMCUtils {
15
+ private bitgo;
16
+ private baseCoin;
17
+ private MPCv2Utils;
18
+ constructor(bitgo: BitGoBase, baseCoin: IBaseCoin);
19
+ keyGenRound1(enterprise: string, payload: RedpallasOVC1ToBitgoRound1Payload): Promise<RedpallasBitgoToOVC1Round1Response>;
20
+ keyGenRound2(enterprise: string, payload: RedpallasOVC2ToBitgoRound2Payload): Promise<RedpallasBitgoToOVC1Round2Response>;
21
+ keyGenRound1BySender(senderFn: RedpallasMPCv2KeyGenSendFn<RedpallasMPCv2KeyGenRound1Response>, payload: RedpallasOVC1ToBitgoRound1Payload): Promise<RedpallasBitgoToOVC1Round1Response>;
22
+ keyGenRound2BySender(senderFn: RedpallasMPCv2KeyGenSendFn<RedpallasMPCv2KeyGenRound2Response>, payload: RedpallasOVC2ToBitgoRound2Payload): Promise<RedpallasBitgoToOVC1Round2Response>;
23
+ uploadClientKeys(bitgoKeyId: string, userCommonKeychain: string, backupCommonKeychain: string): Promise<{
24
+ userKeychain: Keychain;
25
+ backupKeychain: Keychain;
26
+ bitgoKeychain: Keychain;
27
+ }>;
28
+ }
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/bitgo/utils/tss/redpallas/SMC/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kCAAkC,EAClC,kCAAkC,EAElC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAsC,MAAM,+BAA+B,CAAC;AAE/G;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,KAAK;IAAa,OAAO,CAAC,QAAQ;IAFtD,OAAO,CAAC,UAAU,CAAsB;gBAEpB,KAAK,EAAE,SAAS,EAAU,QAAQ,EAAE,SAAS;IAIpD,YAAY,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAIjC,YAAY,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAIjC,oBAAoB,CAC/B,QAAQ,EAAE,0BAA0B,CAAC,kCAAkC,CAAC,EACxE,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAwCjC,oBAAoB,CAC/B,QAAQ,EAAE,0BAA0B,CAAC,kCAAkC,CAAC,EACxE,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,kCAAkC,CAAC;IAsDjC,gBAAgB,CAC3B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC;QAAE,YAAY,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,QAAQ,CAAA;KAAE,CAAC;CA8B1F"}