@bitgo-beta/sdk-core 8.2.1-beta.20 → 8.2.1-beta.2000

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 (802) 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 +41 -29
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +59 -2
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +113 -6
  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.js +23 -9
  49. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  50. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  51. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  52. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  53. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  54. package/dist/src/account-lib/mpc/index.js +11 -7
  55. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  56. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  57. package/dist/src/account-lib/mpc/shamir.js +6 -130
  58. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +40 -11
  59. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  60. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +521 -378
  61. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  62. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  63. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  64. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  65. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  66. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  67. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
  69. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  70. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  71. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  72. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -4
  73. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  74. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  75. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  76. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  77. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  78. package/dist/src/account-lib/mpc/util.js +24 -1
  79. package/dist/src/account-lib/staking/index.js +6 -2
  80. package/dist/src/account-lib/staking/utils.js +3 -3
  81. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  82. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  83. package/dist/src/account-lib/util/crypto.js +69 -38
  84. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  85. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  86. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  87. package/dist/src/api/bip32path.js +2 -3
  88. package/dist/src/api/index.js +6 -2
  89. package/dist/src/api/types.d.ts +31 -0
  90. package/dist/src/api/types.d.ts.map +1 -1
  91. package/dist/src/api/types.js +1 -1
  92. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  93. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  94. package/dist/src/bitgo/address-book/address-book.js +150 -0
  95. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  96. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  97. package/dist/src/{openssl → bitgo/address-book}/index.js +8 -3
  98. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  99. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  100. package/dist/src/bitgo/address-book/types.js +3 -0
  101. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +137 -12
  102. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  103. package/dist/src/bitgo/baseCoin/baseCoin.js +217 -16
  104. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +304 -27
  105. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  106. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  107. package/dist/src/bitgo/baseCoin/index.js +6 -2
  108. package/dist/src/bitgo/bip32util.d.ts +3 -16
  109. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  110. package/dist/src/bitgo/bip32util.js +4 -56
  111. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  112. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  113. package/dist/src/bitgo/bitcoin.js +26 -13
  114. package/dist/src/bitgo/bitgoBase.d.ts +19 -5
  115. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  116. package/dist/src/bitgo/bitgoBase.js +1 -1
  117. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  118. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  119. package/dist/src/bitgo/coinFactory.js +26 -3
  120. package/dist/src/bitgo/config.d.ts +3 -89
  121. package/dist/src/bitgo/config.d.ts.map +1 -1
  122. package/dist/src/bitgo/config.js +26 -15
  123. package/dist/src/bitgo/defi/defiVault.d.ts +137 -0
  124. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  125. package/dist/src/bitgo/defi/defiVault.js +379 -0
  126. package/dist/src/bitgo/defi/iDefiVault.d.ts +81 -0
  127. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  128. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  129. package/dist/src/bitgo/defi/index.d.ts +3 -0
  130. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  131. package/dist/src/bitgo/defi/index.js +22 -0
  132. package/dist/src/bitgo/ecdh.d.ts +0 -1
  133. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  134. package/dist/src/bitgo/ecdh.js +26 -13
  135. package/dist/src/bitgo/enterprise/enterprise.d.ts +22 -14
  136. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  137. package/dist/src/bitgo/enterprise/enterprise.js +72 -31
  138. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  139. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  140. package/dist/src/bitgo/enterprise/enterprises.js +48 -9
  141. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +9 -7
  142. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  143. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  144. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  145. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  146. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  147. package/dist/src/bitgo/enterprise/index.js +6 -2
  148. package/dist/src/bitgo/environments.d.ts +83 -5
  149. package/dist/src/bitgo/environments.d.ts.map +1 -1
  150. package/dist/src/bitgo/environments.js +435 -30
  151. package/dist/src/bitgo/errors.d.ts +182 -1
  152. package/dist/src/bitgo/errors.d.ts.map +1 -1
  153. package/dist/src/bitgo/errors.js +177 -3
  154. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  155. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  156. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  157. package/dist/src/bitgo/index.d.ts +5 -1
  158. package/dist/src/bitgo/index.d.ts.map +1 -1
  159. package/dist/src/bitgo/index.js +31 -11
  160. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  161. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  162. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  163. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  164. package/dist/src/bitgo/internal/index.js +6 -2
  165. package/dist/src/bitgo/internal/internal.js +5 -6
  166. package/dist/src/bitgo/internal/keycard.d.ts +12 -8
  167. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  168. package/dist/src/bitgo/internal/keycard.js +60 -48
  169. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  170. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  171. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  172. package/dist/src/bitgo/keychain/iKeychains.d.ts +137 -10
  173. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  174. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  175. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  176. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  177. package/dist/src/bitgo/keychain/index.js +7 -2
  178. package/dist/src/bitgo/keychain/keychains.d.ts +55 -7
  179. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  180. package/dist/src/bitgo/keychain/keychains.js +297 -73
  181. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +126 -91
  182. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  183. package/dist/src/bitgo/keychain/ovcJsonCodec.js +53 -32
  184. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  185. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  186. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  187. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  188. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  189. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  190. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  191. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  192. package/dist/src/bitgo/market/index.js +6 -2
  193. package/dist/src/bitgo/market/markets.js +23 -9
  194. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +7 -1
  195. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  196. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  197. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  198. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  199. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  200. package/dist/src/bitgo/pendingApproval/pendingApproval.js +251 -103
  201. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  202. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  203. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  204. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  205. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  206. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  207. package/dist/src/bitgo/proofs/index.js +6 -0
  208. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  209. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  210. package/dist/src/bitgo/proofs/types.js +80 -0
  211. package/dist/src/bitgo/recovery/index.js +6 -2
  212. package/dist/src/bitgo/recovery/initiate.d.ts +20 -4
  213. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  214. package/dist/src/bitgo/recovery/initiate.js +49 -41
  215. package/dist/src/bitgo/safe/iSafe.d.ts +87 -0
  216. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
  217. package/dist/src/bitgo/safe/iSafe.js +3 -0
  218. package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
  219. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
  220. package/dist/src/bitgo/safe/iSafes.js +3 -0
  221. package/dist/src/bitgo/safe/index.d.ts +6 -0
  222. package/dist/src/bitgo/safe/index.d.ts.map +1 -0
  223. package/dist/src/bitgo/safe/index.js +22 -0
  224. package/dist/src/bitgo/safe/safe.d.ts +61 -0
  225. package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
  226. package/dist/src/bitgo/safe/safe.js +230 -0
  227. package/dist/src/bitgo/safe/safeDerivation.d.ts +30 -0
  228. package/dist/src/bitgo/safe/safeDerivation.d.ts.map +1 -0
  229. package/dist/src/bitgo/safe/safeDerivation.js +122 -0
  230. package/dist/src/bitgo/safe/safes.d.ts +107 -0
  231. package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
  232. package/dist/src/bitgo/safe/safes.js +306 -0
  233. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  234. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  235. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  236. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  237. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  238. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  239. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  240. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  241. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  242. package/dist/src/bitgo/staking/iStakingWallet.d.ts +189 -8
  243. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  244. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  245. package/dist/src/bitgo/staking/index.d.ts +3 -0
  246. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  247. package/dist/src/bitgo/staking/index.js +9 -2
  248. package/dist/src/bitgo/staking/stakingWallet.d.ts +27 -8
  249. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  250. package/dist/src/bitgo/staking/stakingWallet.js +148 -7
  251. package/dist/src/bitgo/trading/iTradingAccount.d.ts +15 -33
  252. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  253. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  254. package/dist/src/bitgo/trading/index.d.ts +1 -15
  255. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  256. package/dist/src/bitgo/trading/index.js +7 -17
  257. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  258. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  259. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  260. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  261. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  262. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  263. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  264. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  265. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  266. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  267. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  268. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  269. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  270. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  271. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  272. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  273. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  274. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  275. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  276. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  277. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  278. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  279. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  280. package/dist/src/bitgo/trading/network/index.js +21 -0
  281. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  282. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  283. package/dist/src/bitgo/trading/network/network.js +94 -0
  284. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  285. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  286. package/dist/src/bitgo/trading/network/types.js +3 -0
  287. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  288. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  289. package/dist/src/bitgo/trading/network/utils.js +54 -0
  290. package/dist/src/bitgo/trading/tradingAccount.d.ts +23 -33
  291. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  292. package/dist/src/bitgo/trading/tradingAccount.js +58 -97
  293. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
  294. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  295. package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
  296. package/dist/src/bitgo/tss/common.d.ts +52 -6
  297. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  298. package/dist/src/bitgo/tss/common.js +141 -15
  299. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  300. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  301. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +85 -81
  302. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  303. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  304. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  305. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  306. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  307. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  308. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  309. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  310. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  311. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +19 -9
  312. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  313. package/dist/src/bitgo/tss/eddsa/eddsa.js +56 -38
  314. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
  315. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  316. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
  317. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  318. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  319. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  320. package/dist/src/bitgo/tss/index.d.ts +3 -2
  321. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  322. package/dist/src/bitgo/tss/index.js +26 -10
  323. package/dist/src/bitgo/tss/types.d.ts +19 -0
  324. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  325. package/dist/src/bitgo/tss/types.js +2 -2
  326. package/dist/src/bitgo/types.d.ts +3 -3
  327. package/dist/src/bitgo/types.d.ts.map +1 -1
  328. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +14 -0
  329. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  330. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +87 -10
  331. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  332. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  333. package/dist/src/bitgo/utils/codecProps.js +54 -0
  334. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  335. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  336. package/dist/src/bitgo/utils/codecs.js +59 -0
  337. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  338. package/dist/src/bitgo/utils/decode.js +30 -16
  339. package/dist/src/bitgo/utils/index.d.ts +4 -2
  340. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  341. package/dist/src/bitgo/utils/index.js +27 -11
  342. package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
  343. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  344. package/dist/src/bitgo/utils/messageTypes.js +17 -0
  345. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  346. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  347. package/dist/src/bitgo/utils/mpcUtils.js +160 -14
  348. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  349. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  350. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  351. package/dist/src/bitgo/utils/opengpgUtils.d.ts +13 -9
  352. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  353. package/dist/src/bitgo/utils/opengpgUtils.js +87 -73
  354. package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
  355. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
  356. package/dist/src/bitgo/utils/postWithCodec.js +25 -0
  357. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  358. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  359. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  360. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  361. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  362. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  363. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  364. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  365. package/dist/src/bitgo/utils/triple.js +2 -3
  366. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  367. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  368. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  369. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +152 -28
  370. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  371. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +365 -43
  372. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +589 -44
  373. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  374. package/dist/src/bitgo/utils/tss/baseTypes.js +60 -10
  375. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  376. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  377. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  378. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  379. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  380. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  381. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +63 -53
  382. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  383. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +356 -327
  384. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +216 -0
  385. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  386. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1057 -0
  387. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  388. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  389. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +16 -0
  390. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  391. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  392. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  393. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -9
  394. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  395. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  396. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  397. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  398. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  401. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
  402. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  403. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  404. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  405. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +54 -14
  406. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  407. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +311 -99
  408. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +204 -0
  409. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  410. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +862 -0
  411. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
  412. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  413. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
  414. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
  415. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  416. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
  417. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +12 -7
  418. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  419. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  420. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
  421. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  422. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
  423. package/dist/src/bitgo/utils/tss/index.d.ts +5 -0
  424. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  425. package/dist/src/bitgo/utils/tss/index.js +29 -10
  426. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  427. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  428. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  429. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +41 -0
  430. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  431. package/dist/src/bitgo/utils/tss/recipientUtils.js +141 -0
  432. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  433. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  434. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +128 -0
  435. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  436. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  437. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  438. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +30 -0
  439. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  440. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +46 -0
  441. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +46 -0
  442. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  443. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  444. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  445. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  446. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  447. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  448. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  449. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  450. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  451. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  452. package/dist/src/bitgo/utils/txRequest.js +49 -0
  453. package/dist/src/bitgo/utils/util.js +24 -10
  454. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  455. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  456. package/dist/src/bitgo/utils/wallet.js +48 -0
  457. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  458. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  459. package/dist/src/bitgo/v1Wallets.js +3 -0
  460. package/dist/src/bitgo/wallet/BuildParams.d.ts +191 -0
  461. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  462. package/dist/src/bitgo/wallet/BuildParams.js +193 -0
  463. package/dist/src/bitgo/wallet/iWallet.d.ts +586 -30
  464. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  465. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  466. package/dist/src/bitgo/wallet/iWallets.d.ts +322 -19
  467. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  468. package/dist/src/bitgo/wallet/iWallets.js +83 -3
  469. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  470. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  471. package/dist/src/bitgo/wallet/index.js +7 -2
  472. package/dist/src/bitgo/wallet/safeKeychain.d.ts +52 -0
  473. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  474. package/dist/src/bitgo/wallet/safeKeychain.js +97 -0
  475. package/dist/src/bitgo/wallet/wallet.d.ts +421 -29
  476. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  477. package/dist/src/bitgo/wallet/wallet.js +2403 -447
  478. package/dist/src/bitgo/wallet/wallets.d.ts +118 -9
  479. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  480. package/dist/src/bitgo/wallet/wallets.js +1370 -182
  481. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  482. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  483. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  484. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  485. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  486. package/dist/src/bitgo/walletUtil/index.js +19 -0
  487. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  488. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  489. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  490. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  491. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  492. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  493. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  494. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  495. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  496. package/dist/src/bitgo/webhook/index.js +6 -2
  497. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  498. package/dist/src/coins/fiat.d.ts +45 -0
  499. package/dist/src/coins/fiat.d.ts.map +1 -0
  500. package/dist/src/coins/fiat.js +94 -0
  501. package/dist/src/coins/index.d.ts +1 -6
  502. package/dist/src/coins/index.d.ts.map +1 -1
  503. package/dist/src/coins/index.js +7 -8
  504. package/dist/src/coins/ofc.d.ts +21 -2
  505. package/dist/src/coins/ofc.d.ts.map +1 -1
  506. package/dist/src/coins/ofc.js +29 -3
  507. package/dist/src/coins/ofcToken.d.ts +15 -4
  508. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  509. package/dist/src/coins/ofcToken.js +43 -5
  510. package/dist/src/coins/susd.d.ts +3 -2
  511. package/dist/src/coins/susd.d.ts.map +1 -1
  512. package/dist/src/coins/susd.js +5 -1
  513. package/dist/src/common.js +27 -13
  514. package/dist/src/index.d.ts +13 -1
  515. package/dist/src/index.d.ts.map +1 -1
  516. package/dist/src/index.js +42 -11
  517. package/dist/src/lightning.d.ts +20 -0
  518. package/dist/src/lightning.d.ts.map +1 -0
  519. package/dist/src/lightning.js +13 -0
  520. package/dist/src/units.js +5 -6
  521. package/dist/test/node.utils.d.ts +2 -0
  522. package/dist/test/node.utils.d.ts.map +1 -0
  523. package/dist/test/node.utils.js +5 -0
  524. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  525. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  526. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  527. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  528. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  529. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  530. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  531. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  532. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  533. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  534. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  535. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  536. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  537. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  538. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +279 -0
  539. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  540. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  541. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  542. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  543. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  544. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  545. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  546. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  547. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  548. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  549. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  550. package/dist/test/unit/bitgo/defi/defiVault.js +600 -0
  551. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  552. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  553. package/dist/test/unit/bitgo/environment.js +38 -0
  554. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  555. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  556. package/dist/test/unit/bitgo/errors.js +262 -0
  557. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  558. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  559. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  560. package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
  561. package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
  562. package/dist/test/unit/bitgo/safe/safe.js +277 -0
  563. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  564. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  565. package/dist/test/unit/bitgo/safe/safes.js +338 -0
  566. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  567. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  568. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  569. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  570. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  571. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  572. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  573. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  574. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  575. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  576. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  577. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  578. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  579. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  580. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +66 -0
  581. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  582. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  583. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  584. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  585. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  586. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  587. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
  588. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
  589. package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
  590. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  591. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  592. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  593. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  594. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  595. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  596. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  597. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  598. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  599. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  600. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  601. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +999 -0
  602. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  603. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  604. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  605. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  606. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  607. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  608. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  609. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  610. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1918 -0
  611. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  612. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  613. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
  614. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  615. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  616. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  617. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  618. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  619. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +361 -0
  620. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  621. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  622. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +81 -0
  623. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  624. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  625. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +281 -0
  626. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  627. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  628. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  629. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  630. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  631. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  632. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  633. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  634. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  635. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  636. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  637. package/dist/test/unit/bitgo/wallet/BuildParams.js +129 -0
  638. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  639. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  640. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +114 -0
  641. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  642. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  643. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  644. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  645. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  646. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  647. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  648. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  649. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  650. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  651. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  652. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  653. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  654. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  655. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  656. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  657. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  658. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  659. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  660. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  661. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
  662. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  663. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  664. package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
  665. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  666. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  667. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  668. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  669. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  670. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +66 -0
  671. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  672. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  673. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  674. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  675. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  676. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +293 -0
  677. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  678. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  679. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  680. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  681. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  682. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
  683. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  684. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  685. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  686. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  687. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  688. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  689. package/dist/test/unit/coins/ofc.d.ts +2 -0
  690. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  691. package/dist/test/unit/coins/ofc.js +124 -0
  692. package/dist/test/unit/lightning.d.ts +2 -0
  693. package/dist/test/unit/lightning.d.ts.map +1 -0
  694. package/dist/test/unit/lightning.js +23 -0
  695. package/dist/test/unit/units.d.ts +2 -0
  696. package/dist/test/unit/units.d.ts.map +1 -0
  697. package/dist/test/unit/units.js +98 -0
  698. package/dist/tsconfig.tsbuildinfo +1 -8340
  699. package/package.json +29 -23
  700. package/.eslintignore +0 -5
  701. package/CHANGELOG.md +0 -662
  702. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  703. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  704. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  705. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  706. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  707. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  708. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  709. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  710. package/dist/src/account-lib/mpc/types.js +0 -3
  711. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  712. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  713. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  714. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  715. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  716. package/dist/src/bitgo/lightning/index.js +0 -17
  717. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  718. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  719. package/dist/src/bitgo/lightning/lightning.js +0 -111
  720. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  721. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  722. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  723. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  724. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  725. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  726. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  727. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  728. package/dist/src/bitgo/trading/affirmation.js +0 -53
  729. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  730. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  731. package/dist/src/bitgo/trading/affirmations.js +0 -45
  732. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  733. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  734. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  735. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  736. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  737. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  738. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  739. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  740. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  741. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  742. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  743. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  744. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  745. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  746. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  747. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  748. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  749. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  750. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  751. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  752. package/dist/src/bitgo/trading/lock.js +0 -12
  753. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  754. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  755. package/dist/src/bitgo/trading/payload.js +0 -3
  756. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  757. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  758. package/dist/src/bitgo/trading/settlement.js +0 -21
  759. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  760. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  761. package/dist/src/bitgo/trading/settlements.js +0 -61
  762. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  763. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  764. package/dist/src/bitgo/trading/trade.js +0 -11
  765. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  766. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  767. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  768. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  769. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  770. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  771. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  772. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  773. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  774. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  775. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  776. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  777. package/dist/src/coins/fiateur.d.ts +0 -31
  778. package/dist/src/coins/fiateur.d.ts.map +0 -1
  779. package/dist/src/coins/fiateur.js +0 -57
  780. package/dist/src/coins/fiatgbp.d.ts +0 -31
  781. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  782. package/dist/src/coins/fiatgbp.js +0 -57
  783. package/dist/src/coins/fiatusd.d.ts +0 -31
  784. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  785. package/dist/src/coins/fiatusd.js +0 -57
  786. package/dist/src/coins/tfiateur.d.ts +0 -11
  787. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  788. package/dist/src/coins/tfiateur.js +0 -17
  789. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  790. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  791. package/dist/src/coins/tfiatgbp.js +0 -17
  792. package/dist/src/coins/tfiatusd.d.ts +0 -11
  793. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  794. package/dist/src/coins/tfiatusd.js +0 -17
  795. package/dist/src/openssl/index.d.ts +0 -2
  796. package/dist/src/openssl/index.d.ts.map +0 -1
  797. package/dist/src/openssl/openssl.d.ts +0 -12
  798. package/dist/src/openssl/openssl.d.ts.map +0 -1
  799. package/dist/src/openssl/openssl.js +0 -48
  800. package/dist/src/openssl/opensslbytes.d.ts +0 -4
  801. package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
  802. package/dist/src/openssl/opensslbytes.js +0 -20
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transactionRecipientsMatch = transactionRecipientsMatch;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ function transactionRecipientsMatch(recipient1, recipient2) {
9
+ const address1 = recipient1.address;
10
+ const address2 = recipient2.address;
11
+ const amount1 = new bignumber_js_1.default(recipient1.amount);
12
+ const amount2 = new bignumber_js_1.default(recipient2.amount);
13
+ const tokenName1 = recipient1.tokenName;
14
+ const tokenName2 = recipient2.tokenName;
15
+ const memo1 = recipient1.memo;
16
+ const memo2 = recipient2.memo;
17
+ const addressMatch = address1 === address2;
18
+ const amountMatch = amount1.isEqualTo(amount2);
19
+ const memoMatch = memo1 === memo2;
20
+ const tokenMatch = tokenName1 === tokenName2;
21
+ return {
22
+ addressMatch,
23
+ amountMatch,
24
+ memoMatch,
25
+ tokenMatch,
26
+ exactMatch: addressMatch && amountMatch && memoMatch && tokenMatch,
27
+ };
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90cmFuc2FjdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsZ0VBeUJDO0FBNUJELGdFQUFxQztBQUdyQyxTQUFnQiwwQkFBMEIsQ0FBQyxVQUFpQyxFQUFFLFVBQWlDO0lBQzdHLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUVwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBRXhDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztJQUU5QixNQUFNLFlBQVksR0FBRyxRQUFRLEtBQUssUUFBUSxDQUFDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxVQUFVLEtBQUssVUFBVSxDQUFDO0lBRTdDLE9BQU87UUFDTCxZQUFZO1FBQ1osV0FBVztRQUNYLFNBQVM7UUFDVCxVQUFVO1FBQ1YsVUFBVSxFQUFFLFlBQVksSUFBSSxXQUFXLElBQUksU0FBUyxJQUFJLFVBQVU7S0FDbkUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBJVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvblJlY2lwaWVudHNNYXRjaChyZWNpcGllbnQxOiBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIHJlY2lwaWVudDI6IElUcmFuc2FjdGlvblJlY2lwaWVudCkge1xuICBjb25zdCBhZGRyZXNzMSA9IHJlY2lwaWVudDEuYWRkcmVzcztcbiAgY29uc3QgYWRkcmVzczIgPSByZWNpcGllbnQyLmFkZHJlc3M7XG5cbiAgY29uc3QgYW1vdW50MSA9IG5ldyBCaWdOdW1iZXIocmVjaXBpZW50MS5hbW91bnQpO1xuICBjb25zdCBhbW91bnQyID0gbmV3IEJpZ051bWJlcihyZWNpcGllbnQyLmFtb3VudCk7XG5cbiAgY29uc3QgdG9rZW5OYW1lMSA9IHJlY2lwaWVudDEudG9rZW5OYW1lO1xuICBjb25zdCB0b2tlbk5hbWUyID0gcmVjaXBpZW50Mi50b2tlbk5hbWU7XG5cbiAgY29uc3QgbWVtbzEgPSByZWNpcGllbnQxLm1lbW87XG4gIGNvbnN0IG1lbW8yID0gcmVjaXBpZW50Mi5tZW1vO1xuXG4gIGNvbnN0IGFkZHJlc3NNYXRjaCA9IGFkZHJlc3MxID09PSBhZGRyZXNzMjtcbiAgY29uc3QgYW1vdW50TWF0Y2ggPSBhbW91bnQxLmlzRXF1YWxUbyhhbW91bnQyKTtcbiAgY29uc3QgbWVtb01hdGNoID0gbWVtbzEgPT09IG1lbW8yO1xuICBjb25zdCB0b2tlbk1hdGNoID0gdG9rZW5OYW1lMSA9PT0gdG9rZW5OYW1lMjtcblxuICByZXR1cm4ge1xuICAgIGFkZHJlc3NNYXRjaCxcbiAgICBhbW91bnRNYXRjaCxcbiAgICBtZW1vTWF0Y2gsXG4gICAgdG9rZW5NYXRjaCxcbiAgICBleGFjdE1hdGNoOiBhZGRyZXNzTWF0Y2ggJiYgYW1vdW50TWF0Y2ggJiYgbWVtb01hdGNoICYmIHRva2VuTWF0Y2gsXG4gIH07XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export declare type Triple<T> = [T, T, T];
1
+ export type Triple<T> = [T, T, T];
2
2
  export declare function isTriple<T>(arr: T[]): arr is Triple<T>;
3
3
  //# sourceMappingURL=triple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/triple.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAEtD"}
1
+ {"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/triple.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAEtD"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTriple = void 0;
3
+ exports.isTriple = isTriple;
4
4
  function isTriple(arr) {
5
5
  return arr.length === 3;
6
6
  }
7
- exports.isTriple = isTriple;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3RyaXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxTQUFnQixRQUFRLENBQUksR0FBUTtJQUNsQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFGRCw0QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRyaXBsZTxUPiA9IFtULCBULCBUXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJpcGxlPFQ+KGFycjogVFtdKTogYXJyIGlzIFRyaXBsZTxUPiB7XG4gIHJldHVybiBhcnIubGVuZ3RoID09PSAzO1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL3RyaXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDRCQUVDO0FBRkQsU0FBZ0IsUUFBUSxDQUFJLEdBQVE7SUFDbEMsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVHJpcGxlPFQ+ID0gW1QsIFQsIFRdO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNUcmlwbGU8VD4oYXJyOiBUW10pOiBhcnIgaXMgVHJpcGxlPFQ+IHtcbiAgcmV0dXJuIGFyci5sZW5ndGggPT09IDM7XG59XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { TssVerifyAddressOptions } from '../../baseCoin/iBaseCoin';
2
+ /**
3
+ * Extracts and validates the commonKeychain from keychains array.
4
+ * For MPC wallets, all keychains should have the same commonKeychain.
5
+ *
6
+ * @param keychains - Array of keychains containing commonKeychain
7
+ * @returns The validated commonKeychain
8
+ * @throws {Error} if keychains are missing, empty, or have mismatched commonKeychains
9
+ */
10
+ export declare function extractCommonKeychain(keychains: TssVerifyAddressOptions['keychains']): string;
11
+ /**
12
+ * Verifies if an address belongs to a wallet using EdDSA TSS MPC derivation.
13
+ * This is a common implementation for EdDSA-based MPC coins (SOL, DOT, SUI, TON, IOTA, etc.)
14
+ *
15
+ * @param params - Verification options including keychains, address, and derivation index
16
+ * @param isValidAddress - Coin-specific function to validate address format
17
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
18
+ * @returns true if the address matches the derived address, false otherwise
19
+ * @throws {InvalidAddressError} if the address is invalid
20
+ * @throws {Error} if required parameters are missing or invalid
21
+ */
22
+ export declare function verifyEddsaTssWalletAddress(params: TssVerifyAddressOptions, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
23
+ /**
24
+ * Options for deriving an MPC wallet address. This is the subset of
25
+ * {@link TssVerifyAddressOptions} needed to *produce* an address (no `address` to check),
26
+ * plus the key curve.
27
+ */
28
+ export type DeriveMPCWalletAddressOptions = Pick<TssVerifyAddressOptions, 'keychains' | 'index' | 'derivedFromParentWithSeed' | 'multisigTypeVersion'> & {
29
+ keyCurve: 'secp256k1' | 'ed25519';
30
+ };
31
+ /**
32
+ * Derives a wallet address using TSS/MPC HD derivation from the commonKeychain,
33
+ * using public key material only (no private keys, no network access).
34
+ * Shared by EdDSA- and ECDSA-based MPC coins.
35
+ *
36
+ * This is the derivation half of {@link verifyMPCWalletAddress}: it *produces* the address
37
+ * rather than comparing it against a candidate, so the two can never diverge.
38
+ *
39
+ * @param params - keychains (commonKeychain), derivation index, optional seed/version, and keyCurve
40
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
41
+ * @returns the derived address and the HD derivation path used to derive it
42
+ * @throws {Error} if required parameters are missing or invalid
43
+ */
44
+ export declare function deriveMPCWalletAddress(params: DeriveMPCWalletAddressOptions, getAddressFromPublicKey: (publicKey: string) => string): Promise<{
45
+ address: string;
46
+ derivationPath: string;
47
+ }>;
48
+ /**
49
+ * Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
50
+ * This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
51
+ *
52
+ * @param params - Verification options including keychains, address, and derivation index
53
+ * @param isValidAddress - Coin-specific function to validate address format
54
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
55
+ * @returns true if the address matches the derived address, false otherwise
56
+ * @throws {InvalidAddressError} if the address is invalid
57
+ * @throws {Error} if required parameters are missing or invalid
58
+ */
59
+ export declare function verifyMPCWalletAddress(params: TssVerifyAddressOptions & {
60
+ keyCurve: 'secp256k1' | 'ed25519';
61
+ }, isValidAddress: (address: string) => boolean, getAddressFromPublicKey: (publicKey: string) => string): Promise<boolean>;
62
+ //# sourceMappingURL=addressVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressVerification.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/addressVerification.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAInE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,CAe7F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,uBAAuB,EAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,uBAAuB,EACvB,WAAW,GAAG,OAAO,GAAG,2BAA2B,GAAG,qBAAqB,CAC5E,GAAG;IACF,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,6BAA6B,EACrC,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBtD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,uBAAuB,GAAG;IAChC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;CACnC,EACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACrD,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractCommonKeychain = extractCommonKeychain;
4
+ exports.verifyEddsaTssWalletAddress = verifyEddsaTssWalletAddress;
5
+ exports.deriveMPCWalletAddress = deriveMPCWalletAddress;
6
+ exports.verifyMPCWalletAddress = verifyMPCWalletAddress;
7
+ const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
8
+ const mpc_1 = require("../../../account-lib/mpc");
9
+ const errors_1 = require("../../errors");
10
+ const tss_1 = require("../../tss");
11
+ /**
12
+ * Extracts and validates the commonKeychain from keychains array.
13
+ * For MPC wallets, all keychains should have the same commonKeychain.
14
+ *
15
+ * @param keychains - Array of keychains containing commonKeychain
16
+ * @returns The validated commonKeychain
17
+ * @throws {Error} if keychains are missing, empty, or have mismatched commonKeychains
18
+ */
19
+ function extractCommonKeychain(keychains) {
20
+ if (!keychains?.length) {
21
+ throw new Error('missing required param keychains');
22
+ }
23
+ const commonKeychain = keychains[0].commonKeychain;
24
+ if (!commonKeychain) {
25
+ throw new Error('missing required param commonKeychain');
26
+ }
27
+ // Verify all keychains have the same commonKeychain
28
+ if (keychains.find((kc) => kc.commonKeychain !== commonKeychain))
29
+ throw new Error('all keychains must have the same commonKeychain for MPC coins');
30
+ return commonKeychain;
31
+ }
32
+ /**
33
+ * Verifies if an address belongs to a wallet using EdDSA TSS MPC derivation.
34
+ * This is a common implementation for EdDSA-based MPC coins (SOL, DOT, SUI, TON, IOTA, etc.)
35
+ *
36
+ * @param params - Verification options including keychains, address, and derivation index
37
+ * @param isValidAddress - Coin-specific function to validate address format
38
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
39
+ * @returns true if the address matches the derived address, false otherwise
40
+ * @throws {InvalidAddressError} if the address is invalid
41
+ * @throws {Error} if required parameters are missing or invalid
42
+ */
43
+ async function verifyEddsaTssWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
44
+ return verifyMPCWalletAddress({ ...params, keyCurve: 'ed25519' }, isValidAddress, getAddressFromPublicKey);
45
+ }
46
+ /**
47
+ * Derives a wallet address using TSS/MPC HD derivation from the commonKeychain,
48
+ * using public key material only (no private keys, no network access).
49
+ * Shared by EdDSA- and ECDSA-based MPC coins.
50
+ *
51
+ * This is the derivation half of {@link verifyMPCWalletAddress}: it *produces* the address
52
+ * rather than comparing it against a candidate, so the two can never diverge.
53
+ *
54
+ * @param params - keychains (commonKeychain), derivation index, optional seed/version, and keyCurve
55
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
56
+ * @returns the derived address and the HD derivation path used to derive it
57
+ * @throws {Error} if required parameters are missing or invalid
58
+ */
59
+ async function deriveMPCWalletAddress(params, getAddressFromPublicKey) {
60
+ const { keychains, index, derivedFromParentWithSeed } = params;
61
+ const commonKeychain = extractCommonKeychain(keychains);
62
+ // Compute derivation path:
63
+ // - For SMC wallets with derivedFromParentWithSeed, compute prefix and use: {prefix}/{index}
64
+ // - For other wallets, use simple path: m/{index}
65
+ const prefix = derivedFromParentWithSeed ? (0, sdk_lib_mpc_1.getDerivationPath)(derivedFromParentWithSeed.toString()) : undefined;
66
+ const derivationPath = prefix ? `${prefix}/${index}` : `m/${index}`;
67
+ const MPC = params.keyCurve === 'secp256k1' ? new mpc_1.Ecdsa() : await tss_1.EDDSAMethods.getInitializedMpcInstance();
68
+ const derivedPublicKey = MPC.deriveUnhardened(commonKeychain, derivationPath);
69
+ // secp256k1 expects 33 bytes; ed25519 expects 32 bytes
70
+ const publicKeySize = params.keyCurve === 'secp256k1' ? 33 : 32;
71
+ const publicKeyOnly = Buffer.from(derivedPublicKey, 'hex').subarray(0, publicKeySize).toString('hex');
72
+ return { address: getAddressFromPublicKey(publicKeyOnly), derivationPath };
73
+ }
74
+ /**
75
+ * Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
76
+ * This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
77
+ *
78
+ * @param params - Verification options including keychains, address, and derivation index
79
+ * @param isValidAddress - Coin-specific function to validate address format
80
+ * @param getAddressFromPublicKey - Coin-specific function to convert public key to address
81
+ * @returns true if the address matches the derived address, false otherwise
82
+ * @throws {InvalidAddressError} if the address is invalid
83
+ * @throws {Error} if required parameters are missing or invalid
84
+ */
85
+ async function verifyMPCWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
86
+ const { address } = params;
87
+ if (!isValidAddress(address)) {
88
+ throw new errors_1.InvalidAddressError(`invalid address: ${address}`);
89
+ }
90
+ const { address: expectedAddress } = await deriveMPCWalletAddress(params, getAddressFromPublicKey);
91
+ return address === expectedAddress;
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1ZlcmlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvYWRkcmVzc1ZlcmlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLHNEQWVDO0FBYUQsa0VBTUM7QUEyQkQsd0RBc0JDO0FBYUQsd0RBZ0JDO0FBOUhELHlEQUE0RDtBQUM1RCxrREFBaUQ7QUFFakQseUNBQW1EO0FBQ25ELG1DQUF5QztBQUV6Qzs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsU0FBK0M7SUFDbkYsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsS0FBSyxjQUFjLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0lBRW5GLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxNQUErQixFQUMvQixjQUE0QyxFQUM1Qyx1QkFBc0Q7SUFFdEQsT0FBTyxzQkFBc0IsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQUM3RyxDQUFDO0FBY0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxNQUFxQyxFQUNyQyx1QkFBc0Q7SUFFdEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFL0QsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsMkJBQTJCO0lBQzNCLDZGQUE2RjtJQUM3RixrREFBa0Q7SUFDbEQsTUFBTSxNQUFNLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUEsK0JBQWlCLEVBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9HLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFFcEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sa0JBQVksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQzNHLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUU5RSx1REFBdUQ7SUFDdkQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEcsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsTUFFQyxFQUNELGNBQTRDLEVBQzVDLHVCQUFzRDtJQUV0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksNEJBQW1CLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUVuRyxPQUFPLE9BQU8sS0FBSyxlQUFlLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldERlcml2YXRpb25QYXRoIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMnO1xuaW1wb3J0IHsgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMgfSBmcm9tICcuLi8uLi9iYXNlQ29pbi9pQmFzZUNvaW4nO1xuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBFRERTQU1ldGhvZHMgfSBmcm9tICcuLi8uLi90c3MnO1xuXG4vKipcbiAqIEV4dHJhY3RzIGFuZCB2YWxpZGF0ZXMgdGhlIGNvbW1vbktleWNoYWluIGZyb20ga2V5Y2hhaW5zIGFycmF5LlxuICogRm9yIE1QQyB3YWxsZXRzLCBhbGwga2V5Y2hhaW5zIHNob3VsZCBoYXZlIHRoZSBzYW1lIGNvbW1vbktleWNoYWluLlxuICpcbiAqIEBwYXJhbSBrZXljaGFpbnMgLSBBcnJheSBvZiBrZXljaGFpbnMgY29udGFpbmluZyBjb21tb25LZXljaGFpblxuICogQHJldHVybnMgVGhlIHZhbGlkYXRlZCBjb21tb25LZXljaGFpblxuICogQHRocm93cyB7RXJyb3J9IGlmIGtleWNoYWlucyBhcmUgbWlzc2luZywgZW1wdHksIG9yIGhhdmUgbWlzbWF0Y2hlZCBjb21tb25LZXljaGFpbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RDb21tb25LZXljaGFpbihrZXljaGFpbnM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zWydrZXljaGFpbnMnXSk6IHN0cmluZyB7XG4gIGlmICgha2V5Y2hhaW5zPy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0ga2V5Y2hhaW5zJyk7XG4gIH1cblxuICBjb25zdCBjb21tb25LZXljaGFpbiA9IGtleWNoYWluc1swXS5jb21tb25LZXljaGFpbjtcbiAgaWYgKCFjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBjb21tb25LZXljaGFpbicpO1xuICB9XG5cbiAgLy8gVmVyaWZ5IGFsbCBrZXljaGFpbnMgaGF2ZSB0aGUgc2FtZSBjb21tb25LZXljaGFpblxuICBpZiAoa2V5Y2hhaW5zLmZpbmQoKGtjKSA9PiBrYy5jb21tb25LZXljaGFpbiAhPT0gY29tbW9uS2V5Y2hhaW4pKVxuICAgIHRocm93IG5ldyBFcnJvcignYWxsIGtleWNoYWlucyBtdXN0IGhhdmUgdGhlIHNhbWUgY29tbW9uS2V5Y2hhaW4gZm9yIE1QQyBjb2lucycpO1xuXG4gIHJldHVybiBjb21tb25LZXljaGFpbjtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiBhbiBhZGRyZXNzIGJlbG9uZ3MgdG8gYSB3YWxsZXQgdXNpbmcgRWREU0EgVFNTIE1QQyBkZXJpdmF0aW9uLlxuICogVGhpcyBpcyBhIGNvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgRWREU0EtYmFzZWQgTVBDIGNvaW5zIChTT0wsIERPVCwgU1VJLCBUT04sIElPVEEsIGV0Yy4pXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFZlcmlmaWNhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBrZXljaGFpbnMsIGFkZHJlc3MsIGFuZCBkZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gaXNWYWxpZEFkZHJlc3MgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGFkZHJlc3MgZm9ybWF0XG4gKiBAcGFyYW0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHVibGljIGtleSB0byBhZGRyZXNzXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMgdGhlIGRlcml2ZWQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlFZGRzYVRzc1dhbGxldEFkZHJlc3MoXG4gIHBhcmFtczogVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIGlzVmFsaWRBZGRyZXNzOiAoYWRkcmVzczogc3RyaW5nKSA9PiBib29sZWFuLFxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleTogKHB1YmxpY0tleTogc3RyaW5nKSA9PiBzdHJpbmdcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICByZXR1cm4gdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyh7IC4uLnBhcmFtcywga2V5Q3VydmU6ICdlZDI1NTE5JyB9LCBpc1ZhbGlkQWRkcmVzcywgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRlcml2aW5nIGFuIE1QQyB3YWxsZXQgYWRkcmVzcy4gVGhpcyBpcyB0aGUgc3Vic2V0IG9mXG4gKiB7QGxpbmsgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnN9IG5lZWRlZCB0byAqcHJvZHVjZSogYW4gYWRkcmVzcyAobm8gYGFkZHJlc3NgIHRvIGNoZWNrKSxcbiAqIHBsdXMgdGhlIGtleSBjdXJ2ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGVyaXZlTVBDV2FsbGV0QWRkcmVzc09wdGlvbnMgPSBQaWNrPFxuICBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgJ2tleWNoYWlucycgfCAnaW5kZXgnIHwgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQnIHwgJ211bHRpc2lnVHlwZVZlcnNpb24nXG4+ICYge1xuICBrZXlDdXJ2ZTogJ3NlY3AyNTZrMScgfCAnZWQyNTUxOSc7XG59O1xuXG4vKipcbiAqIERlcml2ZXMgYSB3YWxsZXQgYWRkcmVzcyB1c2luZyBUU1MvTVBDIEhEIGRlcml2YXRpb24gZnJvbSB0aGUgY29tbW9uS2V5Y2hhaW4sXG4gKiB1c2luZyBwdWJsaWMga2V5IG1hdGVyaWFsIG9ubHkgKG5vIHByaXZhdGUga2V5cywgbm8gbmV0d29yayBhY2Nlc3MpLlxuICogU2hhcmVkIGJ5IEVkRFNBLSBhbmQgRUNEU0EtYmFzZWQgTVBDIGNvaW5zLlxuICpcbiAqIFRoaXMgaXMgdGhlIGRlcml2YXRpb24gaGFsZiBvZiB7QGxpbmsgdmVyaWZ5TVBDV2FsbGV0QWRkcmVzc306IGl0ICpwcm9kdWNlcyogdGhlIGFkZHJlc3NcbiAqIHJhdGhlciB0aGFuIGNvbXBhcmluZyBpdCBhZ2FpbnN0IGEgY2FuZGlkYXRlLCBzbyB0aGUgdHdvIGNhbiBuZXZlciBkaXZlcmdlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBrZXljaGFpbnMgKGNvbW1vbktleWNoYWluKSwgZGVyaXZhdGlvbiBpbmRleCwgb3B0aW9uYWwgc2VlZC92ZXJzaW9uLCBhbmQga2V5Q3VydmVcbiAqIEBwYXJhbSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gY29udmVydCBwdWJsaWMga2V5IHRvIGFkZHJlc3NcbiAqIEByZXR1cm5zIHRoZSBkZXJpdmVkIGFkZHJlc3MgYW5kIHRoZSBIRCBkZXJpdmF0aW9uIHBhdGggdXNlZCB0byBkZXJpdmUgaXRcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlcml2ZU1QQ1dhbGxldEFkZHJlc3MoXG4gIHBhcmFtczogRGVyaXZlTVBDV2FsbGV0QWRkcmVzc09wdGlvbnMsXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTx7IGFkZHJlc3M6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHsga2V5Y2hhaW5zLCBpbmRleCwgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGNvbW1vbktleWNoYWluID0gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWlucyk7XG5cbiAgLy8gQ29tcHV0ZSBkZXJpdmF0aW9uIHBhdGg6XG4gIC8vIC0gRm9yIFNNQyB3YWxsZXRzIHdpdGggZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCwgY29tcHV0ZSBwcmVmaXggYW5kIHVzZToge3ByZWZpeH0ve2luZGV4fVxuICAvLyAtIEZvciBvdGhlciB3YWxsZXRzLCB1c2Ugc2ltcGxlIHBhdGg6IG0ve2luZGV4fVxuICBjb25zdCBwcmVmaXggPSBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkID8gZ2V0RGVyaXZhdGlvblBhdGgoZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZC50b1N0cmluZygpKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGggPSBwcmVmaXggPyBgJHtwcmVmaXh9LyR7aW5kZXh9YCA6IGBtLyR7aW5kZXh9YDtcblxuICBjb25zdCBNUEMgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gbmV3IEVjZHNhKCkgOiBhd2FpdCBFRERTQU1ldGhvZHMuZ2V0SW5pdGlhbGl6ZWRNcGNJbnN0YW5jZSgpO1xuICBjb25zdCBkZXJpdmVkUHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW4sIGRlcml2YXRpb25QYXRoKTtcblxuICAvLyBzZWNwMjU2azEgZXhwZWN0cyAzMyBieXRlczsgZWQyNTUxOSBleHBlY3RzIDMyIGJ5dGVzXG4gIGNvbnN0IHB1YmxpY0tleVNpemUgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gMzMgOiAzMjtcbiAgY29uc3QgcHVibGljS2V5T25seSA9IEJ1ZmZlci5mcm9tKGRlcml2ZWRQdWJsaWNLZXksICdoZXgnKS5zdWJhcnJheSgwLCBwdWJsaWNLZXlTaXplKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgcmV0dXJuIHsgYWRkcmVzczogZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5T25seSksIGRlcml2YXRpb25QYXRoIH07XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgd2FsbGV0IHVzaW5nIEVDRFNBIFRTUyBNUEMgZGVyaXZhdGlvbi5cbiAqIFRoaXMgaXMgYSBjb21tb24gaW1wbGVtZW50YXRpb24gZm9yIEVDRFNBLWJhc2VkIE1QQyBjb2lucyAoRVRILCBCVEMsIGV0Yy4pXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFZlcmlmaWNhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBrZXljaGFpbnMsIGFkZHJlc3MsIGFuZCBkZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gaXNWYWxpZEFkZHJlc3MgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGFkZHJlc3MgZm9ybWF0XG4gKiBAcGFyYW0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHVibGljIGtleSB0byBhZGRyZXNzXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMgdGhlIGRlcml2ZWQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKFxuICBwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zICYge1xuICAgIGtleUN1cnZlOiAnc2VjcDI1NmsxJyB8ICdlZDI1NTE5JztcbiAgfSxcbiAgaXNWYWxpZEFkZHJlc3M6IChhZGRyZXNzOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgYWRkcmVzcyB9ID0gcGFyYW1zO1xuXG4gIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gIH1cblxuICBjb25zdCB7IGFkZHJlc3M6IGV4cGVjdGVkQWRkcmVzcyB9ID0gYXdhaXQgZGVyaXZlTVBDV2FsbGV0QWRkcmVzcyhwYXJhbXMsIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KTtcblxuICByZXR1cm4gYWRkcmVzcyA9PT0gZXhwZWN0ZWRBZGRyZXNzO1xufVxuIl19
@@ -1,19 +1,30 @@
1
- import { IRequestTracer } from '../../../api';
1
+ import { EncryptionVersion, IRequestTracer } from '../../../api';
2
+ import * as openpgp from 'openpgp';
2
3
  import { Key, SerializedKeyPair } from 'openpgp';
3
4
  import { IBaseCoin, KeychainsTriplet } from '../../baseCoin';
4
5
  import { BitGoBase } from '../../bitgoBase';
5
- import { Keychain } from '../../keychain';
6
- import { IWallet, BackupProvider } from '../../wallet';
6
+ import { Keychain, WebauthnKeyEncryptionInfo } from '../../keychain';
7
+ import { IWallet } from '../../wallet';
7
8
  import { MpcUtils } from '../mpcUtils';
8
- import { BitgoHeldBackupKeyShare, CustomGShareGeneratingFunction, CustomRShareGeneratingFunction, ITssUtils, PrebuildTransactionWithIntentOptions, SignatureShareRecord, TSSParams, TxRequest, TxRequestVersion, CreateKeychainParamsBase, IntentOptionsForMessage, IntentOptionsForTypedData, CreateBitGoKeychainParamsBase } from './baseTypes';
9
- import { GShare, SignShare, YShare } from '../../../account-lib/mpc/tss';
9
+ import { BitgoHeldBackupKeyShare, CommitmentShareRecord, CreateBitGoKeychainParamsBase, CreateKeychainParamsBase, CustomCommitmentGeneratingFunction, CustomEddsaMPCv2SigningRound1GeneratingFunction, CustomEddsaMPCv2SigningRound2GeneratingFunction, CustomEddsaMPCv2SigningRound3GeneratingFunction, CustomGShareGeneratingFunction, CustomKShareGeneratingFunction, CustomMPCv2SigningRound1GeneratingFunction, CustomMPCv2SigningRound2GeneratingFunction, CustomMPCv2SigningRound3GeneratingFunction, CustomMuDeltaShareGeneratingFunction, CustomPaillierModulusGetterFunction, CustomRShareGeneratingFunction, CustomSShareGeneratingFunction, EncryptedSignerShareRecord, IntentOptionsForMessage, IntentOptionsForTypedData, ITssUtils, PrebuildTransactionWithIntentOptions, RequestType, SignatureShareRecord, TSSParams, TSSParamsForMessage, TssSignTxRequestParamsWithPrv, TxRequest, TxRequestVersion } from './baseTypes';
10
+ import { GShare, SignShare } from '../../../account-lib/mpc/tss';
10
11
  /**
11
12
  * BaseTssUtil class which different signature schemes have to extend
12
13
  */
13
14
  export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtils<KeyShare> {
14
15
  private _wallet?;
16
+ protected bitgoPublicGpgKey: openpgp.Key;
17
+ protected bitgoMPCv2PublicGpgKey: openpgp.Key | undefined;
18
+ protected bitgoEddsaMpcv2PublicGpgKey: openpgp.Key | undefined;
19
+ protected bitgoRedpallasMpcv2PublicGpgKey: openpgp.Key | undefined;
15
20
  constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, wallet?: IWallet);
16
21
  get wallet(): IWallet;
22
+ protected setBitgoGpgPubKey(bitgo: any): Promise<void>;
23
+ pickBitgoPubGpgKeyForSigning(isMpcv2: boolean, reqId?: IRequestTracer, enterpriseId?: string, isEddsaMpcv2?: boolean, isRedpallasMpcv2?: boolean): Promise<openpgp.Key>;
24
+ getBitgoPublicGpgKey(): Promise<openpgp.Key>;
25
+ getBitgoMpcv2PublicGpgKey(): Promise<openpgp.Key>;
26
+ getBitgoEddsaMpcv2PublicGpgKey(): Promise<openpgp.Key>;
27
+ getBitgoRedpallasMpcv2PublicGpgKey(): Promise<openpgp.Key>;
17
28
  createBitgoHeldBackupKeyShare(userGpgKey: SerializedKeyPair<string>, enterprise: string | undefined): Promise<BitgoHeldBackupKeyShare>;
18
29
  finalizeBitgoHeldBackupKeyShare(keyId: string, commonKeychain: string, userKeyShare: KeyShare, bitgoKeychain: Keychain, userGpgKey: SerializedKeyPair<string>, backupGpgKey: Key): Promise<BitgoHeldBackupKeyShare>;
19
30
  createUserKeychain(params: CreateKeychainParamsBase): Promise<Keychain>;
@@ -24,10 +35,11 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
24
35
  enterprise?: string | undefined;
25
36
  originalPasscodeEncryptionCode?: string | undefined;
26
37
  isThirdPartyBackup?: boolean;
27
- backupProvider?: BackupProvider;
38
+ webauthnInfo?: WebauthnKeyEncryptionInfo;
39
+ encryptionVersion?: EncryptionVersion;
28
40
  }): Promise<KeychainsTriplet>;
29
- signTxRequest(params: TSSParams): Promise<TxRequest>;
30
- signTxRequestForMessage(params: TSSParams): Promise<TxRequest>;
41
+ signTxRequest(params: TssSignTxRequestParamsWithPrv): Promise<TxRequest>;
42
+ signTxRequestForMessage(params: TSSParamsForMessage): Promise<TxRequest>;
31
43
  /**
32
44
  * Signs a transaction using TSS for EdDSA and through utilization of custom share generators
33
45
  *
@@ -36,28 +48,77 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
36
48
  * @param {CustomGShareGeneratingFunction} externalSignerGShareGenerator a function that creates G shares in the EdDSA TSS flow
37
49
  * @returns {Promise<TxRequest>} - a signed tx request
38
50
  */
39
- signUsingExternalSigner(txRequest: string | TxRequest, externalSignerRShareGenerator: CustomRShareGeneratingFunction, externalSignerGShareGenerator: CustomGShareGeneratingFunction): Promise<TxRequest>;
51
+ signEddsaTssUsingExternalSigner(txRequest: string | TxRequest, externalSignerCommitmentGenerator: CustomCommitmentGeneratingFunction, externalSignerRShareGenerator: CustomRShareGeneratingFunction, externalSignerGShareGenerator: CustomGShareGeneratingFunction): Promise<TxRequest>;
52
+ /**
53
+ * Signs a transaction using TSS for ECDSA and through utilization of custom share generators
54
+ *
55
+ * @param {params: TSSParams | TSSParamsForMessage} params - params object that represents parameters to sign a transaction or a message.
56
+ * @param {RequestType} requestType - the type of the request to sign (transaction or message).
57
+ * @param {CustomPaillierModulusGetterFunction} externalSignerPaillierModulusGetter a function that creates Paillier Modulus shares in the ECDSA TSS flow.
58
+ * @param {CustomKShareGeneratingFunction} externalSignerKShareGenerator a function that creates K shares in the ECDSA TSS flow.
59
+ * @param {CustomMuDeltaShareGeneratingFunction} externalSignerMuDeltaShareGenerator a function that creates Mu and Delta shares in the ECDSA TSS flow.
60
+ * @param {CustomSShareGeneratingFunction} externalSignerSShareGenerator a function that creates S shares in the ECDSA TSS flow.
61
+ */
62
+ signEcdsaTssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, requestType: RequestType, externalSignerPaillierModulusGetter: CustomPaillierModulusGetterFunction, externalSignerKShareGenerator: CustomKShareGeneratingFunction, externalSignerMuDeltaShareGenerator: CustomMuDeltaShareGeneratingFunction, externalSignerSShareGenerator: CustomSShareGeneratingFunction): Promise<TxRequest>;
63
+ /**
64
+ * Signs a transaction using TSS MPCv2 for ECDSA and through utilization of custom share generators
65
+ *
66
+ * @param {TSSParams | TSSParamsForMessage} params - params object that represents parameters to sign a transaction or a message.
67
+ * @param {CustomMPCv2SigningRound1GeneratingFunction} externalSignerMPCv2SigningRound1Generator - a function that creates MPCv2 Round 1 shares in the ECDSA TSS MPCv2 flow.
68
+ * @param {CustomMPCv2SigningRound2GeneratingFunction} externalSignerMPCv2SigningRound2Generator - a function that creates MPCv2 Round 2 shares in the ECDSA TSS MPCv2 flow.
69
+ * @param {CustomMPCv2SigningRound3GeneratingFunction} externalSignerMPCv2SigningRound3Generator - a function that creates MPCv2 Round 3 shares in the ECDSA TSS MPCv2 flow.
70
+ * @param {RequestType} requestType - the type of the request to sign (transaction or message).
71
+ * @returns {Promise<TxRequest>} - a signed tx request
72
+ */
73
+ signEcdsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerMPCv2SigningRound1Generator: CustomMPCv2SigningRound1GeneratingFunction, externalSignerMPCv2SigningRound2Generator: CustomMPCv2SigningRound2GeneratingFunction, externalSignerMPCv2SigningRound3Generator: CustomMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
74
+ signEddsaMPCv2TssUsingExternalSigner(params: TSSParams | TSSParamsForMessage, externalSignerEddsaMPCv2SigningRound1Generator: CustomEddsaMPCv2SigningRound1GeneratingFunction, externalSignerEddsaMPCv2SigningRound2Generator: CustomEddsaMPCv2SigningRound2GeneratingFunction, externalSignerEddsaMPCv2SigningRound3Generator: CustomEddsaMPCv2SigningRound3GeneratingFunction, requestType?: RequestType): Promise<TxRequest>;
75
+ /**
76
+ * Create an Commitment (User to BitGo) share from an unsigned transaction and private user signing material
77
+ * EDDSA only
78
+ *
79
+ * @param {Object} params - params object
80
+ * @param {TxRequest} params.txRequest - transaction request with unsigned transaction
81
+ * @param {string} params.prv - user signing material
82
+ * @param {string} params.walletPassphrase - wallet passphrase
83
+ *
84
+ * @returns {Promise<{ userToBitgoCommitment: CommitmentShareRecor, encryptedSignerShare: EncryptedSignerShareRecord }>} - Commitment Share and the Encrypted Signer Share to BitGo
85
+ */
86
+ createCommitmentShareFromTxRequest(params: {
87
+ txRequest: TxRequest;
88
+ prv: string;
89
+ walletPassphrase: string;
90
+ bitgoGpgPubKey: string;
91
+ }): Promise<{
92
+ userToBitgoCommitment: CommitmentShareRecord;
93
+ encryptedSignerShare: EncryptedSignerShareRecord;
94
+ encryptedUserToBitgoRShare: EncryptedSignerShareRecord;
95
+ }>;
40
96
  /**
41
97
  * Create an R (User to BitGo) share from an unsigned transaction and private user signing material
42
98
  *
43
- * @param {TxRequest} txRequest - transaction request with unsigned transaction
44
- * @param {string} prv - user signing material
45
- * @returns {Promise<{ rShare: SignShare; signingKeyYShare: YShare }>} - R Share and the Signing Key's Y share to BitGo
99
+ * @param {Object} params - params object
100
+ * @param {TxRequest} params.txRequest - transaction request with unsigned transaction
101
+ * @param {string} params.prv - user signing material
102
+ * @param {string} [params.walletPassphrase] - wallet passphrase
103
+ * @param {EncryptedSignerShareRecord} [params.encryptedUserToBitgoRShare] - encrypted user to bitgo R share generated in the commitment phase
104
+ * @returns {Promise<{ rShare: SignShare }>} - R Share to BitGo
46
105
  */
47
106
  createRShareFromTxRequest(params: {
48
107
  txRequest: TxRequest;
49
- prv: string;
108
+ walletPassphrase: string;
109
+ encryptedUserToBitgoRShare: EncryptedSignerShareRecord;
50
110
  }): Promise<{
51
111
  rShare: SignShare;
52
- signingKeyYShare: YShare;
53
112
  }>;
54
113
  /**
55
114
  * Create a G (User to BitGo) share from an unsigned transaction and private user signing material
56
115
  *
57
- * @param {TxRequest} txRequest - transaction request with unsigned transaction
58
- * @param {string} prv - user signing material
59
- * @param {SignatureShareRecord} bitgoToUserRShare - BitGo to User R Share
60
- * @param {SignShare} userToBitgoRShare - User to BitGo R Share
116
+ * @param {Object} params - params object
117
+ * @param {TxRequest} params.txRequest - transaction request with unsigned transaction
118
+ * @param {string} params.prv - user signing material
119
+ * @param {SignatureShareRecord} params.bitgoToUserRShare - BitGo to User R Share
120
+ * @param {SignShare} params.userToBitgoRShare - User to BitGo R Share
121
+ * @param {CommitmentShareRecord} params.bitgoToUserCommitment - BitGo to User Commitment
61
122
  * @returns {Promise<GShare>} - GShare from User to BitGo
62
123
  */
63
124
  createGShareFromTxRequest(params: {
@@ -65,6 +126,7 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
65
126
  prv: string;
66
127
  bitgoToUserRShare: SignatureShareRecord;
67
128
  userToBitgoRShare: SignShare;
129
+ bitgoToUserCommitment: CommitmentShareRecord;
68
130
  }): Promise<GShare>;
69
131
  /**
70
132
  * Builds a tx request from params and verify it
@@ -77,12 +139,20 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
77
139
  prebuildTxWithIntent(params: PrebuildTransactionWithIntentOptions, apiVersion?: TxRequestVersion, preview?: boolean): Promise<TxRequest>;
78
140
  /**
79
141
  * Create a tx request from params for message signing
142
+ * @deprecated Use createSignMessageRequest instead
80
143
  *
81
144
  * @param params
82
145
  * @param apiVersion
83
146
  * @param preview
84
147
  */
85
148
  createTxRequestWithIntentForMessageSigning(params: IntentOptionsForMessage, apiVersion?: TxRequestVersion, preview?: boolean): Promise<TxRequest>;
149
+ /**
150
+ * Create a sign message request
151
+ *
152
+ * @param params - the parameters for the sign message request
153
+ * @param apiVersion - the API version to use, defaults to 'full'
154
+ */
155
+ buildSignMessageRequest(params: IntentOptionsForMessage, apiVersion?: TxRequestVersion): Promise<TxRequest>;
86
156
  /**
87
157
  * Create a tx request from params for type data signing
88
158
  *
@@ -97,20 +167,28 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
97
167
  * @private
98
168
  */
99
169
  private createTxRequestBase;
170
+ /**
171
+ * Calls Bitgo API to create msg request.
172
+ *
173
+ * @private
174
+ */
175
+ private buildSignMessageRequestBase;
100
176
  /**
101
177
  * Call delete signature shares for a txRequest, the endpoint delete the signatures and return them
102
178
  *
103
179
  * @param {string} txRequestId tx id reference to delete signature shares
180
+ * @param {IRequestTracer} reqId - the request tracer request id
104
181
  * @returns {SignatureShareRecord[]}
105
182
  */
106
- deleteSignatureShares(txRequestId: string): Promise<SignatureShareRecord[]>;
183
+ deleteSignatureShares(txRequestId: string, reqId?: IRequestTracer): Promise<SignatureShareRecord[]>;
107
184
  /**
108
185
  * Initialize the send procedure once Bitgo has the User To Bitgo GShare
109
186
  *
110
187
  * @param {String} txRequestId - the txRequest Id
188
+ * @param {IRequestTracer} reqId - the request tracer request id
111
189
  * @returns {Promise<any>}
112
190
  */
113
- sendTxRequest(txRequestId: string): Promise<any>;
191
+ sendTxRequest(txRequestId: string, reqId?: IRequestTracer): Promise<any>;
114
192
  /**
115
193
  * Delete signature shares, get the tx request without them from the db and sign it to finally send it.
116
194
  *
@@ -126,19 +204,65 @@ export default class BaseTssUtils<KeyShare> extends MpcUtils implements ITssUtil
126
204
  * Gets the latest Tx Request by id
127
205
  *
128
206
  * @param {String} txRequestId - the txRequest Id
207
+ * @param {IRequestTracer} reqId - request tracer request id
129
208
  * @returns {Promise<TxRequest>}
130
209
  */
131
- getTxRequest(txRequestId: string): Promise<TxRequest>;
210
+ getTxRequest(txRequestId: string, reqId?: IRequestTracer): Promise<TxRequest>;
132
211
  /**
133
- * Checks whether the third party backup provider is valid/supported
134
- * @param backupProvider - the backup provider client selected
135
- */
136
- isValidThirdPartyBackupProvider(backupProvider: BackupProvider | string | undefined): backupProvider is BackupProvider;
137
- /**
138
- * It gets the appropriate BitGo GPG public key for key creation based on a
212
+ * It gets the appropriate BitGo GPG public keys for key creation based on a
139
213
  * combination of coin and the feature flags on the user and their enterprise if set.
214
+ * Returns the default MPCv2 key, the EdDSA-specific MPCv2 key, and the RedPallas-specific
215
+ * MPCv2 key (each if present).
140
216
  * @param enterpriseId - enterprise under which user wants to create the wallet
217
+ * @param isMPCv2 - true to get the MPCv2 GPG public key, defaults to false
218
+ * @param reqId - request tracer request id
219
+ */
220
+ getBitgoGpgPubkeyBasedOnFeatureFlags(enterpriseId: string | undefined, isMPCv2?: boolean, reqId?: IRequestTracer): Promise<{
221
+ mpcv2PublicKey: Key;
222
+ eddsaMpcv2PublicKey: Key | undefined;
223
+ redpallasMpcv2PublicKey: Key | undefined;
224
+ }>;
225
+ /**
226
+ * Returns supported TxRequest versions for this wallet
227
+ * @deprecated Whenever needed, use apiVersion 'full' for TSS wallets
228
+ */
229
+ supportedTxRequestVersions(): TxRequestVersion[];
230
+ /**
231
+ * Returns true if the txRequest is using apiVersion == full and is pending approval
232
+ * @param txRequest
233
+ * @returns boolean
234
+ */
235
+ isPendingApprovalTxRequestFull(txRequest: TxRequest): boolean;
236
+ /**
237
+ * Get the signable hex, derivation path, and serialized tx hex from a full single-transaction request.
238
+ * @param {TxRequest} txRequest - the transaction request object
239
+ * @returns {{ signableHex: string; derivationPath: string; serializedTxHex: string | undefined }} - the signable hex, derivation path, and serialized tx hex
240
+ */
241
+ protected getSignableHexAndDerivationPath(txRequest: TxRequest, missingTransactionsMessage?: string): {
242
+ signableHex: string;
243
+ derivationPath: string;
244
+ serializedTxHex: string | undefined;
245
+ };
246
+ /**
247
+ * Gets the BitGo and user GPG keys from the BitGo public GPG key and the encrypted user GPG private key.
248
+ * @param {string} bitgoPublicGpgKey - the BitGo public GPG key
249
+ * @param {string} encryptedUserGpgPrvKey - the encrypted user GPG private key
250
+ * @param {string} walletPassphrase - the wallet passphrase
251
+ * @param {string} adata - the additional data to validate the GPG keys
252
+ * @param {string} userGpgKeyDomainSeparator - the domain separator expected in the encrypted GPG key adata
253
+ * @returns {Promise<{ bitgoGpgKey: openpgp.Key; userGpgPrvKey: openpgp.PrivateKey }>} - the BitGo and user GPG keys
254
+ */
255
+ protected getBitgoAndUserGpgKeys(bitgoPublicGpgKey: string, encryptedUserGpgPrvKey: string, walletPassphrase: string, adata: string, userGpgKeyDomainSeparator: string): Promise<{
256
+ bitgoGpgKey: openpgp.Key;
257
+ userGpgPrvKey: openpgp.PrivateKey;
258
+ }>;
259
+ /**
260
+ * Validates encryption additional authenticated data against the ciphertext envelope.
261
+ * @param adata string
262
+ * @param cyphertext string
263
+ * @param roundDomainSeparator string
264
+ * @throws {Error} if the adata or cyphertext is invalid
141
265
  */
142
- getBitgoGpgPubkeyBasedOnFeatureFlags(enterpriseId: string | undefined): Promise<Key>;
266
+ protected validateAdata(adata: string, cyphertext: string, roundDomainSeparator: string): void;
143
267
  }
144
268
  //# sourceMappingURL=baseTSSUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseTSSUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/utils/tss/baseTSSUtils.ts"],"names":[],"mappings":"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"}