@bitgo/sdk-core 1.1.0-rc.0 → 1.1.0-rc.11

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 (331) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/dist/src/account-lib/baseCoin/enum.d.ts +3 -1
  3. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/enum.js +5 -1
  5. package/dist/src/account-lib/baseCoin/errors.d.ts +0 -6
  6. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  7. package/dist/src/account-lib/baseCoin/errors.js +2 -11
  8. package/dist/src/account-lib/baseCoin/iface.d.ts +2 -9
  9. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  10. package/dist/src/account-lib/baseCoin/iface.js +1 -1
  11. package/dist/src/account-lib/index.d.ts +1 -0
  12. package/dist/src/account-lib/index.d.ts.map +1 -1
  13. package/dist/src/account-lib/index.js +2 -1
  14. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +19 -0
  15. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
  16. package/dist/src/account-lib/mpc/curves/baseCurve.js +6 -0
  17. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +17 -0
  18. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
  19. package/dist/src/account-lib/mpc/curves/ed25519.js +57 -0
  20. package/dist/src/account-lib/mpc/curves/index.d.ts +6 -0
  21. package/dist/src/account-lib/mpc/curves/index.d.ts.map +1 -0
  22. package/dist/src/account-lib/mpc/curves/index.js +8 -0
  23. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts +17 -0
  24. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
  25. package/dist/src/account-lib/mpc/curves/secp256k1.js +70 -0
  26. package/dist/src/account-lib/mpc/hdTree.d.ts +24 -0
  27. package/dist/src/account-lib/mpc/hdTree.d.ts.map +1 -0
  28. package/dist/src/account-lib/mpc/hdTree.js +94 -0
  29. package/dist/src/account-lib/mpc/index.d.ts +8 -0
  30. package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
  31. package/dist/src/account-lib/mpc/index.js +23 -0
  32. package/dist/src/account-lib/mpc/shamir.d.ts +26 -0
  33. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
  34. package/dist/src/account-lib/mpc/shamir.js +86 -0
  35. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +25 -0
  36. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  37. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +121 -0
  38. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +4 -0
  39. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -0
  40. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +29 -0
  41. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +40 -0
  42. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -0
  43. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +3 -0
  44. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +29 -0
  45. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
  46. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +276 -0
  47. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts +4 -0
  48. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts.map +1 -0
  49. package/dist/src/account-lib/mpc/tss/eddsa/index.js +30 -0
  50. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +70 -0
  51. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -0
  52. package/dist/src/account-lib/mpc/tss/eddsa/types.js +3 -0
  53. package/dist/src/account-lib/mpc/tss/index.d.ts +6 -0
  54. package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -0
  55. package/dist/src/account-lib/mpc/tss/index.js +35 -0
  56. package/dist/src/account-lib/mpc/util.d.ts +8 -0
  57. package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
  58. package/dist/src/account-lib/mpc/util.js +42 -0
  59. package/dist/src/account-lib/util/crypto.js +3 -3
  60. package/dist/src/api/bip32path.d.ts +24 -0
  61. package/dist/src/api/bip32path.d.ts.map +1 -0
  62. package/dist/src/api/bip32path.js +45 -0
  63. package/dist/src/api/index.d.ts +3 -0
  64. package/dist/src/api/index.d.ts.map +1 -0
  65. package/dist/src/{v2 → api}/index.js +2 -2
  66. package/dist/src/api/types.d.ts +20 -0
  67. package/dist/src/api/types.d.ts.map +1 -0
  68. package/dist/src/api/types.js +3 -0
  69. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +230 -0
  70. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
  71. package/dist/src/bitgo/baseCoin/baseCoin.js +292 -0
  72. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +257 -0
  73. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
  74. package/dist/src/bitgo/baseCoin/iBaseCoin.js +3 -0
  75. package/dist/src/bitgo/baseCoin/index.d.ts +3 -0
  76. package/dist/src/bitgo/baseCoin/index.d.ts.map +1 -0
  77. package/dist/src/bitgo/baseCoin/index.js +15 -0
  78. package/dist/src/bitgo/bip32util.d.ts +17 -0
  79. package/dist/src/bitgo/bip32util.d.ts.map +1 -0
  80. package/dist/src/bitgo/bip32util.js +59 -0
  81. package/dist/src/bitgo/bitcoin.d.ts +16 -0
  82. package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
  83. package/dist/src/bitgo/bitcoin.js +52 -0
  84. package/dist/src/bitgo/bitgoBase.d.ts +22 -0
  85. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -0
  86. package/dist/src/bitgo/bitgoBase.js +3 -0
  87. package/dist/src/bitgo/coinFactory.d.ts +31 -0
  88. package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
  89. package/dist/src/bitgo/coinFactory.js +59 -0
  90. package/dist/src/bitgo/config.d.ts +8 -0
  91. package/dist/src/bitgo/config.d.ts.map +1 -0
  92. package/dist/src/bitgo/config.js +25 -0
  93. package/dist/src/bitgo/ecdh.d.ts +24 -0
  94. package/dist/src/bitgo/ecdh.d.ts.map +1 -0
  95. package/dist/src/bitgo/ecdh.js +80 -0
  96. package/dist/src/bitgo/enterprise/enterprise.d.ts +64 -0
  97. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
  98. package/dist/src/bitgo/enterprise/enterprise.js +120 -0
  99. package/dist/src/bitgo/enterprise/enterprises.d.ts +25 -0
  100. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
  101. package/dist/src/bitgo/enterprise/enterprises.js +70 -0
  102. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +15 -0
  103. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -0
  104. package/dist/src/bitgo/enterprise/iEnterprise.js +3 -0
  105. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +10 -0
  106. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -0
  107. package/dist/src/bitgo/enterprise/iEnterprises.js +3 -0
  108. package/dist/src/bitgo/enterprise/index.d.ts +5 -0
  109. package/dist/src/bitgo/enterprise/index.d.ts.map +1 -0
  110. package/dist/src/bitgo/enterprise/index.js +17 -0
  111. package/dist/src/{v2 → bitgo}/environments.d.ts +0 -0
  112. package/dist/src/bitgo/environments.d.ts.map +1 -0
  113. package/dist/src/bitgo/environments.js +142 -0
  114. package/dist/src/bitgo/errors.d.ts +83 -0
  115. package/dist/src/bitgo/errors.d.ts.map +1 -0
  116. package/dist/src/bitgo/errors.js +163 -0
  117. package/dist/src/bitgo/index.d.ts +26 -0
  118. package/dist/src/bitgo/index.d.ts.map +1 -0
  119. package/dist/src/bitgo/index.js +51 -0
  120. package/dist/src/bitgo/internal/index.d.ts +3 -0
  121. package/dist/src/bitgo/internal/index.d.ts.map +1 -0
  122. package/dist/src/bitgo/internal/index.js +15 -0
  123. package/dist/src/bitgo/internal/internal.d.ts +19 -0
  124. package/dist/src/bitgo/internal/internal.d.ts.map +1 -0
  125. package/dist/src/bitgo/internal/internal.js +33 -0
  126. package/dist/src/bitgo/internal/keycard.d.ts +33 -0
  127. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -0
  128. package/dist/src/bitgo/internal/keycard.js +304 -0
  129. package/dist/src/bitgo/keychain/iKeychains.d.ts +118 -0
  130. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -0
  131. package/dist/src/bitgo/keychain/iKeychains.js +10 -0
  132. package/dist/src/bitgo/keychain/index.d.ts +3 -0
  133. package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
  134. package/dist/src/bitgo/keychain/index.js +15 -0
  135. package/dist/src/bitgo/keychain/keychains.d.ts +90 -0
  136. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
  137. package/dist/src/bitgo/keychain/keychains.js +280 -0
  138. package/dist/src/bitgo/market/iMarkets.d.ts +12 -0
  139. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -0
  140. package/dist/src/bitgo/market/iMarkets.js +3 -0
  141. package/dist/src/bitgo/market/index.d.ts +3 -0
  142. package/dist/src/bitgo/market/index.d.ts.map +1 -0
  143. package/dist/src/bitgo/market/index.js +15 -0
  144. package/dist/src/bitgo/market/markets.d.ts +29 -0
  145. package/dist/src/bitgo/market/markets.d.ts.map +1 -0
  146. package/dist/src/bitgo/market/markets.js +70 -0
  147. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +73 -0
  148. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
  149. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +28 -0
  150. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts +16 -0
  151. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts.map +1 -0
  152. package/dist/src/bitgo/pendingApproval/iPendingApprovals.js +3 -0
  153. package/dist/src/bitgo/pendingApproval/index.d.ts +5 -0
  154. package/dist/src/bitgo/pendingApproval/index.d.ts.map +1 -0
  155. package/dist/src/bitgo/pendingApproval/index.js +17 -0
  156. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +99 -0
  157. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
  158. package/dist/src/bitgo/pendingApproval/pendingApproval.js +319 -0
  159. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts +19 -0
  160. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts.map +1 -0
  161. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +76 -0
  162. package/dist/src/bitgo/recovery/index.d.ts +2 -0
  163. package/dist/src/bitgo/recovery/index.d.ts.map +1 -0
  164. package/dist/src/bitgo/recovery/index.js +14 -0
  165. package/dist/src/bitgo/recovery/initiate.d.ts +49 -0
  166. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
  167. package/dist/src/bitgo/recovery/initiate.js +119 -0
  168. package/dist/src/bitgo/trading/affirmation.d.ts +35 -0
  169. package/dist/src/bitgo/trading/affirmation.d.ts.map +1 -0
  170. package/dist/src/bitgo/trading/affirmation.js +53 -0
  171. package/dist/src/bitgo/trading/affirmations.d.ts +23 -0
  172. package/dist/src/bitgo/trading/affirmations.d.ts.map +1 -0
  173. package/dist/src/bitgo/trading/affirmations.js +45 -0
  174. package/dist/src/bitgo/trading/iAffirmation.d.ts +15 -0
  175. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +1 -0
  176. package/dist/src/bitgo/trading/iAffirmation.js +13 -0
  177. package/dist/src/bitgo/trading/iAffirmations.d.ts +10 -0
  178. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +1 -0
  179. package/dist/src/bitgo/trading/iAffirmations.js +3 -0
  180. package/dist/src/bitgo/trading/iSettlement.d.ts +25 -0
  181. package/dist/src/bitgo/trading/iSettlement.d.ts.map +1 -0
  182. package/dist/src/bitgo/trading/iSettlement.js +17 -0
  183. package/dist/src/bitgo/trading/iSettlements.d.ts +19 -0
  184. package/dist/src/bitgo/trading/iSettlements.d.ts.map +1 -0
  185. package/dist/src/bitgo/trading/iSettlements.js +3 -0
  186. package/dist/src/bitgo/trading/iTradingAccount.d.ts +41 -0
  187. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -0
  188. package/dist/src/bitgo/trading/iTradingAccount.js +3 -0
  189. package/dist/src/bitgo/trading/iTradingPartner.d.ts +14 -0
  190. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +1 -0
  191. package/dist/src/bitgo/trading/iTradingPartner.js +17 -0
  192. package/dist/src/bitgo/trading/iTradingPartners.d.ts +15 -0
  193. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +1 -0
  194. package/dist/src/bitgo/trading/iTradingPartners.js +9 -0
  195. package/dist/src/bitgo/trading/index.d.ts +18 -0
  196. package/dist/src/bitgo/trading/index.d.ts.map +1 -0
  197. package/dist/src/bitgo/trading/index.js +30 -0
  198. package/dist/src/bitgo/trading/lock.d.ts +16 -0
  199. package/dist/src/bitgo/trading/lock.d.ts.map +1 -0
  200. package/dist/src/bitgo/trading/lock.js +12 -0
  201. package/dist/src/bitgo/trading/payload.d.ts +22 -0
  202. package/dist/src/bitgo/trading/payload.d.ts.map +1 -0
  203. package/dist/src/bitgo/trading/payload.js +3 -0
  204. package/dist/src/bitgo/trading/settlement.d.ts +16 -0
  205. package/dist/src/bitgo/trading/settlement.d.ts.map +1 -0
  206. package/dist/src/bitgo/trading/settlement.js +21 -0
  207. package/dist/src/bitgo/trading/settlements.d.ts +32 -0
  208. package/dist/src/bitgo/trading/settlements.d.ts.map +1 -0
  209. package/dist/src/bitgo/trading/settlements.js +61 -0
  210. package/dist/src/bitgo/trading/trade.d.ts +29 -0
  211. package/dist/src/bitgo/trading/trade.d.ts.map +1 -0
  212. package/dist/src/bitgo/trading/trade.js +11 -0
  213. package/dist/src/bitgo/trading/tradingAccount.d.ts +53 -0
  214. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
  215. package/dist/src/bitgo/trading/tradingAccount.js +127 -0
  216. package/dist/src/bitgo/trading/tradingPartner.d.ts +26 -0
  217. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +1 -0
  218. package/dist/src/bitgo/trading/tradingPartner.js +31 -0
  219. package/dist/src/bitgo/trading/tradingPartners.d.ts +24 -0
  220. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +1 -0
  221. package/dist/src/bitgo/trading/tradingPartners.js +32 -0
  222. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +35 -0
  223. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -0
  224. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +95 -0
  225. package/dist/src/bitgo/tss/ecdsa/index.d.ts +4 -0
  226. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -0
  227. package/dist/src/bitgo/tss/ecdsa/index.js +26 -0
  228. package/dist/src/bitgo/tss/ecdsa/types.d.ts +30 -0
  229. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -0
  230. package/dist/src/bitgo/tss/ecdsa/types.js +3 -0
  231. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +102 -0
  232. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
  233. package/dist/src/bitgo/tss/eddsa/eddsa.js +256 -0
  234. package/dist/src/bitgo/tss/eddsa/index.d.ts +6 -0
  235. package/dist/src/bitgo/tss/eddsa/index.d.ts.map +1 -0
  236. package/dist/src/bitgo/tss/eddsa/index.js +37 -0
  237. package/dist/src/bitgo/tss/eddsa/types.d.ts +23 -0
  238. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -0
  239. package/dist/src/bitgo/tss/eddsa/types.js +3 -0
  240. package/dist/src/bitgo/tss/index.d.ts +6 -0
  241. package/dist/src/bitgo/tss/index.d.ts.map +1 -0
  242. package/dist/src/bitgo/tss/index.js +42 -0
  243. package/dist/src/bitgo/tss/types.d.ts +6 -0
  244. package/dist/src/bitgo/tss/types.d.ts.map +1 -0
  245. package/dist/src/bitgo/tss/types.js +10 -0
  246. package/dist/src/bitgo/types.d.ts +4 -0
  247. package/dist/src/bitgo/types.d.ts.map +1 -0
  248. package/dist/src/bitgo/types.js +3 -0
  249. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +6 -0
  250. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  251. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +30 -0
  252. package/dist/src/bitgo/utils/blsUtils.d.ts +51 -0
  253. package/dist/src/bitgo/utils/blsUtils.d.ts.map +1 -0
  254. package/dist/src/bitgo/utils/blsUtils.js +166 -0
  255. package/dist/src/bitgo/utils/iBlsUtils.d.ts +14 -0
  256. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +1 -0
  257. package/dist/src/bitgo/utils/iBlsUtils.js +3 -0
  258. package/dist/src/bitgo/utils/index.d.ts +12 -0
  259. package/dist/src/bitgo/utils/index.d.ts.map +1 -0
  260. package/dist/src/bitgo/utils/index.js +37 -0
  261. package/dist/src/bitgo/utils/mpcUtils.d.ts +31 -0
  262. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
  263. package/dist/src/bitgo/utils/mpcUtils.js +55 -0
  264. package/dist/src/bitgo/utils/opengpgUtils.d.ts +51 -0
  265. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
  266. package/dist/src/bitgo/utils/opengpgUtils.js +136 -0
  267. package/dist/src/bitgo/utils/promise-utils.d.ts +5 -0
  268. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -0
  269. package/dist/src/bitgo/utils/promise-utils.js +12 -0
  270. package/dist/src/bitgo/utils/triple.d.ts +3 -0
  271. package/dist/src/bitgo/utils/triple.d.ts.map +1 -0
  272. package/dist/src/bitgo/utils/triple.js +8 -0
  273. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +117 -0
  274. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -0
  275. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +351 -0
  276. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  277. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -0
  278. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -0
  279. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +72 -0
  280. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -0
  281. package/dist/src/bitgo/utils/tss/eddsa/types.js +10 -0
  282. package/dist/src/bitgo/utils/tss/index.d.ts +4 -0
  283. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -0
  284. package/dist/src/bitgo/utils/tss/index.js +29 -0
  285. package/dist/src/bitgo/utils/util.d.ts +77 -0
  286. package/dist/src/bitgo/utils/util.d.ts.map +1 -0
  287. package/dist/src/bitgo/utils/util.js +198 -0
  288. package/dist/src/bitgo/wallet/iWallet.d.ts +510 -0
  289. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -0
  290. package/dist/src/bitgo/wallet/iWallet.js +3 -0
  291. package/dist/src/bitgo/wallet/iWallets.d.ts +105 -0
  292. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
  293. package/dist/src/bitgo/wallet/iWallets.js +3 -0
  294. package/dist/src/bitgo/wallet/index.d.ts +5 -0
  295. package/dist/src/bitgo/wallet/index.d.ts.map +1 -0
  296. package/dist/src/bitgo/wallet/index.js +17 -0
  297. package/dist/src/bitgo/wallet/wallet.d.ts +650 -0
  298. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
  299. package/dist/src/bitgo/wallet/wallet.js +2039 -0
  300. package/dist/src/bitgo/wallet/wallets.d.ts +134 -0
  301. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
  302. package/dist/src/bitgo/wallet/wallets.js +605 -0
  303. package/dist/src/bitgo/webhook/iWebhooks.d.ts +26 -0
  304. package/dist/src/bitgo/webhook/iWebhooks.d.ts.map +1 -0
  305. package/dist/src/bitgo/webhook/iWebhooks.js +3 -0
  306. package/dist/src/bitgo/webhook/index.d.ts +3 -0
  307. package/dist/src/bitgo/webhook/index.d.ts.map +1 -0
  308. package/dist/src/bitgo/webhook/index.js +15 -0
  309. package/dist/src/bitgo/webhook/webhooks.d.ts +43 -0
  310. package/dist/src/bitgo/webhook/webhooks.d.ts.map +1 -0
  311. package/dist/src/bitgo/webhook/webhooks.js +102 -0
  312. package/dist/src/{bigojsError.d.ts → bitgojsError.d.ts} +1 -1
  313. package/dist/src/bitgojsError.d.ts.map +1 -0
  314. package/dist/src/bitgojsError.js +11 -0
  315. package/dist/src/common.d.ts +1 -1
  316. package/dist/src/common.d.ts.map +1 -1
  317. package/dist/src/common.js +3 -3
  318. package/dist/src/index.d.ts +3 -2
  319. package/dist/src/index.d.ts.map +1 -1
  320. package/dist/src/index.js +5 -5
  321. package/dist/tsconfig.tsbuildinfo +3047 -624
  322. package/package.json +18 -5
  323. package/dist/src/bigojsError.d.ts.map +0 -1
  324. package/dist/src/bigojsError.js +0 -11
  325. package/dist/src/v2/environments.d.ts.map +0 -1
  326. package/dist/src/v2/environments.js +0 -142
  327. package/dist/src/v2/index.d.ts +0 -3
  328. package/dist/src/v2/index.d.ts.map +0 -1
  329. package/dist/src/v2/types.d.ts +0 -2
  330. package/dist/src/v2/types.d.ts.map +0 -1
  331. package/dist/src/v2/types.js +0 -3
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingPartner = void 0;
4
+ class TradingPartner {
5
+ constructor(tradingPartnerData, bitgo, enterpriseId, currentAccount) {
6
+ this.id = tradingPartnerData.id;
7
+ this.primaryEnterpriseName = tradingPartnerData.primaryEnterpriseName;
8
+ this.primaryAccountId = tradingPartnerData.primaryAccountId;
9
+ this.secondaryEnterpriseName = tradingPartnerData.secondaryEnterpriseName;
10
+ this.secondaryAccountId = tradingPartnerData.secondaryAccountId;
11
+ this.requesterAccountId = tradingPartnerData.requesterAccountId;
12
+ this.status = tradingPartnerData.status;
13
+ this.type = tradingPartnerData.type;
14
+ this.bitgo = bitgo;
15
+ this.enterpriseId = enterpriseId;
16
+ this.currentAccount = currentAccount;
17
+ }
18
+ /**
19
+ * Check if a trading partner has enough funds to cover the cost of a trade.
20
+ * @param currency the currency to check
21
+ * @param amount the amount of currency to check, represented in base units (such as cents, satoshi, or wei)
22
+ */
23
+ async checkBalance(currency, amount) {
24
+ const partnerAccountId = this.primaryAccountId === this.currentAccount.id ? this.secondaryAccountId : this.primaryAccountId;
25
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.currentAccount.id}/tradingpartners/${partnerAccountId}/balance`);
26
+ const response = (await this.bitgo.get(url).query({ currency, amount }).result());
27
+ return response.check;
28
+ }
29
+ }
30
+ exports.TradingPartner = TradingPartner;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkaW5nUGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFhLGNBQWM7SUFjekIsWUFBWSxrQkFBdUIsRUFBRSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsY0FBOEI7UUFDekcsSUFBSSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDckcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLG9CQUFvQixnQkFBZ0IsVUFBVSxDQUM5SCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFekYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQTdDRCx3Q0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVRyYWRpbmdQYXJ0bmVyLCBUcmFkaW5nQWNjb3VudCwgVHJhZGluZ1BhcnRuZXJTdGF0dXMsIFRyYWRpbmdQYXJ0bmVyVHlwZSB9IGZyb20gJy4uL3RyYWRpbmcnO1xuXG5leHBvcnQgY2xhc3MgVHJhZGluZ1BhcnRuZXIgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXIge1xuICBwcml2YXRlIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50OyAvLyBhY2NvdW50IG9mIHRoZSB1c2VyIHVzaW5nIHRoZSBTREssIG5lZWRlZCB0byBjb25zdHJ1Y3QgYmFsYW5jZSBjaGVjayBVUkxcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHByaW1hcnlFbnRlcnByaXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcHJpbWFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgc2Vjb25kYXJ5RW50ZXJwcmlzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHNlY29uZGFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWVzdGVyQWNjb3VudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXM6IFRyYWRpbmdQYXJ0bmVyU3RhdHVzO1xuICBwdWJsaWMgdHlwZTogVHJhZGluZ1BhcnRuZXJUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHRyYWRpbmdQYXJ0bmVyRGF0YTogYW55LCBiaXRnbzogQml0R29CYXNlLCBlbnRlcnByaXNlSWQ6IHN0cmluZywgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5pZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5pZDtcbiAgICB0aGlzLnByaW1hcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5wcmltYXJ5RW50ZXJwcmlzZU5hbWU7XG4gICAgdGhpcy5wcmltYXJ5QWNjb3VudElkID0gdHJhZGluZ1BhcnRuZXJEYXRhLnByaW1hcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZTtcbiAgICB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5yZXF1ZXN0ZXJBY2NvdW50SWQgPSB0cmFkaW5nUGFydG5lckRhdGEucmVxdWVzdGVyQWNjb3VudElkO1xuICAgIHRoaXMuc3RhdHVzID0gdHJhZGluZ1BhcnRuZXJEYXRhLnN0YXR1cztcbiAgICB0aGlzLnR5cGUgPSB0cmFkaW5nUGFydG5lckRhdGEudHlwZTtcblxuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gY3VycmVudEFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0cmFkaW5nIHBhcnRuZXIgaGFzIGVub3VnaCBmdW5kcyB0byBjb3ZlciB0aGUgY29zdCBvZiBhIHRyYWRlLlxuICAgKiBAcGFyYW0gY3VycmVuY3kgdGhlIGN1cnJlbmN5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBjdXJyZW5jeSB0byBjaGVjaywgcmVwcmVzZW50ZWQgaW4gYmFzZSB1bml0cyAoc3VjaCBhcyBjZW50cywgc2F0b3NoaSwgb3Igd2VpKVxuICAgKi9cbiAgYXN5bmMgY2hlY2tCYWxhbmNlKGN1cnJlbmN5OiBzdHJpbmcsIGFtb3VudDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFydG5lckFjY291bnRJZCA9XG4gICAgICB0aGlzLnByaW1hcnlBY2NvdW50SWQgPT09IHRoaXMuY3VycmVudEFjY291bnQuaWQgPyB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA6IHRoaXMucHJpbWFyeUFjY291bnRJZDtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmN1cnJlbnRBY2NvdW50LmlkfS90cmFkaW5ncGFydG5lcnMvJHtwYXJ0bmVyQWNjb3VudElkfS9iYWxhbmNlYFxuICAgICk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLmdldCh1cmwpLnF1ZXJ5KHsgY3VycmVuY3ksIGFtb3VudCB9KS5yZXN1bHQoKSkgYXMgYW55O1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmNoZWNrO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { BitGoBase } from '../bitgoBase';
5
+ import { ITradingPartners, TradingAccount, TradingPartner, TradingPartnerAddByCodeParameters } from '../trading';
6
+ export declare class TradingPartners implements ITradingPartners {
7
+ private bitgo;
8
+ private enterpriseId;
9
+ private account;
10
+ constructor(bitgo: BitGoBase, enterpriseId: string, account: TradingAccount);
11
+ /**
12
+ * List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
13
+ */
14
+ list(): Promise<TradingPartner[]>;
15
+ /**
16
+ * Add trading partner given the unique referralCode provided by trading partner.
17
+ * @param params
18
+ * @param params.referralCode unique referral code provided by counterparty
19
+ * @param params.type type of trading partnership
20
+ * @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
21
+ */
22
+ addByCode(params: TradingPartnerAddByCodeParameters): Promise<TradingPartner>;
23
+ }
24
+ //# sourceMappingURL=tradingPartners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingPartners.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingPartners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAEjH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,KAAK,CAAY;IAEzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAiB;gBAEpB,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAM3E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWvC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,cAAc,CAAC;CAMpF"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingPartners = void 0;
4
+ const trading_1 = require("../trading");
5
+ class TradingPartners {
6
+ constructor(bitgo, enterpriseId, account) {
7
+ this.bitgo = bitgo;
8
+ this.enterpriseId = enterpriseId;
9
+ this.account = account;
10
+ }
11
+ /**
12
+ * List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
13
+ */
14
+ async list() {
15
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
16
+ const response = (await this.bitgo.get(url).result());
17
+ return response.tradingPartners.map((partner) => new trading_1.TradingPartner(partner, this.bitgo, this.enterpriseId, this.account));
18
+ }
19
+ /**
20
+ * Add trading partner given the unique referralCode provided by trading partner.
21
+ * @param params
22
+ * @param params.referralCode unique referral code provided by counterparty
23
+ * @param params.type type of trading partnership
24
+ * @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
25
+ */
26
+ async addByCode(params) {
27
+ const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
28
+ return await this.bitgo.post(url).send(params).result();
29
+ }
30
+ }
31
+ exports.TradingPartners = TradingPartners;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3RyYWRpbmcvdHJhZGluZ1BhcnRuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHdDQUFpSDtBQUVqSCxNQUFhLGVBQWU7SUFNMUIsWUFBWSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsT0FBdUI7UUFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNyQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsa0JBQWtCLENBQzNGLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQVEsQ0FBQztRQUU3RCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNqQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBeUM7UUFDdkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGtCQUFrQixDQUMzRixDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF2Q0QsMENBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElUcmFkaW5nUGFydG5lcnMsIFRyYWRpbmdBY2NvdW50LCBUcmFkaW5nUGFydG5lciwgVHJhZGluZ1BhcnRuZXJBZGRCeUNvZGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi4vdHJhZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFkaW5nUGFydG5lcnMgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXJzIHtcbiAgcHJpdmF0ZSBiaXRnbzogQml0R29CYXNlO1xuXG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgYWNjb3VudDogVHJhZGluZ0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcsIGFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgdHJhZGluZyBwYXJ0bmVycyBvZiB5b3VyIHRyYWRpbmcgYWNjb3VudC4gWW91ciB0cmFkaW5nIHBhcnRuZXJzIGFyZSB0aGUgYWNjb3VudHMgeW91IGFyZSBhbGxvd2VkIHRvIHNldHRsZSB3aXRoLlxuICAgKi9cbiAgYXN5bmMgbGlzdCgpOiBQcm9taXNlPFRyYWRpbmdQYXJ0bmVyW10+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IHRoaXMuYml0Z28uZ2V0KHVybCkucmVzdWx0KCkpIGFzIGFueTtcblxuICAgIHJldHVybiByZXNwb25zZS50cmFkaW5nUGFydG5lcnMubWFwKFxuICAgICAgKHBhcnRuZXIpID0+IG5ldyBUcmFkaW5nUGFydG5lcihwYXJ0bmVyLCB0aGlzLmJpdGdvLCB0aGlzLmVudGVycHJpc2VJZCwgdGhpcy5hY2NvdW50KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRyYWRpbmcgcGFydG5lciBnaXZlbiB0aGUgdW5pcXVlIHJlZmVycmFsQ29kZSBwcm92aWRlZCBieSB0cmFkaW5nIHBhcnRuZXIuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5yZWZlcnJhbENvZGUgdW5pcXVlIHJlZmVycmFsIGNvZGUgcHJvdmlkZWQgYnkgY291bnRlcnBhcnR5XG4gICAqIEBwYXJhbSBwYXJhbXMudHlwZSB0eXBlIG9mIHRyYWRpbmcgcGFydG5lcnNoaXBcbiAgICogQHBhcmFtIHBhcmFtcy5yZXF1ZXN0ZXJTaWRlIHNpZGUgb2YgdGhlIHJlcXVlc3RlciAocHJpbWFyeSBvciBzZWNvbmRhcnkpIGltcG9ydGFudCBmb3IgYWdlbmN5IHJlbGF0aW9uc2hpcHNcbiAgICovXG4gIGFzeW5jIGFkZEJ5Q29kZShwYXJhbXM6IFRyYWRpbmdQYXJ0bmVyQWRkQnlDb2RlUGFyYW1ldGVycyk6IFByb21pc2U8VHJhZGluZ1BhcnRuZXI+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { ECDSA } from './../../../account-lib/mpc/tss';
2
+ import { DecryptableNShare, CombinedKey, EncryptedNShare } from './types';
3
+ declare type KeyShare = ECDSA.KeyShare;
4
+ /**
5
+ * Combines NShares to combine the final TSS key
6
+ * This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
7
+ *
8
+ * @param params.keyShare - TSS key share
9
+ * @param params.encryptedNShares - encrypted NShares with information on how to decrypt
10
+ * @param params.commonKeychain - expected common keychain of the combined key
11
+ * @returns {CombinedKey} combined TSS key
12
+ */
13
+ export declare function createCombinedKey(params: {
14
+ keyShare: KeyShare;
15
+ encryptedNShares: DecryptableNShare[];
16
+ commonKeychain: string;
17
+ }): Promise<CombinedKey>;
18
+ /**
19
+ * Prepares a NShare to be exchanged with other key holders.
20
+ * Output is in a format that is usable within BitGo's ecosystem.
21
+ *
22
+ * @param params.keyShare - TSS key share of the party preparing exchange materials
23
+ * @param params.recipientIndex - index of the recipient (1, 2, or 3)
24
+ * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
25
+ * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
26
+ * @returns { EncryptedNShare } encrypted Y Share
27
+ */
28
+ export declare function encryptNShare(params: {
29
+ keyShare: KeyShare;
30
+ recipientIndex: number;
31
+ recipientGpgPublicArmor: string;
32
+ senderGpgPrivateArmor: string;
33
+ }): Promise<EncryptedNShare>;
34
+ export {};
35
+ //# sourceMappingURL=ecdsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAI3F,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC/B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+DvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB3B"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encryptNShare = exports.createCombinedKey = void 0;
4
+ const tss_1 = require("./../../../account-lib/mpc/tss");
5
+ const utils_1 = require("./../../utils");
6
+ /**
7
+ * Combines NShares to combine the final TSS key
8
+ * This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
9
+ *
10
+ * @param params.keyShare - TSS key share
11
+ * @param params.encryptedNShares - encrypted NShares with information on how to decrypt
12
+ * @param params.commonKeychain - expected common keychain of the combined key
13
+ * @returns {CombinedKey} combined TSS key
14
+ */
15
+ async function createCombinedKey(params) {
16
+ const MPC = new tss_1.Ecdsa();
17
+ const { keyShare, encryptedNShares, commonKeychain } = params;
18
+ const nShares = [];
19
+ let bitgoNShare;
20
+ let userNShare;
21
+ let backupNShare;
22
+ for (const encryptedNShare of encryptedNShares) {
23
+ const privateShare = await utils_1.readSignedMessage(encryptedNShare.nShare.encryptedPrivateShare, encryptedNShare.senderPublicArmor, encryptedNShare.recipientPrivateArmor);
24
+ const nShare = {
25
+ i: encryptedNShare.nShare.i,
26
+ j: encryptedNShare.nShare.j,
27
+ y: encryptedNShare.nShare.publicShare,
28
+ u: privateShare,
29
+ n: encryptedNShare.nShare.n,
30
+ chaincode: encryptedNShare.nShare.chaincode,
31
+ };
32
+ switch (encryptedNShare.nShare.j) {
33
+ case 1:
34
+ userNShare = nShare;
35
+ break;
36
+ case 2:
37
+ backupNShare = nShare;
38
+ break;
39
+ case 3:
40
+ bitgoNShare = nShare;
41
+ break;
42
+ default:
43
+ throw new Error('Invalid NShare index');
44
+ }
45
+ nShares.push(nShare);
46
+ }
47
+ if (!bitgoNShare) {
48
+ throw new Error('Missing BitGo N Share');
49
+ }
50
+ const combinedKey = MPC.keyCombine(keyShare.pShare, nShares);
51
+ if (combinedKey.xShare.y + combinedKey.xShare.chaincode !== commonKeychain) {
52
+ throw new Error('Common keychains do not match');
53
+ }
54
+ const signingMaterial = {
55
+ pShare: keyShare.pShare,
56
+ bitgoNShare,
57
+ backupNShare,
58
+ userNShare,
59
+ };
60
+ return {
61
+ signingMaterial,
62
+ commonKeychain,
63
+ };
64
+ }
65
+ exports.createCombinedKey = createCombinedKey;
66
+ /**
67
+ * Prepares a NShare to be exchanged with other key holders.
68
+ * Output is in a format that is usable within BitGo's ecosystem.
69
+ *
70
+ * @param params.keyShare - TSS key share of the party preparing exchange materials
71
+ * @param params.recipientIndex - index of the recipient (1, 2, or 3)
72
+ * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
73
+ * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
74
+ * @returns { EncryptedNShare } encrypted Y Share
75
+ */
76
+ async function encryptNShare(params) {
77
+ const { keyShare, recipientIndex, recipientGpgPublicArmor, senderGpgPrivateArmor } = params;
78
+ const nShare = keyShare.nShares[recipientIndex];
79
+ if (!nShare) {
80
+ throw new Error('Invalid recipient');
81
+ }
82
+ const publicShare = keyShare.pShare.y;
83
+ const privateShare = nShare.u;
84
+ const encryptedPrivateShare = await utils_1.encryptAndSignText(privateShare, recipientGpgPublicArmor, senderGpgPrivateArmor);
85
+ return {
86
+ i: nShare.i,
87
+ j: nShare.j,
88
+ n: nShare.n,
89
+ publicShare,
90
+ encryptedPrivateShare,
91
+ chaincode: nShare.chaincode,
92
+ };
93
+ }
94
+ exports.encryptNShare = encryptNShare;
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2VjZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE4RDtBQUU5RCx5Q0FBc0U7QUFJdEU7Ozs7Ozs7O0dBUUc7QUFDSSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsTUFJdkM7SUFDQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO0lBRXhCLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlELE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUU3QixJQUFJLFdBQStCLENBQUM7SUFDcEMsSUFBSSxVQUE4QixDQUFDO0lBQ25DLElBQUksWUFBZ0MsQ0FBQztJQUVyQyxLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFO1FBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0seUJBQWlCLENBQzFDLGVBQWUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQzVDLGVBQWUsQ0FBQyxpQkFBaUIsRUFDakMsZUFBZSxDQUFDLHFCQUFxQixDQUN0QyxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQVc7WUFDckIsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDckMsQ0FBQyxFQUFFLFlBQVk7WUFDZixDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDNUMsQ0FBQztRQUVGLFFBQVEsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFDaEMsS0FBSyxDQUFDO2dCQUNKLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBQ3BCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osWUFBWSxHQUFHLE1BQU0sQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixXQUFXLEdBQUcsTUFBTSxDQUFDO2dCQUNyQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QjtJQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssY0FBYyxFQUFFO1FBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sZUFBZSxHQUFvQjtRQUN2QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsV0FBVztRQUNYLFlBQVk7UUFDWixVQUFVO0tBQ1gsQ0FBQztJQUVGLE9BQU87UUFDTCxlQUFlO1FBQ2YsY0FBYztLQUNmLENBQUM7QUFDSixDQUFDO0FBbkVELDhDQW1FQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQUMsTUFLbkM7SUFDQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU1RixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEM7SUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSwwQkFBa0IsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUVySCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ1gsV0FBVztRQUNYLHFCQUFxQjtRQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7S0FDNUIsQ0FBQztBQUNKLENBQUM7QUExQkQsc0NBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNEU0EsIEVjZHNhIH0gZnJvbSAnLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IERlY3J5cHRhYmxlTlNoYXJlLCBDb21iaW5lZEtleSwgU2lnbmluZ01hdGVyaWFsLCBFbmNyeXB0ZWROU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGVuY3J5cHRBbmRTaWduVGV4dCwgcmVhZFNpZ25lZE1lc3NhZ2UgfSBmcm9tICcuLy4uLy4uL3V0aWxzJztcblxudHlwZSBOU2hhcmUgPSBFQ0RTQS5OU2hhcmU7XG50eXBlIEtleVNoYXJlID0gRUNEU0EuS2V5U2hhcmU7XG4vKipcbiAqIENvbWJpbmVzIE5TaGFyZXMgdG8gY29tYmluZSB0aGUgZmluYWwgVFNTIGtleVxuICogVGhpcyBjYW4gb25seSBiZSB1c2VkIHRvIGNyZWF0ZSB0aGUgVXNlciBvciBCYWNrdXAga2V5IHNpbmNlIGl0IHJlcXVpcmVzIHRoZSBjb21tb24ga2V5Y2hhaW4gZnJvbSBCaXRHbyBmaXJzdFxuICpcbiAqIEBwYXJhbSBwYXJhbXMua2V5U2hhcmUgLSBUU1Mga2V5IHNoYXJlXG4gKiBAcGFyYW0gcGFyYW1zLmVuY3J5cHRlZE5TaGFyZXMgLSBlbmNyeXB0ZWQgTlNoYXJlcyB3aXRoIGluZm9ybWF0aW9uIG9uIGhvdyB0byBkZWNyeXB0XG4gKiBAcGFyYW0gcGFyYW1zLmNvbW1vbktleWNoYWluIC0gZXhwZWN0ZWQgY29tbW9uIGtleWNoYWluIG9mIHRoZSBjb21iaW5lZCBrZXlcbiAqIEByZXR1cm5zIHtDb21iaW5lZEtleX0gY29tYmluZWQgVFNTIGtleVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQ29tYmluZWRLZXkocGFyYW1zOiB7XG4gIGtleVNoYXJlOiBLZXlTaGFyZTtcbiAgZW5jcnlwdGVkTlNoYXJlczogRGVjcnlwdGFibGVOU2hhcmVbXTtcbiAgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbn0pOiBQcm9taXNlPENvbWJpbmVkS2V5PiB7XG4gIGNvbnN0IE1QQyA9IG5ldyBFY2RzYSgpO1xuXG4gIGNvbnN0IHsga2V5U2hhcmUsIGVuY3J5cHRlZE5TaGFyZXMsIGNvbW1vbktleWNoYWluIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG5TaGFyZXM6IE5TaGFyZVtdID0gW107XG5cbiAgbGV0IGJpdGdvTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCB1c2VyTlNoYXJlOiBOU2hhcmUgfCB1bmRlZmluZWQ7XG4gIGxldCBiYWNrdXBOU2hhcmU6IE5TaGFyZSB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGNvbnN0IGVuY3J5cHRlZE5TaGFyZSBvZiBlbmNyeXB0ZWROU2hhcmVzKSB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlID0gYXdhaXQgcmVhZFNpZ25lZE1lc3NhZ2UoXG4gICAgICBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5zZW5kZXJQdWJsaWNBcm1vcixcbiAgICAgIGVuY3J5cHRlZE5TaGFyZS5yZWNpcGllbnRQcml2YXRlQXJtb3JcbiAgICApO1xuXG4gICAgY29uc3QgblNoYXJlOiBOU2hhcmUgPSB7XG4gICAgICBpOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmksXG4gICAgICBqOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmosXG4gICAgICB5OiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgdTogcHJpdmF0ZVNoYXJlLFxuICAgICAgbjogZW5jcnlwdGVkTlNoYXJlLm5TaGFyZS5uLFxuICAgICAgY2hhaW5jb2RlOiBlbmNyeXB0ZWROU2hhcmUublNoYXJlLmNoYWluY29kZSxcbiAgICB9O1xuXG4gICAgc3dpdGNoIChlbmNyeXB0ZWROU2hhcmUublNoYXJlLmopIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdXNlck5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJhY2t1cE5TaGFyZSA9IG5TaGFyZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGJpdGdvTlNoYXJlID0gblNoYXJlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBOU2hhcmUgaW5kZXgnKTtcbiAgICB9XG5cbiAgICBuU2hhcmVzLnB1c2goblNoYXJlKTtcbiAgfVxuXG4gIGlmICghYml0Z29OU2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gTiBTaGFyZScpO1xuICB9XG5cbiAgY29uc3QgY29tYmluZWRLZXkgPSBNUEMua2V5Q29tYmluZShrZXlTaGFyZS5wU2hhcmUsIG5TaGFyZXMpO1xuICBpZiAoY29tYmluZWRLZXkueFNoYXJlLnkgKyBjb21iaW5lZEtleS54U2hhcmUuY2hhaW5jb2RlICE9PSBjb21tb25LZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgfVxuXG4gIGNvbnN0IHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0ge1xuICAgIHBTaGFyZToga2V5U2hhcmUucFNoYXJlLFxuICAgIGJpdGdvTlNoYXJlLFxuICAgIGJhY2t1cE5TaGFyZSxcbiAgICB1c2VyTlNoYXJlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2lnbmluZ01hdGVyaWFsLFxuICAgIGNvbW1vbktleWNoYWluLFxuICB9O1xufVxuXG4vKipcbiAqIFByZXBhcmVzIGEgTlNoYXJlIHRvIGJlIGV4Y2hhbmdlZCB3aXRoIG90aGVyIGtleSBob2xkZXJzLlxuICogT3V0cHV0IGlzIGluIGEgZm9ybWF0IHRoYXQgaXMgdXNhYmxlIHdpdGhpbiBCaXRHbydzIGVjb3N5c3RlbS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zLmtleVNoYXJlIC0gVFNTIGtleSBzaGFyZSBvZiB0aGUgcGFydHkgcHJlcGFyaW5nIGV4Y2hhbmdlIG1hdGVyaWFsc1xuICogQHBhcmFtIHBhcmFtcy5yZWNpcGllbnRJbmRleCAtIGluZGV4IG9mIHRoZSByZWNpcGllbnQgKDEsIDIsIG9yIDMpXG4gKiBAcGFyYW0gcGFyYW1zLnJlY2lwaWVudEdwZ1B1YmxpY0FybW9yIC0gcmVjaXBpZW50J3MgcHVibGljIGdwZyBrZXkgaW4gYXJtb3IgZm9ybWF0XG4gKiBAcGFyYW0gcGFyYW1zLnNlbmRlckdwZ1ByaXZhdGVBcm1vciAtIHNlbmRlcidzIHByaXZhdGUgZ3BnIGtleSBpbiBhcm1vciBmb3JtYXRcbiAqIEByZXR1cm5zIHsgRW5jcnlwdGVkTlNoYXJlIH0gZW5jcnlwdGVkIFkgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHROU2hhcmUocGFyYW1zOiB7XG4gIGtleVNoYXJlOiBLZXlTaGFyZTtcbiAgcmVjaXBpZW50SW5kZXg6IG51bWJlcjtcbiAgcmVjaXBpZW50R3BnUHVibGljQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyR3BnUHJpdmF0ZUFybW9yOiBzdHJpbmc7XG59KTogUHJvbWlzZTxFbmNyeXB0ZWROU2hhcmU+IHtcbiAgY29uc3QgeyBrZXlTaGFyZSwgcmVjaXBpZW50SW5kZXgsIHJlY2lwaWVudEdwZ1B1YmxpY0FybW9yLCBzZW5kZXJHcGdQcml2YXRlQXJtb3IgfSA9IHBhcmFtcztcblxuICBjb25zdCBuU2hhcmUgPSBrZXlTaGFyZS5uU2hhcmVzW3JlY2lwaWVudEluZGV4XTtcbiAgaWYgKCFuU2hhcmUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVjaXBpZW50Jyk7XG4gIH1cblxuICBjb25zdCBwdWJsaWNTaGFyZSA9IGtleVNoYXJlLnBTaGFyZS55O1xuICBjb25zdCBwcml2YXRlU2hhcmUgPSBuU2hhcmUudTtcblxuICBjb25zdCBlbmNyeXB0ZWRQcml2YXRlU2hhcmUgPSBhd2FpdCBlbmNyeXB0QW5kU2lnblRleHQocHJpdmF0ZVNoYXJlLCByZWNpcGllbnRHcGdQdWJsaWNBcm1vciwgc2VuZGVyR3BnUHJpdmF0ZUFybW9yKTtcblxuICByZXR1cm4ge1xuICAgIGk6IG5TaGFyZS5pLFxuICAgIGo6IG5TaGFyZS5qLFxuICAgIG46IG5TaGFyZS5uLFxuICAgIHB1YmxpY1NoYXJlLFxuICAgIGVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICBjaGFpbmNvZGU6IG5TaGFyZS5jaGFpbmNvZGUsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import * as ECDSAMethods from './ecdsa';
2
+ export * as ECDSAMethodTypes from './types';
3
+ export default ECDSAMethods;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,gBAAgB,MAAM,SAAS,CAAC;AAE5C,eAAe,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.ECDSAMethodTypes = void 0;
23
+ const ECDSAMethods = __importStar(require("./ecdsa"));
24
+ exports.ECDSAMethodTypes = __importStar(require("./types"));
25
+ exports.default = ECDSAMethods;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFFeEMsNERBQTRDO0FBRTVDLGtCQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEVDRFNBTWV0aG9kcyBmcm9tICcuL2VjZHNhJztcblxuZXhwb3J0ICogYXMgRUNEU0FNZXRob2RUeXBlcyBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgRUNEU0FNZXRob2RzO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { ECDSA } from './../../../account-lib/mpc/tss';
2
+ export declare type EncryptedNShare = {
3
+ i: number;
4
+ j: number;
5
+ n: string;
6
+ publicShare: string;
7
+ encryptedPrivateShare: string;
8
+ chaincode: string;
9
+ };
10
+ export declare type DecryptableNShare = {
11
+ nShare: EncryptedNShare;
12
+ recipientPrivateArmor: string;
13
+ senderPublicArmor: string;
14
+ };
15
+ export declare type CombinedKey = {
16
+ commonKeychain: string;
17
+ signingMaterial: SigningMaterial;
18
+ };
19
+ export declare type SigningMaterial = {
20
+ pShare: ECDSA.PShare;
21
+ bitgoNShare: ECDSA.NShare;
22
+ backupNShare?: ECDSA.NShare;
23
+ userNShare?: ECDSA.NShare;
24
+ };
25
+ export declare type CreateCombinedKeyParams = {
26
+ keyShare: ECDSA.KeyShare;
27
+ encryptedNShares: DecryptableNShare[];
28
+ commonKeychain: string;
29
+ };
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,oBAAY,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,oBAAY,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAGF,oBAAY,eAAe,GAAG;IAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0RTQSB9IGZyb20gJy4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5cbi8vIE5TaGFyZSB0aGF0IGhhcyBiZWVuIGVuY3J5cHRlZCBhbmQgc2lnbmVkIHZpYSBHUEdcbmV4cG9ydCB0eXBlIEVuY3J5cHRlZE5TaGFyZSA9IHtcbiAgaTogbnVtYmVyO1xuICBqOiBudW1iZXI7XG4gIG46IHN0cmluZztcbiAgcHVibGljU2hhcmU6IHN0cmluZztcbiAgLy8gc2lnbmVkIGFuZCBlbmNyeXB0ZWQgZ3BnIGFybW9yXG4gIGVuY3J5cHRlZFByaXZhdGVTaGFyZTogc3RyaW5nO1xuICBjaGFpbmNvZGU6IHN0cmluZztcbn07XG5cbi8vIE5TaGFyZSB3aXRoIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZWNyeXB0IGFuZCB2ZXJpZnkgYSBHUEcgbWVzYXNnZVxuZXhwb3J0IHR5cGUgRGVjcnlwdGFibGVOU2hhcmUgPSB7XG4gIG5TaGFyZTogRW5jcnlwdGVkTlNoYXJlO1xuICByZWNpcGllbnRQcml2YXRlQXJtb3I6IHN0cmluZztcbiAgc2VuZGVyUHVibGljQXJtb3I6IHN0cmluZztcbn07XG5cbi8vIEZpbmFsIFRTUyBcIktleXBhaXJcIlxuZXhwb3J0IHR5cGUgQ29tYmluZWRLZXkgPSB7XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG4gIHNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsO1xufTtcblxuLy8gUHJpdmF0ZSBwb3J0aW9uIG9mIGEgVFNTIGtleSwgdGhpcyBtdXN0IGJlIGhhbmRsZWQgbGlrZSBhbnkgb3RoZXIgcHJpdmF0ZSBrZXlcbmV4cG9ydCB0eXBlIFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgcFNoYXJlOiBFQ0RTQS5QU2hhcmU7XG4gIGJpdGdvTlNoYXJlOiBFQ0RTQS5OU2hhcmU7XG4gIGJhY2t1cE5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbiAgdXNlck5TaGFyZT86IEVDRFNBLk5TaGFyZTtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbWJpbmVkS2V5UGFyYW1zID0ge1xuICBrZXlTaGFyZTogRUNEU0EuS2V5U2hhcmU7XG4gIGVuY3J5cHRlZE5TaGFyZXM6IERlY3J5cHRhYmxlTlNoYXJlW107XG4gIGNvbW1vbktleWNoYWluOiBzdHJpbmc7XG59O1xuIl19
@@ -0,0 +1,102 @@
1
+ /// <reference types="node" />
2
+ import { GShare, KeyShare, PShare, SignShare, YShare } from './../../../account-lib/mpc/tss';
3
+ import { BitGoBase } from './../../bitgoBase';
4
+ import { DecryptableYShare, CombinedKey, EncryptedYShare } from './types';
5
+ import { SignatureShareRecord, TxRequest } from './../../utils';
6
+ /**
7
+ * Combines YShares to combine the final TSS key
8
+ * This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
9
+ *
10
+ * @param params.keyShare - TSS key share
11
+ * @param params.encryptedYShares - encrypted YShares with information on how to decrypt
12
+ * @param params.commonKeychain - expected common keychain of the combined key
13
+ * @returns {CombinedKey} combined TSS key
14
+ */
15
+ export declare function createCombinedKey(params: {
16
+ keyShare: KeyShare;
17
+ encryptedYShares: DecryptableYShare[];
18
+ commonKeychain: string;
19
+ }): Promise<CombinedKey>;
20
+ /**
21
+ * Creates the User Sign Share containing the User XShare and the User to Bitgo RShare
22
+ *
23
+ * @param {Buffer} signablePayload - the signablePayload as a buffer
24
+ * @param {PShare} pShare - User's signing material
25
+ * @returns {Promise<SignShare>} - User Sign Share
26
+ */
27
+ export declare function createUserSignShare(signablePayload: Buffer, pShare: PShare): Promise<SignShare>;
28
+ /**
29
+ * Creates the User to Bitgo GShare
30
+ *
31
+ * @param {SignShare} userSignShare - the User Sign Share
32
+ * @param {SignatureShareRecord} bitgoToUserRShare - the Bitgo to User RShare
33
+ * @param {YShare} backupToUserYShare - the backup key Y share received during wallet creation
34
+ * @param {Buffer} signablePayload - the signable payload from a tx
35
+ * @returns {Promise<GShare>} - the User to Bitgo GShare
36
+ */
37
+ export declare function createUserToBitGoGShare(userSignShare: SignShare, bitgoToUserRShare: SignatureShareRecord, backupToUserYShare: YShare, bitgoToUserYShare: YShare, signablePayload: Buffer): Promise<GShare>;
38
+ /**
39
+ * Sends the User to Bitgo RShare to Bitgo
40
+ * @param {BitGoBase} bitgo - the bitgo instance
41
+ * @param {String} walletId - the wallet id
42
+ * @param {String} txRequestId - the txRequest Id
43
+ * @param {SignShare} userSignShare - the user Sign Share
44
+ * @param {String} encryptedSignerShare - signer share encrypted to bitgo key
45
+ * @returns {Promise<void>}
46
+ */
47
+ export declare function offerUserToBitgoRShare(bitgo: BitGoBase, walletId: string, txRequestId: string, userSignShare: SignShare, encryptedSignerShare: string): Promise<void>;
48
+ /**
49
+ * Gets the Bitgo to User RShare from Bitgo
50
+ *
51
+ * @param {BitGoBase} bitgo - the bitgo instance
52
+ * @param {String} walletId - the wallet id
53
+ * @param {String} txRequestId - the txRequest Id
54
+ * @returns {Promise<SignatureShareRecord>} - a Signature Share
55
+ */
56
+ export declare function getBitgoToUserRShare(bitgo: BitGoBase, walletId: string, txRequestId: string): Promise<SignatureShareRecord>;
57
+ /**
58
+ * Sends the User to Bitgo GShare to Bitgo
59
+ *
60
+ * @param {BitGoBase} bitgo - the bitgo instance
61
+ * @param {String} walletId - the wallet id
62
+ * @param {String} txRequestId - the txRequest Id
63
+ * @param {GShare} userToBitgoGShare - the User to Bitgo GShare
64
+ * @returns {Promise<void>}
65
+ */
66
+ export declare function sendUserToBitgoGShare(bitgo: BitGoBase, walletId: string, txRequestId: string, userToBitgoGShare: GShare): Promise<void>;
67
+ /**
68
+ * Gets the latest Tx Request by id
69
+ *
70
+ * @param {BitGoBase} bitgo - the bitgo instance
71
+ * @param {String} walletId - the wallet id
72
+ * @param {String} txRequestId - the txRequest Id
73
+ * @returns {Promise<TxRequest>}
74
+ */
75
+ export declare function getTxRequest(bitgo: BitGoBase, walletId: string, txRequestId: string): Promise<TxRequest>;
76
+ /**
77
+ * Sends a Signature Share
78
+ *
79
+ * @param {BitGoBase} bitgo - the bitgo instance
80
+ * @param {String} walletId - the wallet id *
81
+ * @param {String} txRequestId - the txRequest Id
82
+ * @param {SignatureShareRecord} signatureShare - a Signature Share
83
+ * @returns {Promise<SignatureShareRecord>} - a Signature Share
84
+ */
85
+ export declare function sendSignatureShare(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShare: SignatureShareRecord, signerShare?: string): Promise<SignatureShareRecord>;
86
+ /**
87
+ * Prepares a YShare to be exchanged with other key holders.
88
+ * Output is in a format that is usable within BitGo's ecosystem.
89
+ *
90
+ * @param params.keyShare - TSS key share of the party preparing exchange materials
91
+ * @param params.recipientIndex - index of the recipient (1, 2, or 3)
92
+ * @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
93
+ * @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
94
+ * @returns { EncryptedYShare } encrypted Y Share
95
+ */
96
+ export declare function encryptYShare(params: {
97
+ keyShare: KeyShare;
98
+ recipientIndex: number;
99
+ recipientGpgPublicArmor: string;
100
+ senderGpgPrivateArmor: string;
101
+ }): Promise<EncryptedYShare>;
102
+ //# sourceMappingURL=eddsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/eddsa/eddsa.ts"],"names":[],"mappings":";AAAA,OAAc,EAAE,MAAM,EAAU,QAAQ,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAGL,oBAAoB,EAEpB,SAAS,EACV,MAAM,eAAe,CAAC;AAGvB;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8DvB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQrG;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,SAAS,EACxB,iBAAiB,EAAE,oBAAoB,EACvC,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,SAAS,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAW9G;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,oBAAoB,EACpC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAQ/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAyB3B"}