@bitgo-beta/sdk-core 8.2.1-beta.212 → 8.2.1-beta.2121

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 (809) hide show
  1. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +3 -3
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +4 -3
  6. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  7. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  8. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +43 -31
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +59 -5
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +112 -10
  12. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  13. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  14. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  15. package/dist/src/account-lib/baseCoin/iface.d.ts +19 -35
  16. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  17. package/dist/src/account-lib/baseCoin/iface.js +26 -18
  18. package/dist/src/account-lib/baseCoin/index.d.ts +1 -1
  19. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  20. package/dist/src/account-lib/baseCoin/index.js +8 -5
  21. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  22. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  23. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  24. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  25. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  26. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  27. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  28. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  29. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  30. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  31. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  32. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  33. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  34. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  35. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  36. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  37. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  38. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  39. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  40. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  41. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  42. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  43. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  44. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  45. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +1 -2
  46. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  47. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +38 -26
  48. package/dist/src/account-lib/index.d.ts +0 -1
  49. package/dist/src/account-lib/index.d.ts.map +1 -1
  50. package/dist/src/account-lib/index.js +23 -10
  51. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  52. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  53. package/dist/src/account-lib/mpc/index.js +6 -2
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
  55. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  56. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
  57. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  59. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  60. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
  62. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  63. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  65. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  66. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  67. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  69. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  70. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  71. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  72. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  73. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  74. package/dist/src/account-lib/mpc/util.js +24 -1
  75. package/dist/src/account-lib/staking/index.js +6 -2
  76. package/dist/src/account-lib/staking/utils.js +3 -3
  77. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  78. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  79. package/dist/src/account-lib/util/crypto.js +69 -38
  80. package/dist/src/api/bip32path.js +2 -3
  81. package/dist/src/api/index.js +6 -2
  82. package/dist/src/api/types.d.ts +37 -0
  83. package/dist/src/api/types.d.ts.map +1 -1
  84. package/dist/src/api/types.js +8 -1
  85. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -1
  86. package/dist/src/bitgo/address-book/address-book.js +20 -12
  87. package/dist/src/bitgo/address-book/index.js +6 -2
  88. package/dist/src/bitgo/address-book/types.d.ts +36 -36
  89. package/dist/src/bitgo/address-book/types.d.ts.map +1 -1
  90. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +123 -13
  91. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  92. package/dist/src/bitgo/baseCoin/baseCoin.js +200 -16
  93. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +337 -33
  94. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  95. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  96. package/dist/src/bitgo/baseCoin/index.js +6 -2
  97. package/dist/src/bitgo/bip32util.d.ts +3 -16
  98. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  99. package/dist/src/bitgo/bip32util.js +4 -56
  100. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  101. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  102. package/dist/src/bitgo/bitcoin.js +26 -13
  103. package/dist/src/bitgo/bitgoBase.d.ts +17 -4
  104. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  105. package/dist/src/bitgo/bitgoBase.js +1 -1
  106. package/dist/src/bitgo/coinFactory.d.ts +24 -3
  107. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  108. package/dist/src/bitgo/coinFactory.js +35 -3
  109. package/dist/src/bitgo/config.d.ts +3 -101
  110. package/dist/src/bitgo/config.d.ts.map +1 -1
  111. package/dist/src/bitgo/config.js +26 -15
  112. package/dist/src/bitgo/defi/defiVault.d.ts +171 -0
  113. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  114. package/dist/src/bitgo/defi/defiVault.js +445 -0
  115. package/dist/src/bitgo/defi/iDefiVault.d.ts +101 -0
  116. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  117. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  118. package/dist/src/bitgo/defi/index.d.ts +3 -0
  119. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  120. package/dist/src/bitgo/defi/index.js +22 -0
  121. package/dist/src/bitgo/ecdh.d.ts +0 -1
  122. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  123. package/dist/src/bitgo/ecdh.js +26 -13
  124. package/dist/src/bitgo/enterprise/enterprise.d.ts +9 -4
  125. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  126. package/dist/src/bitgo/enterprise/enterprise.js +47 -21
  127. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  128. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +5 -3
  129. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  130. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  131. package/dist/src/bitgo/enterprise/index.js +6 -2
  132. package/dist/src/bitgo/environments.d.ts +73 -3
  133. package/dist/src/bitgo/environments.d.ts.map +1 -1
  134. package/dist/src/bitgo/environments.js +415 -34
  135. package/dist/src/bitgo/errors.d.ts +189 -1
  136. package/dist/src/bitgo/errors.d.ts.map +1 -1
  137. package/dist/src/bitgo/errors.js +187 -3
  138. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  139. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  140. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  141. package/dist/src/bitgo/index.d.ts +6 -1
  142. package/dist/src/bitgo/index.d.ts.map +1 -1
  143. package/dist/src/bitgo/index.js +32 -11
  144. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  145. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  146. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  147. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  148. package/dist/src/bitgo/internal/index.js +6 -2
  149. package/dist/src/bitgo/internal/internal.js +5 -6
  150. package/dist/src/bitgo/internal/keycard.d.ts +13 -8
  151. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  152. package/dist/src/bitgo/internal/keycard.js +63 -48
  153. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  154. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  155. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  156. package/dist/src/bitgo/keychain/iKeychains.d.ts +180 -11
  157. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  158. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  159. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  160. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  161. package/dist/src/bitgo/keychain/index.js +7 -2
  162. package/dist/src/bitgo/keychain/keychains.d.ts +106 -13
  163. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  164. package/dist/src/bitgo/keychain/keychains.js +423 -72
  165. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  166. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  167. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  168. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  169. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  170. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  171. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  172. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  173. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  174. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  175. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  176. package/dist/src/bitgo/market/index.js +6 -2
  177. package/dist/src/bitgo/market/markets.js +23 -9
  178. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +5 -1
  179. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  180. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  181. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  182. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  183. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  184. package/dist/src/bitgo/pendingApproval/pendingApproval.js +246 -111
  185. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  186. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  187. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  188. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  189. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  190. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  191. package/dist/src/bitgo/proofs/index.js +6 -0
  192. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  193. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  194. package/dist/src/bitgo/proofs/types.js +80 -0
  195. package/dist/src/bitgo/recovery/index.js +6 -2
  196. package/dist/src/bitgo/recovery/initiate.d.ts +13 -3
  197. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  198. package/dist/src/bitgo/recovery/initiate.js +49 -41
  199. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +51 -0
  200. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  201. package/dist/src/bitgo/safe/derivableEd25519Pub.js +115 -0
  202. package/dist/src/bitgo/safe/iSafe.d.ts +124 -0
  203. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
  204. package/dist/src/bitgo/safe/iSafe.js +3 -0
  205. package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
  206. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
  207. package/dist/src/bitgo/safe/iSafes.js +3 -0
  208. package/dist/src/bitgo/safe/index.d.ts +8 -0
  209. package/dist/src/bitgo/safe/index.d.ts.map +1 -0
  210. package/dist/src/bitgo/safe/index.js +24 -0
  211. package/dist/src/bitgo/safe/recovery.d.ts +133 -0
  212. package/dist/src/bitgo/safe/recovery.d.ts.map +1 -0
  213. package/dist/src/bitgo/safe/recovery.js +176 -0
  214. package/dist/src/bitgo/safe/rootCoin.d.ts +15 -0
  215. package/dist/src/bitgo/safe/rootCoin.d.ts.map +1 -0
  216. package/dist/src/bitgo/safe/rootCoin.js +47 -0
  217. package/dist/src/bitgo/safe/safe.d.ts +88 -0
  218. package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
  219. package/dist/src/bitgo/safe/safe.js +417 -0
  220. package/dist/src/bitgo/safe/safes.d.ts +102 -0
  221. package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
  222. package/dist/src/bitgo/safe/safes.js +281 -0
  223. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  224. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  225. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  226. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  227. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  228. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  229. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  230. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  231. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  232. package/dist/src/bitgo/staking/iStakingWallet.d.ts +161 -8
  233. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  234. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  235. package/dist/src/bitgo/staking/index.d.ts +3 -0
  236. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  237. package/dist/src/bitgo/staking/index.js +9 -2
  238. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  239. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  240. package/dist/src/bitgo/staking/stakingWallet.js +153 -7
  241. package/dist/src/bitgo/trading/iTradingAccount.d.ts +13 -1
  242. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  243. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  244. package/dist/src/bitgo/trading/index.d.ts +1 -0
  245. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  246. package/dist/src/bitgo/trading/index.js +7 -2
  247. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  248. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  249. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  250. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  251. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  252. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  253. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  254. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  255. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  256. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  257. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  258. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  259. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  260. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  261. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  262. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  263. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  264. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  265. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  266. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  267. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  268. package/dist/src/bitgo/trading/network/index.d.ts +2 -0
  269. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
  270. package/dist/src/bitgo/trading/network/index.js +8 -2
  271. package/dist/src/bitgo/trading/network/network.d.ts +4 -3
  272. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
  273. package/dist/src/bitgo/trading/network/network.js +24 -27
  274. package/dist/src/bitgo/trading/network/types.d.ts +79 -46
  275. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
  276. package/dist/src/bitgo/trading/network/types.js +1 -1
  277. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  278. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  279. package/dist/src/bitgo/trading/network/utils.js +54 -0
  280. package/dist/src/bitgo/trading/tradingAccount.d.ts +15 -1
  281. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  282. package/dist/src/bitgo/trading/tradingAccount.js +55 -7
  283. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
  284. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  285. package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
  286. package/dist/src/bitgo/tss/common.d.ts +50 -6
  287. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  288. package/dist/src/bitgo/tss/common.js +139 -17
  289. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  290. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  291. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  292. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  293. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  294. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  295. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  296. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  297. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  298. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  299. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  300. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  301. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  302. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  303. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  304. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
  305. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  306. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
  307. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  308. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  309. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  310. package/dist/src/bitgo/tss/index.d.ts +3 -2
  311. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  312. package/dist/src/bitgo/tss/index.js +26 -10
  313. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +84 -0
  314. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  315. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +184 -0
  316. package/dist/src/bitgo/tss/types.d.ts +3 -3
  317. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  318. package/dist/src/bitgo/tss/types.js +2 -2
  319. package/dist/src/bitgo/types.d.ts +3 -3
  320. package/dist/src/bitgo/types.d.ts.map +1 -1
  321. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +10 -0
  322. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  323. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +76 -14
  324. package/dist/src/bitgo/utils/codecProps.js +24 -11
  325. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  326. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  327. package/dist/src/bitgo/utils/codecs.js +59 -0
  328. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  329. package/dist/src/bitgo/utils/decode.js +30 -16
  330. package/dist/src/bitgo/utils/index.d.ts +5 -2
  331. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  332. package/dist/src/bitgo/utils/index.js +28 -11
  333. package/dist/src/bitgo/utils/messageTypes.d.ts +46 -0
  334. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  335. package/dist/src/bitgo/utils/messageTypes.js +23 -0
  336. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  337. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  338. package/dist/src/bitgo/utils/mpcUtils.js +208 -14
  339. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  340. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  341. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  342. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -7
  343. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  344. package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
  345. package/dist/src/bitgo/utils/postWithCodec.js +2 -3
  346. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  347. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  348. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  349. package/dist/src/bitgo/utils/siws.d.ts +17 -0
  350. package/dist/src/bitgo/utils/siws.d.ts.map +1 -0
  351. package/dist/src/bitgo/utils/siws.js +171 -0
  352. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  353. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  354. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  355. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  356. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  357. package/dist/src/bitgo/utils/triple.js +2 -3
  358. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  359. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  360. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  361. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +99 -17
  362. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  363. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +322 -45
  364. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +462 -55
  365. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  366. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  367. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  368. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  369. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  370. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  371. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  372. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  373. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +25 -51
  374. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  375. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
  376. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +241 -0
  377. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  378. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1072 -0
  379. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +17 -0
  380. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  381. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +39 -0
  382. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +65 -0
  383. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
  384. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +439 -0
  385. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +5 -0
  386. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  387. package/dist/src/bitgo/utils/tss/ecdsa/index.js +11 -2
  388. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  389. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  390. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  391. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +151 -0
  392. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  393. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  394. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  395. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  396. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +119 -0
  397. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  398. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +43 -11
  401. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  402. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +261 -96
  403. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +261 -0
  404. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  405. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +994 -0
  406. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +14 -0
  407. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  408. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +29 -0
  409. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +44 -0
  410. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  411. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +268 -0
  412. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  413. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  414. package/dist/src/bitgo/utils/tss/eddsa/index.js +30 -8
  415. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +15 -7
  416. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  417. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  418. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +75 -0
  419. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  420. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
  421. package/dist/src/bitgo/utils/tss/index.d.ts +7 -0
  422. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  423. package/dist/src/bitgo/utils/tss/index.js +31 -10
  424. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
  425. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  426. package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
  427. package/dist/src/bitgo/utils/tss/keyVerification.d.ts +45 -0
  428. package/dist/src/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  429. package/dist/src/bitgo/utils/tss/keyVerification.js +192 -0
  430. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  431. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  432. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  433. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +42 -0
  434. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  435. package/dist/src/bitgo/utils/tss/recipientUtils.js +179 -0
  436. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  437. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  438. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
  439. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  440. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  441. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  442. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
  443. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  444. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
  445. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
  446. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  447. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  448. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  449. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  450. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  451. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  452. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  453. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  454. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  455. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  456. package/dist/src/bitgo/utils/txRequest.js +49 -0
  457. package/dist/src/bitgo/utils/util.js +24 -10
  458. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  459. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  460. package/dist/src/bitgo/utils/wallet.js +48 -0
  461. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  462. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  463. package/dist/src/bitgo/v1Wallets.js +3 -0
  464. package/dist/src/bitgo/wallet/BuildParams.d.ts +91 -1
  465. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  466. package/dist/src/bitgo/wallet/BuildParams.js +96 -11
  467. package/dist/src/bitgo/wallet/iWallet.d.ts +636 -33
  468. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  469. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  470. package/dist/src/bitgo/wallet/iWallets.d.ts +311 -16
  471. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  472. package/dist/src/bitgo/wallet/iWallets.js +84 -3
  473. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  474. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  475. package/dist/src/bitgo/wallet/index.js +7 -2
  476. package/dist/src/bitgo/wallet/safeKeychain.d.ts +75 -0
  477. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  478. package/dist/src/bitgo/wallet/safeKeychain.js +152 -0
  479. package/dist/src/bitgo/wallet/wallet.d.ts +410 -27
  480. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  481. package/dist/src/bitgo/wallet/wallet.js +2518 -510
  482. package/dist/src/bitgo/wallet/wallets.d.ts +99 -4
  483. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  484. package/dist/src/bitgo/wallet/wallets.js +1256 -156
  485. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  486. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  487. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  488. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  489. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  490. package/dist/src/bitgo/walletUtil/index.js +19 -0
  491. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  492. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  493. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  494. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  495. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  496. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  497. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  498. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  499. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  500. package/dist/src/bitgo/webauthn/base64url.d.ts +16 -0
  501. package/dist/src/bitgo/webauthn/base64url.d.ts.map +1 -0
  502. package/dist/src/bitgo/webauthn/base64url.js +27 -0
  503. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts +18 -0
  504. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts.map +1 -0
  505. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.js +26 -0
  506. package/dist/src/bitgo/webauthn/derivePassword.d.ts +11 -0
  507. package/dist/src/bitgo/webauthn/derivePassword.d.ts.map +1 -0
  508. package/dist/src/bitgo/webauthn/derivePassword.js +16 -0
  509. package/dist/src/bitgo/webauthn/index.d.ts +5 -0
  510. package/dist/src/bitgo/webauthn/index.d.ts.map +1 -0
  511. package/dist/src/bitgo/webauthn/index.js +21 -0
  512. package/dist/src/bitgo/webauthn/types.d.ts +18 -0
  513. package/dist/src/bitgo/webauthn/types.d.ts.map +1 -0
  514. package/dist/src/bitgo/webauthn/types.js +3 -0
  515. package/dist/src/bitgo/webhook/index.js +6 -2
  516. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  517. package/dist/src/coins/fiat.d.ts +45 -0
  518. package/dist/src/coins/fiat.d.ts.map +1 -0
  519. package/dist/src/coins/fiat.js +94 -0
  520. package/dist/src/coins/index.d.ts +1 -6
  521. package/dist/src/coins/index.d.ts.map +1 -1
  522. package/dist/src/coins/index.js +7 -8
  523. package/dist/src/coins/ofc.d.ts +21 -2
  524. package/dist/src/coins/ofc.d.ts.map +1 -1
  525. package/dist/src/coins/ofc.js +29 -3
  526. package/dist/src/coins/ofcToken.d.ts +15 -4
  527. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  528. package/dist/src/coins/ofcToken.js +43 -5
  529. package/dist/src/coins/susd.d.ts +3 -2
  530. package/dist/src/coins/susd.d.ts.map +1 -1
  531. package/dist/src/coins/susd.js +5 -1
  532. package/dist/src/common.js +27 -13
  533. package/dist/src/index.d.ts +9 -1
  534. package/dist/src/index.d.ts.map +1 -1
  535. package/dist/src/index.js +40 -11
  536. package/dist/src/lightning.d.ts +20 -0
  537. package/dist/src/lightning.d.ts.map +1 -0
  538. package/dist/src/lightning.js +13 -0
  539. package/dist/src/units.js +5 -6
  540. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  541. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  542. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  543. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  544. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  545. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  546. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  547. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  548. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  549. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  550. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  551. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  552. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  553. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  554. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  555. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  556. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  557. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  558. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  559. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  560. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  561. package/dist/test/unit/bitgo/defi/defiVault.js +863 -0
  562. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  563. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  564. package/dist/test/unit/bitgo/environment.js +38 -0
  565. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  566. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  567. package/dist/test/unit/bitgo/errors.js +262 -0
  568. package/dist/test/unit/bitgo/keychain/keychains.d.ts +2 -0
  569. package/dist/test/unit/bitgo/keychain/keychains.d.ts.map +1 -0
  570. package/dist/test/unit/bitgo/keychain/keychains.js +426 -0
  571. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  572. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  573. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  574. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
  575. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  576. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +193 -0
  577. package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -0
  578. package/dist/test/unit/bitgo/safe/fixtures/safeBip44Vectors.json +319 -0
  579. package/dist/test/unit/bitgo/safe/recovery.d.ts +2 -0
  580. package/dist/test/unit/bitgo/safe/recovery.d.ts.map +1 -0
  581. package/dist/test/unit/bitgo/safe/recovery.js +478 -0
  582. package/dist/test/unit/bitgo/safe/rootCoin.d.ts +2 -0
  583. package/dist/test/unit/bitgo/safe/rootCoin.d.ts.map +1 -0
  584. package/dist/test/unit/bitgo/safe/rootCoin.js +13 -0
  585. package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
  586. package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
  587. package/dist/test/unit/bitgo/safe/safe.js +607 -0
  588. package/dist/test/unit/bitgo/safe/safeBip44Vectors.d.ts +2 -0
  589. package/dist/test/unit/bitgo/safe/safeBip44Vectors.d.ts.map +1 -0
  590. package/dist/test/unit/bitgo/safe/safeBip44Vectors.js +189 -0
  591. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts +2 -0
  592. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts.map +1 -0
  593. package/dist/test/unit/bitgo/safe/safeDerivation.js +37 -0
  594. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  595. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  596. package/dist/test/unit/bitgo/safe/safes.js +376 -0
  597. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  598. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  599. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  600. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  601. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  602. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  603. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  604. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  605. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  606. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  607. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  608. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  609. package/dist/test/unit/bitgo/tss/common.d.ts +2 -0
  610. package/dist/test/unit/bitgo/tss/common.d.ts.map +1 -0
  611. package/dist/test/unit/bitgo/tss/common.js +84 -0
  612. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  613. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  614. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +249 -0
  615. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
  616. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  617. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  618. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  619. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts +2 -0
  620. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts.map +1 -0
  621. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.js +109 -0
  622. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
  623. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
  624. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
  625. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  626. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  627. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  628. package/dist/test/unit/bitgo/utils/postWithCodec.js +24 -10
  629. package/dist/test/unit/bitgo/utils/siws.d.ts +2 -0
  630. package/dist/test/unit/bitgo/utils/siws.d.ts.map +1 -0
  631. package/dist/test/unit/bitgo/utils/siws.js +206 -0
  632. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  633. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  634. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  635. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  636. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  637. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  638. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  639. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  640. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  641. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  642. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  643. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1068 -0
  644. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  645. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  646. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  647. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  648. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  649. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  650. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  651. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  652. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +2410 -0
  653. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +2 -0
  654. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  655. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +553 -0
  656. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  657. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  658. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +376 -0
  659. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
  660. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  661. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
  662. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts +2 -0
  663. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  664. package/dist/test/unit/bitgo/utils/tss/keyVerification.js +229 -0
  665. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  666. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  667. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  668. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  669. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  670. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +498 -0
  671. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  672. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  673. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
  674. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  675. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  676. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
  677. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  678. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  679. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  680. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  681. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  682. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  683. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  684. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  685. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  686. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  687. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  688. package/dist/test/unit/bitgo/wallet/BuildParams.js +167 -0
  689. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
  690. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  691. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  692. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  693. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
  694. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
  695. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
  696. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  697. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  698. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  699. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  700. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  701. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  702. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  703. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  704. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  705. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  706. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  707. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  708. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  709. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  710. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  711. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  712. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  713. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +651 -0
  714. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts +9 -0
  715. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts.map +1 -0
  716. package/dist/test/unit/bitgo/wallet/safeShareWallet.js +304 -0
  717. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  718. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  719. package/dist/test/unit/bitgo/wallet/tokenApproval.js +210 -0
  720. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  721. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  722. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  723. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  724. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  725. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
  726. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  727. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  728. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  729. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts +2 -0
  730. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts.map +1 -0
  731. package/dist/test/unit/bitgo/wallet/walletVerifyKey.js +160 -0
  732. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  733. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  734. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +304 -0
  735. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  736. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  737. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  738. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  739. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  740. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +853 -0
  741. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  742. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  743. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  744. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  745. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  746. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  747. package/dist/test/unit/coins/ofc.d.ts +2 -0
  748. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  749. package/dist/test/unit/coins/ofc.js +124 -0
  750. package/dist/test/unit/lightning.d.ts +2 -0
  751. package/dist/test/unit/lightning.d.ts.map +1 -0
  752. package/dist/test/unit/lightning.js +23 -0
  753. package/dist/test/unit/units.d.ts.map +1 -1
  754. package/dist/test/unit/units.js +64 -64
  755. package/dist/tsconfig.tsbuildinfo +1 -1
  756. package/package.json +25 -22
  757. package/.eslintignore +0 -5
  758. package/CHANGELOG.md +0 -1866
  759. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  760. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  761. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  762. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +0 -49
  763. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +0 -1
  764. package/dist/src/account-lib/util/ed25519KeyDeriver.js +0 -87
  765. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  766. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  767. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  768. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  769. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  770. package/dist/src/bitgo/lightning/index.js +0 -17
  771. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  772. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  773. package/dist/src/bitgo/lightning/lightning.js +0 -111
  774. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  775. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  776. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  777. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  778. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  779. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  780. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  781. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  782. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  783. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  784. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  785. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  786. package/dist/src/coins/fiateur.d.ts +0 -31
  787. package/dist/src/coins/fiateur.d.ts.map +0 -1
  788. package/dist/src/coins/fiateur.js +0 -57
  789. package/dist/src/coins/fiatgbp.d.ts +0 -31
  790. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  791. package/dist/src/coins/fiatgbp.js +0 -57
  792. package/dist/src/coins/fiatusd.d.ts +0 -31
  793. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  794. package/dist/src/coins/fiatusd.js +0 -57
  795. package/dist/src/coins/tfiateur.d.ts +0 -11
  796. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  797. package/dist/src/coins/tfiateur.js +0 -17
  798. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  799. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  800. package/dist/src/coins/tfiatgbp.js +0 -17
  801. package/dist/src/coins/tfiatusd.d.ts +0 -11
  802. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  803. package/dist/src/coins/tfiatusd.js +0 -17
  804. package/dist/src/openssl/index.d.ts +0 -5
  805. package/dist/src/openssl/index.d.ts.map +0 -1
  806. package/dist/src/openssl/index.js +0 -9
  807. package/dist/test/unit/openssl.d.ts +0 -2
  808. package/dist/test/unit/openssl.d.ts.map +0 -1
  809. package/dist/test/unit/openssl.js +0 -39
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { BitGoBase } from '../bitgoBase';
5
+ import { IKeychains, Keychain, KeychainWithEncryptedPrv } from '../keychain';
6
+ import type { DecryptedKeychainData } from './iWallet';
7
+ export declare class InvalidRootKeychainSourceError extends Error {
8
+ constructor(id: string, source: string | undefined);
9
+ }
10
+ /** Thrown when hardened derivation does not match the registered child public key. */
11
+ export declare class SafeDerivedPublicKeyMismatchError extends Error {
12
+ constructor(walletId: string, expectedPub: string, derivedPub: string);
13
+ }
14
+ /** Thrown when owner signing is not implemented for this safe slot (TSS, ed25519 multisig, …). */
15
+ export declare class SafeOwnerSigningNotImplementedError extends Error {
16
+ constructor(walletId: string, detail: string);
17
+ }
18
+ /** Thrown when wallet sharing is not implemented for this safe slot (TSS, ed25519 multisig, …). */
19
+ export declare class SafeShareNotImplementedError extends Error {
20
+ constructor(walletId: string, detail: string);
21
+ }
22
+ /**
23
+ * True when this is the safe minter's user key: wallet is in a safe, the key
24
+ * has a parent root, and there is no child-level encryptedPrv (sharees have one).
25
+ */
26
+ export declare function isSafeChildPublicOnlyKeychain(walletSafeId: string | undefined, keychain: Keychain | undefined): keychain is Keychain & {
27
+ parent: string;
28
+ };
29
+ /**
30
+ * Fetch the root user keychain for a safe child key.
31
+ * Requires `source === 'user'` so a misconfigured parent fails early.
32
+ */
33
+ export declare function fetchRootKeychainForSafeChild(keychains: IKeychains, childKeychain: Keychain): Promise<KeychainWithEncryptedPrv>;
34
+ /**
35
+ * Shared params for resolving safe-owner key material (owner signing and wallet sharing).
36
+ * Both resolvers extend this so the precondition/derivation path cannot diverge.
37
+ */
38
+ export interface SafeKeyMaterialBaseParams {
39
+ bitgo: BitGoBase;
40
+ keychains: IKeychains;
41
+ walletId: string;
42
+ /** Onchain secp256k1: hardened-derive and verify pub. Other slots throw. */
43
+ multisigType: string | undefined;
44
+ coinFamily: string;
45
+ childKeychain: Keychain;
46
+ walletPassphrase: string;
47
+ /** When already fetched (passphrase preflight), skip a second GET. */
48
+ rootKeychain?: KeychainWithEncryptedPrv;
49
+ }
50
+ export type ResolveSafeOwnerSigningPrvParams = SafeKeyMaterialBaseParams;
51
+ /**
52
+ * Resolve signing material for a safe owner (child key has no encryptedPrv).
53
+ *
54
+ * Onchain secp256k1: decrypt root, hardened-derive at `derivedFromParentWithPath`
55
+ * (`m/44'/<coinType>'/<slot>'/<account>'`), and verify the registered pub.
56
+ * TSS and ed25519 onchain: throw — do not return root material or BIP32-derive the wrong curve.
57
+ *
58
+ * Do not use for wallet sharing — that must not receive root key material.
59
+ * Call only when `isSafeChildPublicOnlyKeychain` is true.
60
+ */
61
+ export declare function resolveSafeOwnerSigningPrv(params: ResolveSafeOwnerSigningPrvParams): Promise<string>;
62
+ export interface ResolveSafeChildPrvForSharingParams extends SafeKeyMaterialBaseParams {
63
+ mpcAlgorithm?: 'ecdsa' | 'eddsa';
64
+ }
65
+ /**
66
+ * Resolve sharing material for a safe owner (child key has no encryptedPrv).
67
+ *
68
+ * Onchain secp256k1: decrypt root, hardened-derive at `derivedFromParentWithPath`
69
+ * (`m/<n>'`), verify the registered pub, and return the CHILD `{prv, pub}` — never the root.
70
+ * TSS and ed25519 onchain: throw `SafeShareNotImplementedError` naming the slot + blocker.
71
+ *
72
+ * Call only when `isSafeChildPublicOnlyKeychain` is true.
73
+ */
74
+ export declare function resolveSafeChildPrvForSharing(params: ResolveSafeChildPrvForSharingParams): Promise<DecryptedKeychainData>;
75
+ //# sourceMappingURL=safeKeychain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeKeychain.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/safeKeychain.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAA6B,UAAU,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAIxG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;CAOnD;AAED,sFAAsF;AACtF,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAOtE;AAED,kGAAkG;AAClG,qBAAa,mCAAoC,SAAQ,KAAK;gBAChD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI7C;AAED,mGAAmG;AACnG,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI7C;AAKD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,QAAQ,IAAI,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAE3C;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,QAAQ,GACtB,OAAO,CAAC,wBAAwB,CAAC,CAYnC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,MAAM,MAAM,gCAAgC,GAAG,yBAAyB,CAAC;AAoEzE;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB1G;AAED,MAAM,WAAW,mCAAoC,SAAQ,yBAAyB;IACpF,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAClC;AAYD;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,mCAAmC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,CAMhC"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SafeShareNotImplementedError = exports.SafeOwnerSigningNotImplementedError = exports.SafeDerivedPublicKeyMismatchError = exports.InvalidRootKeychainSourceError = void 0;
4
+ exports.isSafeChildPublicOnlyKeychain = isSafeChildPublicOnlyKeychain;
5
+ exports.fetchRootKeychainForSafeChild = fetchRootKeychainForSafeChild;
6
+ exports.resolveSafeOwnerSigningPrv = resolveSafeOwnerSigningPrv;
7
+ exports.resolveSafeChildPrvForSharing = resolveSafeChildPrvForSharing;
8
+ const keychain_1 = require("../keychain");
9
+ const sdk_lib_safes_1 = require("@bitgo-beta/sdk-lib-safes");
10
+ const codecs_1 = require("../utils/codecs");
11
+ const errors_1 = require("../errors");
12
+ class InvalidRootKeychainSourceError extends Error {
13
+ constructor(id, source) {
14
+ super(`Root keychain ${id} has source '${source ?? 'unknown'}'; expected 'user'. ` +
15
+ `Using a backup or BitGo root would fail at signing.`);
16
+ this.name = 'InvalidRootKeychainSourceError';
17
+ }
18
+ }
19
+ exports.InvalidRootKeychainSourceError = InvalidRootKeychainSourceError;
20
+ /** Thrown when hardened derivation does not match the registered child public key. */
21
+ class SafeDerivedPublicKeyMismatchError extends Error {
22
+ constructor(walletId, expectedPub, derivedPub) {
23
+ super(`Safe wallet ${walletId}: derived child public key does not match the registered user key. ` +
24
+ `Expected ${expectedPub}, got ${derivedPub}.`);
25
+ this.name = 'SafeDerivedPublicKeyMismatchError';
26
+ }
27
+ }
28
+ exports.SafeDerivedPublicKeyMismatchError = SafeDerivedPublicKeyMismatchError;
29
+ /** Thrown when owner signing is not implemented for this safe slot (TSS, ed25519 multisig, …). */
30
+ class SafeOwnerSigningNotImplementedError extends Error {
31
+ constructor(walletId, detail) {
32
+ super(`Safe wallet ${walletId}: ${detail}`);
33
+ this.name = 'SafeOwnerSigningNotImplementedError';
34
+ }
35
+ }
36
+ exports.SafeOwnerSigningNotImplementedError = SafeOwnerSigningNotImplementedError;
37
+ /** Thrown when wallet sharing is not implemented for this safe slot (TSS, ed25519 multisig, …). */
38
+ class SafeShareNotImplementedError extends Error {
39
+ constructor(walletId, detail) {
40
+ super(`Safe wallet ${walletId}: ${detail}`);
41
+ this.name = 'SafeShareNotImplementedError';
42
+ }
43
+ }
44
+ exports.SafeShareNotImplementedError = SafeShareNotImplementedError;
45
+ /** ed25519 onchain multisig (slot ④). Needs SLIP-0010, not secp256k1 BIP32. */
46
+ const ED25519_ONCHAIN_FAMILIES = new Set(['algo', 'xlm', 'hbar']);
47
+ /**
48
+ * True when this is the safe minter's user key: wallet is in a safe, the key
49
+ * has a parent root, and there is no child-level encryptedPrv (sharees have one).
50
+ */
51
+ function isSafeChildPublicOnlyKeychain(walletSafeId, keychain) {
52
+ return !!(walletSafeId && keychain?.parent && !keychain.encryptedPrv);
53
+ }
54
+ /**
55
+ * Fetch the root user keychain for a safe child key.
56
+ * Requires `source === 'user'` so a misconfigured parent fails early.
57
+ */
58
+ async function fetchRootKeychainForSafeChild(keychains, childKeychain) {
59
+ if (!childKeychain.parent) {
60
+ throw new Error('childKeychain.parent is required to fetch the root keychain');
61
+ }
62
+ const root = await keychains.get({ id: childKeychain.parent });
63
+ if (root.source !== 'user') {
64
+ throw new InvalidRootKeychainSourceError(root.id, root.source);
65
+ }
66
+ if (!root.encryptedPrv) {
67
+ throw new Error(`root keychain ${root.id} does not have property encryptedPrv`);
68
+ }
69
+ return root;
70
+ }
71
+ /**
72
+ * Shared core that resolves safe key material for a pub-only safe child. Returns the CHILD
73
+ * `{prv, pub}` only — never the root — so the root can never leak into a share document.
74
+ *
75
+ * Onchain secp256k1: decrypt root, hardened-derive at `derivedFromParentWithPath`
76
+ * (`m/<n>'`), and verify the registered pub. TSS and ed25519 onchain throw via
77
+ * `makeNotImplementedError` — the caller constructs its own error class + message, so the
78
+ * guard set stays shared while signing/sharing report their own errors.
79
+ */
80
+ async function resolveSafeKeyMaterial(params) {
81
+ const { bitgo, keychains, walletId, multisigType, coinFamily, childKeychain, walletPassphrase, makeNotImplementedError, } = params;
82
+ if (multisigType !== 'onchain') {
83
+ throw makeNotImplementedError('tss', walletId);
84
+ }
85
+ if (ED25519_ONCHAIN_FAMILIES.has(coinFamily)) {
86
+ throw makeNotImplementedError('ed25519', walletId);
87
+ }
88
+ const rootKeychain = params.rootKeychain ?? (await fetchRootKeychainForSafeChild(keychains, childKeychain));
89
+ const rootPrv = await (0, keychain_1.decryptKeychainPrivateKey)(bitgo, rootKeychain, walletPassphrase);
90
+ if (!rootPrv) {
91
+ throw new errors_1.IncorrectPasswordError();
92
+ }
93
+ if (!childKeychain.pub) {
94
+ throw new Error(`Safe wallet ${walletId}: child keychain is missing pub for pre-sign verification`);
95
+ }
96
+ if (childKeychain.derivedFromParentWithPath === undefined) {
97
+ throw new Error(`Safe wallet ${walletId}: child keychain is missing derivedFromParentWithPath`);
98
+ }
99
+ const derived = (0, sdk_lib_safes_1.deriveSafeChildHardenedFromXprv)(rootPrv, (0, codecs_1.decodeWithCodec)(sdk_lib_safes_1.DerivedFromParentWithHardenedPath, childKeychain.derivedFromParentWithPath, 'derivedFromParentWithPath'));
100
+ if (derived.pub !== childKeychain.pub) {
101
+ throw new SafeDerivedPublicKeyMismatchError(walletId, childKeychain.pub, derived.pub);
102
+ }
103
+ if (derived.pub === rootKeychain.pub) {
104
+ throw new Error(`Safe wallet ${walletId}: derived child pub unexpectedly equals the root pub`);
105
+ }
106
+ return { prv: derived.prv, pub: derived.pub };
107
+ }
108
+ /**
109
+ * Resolve signing material for a safe owner (child key has no encryptedPrv).
110
+ *
111
+ * Onchain secp256k1: decrypt root, hardened-derive at `derivedFromParentWithPath`
112
+ * (`m/44'/<coinType>'/<slot>'/<account>'`), and verify the registered pub.
113
+ * TSS and ed25519 onchain: throw — do not return root material or BIP32-derive the wrong curve.
114
+ *
115
+ * Do not use for wallet sharing — that must not receive root key material.
116
+ * Call only when `isSafeChildPublicOnlyKeychain` is true.
117
+ */
118
+ async function resolveSafeOwnerSigningPrv(params) {
119
+ const { prv } = await resolveSafeKeyMaterial({
120
+ ...params,
121
+ makeNotImplementedError: (slot, walletId) => slot === 'ed25519'
122
+ ? new SafeOwnerSigningNotImplementedError(walletId, `ed25519 multisig owner derivation (${params.coinFamily}) is not implemented; BIP32 would produce the wrong child key.`)
123
+ : new SafeOwnerSigningNotImplementedError(walletId, 'TSS owner signing from the root keyshare is not implemented. ' +
124
+ 'Returning the root private key would expose material that can derive every child in this slot.'),
125
+ });
126
+ return prv;
127
+ }
128
+ /** Slot-named not-implemented detail for wallet sharing. */
129
+ function safeShareSlotDetail(slot, params) {
130
+ if (slot === 'ed25519') {
131
+ return `ed25519 multisig safe sharing (${params.coinFamily}) is not implemented; BIP32 would derive the wrong child.`;
132
+ }
133
+ return params.mpcAlgorithm === 'eddsa'
134
+ ? 'eddsaMpc safe sharing is not implemented (needs the EdDSA derive ceremony).'
135
+ : 'ecdsaMpc safe sharing is not implemented (needs the DKLS derive ceremony).';
136
+ }
137
+ /**
138
+ * Resolve sharing material for a safe owner (child key has no encryptedPrv).
139
+ *
140
+ * Onchain secp256k1: decrypt root, hardened-derive at `derivedFromParentWithPath`
141
+ * (`m/<n>'`), verify the registered pub, and return the CHILD `{prv, pub}` — never the root.
142
+ * TSS and ed25519 onchain: throw `SafeShareNotImplementedError` naming the slot + blocker.
143
+ *
144
+ * Call only when `isSafeChildPublicOnlyKeychain` is true.
145
+ */
146
+ async function resolveSafeChildPrvForSharing(params) {
147
+ return resolveSafeKeyMaterial({
148
+ ...params,
149
+ makeNotImplementedError: (slot, walletId) => new SafeShareNotImplementedError(walletId, safeShareSlotDetail(slot, params)),
150
+ });
151
+ }
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZUtleWNoYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3dhbGxldC9zYWZlS2V5Y2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0RBLHNFQUtDO0FBTUQsc0VBZUM7QUFpR0QsZ0VBZ0JDO0FBeUJELHNFQVFDO0FBOU5ELDBDQUF3RztBQUN4Ryw2REFBK0c7QUFDL0csNENBQWtEO0FBQ2xELHNDQUFtRDtBQUduRCxNQUFhLDhCQUErQixTQUFRLEtBQUs7SUFDdkQsWUFBWSxFQUFVLEVBQUUsTUFBMEI7UUFDaEQsS0FBSyxDQUNILGlCQUFpQixFQUFFLGdCQUFnQixNQUFNLElBQUksU0FBUyxzQkFBc0I7WUFDMUUscURBQXFELENBQ3hELENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLGdDQUFnQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQVJELHdFQVFDO0FBRUQsc0ZBQXNGO0FBQ3RGLE1BQWEsaUNBQWtDLFNBQVEsS0FBSztJQUMxRCxZQUFZLFFBQWdCLEVBQUUsV0FBbUIsRUFBRSxVQUFrQjtRQUNuRSxLQUFLLENBQ0gsZUFBZSxRQUFRLHFFQUFxRTtZQUMxRixZQUFZLFdBQVcsU0FBUyxVQUFVLEdBQUcsQ0FDaEQsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsbUNBQW1DLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBUkQsOEVBUUM7QUFFRCxrR0FBa0c7QUFDbEcsTUFBYSxtQ0FBb0MsU0FBUSxLQUFLO0lBQzVELFlBQVksUUFBZ0IsRUFBRSxNQUFjO1FBQzFDLEtBQUssQ0FBQyxlQUFlLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcscUNBQXFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBTEQsa0ZBS0M7QUFFRCxtR0FBbUc7QUFDbkcsTUFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksUUFBZ0IsRUFB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VUFBVSwyREFBMkQsQ0FBQztJQUN4SCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU87UUFDcEMsQ0FBQyxDQUFDLDZFQUE2RTtRQUMvRSxDQUFDLENBQUMsNEVBQTRFLENBQUM7QUFDbkYsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0ksS0FBSyxVQUFVLDZCQUE2QixDQUNqRCxNQUEyQztJQUUzQyxPQUFPLHNCQUFzQixDQUFDO1FBQzVCLEdBQUcsTUFBTTtRQUNULHVCQUF1QixFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQzFDLElBQUksNEJBQTRCLENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNoRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXksIElLZXljaGFpbnMsIEtleWNoYWluLCBLZXljaGFpbldpdGhFbmNyeXB0ZWRQcnYgfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2LCBEZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGggfSBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLXNhZmVzJztcbmltcG9ydCB7IGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzL2NvZGVjcyc7XG5pbXBvcnQgeyBJbmNvcnJlY3RQYXNzd29yZEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCB0eXBlIHsgRGVjcnlwdGVkS2V5Y2hhaW5EYXRhIH0gZnJvbSAnLi9pV2FsbGV0JztcblxuZXhwb3J0IGNsYXNzIEludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgc291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBzdXBlcihcbiAgICAgIGBSb290IGtleWNoYWluICR7aWR9IGhhcyBzb3VyY2UgJyR7c291cmNlID8/ICd1bmtub3duJ30nOyBleHBlY3RlZCAndXNlcicuIGAgK1xuICAgICAgICBgVXNpbmcgYSBiYWNrdXAgb3IgQml0R28gcm9vdCB3b3VsZCBmYWlsIGF0IHNpZ25pbmcuYFxuICAgICk7XG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvcic7XG4gIH1cbn1cblxuLyoqIFRocm93biB3aGVuIGhhcmRlbmVkIGRlcml2YXRpb24gZG9lcyBub3QgbWF0Y2ggdGhlIHJlZ2lzdGVyZWQgY2hpbGQgcHVibGljIGtleS4gKi9cbmV4cG9ydCBjbGFzcyBTYWZlRGVyaXZlZFB1YmxpY0tleU1pc21hdGNoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHdhbGxldElkOiBzdHJpbmcsIGV4cGVjdGVkUHViOiBzdHJpbmcsIGRlcml2ZWRQdWI6IHN0cmluZykge1xuICAgIHN1cGVyKFxuICAgICAgYFNhZmUgd2FsbGV0ICR7d2FsbGV0SWR9OiBkZXJpdmVkIGNoaWxkIHB1YmxpYyBrZXkgZG9lcyBub3QgbWF0Y2ggdGhlIHJlZ2lzdGVyZWQgdXNlciBrZXkuIGAgK1xuICAgICAgICBgRXhwZWN0ZWQgJHtleHBlY3RlZFB1Yn0sIGdvdCAke2Rlcml2ZWRQdWJ9LmBcbiAgICApO1xuICAgIHRoaXMubmFtZSA9ICdTYWZlRGVyaXZlZFB1YmxpY0tleU1pc21hdGNoRXJyb3InO1xuICB9XG59XG5cbi8qKiBUaHJvd24gd2hlbiBvd25lciBzaWduaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBzYWZlIHNsb3QgKFRTUywgZWQyNTUxOSBtdWx0aXNpZywg4oCmKS4gKi9cbmV4cG9ydCBjbGFzcyBTYWZlT3duZXJTaWduaW5nTm90SW1wbGVtZW50ZWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3Iod2FsbGV0SWQ6IHN0cmluZywgZGV0YWlsOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgU2FmZSB3YWxsZXQgJHt3YWxsZXRJZH06ICR7ZGV0YWlsfWApO1xuICAgIHRoaXMubmFtZSA9ICdTYWZlT3duZXJTaWduaW5nTm90SW1wbGVtZW50ZWRFcnJvcic7XG4gIH1cbn1cblxuLyoqIFRocm93biB3aGVuIHdhbGxldCBzaGFyaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBzYWZlIHNsb3QgKFRTUywgZWQyNTUxOSBtdWx0aXNpZywg4oCmKS4gKi9cbmV4cG9ydCBjbGFzcyBTYWZlU2hhcmVOb3RJbXBsZW1lbnRlZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih3YWxsZXRJZDogc3RyaW5nLCBkZXRhaWw6IHN0cmluZykge1xuICAgIHN1cGVyKGBTYWZlIHdhbGxldCAke3dhbGxldElkfTogJHtkZXRhaWx9YCk7XG4gICAgdGhpcy5uYW1lID0gJ1NhZmVTaGFyZU5vdEltcGxlbWVudGVkRXJyb3InO1xuICB9XG59XG5cbi8qKiBlZDI1NTE5IG9uY2hhaW4gbXVsdGlzaWcgKHNsb3Qg4pGjKS4gTmVlZHMgU0xJUC0wMDEwLCBub3Qgc2VjcDI1NmsxIEJJUDMyLiAqL1xuY29uc3QgRUQyNTUxOV9PTkNIQUlOX0ZBTUlMSUVTID0gbmV3IFNldChbJ2FsZ28nLCAneGxtJywgJ2hiYXInXSk7XG5cbi8qKlxuICogVHJ1ZSB3aGVuIHRoaXMgaXMgdGhlIHNhZmUgbWludGVyJ3MgdXNlciBrZXk6IHdhbGxldCBpcyBpbiBhIHNhZmUsIHRoZSBrZXlcbiAqIGhhcyBhIHBhcmVudCByb290LCBhbmQgdGhlcmUgaXMgbm8gY2hpbGQtbGV2ZWwgZW5jcnlwdGVkUHJ2IChzaGFyZWVzIGhhdmUgb25lKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2FmZUNoaWxkUHVibGljT25seUtleWNoYWluKFxuICB3YWxsZXRTYWZlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAga2V5Y2hhaW46IEtleWNoYWluIHwgdW5kZWZpbmVkXG4pOiBrZXljaGFpbiBpcyBLZXljaGFpbiAmIHsgcGFyZW50OiBzdHJpbmcgfSB7XG4gIHJldHVybiAhISh3YWxsZXRTYWZlSWQgJiYga2V5Y2hhaW4/LnBhcmVudCAmJiAha2V5Y2hhaW4uZW5jcnlwdGVkUHJ2KTtcbn1cblxuLyoqXG4gKiBGZXRjaCB0aGUgcm9vdCB1c2VyIGtleWNoYWluIGZvciBhIHNhZmUgY2hpbGQga2V5LlxuICogUmVxdWlyZXMgYHNvdXJjZSA9PT0gJ3VzZXInYCBzbyBhIG1pc2NvbmZpZ3VyZWQgcGFyZW50IGZhaWxzIGVhcmx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hSb290S2V5Y2hhaW5Gb3JTYWZlQ2hpbGQoXG4gIGtleWNoYWluczogSUtleWNoYWlucyxcbiAgY2hpbGRLZXljaGFpbjogS2V5Y2hhaW5cbik6IFByb21pc2U8S2V5Y2hhaW5XaXRoRW5jcnlwdGVkUHJ2PiB7XG4gIGlmICghY2hpbGRLZXljaGFpbi5wYXJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NoaWxkS2V5Y2hhaW4ucGFyZW50IGlzIHJlcXVpcmVkIHRvIGZldGNoIHRoZSByb290IGtleWNoYWluJyk7XG4gIH1cbiAgY29uc3Qgcm9vdCA9IGF3YWl0IGtleWNoYWlucy5nZXQoeyBpZDogY2hpbGRLZXljaGFpbi5wYXJlbnQgfSk7XG4gIGlmIChyb290LnNvdXJjZSAhPT0gJ3VzZXInKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvcihyb290LmlkLCByb290LnNvdXJjZSk7XG4gIH1cbiAgaWYgKCFyb290LmVuY3J5cHRlZFBydikge1xuICAgIHRocm93IG5ldyBFcnJvcihgcm9vdCBrZXljaGFpbiAke3Jvb3QuaWR9IGRvZXMgbm90IGhhdmUgcHJvcGVydHkgZW5jcnlwdGVkUHJ2YCk7XG4gIH1cbiAgcmV0dXJuIHJvb3QgYXMgS2V5Y2hhaW5XaXRoRW5jcnlwdGVkUHJ2O1xufVxuXG4vKipcbiAqIFNoYXJlZCBwYXJhbXMgZm9yIHJlc29sdmluZyBzYWZlLW93bmVyIGtleSBtYXRlcmlhbCAob3duZXIgc2lnbmluZyBhbmQgd2FsbGV0IHNoYXJpbmcpLlxuICogQm90aCByZXNvbHZlcnMgZXh0ZW5kIHRoaXMgc28gdGhlIHByZWNvbmRpdGlvbi9kZXJpdmF0aW9uIHBhdGggY2Fubm90IGRpdmVyZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUtleU1hdGVyaWFsQmFzZVBhcmFtcyB7XG4gIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIGtleWNoYWluczogSUtleWNoYWlucztcbiAgd2FsbGV0SWQ6IHN0cmluZztcbiAgLyoqIE9uY2hhaW4gc2VjcDI1NmsxOiBoYXJkZW5lZC1kZXJpdmUgYW5kIHZlcmlmeSBwdWIuIE90aGVyIHNsb3RzIHRocm93LiAqL1xuICBtdWx0aXNpZ1R5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29pbkZhbWlseTogc3RyaW5nO1xuICBjaGlsZEtleWNoYWluOiBLZXljaGFpbjtcbiAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICAvKiogV2hlbiBhbHJlYWR5IGZldGNoZWQgKHBhc3NwaHJhc2UgcHJlZmxpZ2h0KSwgc2tpcCBhIHNlY29uZCBHRVQuICovXG4gIHJvb3RLZXljaGFpbj86IEtleWNoYWluV2l0aEVuY3J5cHRlZFBydjtcbn1cblxuZXhwb3J0IHR5cGUgUmVzb2x2ZVNhZmVPd25lclNpZ25pbmdQcnZQYXJhbXMgPSBTYWZlS2V5TWF0ZXJpYWxCYXNlUGFyYW1zO1xuXG50eXBlIFNhZmVLZXlNYXRlcmlhbFNsb3QgPSAndHNzJyB8ICdlZDI1NTE5JztcblxudHlwZSBSZXNvbHZlU2FmZUtleU1hdGVyaWFsUGFyYW1zID0gU2FmZUtleU1hdGVyaWFsQmFzZVBhcmFtcyAmIHtcbiAgLyoqIENvbnN0cnVjdHMgdGhlIG5vdC1pbXBsZW1lbnRlZCBlcnJvciBmb3IgdGhlIGN1cnJlbnQgcmVzb2x2ZXIgKHNpZ25pbmcgdnMgc2hhcmluZykuICovXG4gIG1ha2VOb3RJbXBsZW1lbnRlZEVycm9yOiAoc2xvdDogU2FmZUtleU1hdGVyaWFsU2xvdCwgd2FsbGV0SWQ6IHN0cmluZykgPT4gRXJyb3I7XG59O1xuXG4vKipcbiAqIFNoYXJlZCBjb3JlIHRoYXQgcmVzb2x2ZXMgc2FmZSBrZXkgbWF0ZXJpYWwgZm9yIGEgcHViLW9ubHkgc2FmZSBjaGlsZC4gUmV0dXJucyB0aGUgQ0hJTERcbiAqIGB7cHJ2LCBwdWJ9YCBvbmx5IOKAlCBuZXZlciB0aGUgcm9vdCDigJQgc28gdGhlIHJvb3QgY2FuIG5ldmVyIGxlYWsgaW50byBhIHNoYXJlIGRvY3VtZW50LlxuICpcbiAqIE9uY2hhaW4gc2VjcDI1NmsxOiBkZWNyeXB0IHJvb3QsIGhhcmRlbmVkLWRlcml2ZSBhdCBgZGVyaXZlZEZyb21QYXJlbnRXaXRoUGF0aGBcbiAqIChgbS88bj4nYCksIGFuZCB2ZXJpZnkgdGhlIHJlZ2lzdGVyZWQgcHViLiBUU1MgYW5kIGVkMjU1MTkgb25jaGFpbiB0aHJvdyB2aWFcbiAqIGBtYWtlTm90SW1wbGVtZW50ZWRFcnJvcmAg4oCUIHRoZSBjYWxsZXIgY29uc3RydWN0cyBpdHMgb3duIGVycm9yIGNsYXNzICsgbWVzc2FnZSwgc28gdGhlXG4gKiBndWFyZCBzZXQgc3RheXMgc2hhcmVkIHdoaWxlIHNpZ25pbmcvc2hhcmluZyByZXBvcnQgdGhlaXIgb3duIGVycm9ycy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVNhZmVLZXlNYXRlcmlhbChwYXJhbXM6IFJlc29sdmVTYWZlS2V5TWF0ZXJpYWxQYXJhbXMpOiBQcm9taXNlPHsgcHJ2OiBzdHJpbmc7IHB1Yjogc3RyaW5nIH0+IHtcbiAgY29uc3Qge1xuICAgIGJpdGdvLFxuICAgIGtleWNoYWlucyxcbiAgICB3YWxsZXRJZCxcbiAgICBtdWx0aXNpZ1R5cGUsXG4gICAgY29pbkZhbWlseSxcbiAgICBjaGlsZEtleWNoYWluLFxuICAgIHdhbGxldFBhc3NwaHJhc2UsXG4gICAgbWFrZU5vdEltcGxlbWVudGVkRXJyb3IsXG4gIH0gPSBwYXJhbXM7XG5cbiAgaWYgKG11bHRpc2lnVHlwZSAhPT0gJ29uY2hhaW4nKSB7XG4gICAgdGhyb3cgbWFrZU5vdEltcGxlbWVudGVkRXJyb3IoJ3RzcycsIHdhbGxldElkKTtcbiAgfVxuICBpZiAoRUQyNTUxOV9PTkNIQUlOX0ZBTUlMSUVTLmhhcyhjb2luRmFtaWx5KSkge1xuICAgIHRocm93IG1ha2VOb3RJbXBsZW1lbnRlZEVycm9yKCdlZDI1NTE5Jywgd2FsbGV0SWQpO1xuICB9XG5cbiAgY29uc3Qgcm9vdEtleWNoYWluID0gcGFyYW1zLnJvb3RLZXljaGFpbiA/PyAoYXdhaXQgZmV0Y2hSb290S2V5Y2hhaW5Gb3JTYWZlQ2hpbGQoa2V5Y2hhaW5zLCBjaGlsZEtleWNoYWluKSk7XG4gIGNvbnN0IHJvb3RQcnYgPSBhd2FpdCBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5KGJpdGdvLCByb290S2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UpO1xuICBpZiAoIXJvb3RQcnYpIHtcbiAgICB0aHJvdyBuZXcgSW5jb3JyZWN0UGFzc3dvcmRFcnJvcigpO1xuICB9XG5cbiAgaWYgKCFjaGlsZEtleWNoYWluLnB1Yikge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2FmZSB3YWxsZXQgJHt3YWxsZXRJZH06IGNoaWxkIGtleWNoYWluIGlzIG1pc3NpbmcgcHViIGZvciBwcmUtc2lnbiB2ZXJpZmljYXRpb25gKTtcbiAgfVxuICBpZiAoY2hpbGRLZXljaGFpbi5kZXJpdmVkRnJvbVBhcmVudFdpdGhQYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgd2FsbGV0ICR7d2FsbGV0SWR9OiBjaGlsZCBrZXljaGFpbiBpcyBtaXNzaW5nIGRlcml2ZWRGcm9tUGFyZW50V2l0aFBhdGhgKTtcbiAgfVxuXG4gIGNvbnN0IGRlcml2ZWQgPSBkZXJpdmVTYWZlQ2hpbGRIYXJkZW5lZEZyb21YcHJ2KFxuICAgIHJvb3RQcnYsXG4gICAgZGVjb2RlV2l0aENvZGVjKFxuICAgICAgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLFxuICAgICAgY2hpbGRLZXljaGFpbi5kZXJpdmVkRnJvbVBhcmVudFdpdGhQYXRoLFxuICAgICAgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aFBhdGgnXG4gICAgKVxuICApO1xuICBpZiAoZGVyaXZlZC5wdWIgIT09IGNoaWxkS2V5Y2hhaW4ucHViKSB7XG4gICAgdGhyb3cgbmV3IFNhZmVEZXJpdmVkUHVibGljS2V5TWlzbWF0Y2hFcnJvcih3YWxsZXRJZCwgY2hpbGRLZXljaGFpbi5wdWIsIGRlcml2ZWQucHViKTtcbiAgfVxuXG4gIGlmIChkZXJpdmVkLnB1YiA9PT0gcm9vdEtleWNoYWluLnB1Yikge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2FmZSB3YWxsZXQgJHt3YWxsZXRJZH06IGRlcml2ZWQgY2hpbGQgcHViIHVuZXhwZWN0ZWRseSBlcXVhbHMgdGhlIHJvb3QgcHViYCk7XG4gIH1cbiAgcmV0dXJuIHsgcHJ2OiBkZXJpdmVkLnBydiwgcHViOiBkZXJpdmVkLnB1YiB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgc2lnbmluZyBtYXRlcmlhbCBmb3IgYSBzYWZlIG93bmVyIChjaGlsZCBrZXkgaGFzIG5vIGVuY3J5cHRlZFBydikuXG4gKlxuICogT25jaGFpbiBzZWNwMjU2azE6IGRlY3J5cHQgcm9vdCwgaGFyZGVuZWQtZGVyaXZlIGF0IGBkZXJpdmVkRnJvbVBhcmVudFdpdGhQYXRoYFxuICogKGBtLzQ0Jy88Y29pblR5cGU+Jy88c2xvdD4nLzxhY2NvdW50PidgKSwgYW5kIHZlcmlmeSB0aGUgcmVnaXN0ZXJlZCBwdWIuXG4gKiBUU1MgYW5kIGVkMjU1MTkgb25jaGFpbjogdGhyb3cg4oCUIGRvIG5vdCByZXR1cm4gcm9vdCBtYXRlcmlhbCBvciBCSVAzMi1kZXJpdmUgdGhlIHdyb25nIGN1cnZlLlxuICpcbiAqIERvIG5vdCB1c2UgZm9yIHdhbGxldCBzaGFyaW5nIOKAlCB0aGF0IG11c3Qgbm90IHJlY2VpdmUgcm9vdCBrZXkgbWF0ZXJpYWwuXG4gKiBDYWxsIG9ubHkgd2hlbiBgaXNTYWZlQ2hpbGRQdWJsaWNPbmx5S2V5Y2hhaW5gIGlzIHRydWUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlU2FmZU93bmVyU2lnbmluZ1BydihwYXJhbXM6IFJlc29sdmVTYWZlT3duZXJTaWduaW5nUHJ2UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBwcnYgfSA9IGF3YWl0IHJlc29sdmVTYWZlS2V5TWF0ZXJpYWwoe1xuICAgIC4uLnBhcmFtcyxcbiAgICBtYWtlTm90SW1wbGVtZW50ZWRFcnJvcjogKHNsb3QsIHdhbGxldElkKSA9PlxuICAgICAgc2xvdCA9PT0gJ2VkMjU1MTknXG4gICAgICAgID8gbmV3IFNhZmVPd25lclNpZ25pbmdOb3RJbXBsZW1lbnRlZEVycm9yKFxuICAgICAgICAgICAgd2FsbGV0SWQsXG4gICAgICAgICAgICBgZWQyNTUxOSBtdWx0aXNpZyBvd25lciBkZXJpdmF0aW9uICgke3BhcmFtcy5jb2luRmFtaWx5fSkgaXMgbm90IGltcGxlbWVudGVkOyBCSVAzMiB3b3VsZCBwcm9kdWNlIHRoZSB3cm9uZyBjaGlsZCBrZXkuYFxuICAgICAgICAgIClcbiAgICAgICAgOiBuZXcgU2FmZU93bmVyU2lnbmluZ05vdEltcGxlbWVudGVkRXJyb3IoXG4gICAgICAgICAgICB3YWxsZXRJZCxcbiAgICAgICAgICAgICdUU1Mgb3duZXIgc2lnbmluZyBmcm9tIHRoZSByb290IGtleXNoYXJlIGlzIG5vdCBpbXBsZW1lbnRlZC4gJyArXG4gICAgICAgICAgICAgICdSZXR1cm5pbmcgdGhlIHJvb3QgcHJpdmF0ZSBrZXkgd291bGQgZXhwb3NlIG1hdGVyaWFsIHRoYXQgY2FuIGRlcml2ZSBldmVyeSBjaGlsZCBpbiB0aGlzIHNsb3QuJ1xuICAgICAgICAgICksXG4gIH0pO1xuICByZXR1cm4gcHJ2O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVTYWZlQ2hpbGRQcnZGb3JTaGFyaW5nUGFyYW1zIGV4dGVuZHMgU2FmZUtleU1hdGVyaWFsQmFzZVBhcmFtcyB7XG4gIG1wY0FsZ29yaXRobT86ICdlY2RzYScgfCAnZWRkc2EnO1xufVxuXG4vKiogU2xvdC1uYW1lZCBub3QtaW1wbGVtZW50ZWQgZGV0YWlsIGZvciB3YWxsZXQgc2hhcmluZy4gKi9cbmZ1bmN0aW9uIHNhZmVTaGFyZVNsb3REZXRhaWwoc2xvdDogU2FmZUtleU1hdGVyaWFsU2xvdCwgcGFyYW1zOiBSZXNvbHZlU2FmZUNoaWxkUHJ2Rm9yU2hhcmluZ1BhcmFtcyk6IHN0cmluZyB7XG4gIGlmIChzbG90ID09PSAnZWQyNTUxOScpIHtcbiAgICByZXR1cm4gYGVkMjU1MTkgbXVsdGlzaWcgc2FmZSBzaGFyaW5nICgke3BhcmFtcy5jb2luRmFtaWx5fSkgaXMgbm90IGltcGxlbWVudGVkOyBCSVAzMiB3b3VsZCBkZXJpdmUgdGhlIHdyb25nIGNoaWxkLmA7XG4gIH1cbiAgcmV0dXJuIHBhcmFtcy5tcGNBbGdvcml0aG0gPT09ICdlZGRzYSdcbiAgICA/ICdlZGRzYU1wYyBzYWZlIHNoYXJpbmcgaXMgbm90IGltcGxlbWVudGVkIChuZWVkcyB0aGUgRWREU0EgZGVyaXZlIGNlcmVtb255KS4nXG4gICAgOiAnZWNkc2FNcGMgc2FmZSBzaGFyaW5nIGlzIG5vdCBpbXBsZW1lbnRlZCAobmVlZHMgdGhlIERLTFMgZGVyaXZlIGNlcmVtb255KS4nO1xufVxuXG4vKipcbiAqIFJlc29sdmUgc2hhcmluZyBtYXRlcmlhbCBmb3IgYSBzYWZlIG93bmVyIChjaGlsZCBrZXkgaGFzIG5vIGVuY3J5cHRlZFBydikuXG4gKlxuICogT25jaGFpbiBzZWNwMjU2azE6IGRlY3J5cHQgcm9vdCwgaGFyZGVuZWQtZGVyaXZlIGF0IGBkZXJpdmVkRnJvbVBhcmVudFdpdGhQYXRoYFxuICogKGBtLzxuPidgKSwgdmVyaWZ5IHRoZSByZWdpc3RlcmVkIHB1YiwgYW5kIHJldHVybiB0aGUgQ0hJTEQgYHtwcnYsIHB1Yn1gIOKAlCBuZXZlciB0aGUgcm9vdC5cbiAqIFRTUyBhbmQgZWQyNTUxOSBvbmNoYWluOiB0aHJvdyBgU2FmZVNoYXJlTm90SW1wbGVtZW50ZWRFcnJvcmAgbmFtaW5nIHRoZSBzbG90ICsgYmxvY2tlci5cbiAqXG4gKiBDYWxsIG9ubHkgd2hlbiBgaXNTYWZlQ2hpbGRQdWJsaWNPbmx5S2V5Y2hhaW5gIGlzIHRydWUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlU2FmZUNoaWxkUHJ2Rm9yU2hhcmluZyhcbiAgcGFyYW1zOiBSZXNvbHZlU2FmZUNoaWxkUHJ2Rm9yU2hhcmluZ1BhcmFtc1xuKTogUHJvbWlzZTxEZWNyeXB0ZWRLZXljaGFpbkRhdGE+IHtcbiAgcmV0dXJuIHJlc29sdmVTYWZlS2V5TWF0ZXJpYWwoe1xuICAgIC4uLnBhcmFtcyxcbiAgICBtYWtlTm90SW1wbGVtZW50ZWRFcnJvcjogKHNsb3QsIHdhbGxldElkKSA9PlxuICAgICAgbmV3IFNhZmVTaGFyZU5vdEltcGxlbWVudGVkRXJyb3Iod2FsbGV0SWQsIHNhZmVTaGFyZVNsb3REZXRhaWwoc2xvdCwgcGFyYW1zKSksXG4gIH0pO1xufVxuIl19