@bitgo-beta/sdk-core 8.2.1-beta.111 → 8.2.1-beta.1111

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 (519) hide show
  1. package/CHANGELOG.md +2779 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  10. package/dist/src/account-lib/baseCoin/enum.d.ts +17 -3
  11. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/enum.js +32 -7
  13. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  14. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  16. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  17. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  19. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  20. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  21. package/dist/src/account-lib/baseCoin/index.js +8 -5
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  45. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  48. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  49. package/dist/src/account-lib/index.js +23 -9
  50. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  51. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  52. package/dist/src/account-lib/mpc/index.js +6 -2
  53. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -8
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  55. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +493 -344
  56. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  57. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  59. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  60. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  62. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  63. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  66. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  67. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  69. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  70. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  71. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  72. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  73. package/dist/src/account-lib/mpc/util.js +19 -1
  74. package/dist/src/account-lib/staking/index.js +6 -2
  75. package/dist/src/account-lib/staking/utils.js +3 -3
  76. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  77. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  78. package/dist/src/account-lib/util/crypto.js +69 -38
  79. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  80. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  81. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  82. package/dist/src/api/bip32path.js +2 -3
  83. package/dist/src/api/index.js +6 -2
  84. package/dist/src/api/types.d.ts +8 -0
  85. package/dist/src/api/types.d.ts.map +1 -1
  86. package/dist/src/api/types.js +1 -1
  87. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  88. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  89. package/dist/src/bitgo/address-book/address-book.js +139 -0
  90. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  91. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  92. package/dist/src/bitgo/address-book/index.js +19 -0
  93. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  94. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  95. package/dist/src/bitgo/address-book/types.js +3 -0
  96. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +90 -10
  97. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  98. package/dist/src/bitgo/baseCoin/baseCoin.js +142 -16
  99. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +113 -19
  100. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  101. package/dist/src/bitgo/baseCoin/iBaseCoin.js +7 -3
  102. package/dist/src/bitgo/baseCoin/index.js +6 -2
  103. package/dist/src/bitgo/bip32util.d.ts +3 -16
  104. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  105. package/dist/src/bitgo/bip32util.js +4 -56
  106. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  107. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  108. package/dist/src/bitgo/bitcoin.js +26 -13
  109. package/dist/src/bitgo/bitgoBase.d.ts +4 -1
  110. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  111. package/dist/src/bitgo/bitgoBase.js +1 -1
  112. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  113. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  114. package/dist/src/bitgo/coinFactory.js +26 -3
  115. package/dist/src/bitgo/config.d.ts +114 -20
  116. package/dist/src/bitgo/config.d.ts.map +1 -1
  117. package/dist/src/bitgo/config.js +26 -15
  118. package/dist/src/bitgo/ecdh.d.ts +0 -1
  119. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  120. package/dist/src/bitgo/ecdh.js +26 -13
  121. package/dist/src/bitgo/enterprise/enterprise.d.ts +3 -13
  122. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  123. package/dist/src/bitgo/enterprise/enterprise.js +39 -34
  124. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  125. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +2 -6
  126. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  127. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  128. package/dist/src/bitgo/enterprise/index.js +6 -2
  129. package/dist/src/bitgo/environments.d.ts +69 -5
  130. package/dist/src/bitgo/environments.d.ts.map +1 -1
  131. package/dist/src/bitgo/environments.js +183 -32
  132. package/dist/src/bitgo/errors.d.ts +9 -0
  133. package/dist/src/bitgo/errors.d.ts.map +1 -1
  134. package/dist/src/bitgo/errors.js +20 -2
  135. package/dist/src/bitgo/index.d.ts +1 -1
  136. package/dist/src/bitgo/index.d.ts.map +1 -1
  137. package/dist/src/bitgo/index.js +26 -11
  138. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  139. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  140. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  141. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  142. package/dist/src/bitgo/internal/index.js +6 -2
  143. package/dist/src/bitgo/internal/internal.js +5 -6
  144. package/dist/src/bitgo/internal/keycard.js +6 -7
  145. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  146. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  147. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  148. package/dist/src/bitgo/keychain/iKeychains.d.ts +58 -7
  149. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  150. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  151. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  152. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  153. package/dist/src/bitgo/keychain/index.js +7 -2
  154. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  155. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  156. package/dist/src/bitgo/keychain/keychains.js +128 -37
  157. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  158. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  159. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  160. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  161. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  162. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  163. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  164. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  165. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  166. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  167. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  168. package/dist/src/bitgo/market/index.js +6 -2
  169. package/dist/src/bitgo/market/markets.js +23 -9
  170. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  171. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  172. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  173. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  174. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  175. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  176. package/dist/src/bitgo/pendingApproval/pendingApproval.js +221 -107
  177. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  178. package/dist/src/bitgo/recovery/index.js +6 -2
  179. package/dist/src/bitgo/recovery/initiate.d.ts +8 -1
  180. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  181. package/dist/src/bitgo/recovery/initiate.js +14 -8
  182. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  183. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  184. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  185. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  186. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  187. package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
  188. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  189. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  190. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  191. package/dist/src/bitgo/staking/iStakingWallet.d.ts +121 -4
  192. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  193. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  194. package/dist/src/bitgo/staking/index.d.ts +3 -0
  195. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  196. package/dist/src/bitgo/staking/index.js +9 -2
  197. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  198. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  199. package/dist/src/bitgo/staking/stakingWallet.js +45 -4
  200. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  201. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  202. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  203. package/dist/src/bitgo/trading/index.d.ts +1 -15
  204. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  205. package/dist/src/bitgo/trading/index.js +7 -17
  206. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  207. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  208. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  209. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  210. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  211. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  212. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  213. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  214. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  215. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  216. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  217. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  218. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  219. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  220. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  221. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  222. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  223. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  224. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  225. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  226. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  227. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  228. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  229. package/dist/src/bitgo/trading/network/index.js +21 -0
  230. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  231. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  232. package/dist/src/bitgo/trading/network/network.js +101 -0
  233. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  234. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  235. package/dist/src/bitgo/trading/network/types.js +3 -0
  236. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  237. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  238. package/dist/src/bitgo/trading/network/utils.js +54 -0
  239. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  240. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  241. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  242. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  243. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  244. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  245. package/dist/src/bitgo/tss/common.d.ts +37 -5
  246. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  247. package/dist/src/bitgo/tss/common.js +103 -17
  248. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  249. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  250. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  251. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  252. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  253. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  254. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  255. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  256. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  257. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  258. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  259. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  260. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  261. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  262. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  263. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  264. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  265. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  266. package/dist/src/bitgo/tss/index.d.ts +3 -2
  267. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  268. package/dist/src/bitgo/tss/index.js +26 -10
  269. package/dist/src/bitgo/tss/types.d.ts +3 -3
  270. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  271. package/dist/src/bitgo/tss/types.js +2 -2
  272. package/dist/src/bitgo/types.d.ts +3 -3
  273. package/dist/src/bitgo/types.d.ts.map +1 -1
  274. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  275. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  276. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  277. package/dist/src/bitgo/utils/codecProps.js +24 -11
  278. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  279. package/dist/src/bitgo/utils/decode.js +30 -16
  280. package/dist/src/bitgo/utils/index.d.ts +3 -2
  281. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  282. package/dist/src/bitgo/utils/index.js +26 -11
  283. package/dist/src/bitgo/utils/messageTypes.d.ts +37 -0
  284. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  285. package/dist/src/bitgo/utils/messageTypes.js +14 -0
  286. package/dist/src/bitgo/utils/mpcUtils.d.ts +2 -3
  287. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  288. package/dist/src/bitgo/utils/mpcUtils.js +45 -13
  289. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  290. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  291. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  292. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -9
  293. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  294. package/dist/src/bitgo/utils/opengpgUtils.js +68 -64
  295. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  296. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  297. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  298. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  299. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  300. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  301. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  302. package/dist/src/bitgo/utils/triple.js +2 -3
  303. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +52 -14
  304. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  305. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +186 -44
  306. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +229 -35
  307. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  308. package/dist/src/bitgo/utils/tss/baseTypes.js +22 -20
  309. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  310. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  311. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  312. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  313. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  314. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  315. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +17 -50
  316. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  317. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +132 -238
  318. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  319. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  320. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  321. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  322. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  323. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  324. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  325. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  326. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  327. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  328. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  329. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  330. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  331. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  332. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  333. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +22 -8
  334. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  335. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +111 -60
  336. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  337. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  338. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  339. package/dist/src/bitgo/utils/tss/index.js +23 -9
  340. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  341. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  342. package/dist/src/bitgo/utils/txRequest.js +47 -0
  343. package/dist/src/bitgo/utils/util.js +24 -10
  344. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  345. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  346. package/dist/src/bitgo/utils/wallet.js +48 -0
  347. package/dist/src/bitgo/wallet/BuildParams.d.ts +11 -1
  348. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  349. package/dist/src/bitgo/wallet/BuildParams.js +34 -11
  350. package/dist/src/bitgo/wallet/iWallet.d.ts +216 -19
  351. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  352. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  353. package/dist/src/bitgo/wallet/iWallets.d.ts +91 -16
  354. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  355. package/dist/src/bitgo/wallet/iWallets.js +43 -3
  356. package/dist/src/bitgo/wallet/index.js +6 -2
  357. package/dist/src/bitgo/wallet/wallet.d.ts +198 -25
  358. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  359. package/dist/src/bitgo/wallet/wallet.js +989 -310
  360. package/dist/src/bitgo/wallet/wallets.d.ts +97 -9
  361. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  362. package/dist/src/bitgo/wallet/wallets.js +870 -193
  363. package/dist/src/bitgo/webhook/index.js +6 -2
  364. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  365. package/dist/src/coins/fiataed.d.ts +32 -0
  366. package/dist/src/coins/fiataed.d.ts.map +1 -0
  367. package/dist/src/coins/fiataed.js +61 -0
  368. package/dist/src/coins/fiateur.d.ts +3 -2
  369. package/dist/src/coins/fiateur.d.ts.map +1 -1
  370. package/dist/src/coins/fiateur.js +5 -1
  371. package/dist/src/coins/fiatgbp.d.ts +3 -2
  372. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  373. package/dist/src/coins/fiatgbp.js +5 -1
  374. package/dist/src/coins/fiatsgd.d.ts +32 -0
  375. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  376. package/dist/src/coins/fiatsgd.js +61 -0
  377. package/dist/src/coins/fiatusd.d.ts +3 -2
  378. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  379. package/dist/src/coins/fiatusd.js +5 -1
  380. package/dist/src/coins/index.d.ts +4 -0
  381. package/dist/src/coins/index.d.ts.map +1 -1
  382. package/dist/src/coins/index.js +10 -2
  383. package/dist/src/coins/ofc.d.ts +3 -2
  384. package/dist/src/coins/ofc.d.ts.map +1 -1
  385. package/dist/src/coins/ofc.js +6 -2
  386. package/dist/src/coins/ofcToken.js +2 -2
  387. package/dist/src/coins/susd.d.ts +3 -2
  388. package/dist/src/coins/susd.d.ts.map +1 -1
  389. package/dist/src/coins/susd.js +5 -1
  390. package/dist/src/coins/tfiataed.d.ts +11 -0
  391. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  392. package/dist/src/coins/tfiataed.js +17 -0
  393. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  394. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  395. package/dist/src/coins/tfiatsgd.js +17 -0
  396. package/dist/src/common.js +27 -13
  397. package/dist/src/index.d.ts +3 -2
  398. package/dist/src/index.d.ts.map +1 -1
  399. package/dist/src/index.js +26 -11
  400. package/dist/src/units.js +5 -6
  401. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  402. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  403. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  404. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  405. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  406. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  407. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  408. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  409. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  410. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  411. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  412. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  413. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  414. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  415. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  416. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  417. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  418. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  419. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  420. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  421. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  422. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  423. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  424. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  425. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  426. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  427. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  428. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  429. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  430. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  431. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  432. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  433. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  434. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  435. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  436. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  437. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  438. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +27 -18
  439. package/dist/test/unit/units.js +63 -63
  440. package/dist/tsconfig.tsbuildinfo +1 -1
  441. package/package.json +23 -20
  442. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  443. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  444. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  445. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  446. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  447. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  448. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  449. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  450. package/dist/src/bitgo/lightning/index.js +0 -17
  451. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  452. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  453. package/dist/src/bitgo/lightning/lightning.js +0 -111
  454. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  455. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  456. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  457. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  458. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  459. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  460. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  461. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  462. package/dist/src/bitgo/trading/affirmation.js +0 -53
  463. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  464. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  465. package/dist/src/bitgo/trading/affirmations.js +0 -45
  466. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  467. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  468. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  469. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  470. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  471. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  472. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  473. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  474. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  475. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  476. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  477. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  478. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  479. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  480. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  481. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  482. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  483. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  484. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  485. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  486. package/dist/src/bitgo/trading/lock.js +0 -12
  487. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  488. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  489. package/dist/src/bitgo/trading/payload.js +0 -3
  490. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  491. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  492. package/dist/src/bitgo/trading/settlement.js +0 -21
  493. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  494. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  495. package/dist/src/bitgo/trading/settlements.js +0 -61
  496. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  497. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  498. package/dist/src/bitgo/trading/trade.js +0 -11
  499. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  500. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  501. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  502. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  503. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  504. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  505. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  506. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  507. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  508. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  509. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  510. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  511. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +0 -92
  512. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +0 -1
  513. package/dist/src/bitgo/wallet/SendTransactionRequest.js +0 -41
  514. package/dist/src/openssl/index.d.ts +0 -5
  515. package/dist/src/openssl/index.d.ts.map +0 -1
  516. package/dist/src/openssl/index.js +0 -9
  517. package/dist/test/unit/openssl.d.ts +0 -2
  518. package/dist/test/unit/openssl.d.ts.map +0 -1
  519. package/dist/test/unit/openssl.js +0 -39
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-core",
3
- "version": "8.2.1-beta.111",
3
+ "version": "8.2.1-beta.1111",
4
4
  "description": "core library functions for BitGoJS",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -12,7 +12,8 @@
12
12
  "check-fmt": "prettier --check .",
13
13
  "clean": "rm -r ./dist",
14
14
  "lint": "eslint --quiet .",
15
- "prepare": "npm run build"
15
+ "prepare": "npm run build",
16
+ "test:watch": " mocha -r ts-node/register --watch --watch-files test/**/*.ts"
16
17
  },
17
18
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
18
19
  "license": "MIT",
@@ -36,42 +37,44 @@
36
37
  ]
37
38
  },
38
39
  "dependencies": {
39
- "@bitgo-beta/bls-dkg": "1.1.1-beta.350",
40
- "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.102",
41
- "@bitgo-beta/statics": "15.1.1-beta.113",
42
- "@bitgo-beta/utxo-lib": "8.0.3-beta.111",
43
- "@noble/secp256k1": "1.6.3",
40
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.1103",
41
+ "@bitgo-beta/secp256k1": "1.0.2-beta.1138",
42
+ "@bitgo-beta/sjcl": "1.0.2-beta.1350",
43
+ "@bitgo-beta/statics": "15.1.1-beta.1114",
44
+ "@bitgo-beta/utxo-core": "1.8.1-beta.228",
45
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.1112",
46
+ "@bitgo/public-types": "5.1.0",
47
+ "@noble/curves": "1.8.1",
44
48
  "@stablelib/hex": "^1.0.0",
45
- "@types/elliptic": "^6.4.12",
46
49
  "@types/superagent": "4.1.15",
47
- "bech32": "^2.0.0",
48
50
  "big.js": "^3.1.3",
49
51
  "bigint-crypto-utils": "3.1.4",
50
- "bignumber.js": "^9.0.0",
51
- "bitcoinjs-message": "^2.0.0",
52
- "bolt11": "^1.4.0",
52
+ "bignumber.js": "^9.1.1",
53
53
  "bs58": "^4.0.1",
54
54
  "create-hmac": "^1.1.7",
55
55
  "debug": "^3.1.0",
56
- "elliptic": "^6.5.2",
57
56
  "ethereumjs-util": "7.1.5",
58
57
  "fp-ts": "^2.12.2",
59
- "io-ts": "^2.2.17",
60
- "keccak": "3.0.2",
58
+ "io-ts": "npm:@bitgo-forks/io-ts@2.1.4",
59
+ "io-ts-types": "^0.5.16",
60
+ "keccak": "3.0.3",
61
61
  "libsodium-wrappers-sumo": "^0.7.9",
62
62
  "lodash": "^4.17.15",
63
63
  "noble-bls12-381": "0.7.2",
64
- "openpgp": "5.10.1",
64
+ "openpgp": "5.11.3",
65
65
  "paillier-bigint": "3.3.0",
66
- "secp256k1": "^4.0.2",
66
+ "secp256k1": "5.0.1",
67
67
  "strip-hex-prefix": "^1.0.0",
68
- "superagent": "^3.8.3",
69
- "tweetnacl": "^1.0.3"
68
+ "superagent": "^9.0.1",
69
+ "tweetnacl": "^1.0.3",
70
+ "uuid": "^8.3.2"
70
71
  },
71
72
  "devDependencies": {
73
+ "@bitgo-beta/sdk-opensslbytes": "1.0.0-beta.664",
72
74
  "@openpgp/web-stream-tools": "0.0.14",
75
+ "@types/keccak": "^3.0.5",
73
76
  "@types/lodash": "^4.14.151",
74
77
  "nyc": "^15.0.0"
75
78
  },
76
- "gitHead": "89649cd41711297e71d4b66e7e0c88cca1012ff8"
79
+ "gitHead": "6364a31ad4958118cc230e9cbdeb95ac556aad12"
77
80
  }
@@ -1,77 +0,0 @@
1
- /// <reference types="node" />
2
- import { BaseKeyPair } from './baseKeyPair';
3
- import { AddressFormat } from './enum';
4
- import { BlsKeys, KeyPairOptions } from './iface';
5
- /**
6
- * Base class for BLS keypairs.
7
- */
8
- export declare abstract class BlsKeyPair implements BaseKeyPair {
9
- protected keyPair: BlsKeys;
10
- /**
11
- * Public constructor. By default, creates a key pair with a random polynomial.
12
- *
13
- * @param {KeyPairOptions} source Either a dkg options, a public and secret shares, or a private key
14
- */
15
- protected constructor(source?: KeyPairOptions);
16
- createShares(threshold: number, participants: number): void;
17
- /**
18
- * Note - this is not possible using BLS. BLS does not support prvkey derived key gen
19
- *
20
- * @param {string[]} prv a hexadecimal private key
21
- */
22
- recordKeysFromPrivateKey(prv: string): void;
23
- /**
24
- * Note - this is not possible using BLS. BLS does not support pubkey derived key gen
25
- *
26
- * @param {string} pub - An extended, compressed, or uncompressed public key
27
- */
28
- recordKeysFromPublicKey(pub: string): void;
29
- getAddress(format?: AddressFormat): string;
30
- getKeys(): any;
31
- /**
32
- * Signs bytes using the key pair
33
- *
34
- * @param msg The message bytes to sign
35
- * @return signature of the bytes using this keypair
36
- */
37
- sign(msg: Buffer): Promise<string>;
38
- static keyDerive(seed: string, pk: string, chaincode: string, path: string): BlsKeys;
39
- /**
40
- * Aggregates the secret shares of different key pairs into one private key
41
- *
42
- * @param prvKeys an array of secret shares
43
- * @returns a private key
44
- */
45
- static aggregatePrvkeys(prvKeys: string[]): string;
46
- /**
47
- * Aggregates the public shares of different key pairs into a common public key
48
- *
49
- * @param pubKeys an array of public shares
50
- * @returns a common public key
51
- */
52
- static aggregatePubkeys(pubKeys: string[]): string;
53
- static aggregateChaincodes(chaincodeContributions: string[]): string;
54
- /**
55
- * Aggregates the message signed by different key pairs into one sign
56
- *
57
- * @param signatures the message signed by different key pairs. The signer id is relevant to ensure a valid signature.
58
- * @example <caption> E.g., the message is signed by user and wallet, then signatures would be:</caption>
59
- * {
60
- * 1: BigInt(messageSignedWithUserPrv),
61
- * 3: BigInt(messageSignedWithWalletPrv),
62
- * }
63
- * @returns a signature combining all the provided signed messages
64
- */
65
- static aggregateSignatures(signatures: {
66
- [n: number]: bigint;
67
- }): string;
68
- /**
69
- * Verifies the signature for this key pair
70
- * @param pub The public key with which to verify the signature
71
- * @param msg The message to verify the signature with
72
- * @param signature the signature to verify
73
- * @return true if the signature is valid, else false
74
- */
75
- static verifySignature(pub: string, msg: Buffer, signature: string): Promise<boolean>;
76
- }
77
- //# sourceMappingURL=blsKeyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blsKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/blsKeyPair.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAiC,MAAM,SAAS,CAAC;AAMjF;;GAEG;AACH,8BAAsB,UAAW,YAAW,WAAW;IACrD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,SAAS,aAAa,MAAM,CAAC,EAAE,cAAc;IAsB7C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAe3D;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1C,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAI1C,OAAO,IAAI,GAAG;IAId;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAQ1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAiB3F;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAWzD;;;;;OAKG;WACW,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;WAU3C,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,GAAG,MAAM;IAU3E;;;;;;;;;;OAUG;WACW,mBAAmB,CAAC,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAS9E;;;;;;OAMG;WACiB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAInG"}
@@ -1,209 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.BlsKeyPair = void 0;
26
- const assert_1 = __importDefault(require("assert"));
27
- const crypto_1 = require("crypto");
28
- const BLS = __importStar(require("@bitgo-beta/bls-dkg"));
29
- const errors_1 = require("./errors");
30
- const iface_1 = require("./iface");
31
- const crypto_2 = require("../util/crypto");
32
- const DEFAULT_SIGNATURE_THRESHOLD = 2;
33
- const DEFAULT_SIGNATURE_PARTICIPANTS = 3;
34
- /**
35
- * Base class for BLS keypairs.
36
- */
37
- class BlsKeyPair {
38
- /**
39
- * Public constructor. By default, creates a key pair with a random polynomial.
40
- *
41
- * @param {KeyPairOptions} source Either a dkg options, a public and secret shares, or a private key
42
- */
43
- constructor(source) {
44
- if (!source) {
45
- this.createShares(DEFAULT_SIGNATURE_THRESHOLD, DEFAULT_SIGNATURE_PARTICIPANTS);
46
- }
47
- else if (iface_1.isDkg(source)) {
48
- this.createShares(source.threshold, source.participants);
49
- }
50
- else if (iface_1.isBlsKey(source)) {
51
- assert_1.default(source.secretShares.every(crypto_2.isValidBLSPrivateKey), 'Invalid private keys');
52
- assert_1.default(crypto_2.isValidBLSPublicKey(source.publicShare), 'Invalid public key');
53
- this.keyPair = source;
54
- }
55
- else if (iface_1.isPrivateKey(source)) {
56
- this.keyPair = {
57
- prv: source.prv,
58
- publicShare: '',
59
- secretShares: [],
60
- seed: '',
61
- chaincode: '',
62
- };
63
- }
64
- else {
65
- throw new Error('Invalid key pair options');
66
- }
67
- }
68
- createShares(threshold, participants) {
69
- if (participants < threshold) {
70
- throw new Error('Participants should be greater than threshold');
71
- }
72
- const polynomial = BLS.generatePolynomial(threshold);
73
- const keySecretShares = BLS.secretShares(polynomial, participants);
74
- const keyPublicShare = BLS.publicShare(polynomial);
75
- this.keyPair = {
76
- seed: crypto_2.bigIntToHex(polynomial[0], 64),
77
- chaincode: crypto_1.randomBytes(32).toString('hex'),
78
- secretShares: keySecretShares.map((secretShare) => crypto_2.bigIntToHex(secretShare, 64)),
79
- publicShare: crypto_2.bigIntToHex(keyPublicShare),
80
- };
81
- }
82
- /**
83
- * Note - this is not possible using BLS. BLS does not support prvkey derived key gen
84
- *
85
- * @param {string[]} prv a hexadecimal private key
86
- */
87
- recordKeysFromPrivateKey(prv) {
88
- throw new errors_1.NotImplementedError('Private key derivation is not supported in bls');
89
- }
90
- /**
91
- * Note - this is not possible using BLS. BLS does not support pubkey derived key gen
92
- *
93
- * @param {string} pub - An extended, compressed, or uncompressed public key
94
- */
95
- recordKeysFromPublicKey(pub) {
96
- throw new errors_1.NotImplementedError('Public key derivation is not supported in bls');
97
- }
98
- getAddress(format) {
99
- throw new errors_1.NotImplementedError('getAddress not implemented');
100
- }
101
- getKeys() {
102
- throw new errors_1.NotImplementedError('getKeys not implemented');
103
- }
104
- /**
105
- * Signs bytes using the key pair
106
- *
107
- * @param msg The message bytes to sign
108
- * @return signature of the bytes using this keypair
109
- */
110
- async sign(msg) {
111
- if (this.keyPair.prv) {
112
- const signedMessage = await BLS.sign(msg, BigInt('0x' + this.keyPair.prv));
113
- return '0x' + crypto_2.bigIntToHex(signedMessage);
114
- }
115
- throw new Error('Missing private key');
116
- }
117
- static keyDerive(seed, pk, chaincode, path) {
118
- const seedBI = BigInt('0x' + seed);
119
- const pkBI = BigInt('0x' + pk);
120
- const chaincodeBI = BigInt('0x' + chaincode);
121
- const childKey = BLS.privateDerive(seedBI, pkBI, chaincodeBI, path);
122
- const childChaincode = crypto_2.bigIntToHex(childKey.chaincode);
123
- const entropy = BigInt('0x' + crypto_1.randomBytes(32).toString('hex'));
124
- const secretShares = BLS.secretShares([childKey.sk, entropy], DEFAULT_SIGNATURE_PARTICIPANTS);
125
- const publicShare = BLS.publicShare([childKey.sk]);
126
- return {
127
- seed,
128
- chaincode: childChaincode,
129
- secretShares: secretShares.map((secretShare) => crypto_2.bigIntToHex(secretShare)),
130
- publicShare: crypto_2.bigIntToHex(publicShare),
131
- };
132
- }
133
- /**
134
- * Aggregates the secret shares of different key pairs into one private key
135
- *
136
- * @param prvKeys an array of secret shares
137
- * @returns a private key
138
- */
139
- static aggregatePrvkeys(prvKeys) {
140
- assert_1.default(prvKeys.every(crypto_2.isValidBLSPrivateKey), 'Invalid private keys');
141
- try {
142
- const secretShares = prvKeys.map((secretShare) => BigInt('0x' + secretShare));
143
- const prv = BLS.mergeSecretShares(secretShares);
144
- return crypto_2.bigIntToHex(prv);
145
- }
146
- catch (e) {
147
- throw new Error('Error aggregating prvkeys: ' + e);
148
- }
149
- }
150
- /**
151
- * Aggregates the public shares of different key pairs into a common public key
152
- *
153
- * @param pubKeys an array of public shares
154
- * @returns a common public key
155
- */
156
- static aggregatePubkeys(pubKeys) {
157
- try {
158
- const publicShares = pubKeys.map((publicShare) => BigInt('0x' + publicShare));
159
- const commonPubKey = BLS.mergePublicShares(publicShares);
160
- return crypto_2.bigIntToHex(commonPubKey);
161
- }
162
- catch (e) {
163
- throw new Error('Error aggregating pubkeys: ' + e);
164
- }
165
- }
166
- static aggregateChaincodes(chaincodeContributions) {
167
- try {
168
- const chaincodes = chaincodeContributions.map((chaincode) => BigInt('0x' + chaincode));
169
- const commonChaincode = BLS.mergeChaincodes(chaincodes);
170
- return crypto_2.bigIntToHex(commonChaincode, 64);
171
- }
172
- catch (e) {
173
- throw new Error('Error aggregating chaincodes: ' + e);
174
- }
175
- }
176
- /**
177
- * Aggregates the message signed by different key pairs into one sign
178
- *
179
- * @param signatures the message signed by different key pairs. The signer id is relevant to ensure a valid signature.
180
- * @example <caption> E.g., the message is signed by user and wallet, then signatures would be:</caption>
181
- * {
182
- * 1: BigInt(messageSignedWithUserPrv),
183
- * 3: BigInt(messageSignedWithWalletPrv),
184
- * }
185
- * @returns a signature combining all the provided signed messages
186
- */
187
- static aggregateSignatures(signatures) {
188
- try {
189
- const signature = BLS.mergeSignatures(signatures);
190
- return '0x' + crypto_2.bigIntToHex(signature);
191
- }
192
- catch (e) {
193
- throw new Error('Error aggregating signatures: ' + e);
194
- }
195
- }
196
- /**
197
- * Verifies the signature for this key pair
198
- * @param pub The public key with which to verify the signature
199
- * @param msg The message to verify the signature with
200
- * @param signature the signature to verify
201
- * @return true if the signature is valid, else false
202
- */
203
- static async verifySignature(pub, msg, signature) {
204
- assert_1.default(crypto_2.isValidBLSPublicKey(pub), `Invalid public key: ${pub}`);
205
- return await BLS.verify(BigInt(signature), msg, BigInt('0x' + pub));
206
- }
207
- }
208
- exports.BlsKeyPair = BlsKeyPair;
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzS2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9ibHNLZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQXFDO0FBQ3JDLHlEQUEyQztBQUczQyxxQ0FBK0M7QUFDL0MsbUNBQWlGO0FBQ2pGLDJDQUF3RjtBQUV4RixNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQztBQUN0QyxNQUFNLDhCQUE4QixHQUFHLENBQUMsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQXNCLFVBQVU7SUFHOUI7Ozs7T0FJRztJQUNILFlBQXNCLE1BQXVCO1FBQzNDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixFQUFFLDhCQUE4QixDQUFDLENBQUM7U0FDaEY7YUFBTSxJQUFJLGFBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFEO2FBQU0sSUFBSSxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLGdCQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsNkJBQW9CLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBQ2hGLGdCQUFNLENBQUMsNEJBQW1CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7U0FDdkI7YUFBTSxJQUFJLG9CQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsV0FBVyxF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QU1HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxTQUFpQjtRQUM3RSxnQkFBTSxDQUFDLDRCQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQWhMRCxnQ0FnTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBCTFMgZnJvbSAnQGJpdGdvLWJldGEvYmxzLWRrZyc7XG5pbXBvcnQgeyBCYXNlS2V5UGFpciB9IGZyb20gJy4vYmFzZUtleVBhaXInO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgQmxzS2V5cywgS2V5UGFpck9wdGlvbnMsIGlzRGtnLCBpc0Jsc0tleSwgaXNQcml2YXRlS2V5IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBpc1ZhbGlkQkxTUHVibGljS2V5LCBpc1ZhbGlkQkxTUHJpdmF0ZUtleSwgYmlnSW50VG9IZXggfSBmcm9tICcuLi91dGlsL2NyeXB0byc7XG5cbmNvbnN0IERFRkFVTFRfU0lHTkFUVVJFX1RIUkVTSE9MRCA9IDI7XG5jb25zdCBERUZBVUxUX1NJR05BVFVSRV9QQVJUSUNJUEFOVFMgPSAzO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIEJMUyBrZXlwYWlycy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJsc0tleVBhaXIgaW1wbGVtZW50cyBCYXNlS2V5UGFpciB7XG4gIHByb3RlY3RlZCBrZXlQYWlyOiBCbHNLZXlzO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIHBvbHlub21pYWwuXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpck9wdGlvbnN9IHNvdXJjZSBFaXRoZXIgYSBka2cgb3B0aW9ucywgYSBwdWJsaWMgYW5kIHNlY3JldCBzaGFyZXMsIG9yIGEgcHJpdmF0ZSBrZXlcbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICB0aGlzLmNyZWF0ZVNoYXJlcyhERUZBVUxUX1NJR05BVFVSRV9USFJFU0hPTEQsIERFRkFVTFRfU0lHTkFUVVJFX1BBUlRJQ0lQQU5UUyk7XG4gICAgfSBlbHNlIGlmIChpc0RrZyhzb3VyY2UpKSB7XG4gICAgICB0aGlzLmNyZWF0ZVNoYXJlcyhzb3VyY2UudGhyZXNob2xkLCBzb3VyY2UucGFydGljaXBhbnRzKTtcbiAgICB9IGVsc2UgaWYgKGlzQmxzS2V5KHNvdXJjZSkpIHtcbiAgICAgIGFzc2VydChzb3VyY2Uuc2VjcmV0U2hhcmVzLmV2ZXJ5KGlzVmFsaWRCTFNQcml2YXRlS2V5KSwgJ0ludmFsaWQgcHJpdmF0ZSBrZXlzJyk7XG4gICAgICBhc3NlcnQoaXNWYWxpZEJMU1B1YmxpY0tleShzb3VyY2UucHVibGljU2hhcmUpLCAnSW52YWxpZCBwdWJsaWMga2V5Jyk7XG4gICAgICB0aGlzLmtleVBhaXIgPSBzb3VyY2U7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0ge1xuICAgICAgICBwcnY6IHNvdXJjZS5wcnYsXG4gICAgICAgIHB1YmxpY1NoYXJlOiAnJyxcbiAgICAgICAgc2VjcmV0U2hhcmVzOiBbXSxcbiAgICAgICAgc2VlZDogJycsXG4gICAgICAgIGNoYWluY29kZTogJycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVNoYXJlcyh0aHJlc2hvbGQ6IG51bWJlciwgcGFydGljaXBhbnRzOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFydGljaXBhbnRzIDwgdGhyZXNob2xkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcnRpY2lwYW50cyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRocmVzaG9sZCcpO1xuICAgIH1cbiAgICBjb25zdCBwb2x5bm9taWFsID0gQkxTLmdlbmVyYXRlUG9seW5vbWlhbCh0aHJlc2hvbGQpO1xuICAgIGNvbnN0IGtleVNlY3JldFNoYXJlcyA9IEJMUy5zZWNyZXRTaGFyZXMocG9seW5vbWlhbCwgcGFydGljaXBhbnRzKTtcbiAgICBjb25zdCBrZXlQdWJsaWNTaGFyZSA9IEJMUy5wdWJsaWNTaGFyZShwb2x5bm9taWFsKTtcbiAgICB0aGlzLmtleVBhaXIgPSB7XG4gICAgICBzZWVkOiBiaWdJbnRUb0hleChwb2x5bm9taWFsWzBdLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IHJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICBzZWNyZXRTaGFyZXM6IGtleVNlY3JldFNoYXJlcy5tYXAoKHNlY3JldFNoYXJlKSA9PiBiaWdJbnRUb0hleChzZWNyZXRTaGFyZSwgNjQpKSxcbiAgICAgIHB1YmxpY1NoYXJlOiBiaWdJbnRUb0hleChrZXlQdWJsaWNTaGFyZSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RlIC0gdGhpcyBpcyBub3QgcG9zc2libGUgdXNpbmcgQkxTLiBCTFMgZG9lcyBub3Qgc3VwcG9ydCBwcnZrZXkgZGVyaXZlZCBrZXkgZ2VuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHBydiBhIGhleGFkZWNpbWFsIHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignUHJpdmF0ZSBrZXkgZGVyaXZhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIGJscycpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGUgLSB0aGlzIGlzIG5vdCBwb3NzaWJsZSB1c2luZyBCTFMuIEJMUyBkb2VzIG5vdCBzdXBwb3J0IHB1YmtleSBkZXJpdmVkIGtleSBnZW5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiAtIEFuIGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQgcHVibGljIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkocHViOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignUHVibGljIGtleSBkZXJpdmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYmxzJyk7XG4gIH1cblxuICBnZXRBZGRyZXNzKGZvcm1hdD86IEFkZHJlc3NGb3JtYXQpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0S2V5cygpOiBhbnkge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdnZXRLZXlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIGJ5dGVzIHVzaW5nIHRoZSBrZXkgcGFpclxuICAgKlxuICAgKiBAcGFyYW0gbXNnIFRoZSBtZXNzYWdlIGJ5dGVzIHRvIHNpZ25cbiAgICogQHJldHVybiBzaWduYXR1cmUgb2YgdGhlIGJ5dGVzIHVzaW5nIHRoaXMga2V5cGFpclxuICAgKi9cbiAgYXN5bmMgc2lnbihtc2c6IEJ1ZmZlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIGNvbnN0IHNpZ25lZE1lc3NhZ2UgPSBhd2FpdCBCTFMuc2lnbihtc2csIEJpZ0ludCgnMHgnICsgdGhpcy5rZXlQYWlyLnBydikpO1xuICAgICAgcmV0dXJuICcweCcgKyBiaWdJbnRUb0hleChzaWduZWRNZXNzYWdlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGtleURlcml2ZShzZWVkOiBzdHJpbmcsIHBrOiBzdHJpbmcsIGNoYWluY29kZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBCbHNLZXlzIHtcbiAgICBjb25zdCBzZWVkQkkgPSBCaWdJbnQoJzB4JyArIHNlZWQpO1xuICAgIGNvbnN0IHBrQkkgPSBCaWdJbnQoJzB4JyArIHBrKTtcbiAgICBjb25zdCBjaGFpbmNvZGVCSSA9IEJpZ0ludCgnMHgnICsgY2hhaW5jb2RlKTtcbiAgICBjb25zdCBjaGlsZEtleSA9IEJMUy5wcml2YXRlRGVyaXZlKHNlZWRCSSwgcGtCSSwgY2hhaW5jb2RlQkksIHBhdGgpO1xuICAgIGNvbnN0IGNoaWxkQ2hhaW5jb2RlID0gYmlnSW50VG9IZXgoY2hpbGRLZXkuY2hhaW5jb2RlKTtcbiAgICBjb25zdCBlbnRyb3B5ID0gQmlnSW50KCcweCcgKyByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpKTtcbiAgICBjb25zdCBzZWNyZXRTaGFyZXMgPSBCTFMuc2VjcmV0U2hhcmVzKFtjaGlsZEtleS5zaywgZW50cm9weV0sIERFRkFVTFRfU0lHTkFUVVJFX1BBUlRJQ0lQQU5UUyk7XG4gICAgY29uc3QgcHVibGljU2hhcmUgPSBCTFMucHVibGljU2hhcmUoW2NoaWxkS2V5LnNrXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlZWQsXG4gICAgICBjaGFpbmNvZGU6IGNoaWxkQ2hhaW5jb2RlLFxuICAgICAgc2VjcmV0U2hhcmVzOiBzZWNyZXRTaGFyZXMubWFwKChzZWNyZXRTaGFyZSkgPT4gYmlnSW50VG9IZXgoc2VjcmV0U2hhcmUpKSxcbiAgICAgIHB1YmxpY1NoYXJlOiBiaWdJbnRUb0hleChwdWJsaWNTaGFyZSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZ2dyZWdhdGVzIHRoZSBzZWNyZXQgc2hhcmVzIG9mIGRpZmZlcmVudCBrZXkgcGFpcnMgaW50byBvbmUgcHJpdmF0ZSBrZXlcbiAgICpcbiAgICogQHBhcmFtIHBydktleXMgYW4gYXJyYXkgb2Ygc2VjcmV0IHNoYXJlc1xuICAgKiBAcmV0dXJucyBhIHByaXZhdGUga2V5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFnZ3JlZ2F0ZVBydmtleXMocHJ2S2V5czogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGFzc2VydChwcnZLZXlzLmV2ZXJ5KGlzVmFsaWRCTFNQcml2YXRlS2V5KSwgJ0ludmFsaWQgcHJpdmF0ZSBrZXlzJyk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlY3JldFNoYXJlcyA9IHBydktleXMubWFwKChzZWNyZXRTaGFyZSkgPT4gQmlnSW50KCcweCcgKyBzZWNyZXRTaGFyZSkpO1xuICAgICAgY29uc3QgcHJ2ID0gQkxTLm1lcmdlU2VjcmV0U2hhcmVzKHNlY3JldFNoYXJlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgocHJ2KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIGFnZ3JlZ2F0aW5nIHBydmtleXM6ICcgKyBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWdncmVnYXRlcyB0aGUgcHVibGljIHNoYXJlcyBvZiBkaWZmZXJlbnQga2V5IHBhaXJzIGludG8gYSBjb21tb24gcHVibGljIGtleVxuICAgKlxuICAgKiBAcGFyYW0gcHViS2V5cyBhbiBhcnJheSBvZiBwdWJsaWMgc2hhcmVzXG4gICAqIEByZXR1cm5zIGEgY29tbW9uIHB1YmxpYyBrZXlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWdncmVnYXRlUHVia2V5cyhwdWJLZXlzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHB1YmxpY1NoYXJlcyA9IHB1YktleXMubWFwKChwdWJsaWNTaGFyZSkgPT4gQmlnSW50KCcweCcgKyBwdWJsaWNTaGFyZSkpO1xuICAgICAgY29uc3QgY29tbW9uUHViS2V5ID0gQkxTLm1lcmdlUHVibGljU2hhcmVzKHB1YmxpY1NoYXJlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgoY29tbW9uUHViS2V5KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIGFnZ3JlZ2F0aW5nIHB1YmtleXM6ICcgKyBlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFnZ3JlZ2F0ZUNoYWluY29kZXMoY2hhaW5jb2RlQ29udHJpYnV0aW9uczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGFpbmNvZGVzID0gY2hhaW5jb2RlQ29udHJpYnV0aW9ucy5tYXAoKGNoYWluY29kZSkgPT4gQmlnSW50KCcweCcgKyBjaGFpbmNvZGUpKTtcbiAgICAgIGNvbnN0IGNvbW1vbkNoYWluY29kZSA9IEJMUy5tZXJnZUNoYWluY29kZXMoY2hhaW5jb2Rlcyk7XG4gICAgICByZXR1cm4gYmlnSW50VG9IZXgoY29tbW9uQ2hhaW5jb2RlLCA2NCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBhZ2dyZWdhdGluZyBjaGFpbmNvZGVzOiAnICsgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFnZ3JlZ2F0ZXMgdGhlIG1lc3NhZ2Ugc2lnbmVkIGJ5IGRpZmZlcmVudCBrZXkgcGFpcnMgaW50byBvbmUgc2lnblxuICAgKlxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyB0aGUgbWVzc2FnZSBzaWduZWQgYnkgZGlmZmVyZW50IGtleSBwYWlycy4gVGhlIHNpZ25lciBpZCBpcyByZWxldmFudCB0byBlbnN1cmUgYSB2YWxpZCBzaWduYXR1cmUuXG4gICAqIEBleGFtcGxlIDxjYXB0aW9uPiBFLmcuLCB0aGUgbWVzc2FnZSBpcyBzaWduZWQgYnkgdXNlciBhbmQgd2FsbGV0LCB0aGVuIHNpZ25hdHVyZXMgd291bGQgYmU6PC9jYXB0aW9uPlxuICAgKiB7XG4gICAqICAgMTogQmlnSW50KG1lc3NhZ2VTaWduZWRXaXRoVXNlclBydiksXG4gICAqICAgMzogQmlnSW50KG1lc3NhZ2VTaWduZWRXaXRoV2FsbGV0UHJ2KSxcbiAgICogfVxuICAgKiBAcmV0dXJucyBhIHNpZ25hdHVyZSBjb21iaW5pbmcgYWxsIHRoZSBwcm92aWRlZCBzaWduZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWdncmVnYXRlU2lnbmF0dXJlcyhzaWduYXR1cmVzOiB7IFtuOiBudW1iZXJdOiBiaWdpbnQgfSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IEJMUy5tZXJnZVNpZ25hdHVyZXMoc2lnbmF0dXJlcyk7XG4gICAgICByZXR1cm4gJzB4JyArIGJpZ0ludFRvSGV4KHNpZ25hdHVyZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBhZ2dyZWdhdGluZyBzaWduYXR1cmVzOiAnICsgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBzaWduYXR1cmUgZm9yIHRoaXMga2V5IHBhaXJcbiAgICogQHBhcmFtIHB1YiBUaGUgcHVibGljIGtleSB3aXRoIHdoaWNoIHRvIHZlcmlmeSB0aGUgc2lnbmF0dXJlXG4gICAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gdmVyaWZ5IHRoZSBzaWduYXR1cmUgd2l0aFxuICAgKiBAcGFyYW0gc2lnbmF0dXJlIHRoZSBzaWduYXR1cmUgdG8gdmVyaWZ5XG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIGlzIHZhbGlkLCBlbHNlIGZhbHNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIHZlcmlmeVNpZ25hdHVyZShwdWI6IHN0cmluZywgbXNnOiBCdWZmZXIsIHNpZ25hdHVyZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgYXNzZXJ0KGlzVmFsaWRCTFNQdWJsaWNLZXkocHViKSwgYEludmFsaWQgcHVibGljIGtleTogJHtwdWJ9YCk7XG4gICAgcmV0dXJuIGF3YWl0IEJMUy52ZXJpZnkoQmlnSW50KHNpZ25hdHVyZSksIG1zZywgQmlnSW50KCcweCcgKyBwdWIpKTtcbiAgfVxufVxuIl19
@@ -1,186 +0,0 @@
1
- import * as t from 'io-ts';
2
- export interface CreateInvoiceParams {
3
- value: number;
4
- memo?: string;
5
- expiry?: number;
6
- }
7
- export interface LightningWithdrawalParams {
8
- value: number;
9
- destination?: string;
10
- sequenceId?: string;
11
- }
12
- export interface LightningDepositParams {
13
- amount: number;
14
- }
15
- export interface PayInvoiceParams {
16
- invoice: string;
17
- sequenceId?: string;
18
- comment?: string;
19
- feeLimitRatio?: number;
20
- feeLimit?: number;
21
- }
22
- export interface GetInvoicesQuery {
23
- status?: string;
24
- limit?: number;
25
- startDate?: string;
26
- endDate?: string;
27
- }
28
- export interface GetPaymentsQuery {
29
- status?: string;
30
- limit?: number;
31
- startDate?: string;
32
- endDate?: string;
33
- }
34
- export interface LnurlPayParams {
35
- callback: string;
36
- millisatAmount: string;
37
- metadata: string;
38
- }
39
- export declare const WPTransferEntry: t.PartialC<{
40
- wallet: t.StringC;
41
- address: t.StringC;
42
- value: t.NumberC;
43
- valueString: t.StringC;
44
- isChange: t.BooleanC;
45
- isPayGo: t.BooleanC;
46
- token: t.StringC;
47
- }>;
48
- export declare type WPTransferEntry = t.TypeOf<typeof WPTransferEntry>;
49
- export declare const WPTransfer: t.TypeC<{
50
- entries: t.ArrayC<t.PartialC<{
51
- wallet: t.StringC;
52
- address: t.StringC;
53
- value: t.NumberC;
54
- valueString: t.StringC;
55
- isChange: t.BooleanC;
56
- isPayGo: t.BooleanC;
57
- token: t.StringC;
58
- }>>;
59
- id: t.StringC;
60
- heightId: t.StringC;
61
- type: t.StringC;
62
- value: t.NumberC;
63
- state: t.StringC;
64
- }>;
65
- export declare type WPTransfer = t.TypeOf<typeof WPTransfer>;
66
- export declare const WithdrawResponse: t.ExactC<t.TypeC<{
67
- txid: t.StringC;
68
- }>>;
69
- export declare type WithdrawResponse = t.TypeOf<typeof WithdrawResponse>;
70
- export declare const CreateInvoiceResponse: t.ExactC<t.TypeC<{
71
- value: t.NumberC;
72
- memo: t.UnionC<[t.StringC, t.UndefinedC]>;
73
- paymentHash: t.StringC;
74
- invoice: t.StringC;
75
- walletId: t.StringC;
76
- status: t.StringC;
77
- expiresAt: t.StringC;
78
- }>>;
79
- export declare type CreateInvoiceResponse = t.TypeOf<typeof CreateInvoiceResponse>;
80
- export declare const CreateDepositAddressResponse: t.ExactC<t.TypeC<{
81
- address: t.StringC;
82
- }>>;
83
- export declare type CreateDepositAddressResponse = t.TypeOf<typeof CreateDepositAddressResponse>;
84
- export declare const DepositResponse: t.ExactC<t.TypeC<{
85
- status: t.StringC;
86
- transfer: t.TypeC<{
87
- entries: t.ArrayC<t.PartialC<{
88
- wallet: t.StringC;
89
- address: t.StringC;
90
- value: t.NumberC;
91
- valueString: t.StringC;
92
- isChange: t.BooleanC;
93
- isPayGo: t.BooleanC;
94
- token: t.StringC;
95
- }>>;
96
- id: t.StringC;
97
- heightId: t.StringC;
98
- type: t.StringC;
99
- value: t.NumberC;
100
- state: t.StringC;
101
- }>;
102
- }>>;
103
- export declare type DepositResponse = t.TypeOf<typeof DepositResponse>;
104
- export declare const PayInvoiceResponse: t.ExactC<t.TypeC<{
105
- paymentHash: t.StringC;
106
- transfer: t.TypeC<{
107
- entries: t.ArrayC<t.PartialC<{
108
- wallet: t.StringC;
109
- address: t.StringC;
110
- value: t.NumberC;
111
- valueString: t.StringC;
112
- isChange: t.BooleanC;
113
- isPayGo: t.BooleanC;
114
- token: t.StringC;
115
- }>>;
116
- id: t.StringC;
117
- heightId: t.StringC;
118
- type: t.StringC;
119
- value: t.NumberC;
120
- state: t.StringC;
121
- }>;
122
- status: t.StringC;
123
- }>>;
124
- export declare type PayInvoiceResponse = t.TypeOf<typeof PayInvoiceResponse>;
125
- export declare const GetBalanceResponse: t.ExactC<t.TypeC<{
126
- balance: t.NumberC;
127
- availableBalance: t.NumberC;
128
- maximumBalance: t.NumberC;
129
- }>>;
130
- export declare type GetBalanceResponse = t.TypeOf<typeof GetBalanceResponse>;
131
- export declare const GetInvoicesResponse: t.ArrayC<t.ExactC<t.TypeC<{
132
- paymentHash: t.StringC;
133
- walletId: t.StringC;
134
- status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
135
- value: t.NumberC;
136
- expiresAt: t.StringC;
137
- createdAt: t.StringC;
138
- updatedAt: t.StringC;
139
- amtPaidSats: t.UnionC<[t.NumberC, t.UndefinedC]>;
140
- }>>>;
141
- export declare type GetInvoicesResponse = t.TypeOf<typeof GetInvoicesResponse>;
142
- export declare const GetPaymentsResponse: t.ArrayC<t.ExactC<t.TypeC<{
143
- paymentHash: t.StringC;
144
- walletId: t.StringC;
145
- status: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
146
- amount: t.UnionC<[t.NumberC, t.UndefinedC]>;
147
- invoice: t.StringC;
148
- sendQueueId: t.StringC;
149
- failureReason: t.UnionC<[t.StringC, t.UndefinedC]>;
150
- fee: t.UnionC<[t.NumberC, t.UndefinedC]>;
151
- feeLimit: t.NumberC;
152
- paymentPreimage: t.UnionC<[t.StringC, t.UndefinedC]>;
153
- destination: t.StringC;
154
- }>>>;
155
- export declare type GetPaymentsResponse = t.TypeOf<typeof GetPaymentsResponse>;
156
- export declare const LnurlPayResponse: t.ExactC<t.TypeC<{
157
- tag: t.LiteralC<"payRequest">;
158
- callback: t.StringC;
159
- /** The maximum amount in millisatoshis we can pay for this LNRUL request */
160
- maxSendable: t.NumberC;
161
- /** The minimum amount in millisatoshis we can pay for this LNRUL request */
162
- minSendable: t.NumberC;
163
- /** A json array in string format describing the payment */
164
- metadata: t.StringC;
165
- }>>;
166
- export declare type LnurlPayResponse = t.TypeOf<typeof LnurlPayResponse>;
167
- export declare type DecodedLnurlPayRequest = LnurlPayResponse & {
168
- /**
169
- * From https://github.com/fiatjaf/lnurl-rfc/blob/luds/06.md#pay-to-static-qrnfclink
170
- * a payment dialog must include: Domain name extracted from LNURL query string.
171
- */
172
- domain: string;
173
- };
174
- export interface ILightning {
175
- createInvoice(params: CreateInvoiceParams): Promise<CreateInvoiceResponse>;
176
- createDepositAddress(): Promise<CreateDepositAddressResponse>;
177
- payInvoice(params: PayInvoiceParams): Promise<PayInvoiceResponse>;
178
- getBalance(): Promise<GetBalanceResponse>;
179
- withdraw(params: LightningWithdrawalParams): Promise<WithdrawResponse>;
180
- deposit(params: LightningDepositParams): Promise<DepositResponse>;
181
- getInvoices(query?: GetInvoicesQuery): Promise<GetInvoicesResponse>;
182
- decodeLnurlPay(lnurl: string): Promise<DecodedLnurlPayRequest>;
183
- fetchLnurlPayInvoice(params: LnurlPayParams): Promise<string>;
184
- getPayments(query?: GetPaymentsQuery): Promise<GetPaymentsResponse>;
185
- }
186
- //# sourceMappingURL=iLightning.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iLightning.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/iLightning.ts"],"names":[],"mappings":"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"}