@bitgo-beta/sdk-core 8.2.1-beta.206 → 8.2.1-beta.2061

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 (761) 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 +296 -31
  94. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  95. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  96. package/dist/src/bitgo/baseCoin/index.js +6 -2
  97. package/dist/src/bitgo/bip32util.d.ts +3 -16
  98. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  99. package/dist/src/bitgo/bip32util.js +4 -56
  100. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  101. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  102. package/dist/src/bitgo/bitcoin.js +26 -13
  103. package/dist/src/bitgo/bitgoBase.d.ts +17 -4
  104. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  105. package/dist/src/bitgo/bitgoBase.js +1 -1
  106. package/dist/src/bitgo/coinFactory.d.ts +24 -3
  107. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  108. package/dist/src/bitgo/coinFactory.js +35 -3
  109. package/dist/src/bitgo/config.d.ts +3 -101
  110. package/dist/src/bitgo/config.d.ts.map +1 -1
  111. package/dist/src/bitgo/config.js +26 -15
  112. package/dist/src/bitgo/defi/defiVault.d.ts +171 -0
  113. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  114. package/dist/src/bitgo/defi/defiVault.js +445 -0
  115. package/dist/src/bitgo/defi/iDefiVault.d.ts +101 -0
  116. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  117. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  118. package/dist/src/bitgo/defi/index.d.ts +3 -0
  119. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  120. package/dist/src/bitgo/defi/index.js +22 -0
  121. package/dist/src/bitgo/ecdh.d.ts +0 -1
  122. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  123. package/dist/src/bitgo/ecdh.js +26 -13
  124. package/dist/src/bitgo/enterprise/enterprise.d.ts +9 -4
  125. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  126. package/dist/src/bitgo/enterprise/enterprise.js +47 -21
  127. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  128. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +5 -3
  129. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  130. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  131. package/dist/src/bitgo/enterprise/index.js +6 -2
  132. package/dist/src/bitgo/environments.d.ts +68 -3
  133. package/dist/src/bitgo/environments.d.ts.map +1 -1
  134. package/dist/src/bitgo/environments.js +414 -34
  135. package/dist/src/bitgo/errors.d.ts +182 -1
  136. package/dist/src/bitgo/errors.d.ts.map +1 -1
  137. package/dist/src/bitgo/errors.js +177 -3
  138. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  139. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  140. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  141. package/dist/src/bitgo/index.d.ts +5 -1
  142. package/dist/src/bitgo/index.d.ts.map +1 -1
  143. package/dist/src/bitgo/index.js +31 -11
  144. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  145. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  146. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  147. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  148. package/dist/src/bitgo/internal/index.js +6 -2
  149. package/dist/src/bitgo/internal/internal.js +5 -6
  150. package/dist/src/bitgo/internal/keycard.d.ts +13 -8
  151. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  152. package/dist/src/bitgo/internal/keycard.js +63 -48
  153. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  154. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  155. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  156. package/dist/src/bitgo/keychain/iKeychains.d.ts +132 -11
  157. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  158. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  159. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  160. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  161. package/dist/src/bitgo/keychain/index.js +7 -2
  162. package/dist/src/bitgo/keychain/keychains.d.ts +59 -7
  163. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  164. package/dist/src/bitgo/keychain/keychains.js +298 -53
  165. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  166. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  167. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  168. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  169. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  170. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  171. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  172. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  173. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  174. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  175. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  176. package/dist/src/bitgo/market/index.js +6 -2
  177. package/dist/src/bitgo/market/markets.js +23 -9
  178. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +5 -1
  179. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  180. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  181. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  182. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  183. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  184. package/dist/src/bitgo/pendingApproval/pendingApproval.js +246 -111
  185. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  186. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  187. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  188. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  189. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  190. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  191. package/dist/src/bitgo/proofs/index.js +6 -0
  192. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  193. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  194. package/dist/src/bitgo/proofs/types.js +80 -0
  195. package/dist/src/bitgo/recovery/index.js +6 -2
  196. package/dist/src/bitgo/recovery/initiate.d.ts +13 -3
  197. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  198. package/dist/src/bitgo/recovery/initiate.js +49 -41
  199. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts +13 -0
  200. package/dist/src/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  201. package/dist/src/bitgo/safe/derivableEd25519Pub.js +35 -0
  202. package/dist/src/bitgo/safe/iSafe.d.ts +95 -0
  203. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -0
  204. package/dist/src/bitgo/safe/iSafe.js +3 -0
  205. package/dist/src/bitgo/safe/iSafes.d.ts +94 -0
  206. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -0
  207. package/dist/src/bitgo/safe/iSafes.js +3 -0
  208. package/dist/src/bitgo/safe/index.d.ts +7 -0
  209. package/dist/src/bitgo/safe/index.d.ts.map +1 -0
  210. package/dist/src/bitgo/safe/index.js +23 -0
  211. package/dist/src/bitgo/safe/safe.d.ts +72 -0
  212. package/dist/src/bitgo/safe/safe.d.ts.map +1 -0
  213. package/dist/src/bitgo/safe/safe.js +289 -0
  214. package/dist/src/bitgo/safe/safes.d.ts +107 -0
  215. package/dist/src/bitgo/safe/safes.d.ts.map +1 -0
  216. package/dist/src/bitgo/safe/safes.js +317 -0
  217. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  218. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  219. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  220. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  221. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  222. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  223. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  224. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  225. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  226. package/dist/src/bitgo/staking/iStakingWallet.d.ts +165 -8
  227. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  228. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  229. package/dist/src/bitgo/staking/index.d.ts +3 -0
  230. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  231. package/dist/src/bitgo/staking/index.js +9 -2
  232. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  233. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  234. package/dist/src/bitgo/staking/stakingWallet.js +153 -7
  235. package/dist/src/bitgo/trading/iTradingAccount.d.ts +13 -1
  236. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  237. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  238. package/dist/src/bitgo/trading/index.d.ts +1 -0
  239. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  240. package/dist/src/bitgo/trading/index.js +7 -2
  241. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  242. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  243. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  244. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  245. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  246. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  247. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  248. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  249. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  250. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  251. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  252. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  253. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  254. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  255. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  256. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  257. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  258. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  259. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  260. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  261. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  262. package/dist/src/bitgo/trading/network/index.d.ts +2 -0
  263. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
  264. package/dist/src/bitgo/trading/network/index.js +8 -2
  265. package/dist/src/bitgo/trading/network/network.d.ts +4 -3
  266. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
  267. package/dist/src/bitgo/trading/network/network.js +24 -27
  268. package/dist/src/bitgo/trading/network/types.d.ts +79 -46
  269. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
  270. package/dist/src/bitgo/trading/network/types.js +1 -1
  271. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  272. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  273. package/dist/src/bitgo/trading/network/utils.js +54 -0
  274. package/dist/src/bitgo/trading/tradingAccount.d.ts +15 -1
  275. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  276. package/dist/src/bitgo/trading/tradingAccount.js +55 -7
  277. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +49 -0
  278. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  279. package/dist/src/bitgo/tss/bitgoPubKeys.js +92 -0
  280. package/dist/src/bitgo/tss/common.d.ts +41 -6
  281. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  282. package/dist/src/bitgo/tss/common.js +127 -17
  283. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  284. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  285. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  286. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  287. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  288. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  289. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  290. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  291. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  292. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  293. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  294. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  295. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  296. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  297. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  298. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +42 -0
  299. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  300. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +104 -0
  301. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  302. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  303. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  304. package/dist/src/bitgo/tss/index.d.ts +3 -2
  305. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  306. package/dist/src/bitgo/tss/index.js +26 -10
  307. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts +50 -0
  308. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  309. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +112 -0
  310. package/dist/src/bitgo/tss/types.d.ts +3 -3
  311. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  312. package/dist/src/bitgo/tss/types.js +2 -2
  313. package/dist/src/bitgo/types.d.ts +3 -3
  314. package/dist/src/bitgo/types.d.ts.map +1 -1
  315. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +10 -0
  316. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  317. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +76 -14
  318. package/dist/src/bitgo/utils/codecProps.js +24 -11
  319. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  320. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  321. package/dist/src/bitgo/utils/codecs.js +59 -0
  322. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  323. package/dist/src/bitgo/utils/decode.js +30 -16
  324. package/dist/src/bitgo/utils/index.d.ts +4 -2
  325. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  326. package/dist/src/bitgo/utils/index.js +27 -11
  327. package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
  328. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  329. package/dist/src/bitgo/utils/messageTypes.js +17 -0
  330. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  331. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  332. package/dist/src/bitgo/utils/mpcUtils.js +189 -14
  333. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  334. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  335. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  336. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -7
  337. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  338. package/dist/src/bitgo/utils/opengpgUtils.js +79 -62
  339. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  340. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  341. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  342. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  343. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  344. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  345. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  346. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  347. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  348. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  349. package/dist/src/bitgo/utils/triple.js +2 -3
  350. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  351. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  352. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  353. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +94 -17
  354. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  355. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +305 -45
  356. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +433 -55
  357. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  358. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  359. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  360. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  361. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  362. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  363. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  364. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  365. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +25 -51
  366. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  367. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
  368. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +240 -0
  369. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  370. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1076 -0
  371. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +16 -0
  372. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  373. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +37 -0
  374. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +69 -0
  375. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
  376. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +442 -0
  377. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +5 -0
  378. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  379. package/dist/src/bitgo/utils/tss/ecdsa/index.js +11 -2
  380. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  381. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  382. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  383. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +125 -0
  384. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  385. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  386. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  387. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  388. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +119 -0
  389. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  390. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  391. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  392. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +38 -11
  393. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  394. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
  395. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +221 -0
  396. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  397. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +890 -0
  398. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +8 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +16 -0
  401. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +25 -0
  402. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  403. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +241 -0
  404. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  405. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  406. package/dist/src/bitgo/utils/tss/eddsa/index.js +30 -8
  407. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +15 -7
  408. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  409. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  410. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +53 -0
  411. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  412. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +55 -0
  413. package/dist/src/bitgo/utils/tss/index.d.ts +6 -0
  414. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  415. package/dist/src/bitgo/utils/tss/index.js +30 -10
  416. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
  417. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  418. package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
  419. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  420. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  421. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  422. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +41 -0
  423. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  424. package/dist/src/bitgo/utils/tss/recipientUtils.js +162 -0
  425. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  426. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  427. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
  428. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  429. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  430. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  431. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
  432. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  433. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
  434. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
  435. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  436. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  437. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  438. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  439. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  440. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  441. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  442. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  443. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  444. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  445. package/dist/src/bitgo/utils/txRequest.js +49 -0
  446. package/dist/src/bitgo/utils/util.js +24 -10
  447. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  448. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  449. package/dist/src/bitgo/utils/wallet.js +48 -0
  450. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  451. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  452. package/dist/src/bitgo/v1Wallets.js +3 -0
  453. package/dist/src/bitgo/wallet/BuildParams.d.ts +89 -1
  454. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  455. package/dist/src/bitgo/wallet/BuildParams.js +90 -11
  456. package/dist/src/bitgo/wallet/iWallet.d.ts +583 -33
  457. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  458. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  459. package/dist/src/bitgo/wallet/iWallets.d.ts +310 -16
  460. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  461. package/dist/src/bitgo/wallet/iWallets.js +84 -3
  462. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  463. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  464. package/dist/src/bitgo/wallet/index.js +7 -2
  465. package/dist/src/bitgo/wallet/safeKeychain.d.ts +75 -0
  466. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  467. package/dist/src/bitgo/wallet/safeKeychain.js +151 -0
  468. package/dist/src/bitgo/wallet/wallet.d.ts +359 -27
  469. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  470. package/dist/src/bitgo/wallet/wallet.js +2205 -390
  471. package/dist/src/bitgo/wallet/wallets.d.ts +99 -4
  472. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  473. package/dist/src/bitgo/wallet/wallets.js +1242 -156
  474. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  475. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  476. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  477. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  478. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  479. package/dist/src/bitgo/walletUtil/index.js +19 -0
  480. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  481. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  482. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  483. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  484. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  485. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  486. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  487. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  488. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  489. package/dist/src/bitgo/webhook/index.js +6 -2
  490. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  491. package/dist/src/coins/fiat.d.ts +45 -0
  492. package/dist/src/coins/fiat.d.ts.map +1 -0
  493. package/dist/src/coins/fiat.js +94 -0
  494. package/dist/src/coins/index.d.ts +1 -6
  495. package/dist/src/coins/index.d.ts.map +1 -1
  496. package/dist/src/coins/index.js +7 -8
  497. package/dist/src/coins/ofc.d.ts +21 -2
  498. package/dist/src/coins/ofc.d.ts.map +1 -1
  499. package/dist/src/coins/ofc.js +29 -3
  500. package/dist/src/coins/ofcToken.d.ts +15 -4
  501. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  502. package/dist/src/coins/ofcToken.js +43 -5
  503. package/dist/src/coins/susd.d.ts +3 -2
  504. package/dist/src/coins/susd.d.ts.map +1 -1
  505. package/dist/src/coins/susd.js +5 -1
  506. package/dist/src/common.js +27 -13
  507. package/dist/src/index.d.ts +9 -1
  508. package/dist/src/index.d.ts.map +1 -1
  509. package/dist/src/index.js +40 -11
  510. package/dist/src/lightning.d.ts +20 -0
  511. package/dist/src/lightning.d.ts.map +1 -0
  512. package/dist/src/lightning.js +13 -0
  513. package/dist/src/units.js +5 -6
  514. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  515. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  516. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  517. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  518. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  519. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  520. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  521. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  522. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  523. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  524. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  525. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  526. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  527. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  528. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  529. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  530. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  531. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  532. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  533. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  534. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  535. package/dist/test/unit/bitgo/defi/defiVault.js +863 -0
  536. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  537. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  538. package/dist/test/unit/bitgo/environment.js +38 -0
  539. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  540. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  541. package/dist/test/unit/bitgo/errors.js +262 -0
  542. package/dist/test/unit/bitgo/keychain/keychains.d.ts +2 -0
  543. package/dist/test/unit/bitgo/keychain/keychains.d.ts.map +1 -0
  544. package/dist/test/unit/bitgo/keychain/keychains.js +166 -0
  545. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  546. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  547. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  548. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
  549. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  550. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +133 -0
  551. package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -0
  552. package/dist/test/unit/bitgo/safe/safe.d.ts +2 -0
  553. package/dist/test/unit/bitgo/safe/safe.d.ts.map +1 -0
  554. package/dist/test/unit/bitgo/safe/safe.js +415 -0
  555. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts +2 -0
  556. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts.map +1 -0
  557. package/dist/test/unit/bitgo/safe/safeDerivation.js +75 -0
  558. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  559. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  560. package/dist/test/unit/bitgo/safe/safes.js +376 -0
  561. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  562. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  563. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  564. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  565. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  566. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  567. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  568. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  569. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  570. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  571. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  572. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  573. package/dist/test/unit/bitgo/tss/common.d.ts +2 -0
  574. package/dist/test/unit/bitgo/tss/common.d.ts.map +1 -0
  575. package/dist/test/unit/bitgo/tss/common.js +77 -0
  576. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  577. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  578. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +181 -0
  579. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
  580. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  581. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  582. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  583. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
  584. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
  585. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
  586. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  587. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  588. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  589. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  590. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  591. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  592. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  593. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  594. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  595. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  596. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  597. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  598. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  599. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  600. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  601. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1068 -0
  602. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  603. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  604. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  605. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  606. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  607. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  608. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  609. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  610. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1993 -0
  611. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +2 -0
  612. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  613. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +174 -0
  614. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  615. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  616. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +376 -0
  617. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
  618. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  619. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
  620. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  621. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  622. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  623. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  624. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  625. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +434 -0
  626. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  627. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  628. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
  629. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  630. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  631. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
  632. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  633. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  634. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  635. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  636. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  637. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  638. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  639. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  640. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  641. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  642. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  643. package/dist/test/unit/bitgo/wallet/BuildParams.js +141 -0
  644. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
  645. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  646. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  647. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  648. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
  649. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
  650. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
  651. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  652. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  653. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  654. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  655. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  656. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  657. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  658. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  659. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  660. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  661. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  662. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  663. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  664. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  665. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  666. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  667. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  668. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
  669. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts +9 -0
  670. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts.map +1 -0
  671. package/dist/test/unit/bitgo/wallet/safeShareWallet.js +303 -0
  672. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  673. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  674. package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
  675. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  676. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  677. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  678. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  679. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  680. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
  681. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  682. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  683. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  684. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  685. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  686. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +304 -0
  687. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  688. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  689. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  690. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  691. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  692. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
  693. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  694. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  695. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  696. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  697. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  698. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  699. package/dist/test/unit/coins/ofc.d.ts +2 -0
  700. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  701. package/dist/test/unit/coins/ofc.js +124 -0
  702. package/dist/test/unit/lightning.d.ts +2 -0
  703. package/dist/test/unit/lightning.d.ts.map +1 -0
  704. package/dist/test/unit/lightning.js +23 -0
  705. package/dist/test/unit/units.d.ts.map +1 -1
  706. package/dist/test/unit/units.js +64 -64
  707. package/dist/tsconfig.tsbuildinfo +1 -1
  708. package/package.json +25 -22
  709. package/.eslintignore +0 -5
  710. package/CHANGELOG.md +0 -1712
  711. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  712. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  713. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  714. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +0 -49
  715. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +0 -1
  716. package/dist/src/account-lib/util/ed25519KeyDeriver.js +0 -87
  717. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  718. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  719. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  720. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  721. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  722. package/dist/src/bitgo/lightning/index.js +0 -17
  723. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  724. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  725. package/dist/src/bitgo/lightning/lightning.js +0 -111
  726. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  727. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  728. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  729. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  730. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  731. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  732. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  733. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  734. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  735. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  736. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  737. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  738. package/dist/src/coins/fiateur.d.ts +0 -31
  739. package/dist/src/coins/fiateur.d.ts.map +0 -1
  740. package/dist/src/coins/fiateur.js +0 -57
  741. package/dist/src/coins/fiatgbp.d.ts +0 -31
  742. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  743. package/dist/src/coins/fiatgbp.js +0 -57
  744. package/dist/src/coins/fiatusd.d.ts +0 -31
  745. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  746. package/dist/src/coins/fiatusd.js +0 -57
  747. package/dist/src/coins/tfiateur.d.ts +0 -11
  748. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  749. package/dist/src/coins/tfiateur.js +0 -17
  750. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  751. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  752. package/dist/src/coins/tfiatgbp.js +0 -17
  753. package/dist/src/coins/tfiatusd.d.ts +0 -11
  754. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  755. package/dist/src/coins/tfiatusd.js +0 -17
  756. package/dist/src/openssl/index.d.ts +0 -5
  757. package/dist/src/openssl/index.d.ts.map +0 -1
  758. package/dist/src/openssl/index.js +0 -9
  759. package/dist/test/unit/openssl.d.ts +0 -2
  760. package/dist/test/unit/openssl.d.ts.map +0 -1
  761. package/dist/test/unit/openssl.js +0 -39
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Safe = void 0;
37
+ /**
38
+ * @prettier
39
+ *
40
+ * @experimental The safe client surface is experimental and may change (including breaking
41
+ * changes) before the public release.
42
+ */
43
+ const t = __importStar(require("io-ts"));
44
+ const public_types_1 = require("@bitgo/public-types");
45
+ const errors_1 = require("../errors");
46
+ const keychain_1 = require("../keychain");
47
+ const utils_1 = require("../utils");
48
+ const codecs_1 = require("../utils/codecs");
49
+ const postWithCodec_1 = require("../utils/postWithCodec");
50
+ const wallet_1 = require("../wallet");
51
+ const safeKeychain_1 = require("../wallet/safeKeychain");
52
+ const sdk_lib_safes_1 = require("@bitgo-beta/sdk-lib-safes");
53
+ const SafeRootKeySlot = t.keyof({
54
+ secp256k1Multisig: null,
55
+ ecdsaMpc: null,
56
+ eddsaMpc: null,
57
+ ed25519Multisig: null,
58
+ });
59
+ const GetDerivationIndexResponse = t.type({
60
+ slot: SafeRootKeySlot,
61
+ index: (0, codecs_1.boundedInt)(0, 0x7fffffff, 'derivationIndex'),
62
+ });
63
+ const CreateWalletInSafeBody = t.union([
64
+ t.strict({
65
+ coin: t.string,
66
+ label: t.string,
67
+ type: t.literal('hot'),
68
+ multisigType: t.literal('onchain'),
69
+ keys: t.tuple([t.string]),
70
+ }),
71
+ // TSS mint uses ordered user and backup child documents.
72
+ t.strict({
73
+ coin: t.string,
74
+ label: t.string,
75
+ type: t.literal('hot'),
76
+ multisigType: t.literal('tss'),
77
+ keys: t.tuple([t.string, t.string, t.string]),
78
+ }),
79
+ ]);
80
+ function rootIdFromSafe(safe, slot, position) {
81
+ const triplet = safe.rootKeys?.hot?.[slot];
82
+ if (!triplet || triplet.length !== 3) {
83
+ return undefined;
84
+ }
85
+ const rootId = triplet[position];
86
+ return rootId.length > 0 ? rootId : undefined;
87
+ }
88
+ /**
89
+ * @experimental
90
+ */
91
+ class Safe {
92
+ constructor(bitgo, safeData) {
93
+ this.bitgo = bitgo;
94
+ this._safe = safeData;
95
+ }
96
+ id() {
97
+ return this._safe.id;
98
+ }
99
+ enterpriseId() {
100
+ return this._safe.enterpriseId;
101
+ }
102
+ label() {
103
+ return this._safe.label;
104
+ }
105
+ status() {
106
+ return this._safe.status;
107
+ }
108
+ /**
109
+ * Enterprise-scoped v2 URL for this safe, e.g. /api/v2/enterprise/:eId/safes/:safeId
110
+ * @param extra
111
+ */
112
+ url(extra = '') {
113
+ return this.bitgo.url(`/enterprise/${this.enterpriseId()}/safes/${this.id()}${extra}`, 2);
114
+ }
115
+ /**
116
+ * Mint a child wallet: peek the sequential index, derive the child keys, register
117
+ * them, then mint.
118
+ *
119
+ * `onchain`: hardened-derive the user child (`m/<index>'`), register it
120
+ * public-only; backup and BitGo children are soft-derived on the server.
121
+ *
122
+ * `tss`: decrypt the user root blob, run the user/BitGo hard-derive ceremony,
123
+ * register the ordered child documents, then mint.
124
+ */
125
+ async createWallet(params) {
126
+ if (params.passphrase.length === 0) {
127
+ throw new Error('passphrase is required to mint a safe wallet');
128
+ }
129
+ if (params.type !== undefined && params.type !== 'hot') {
130
+ throw new Error('Safe wallets are hot-only in v1');
131
+ }
132
+ const multisigType = params.multisigType ?? 'onchain';
133
+ const isTss = multisigType === 'tss';
134
+ const coin = this.bitgo.coin(params.coin);
135
+ const slot = isTss ? (0, sdk_lib_safes_1.tssSlotForCoin)(coin.getChain()) : (0, sdk_lib_safes_1.onchainSlotForCoin)(coin.getChain());
136
+ const indexResponse = await this.bitgo.get(this.url('/derivation-index')).query({ slot }).result();
137
+ const peeked = (0, codecs_1.decodeWithCodec)(GetDerivationIndexResponse, indexResponse, 'GetDerivationIndexResponse');
138
+ if (peeked.slot !== slot) {
139
+ throw new Error(`derivation-index returned slot '${peeked.slot}', expected '${slot}'`);
140
+ }
141
+ const { index } = peeked;
142
+ const safeData = rootIdFromSafe(this._safe, slot, 0) !== undefined ? this._safe : await this.fetchSafeData();
143
+ const userRootId = rootIdFromSafe(safeData, slot, 0);
144
+ if (userRootId === undefined) {
145
+ throw new Error(`Safe ${this.id()} is missing rootKeys.hot.${slot}`);
146
+ }
147
+ if (isTss) {
148
+ const backupRootId = rootIdFromSafe(safeData, slot, 1);
149
+ const bitgoRootId = rootIdFromSafe(safeData, slot, 2);
150
+ if (backupRootId === undefined) {
151
+ throw new Error(`Safe ${this.id()} is missing rootKeys.hot.${slot} backup key`);
152
+ }
153
+ if (bitgoRootId === undefined) {
154
+ throw new Error(`Safe ${this.id()} is missing rootKeys.hot.${slot} bitgo key`);
155
+ }
156
+ return this.createTssWalletInSafe(coin, userRootId, backupRootId, bitgoRootId, index, params);
157
+ }
158
+ const keychains = coin.keychains();
159
+ const rootKeychain = await keychains.get({ id: userRootId });
160
+ if (rootKeychain.source !== 'user') {
161
+ throw new safeKeychain_1.InvalidRootKeychainSourceError(rootKeychain.id, rootKeychain.source);
162
+ }
163
+ const rootPrv = await (0, keychain_1.decryptKeychainPrivateKey)(this.bitgo, rootKeychain, params.passphrase);
164
+ if (!rootPrv) {
165
+ throw new errors_1.IncorrectPasswordError();
166
+ }
167
+ const derived = slot === 'ed25519Multisig'
168
+ ? (0, sdk_lib_safes_1.deriveSafeChildEd25519Hardened)(rootPrv, index)
169
+ : (0, sdk_lib_safes_1.deriveAndSelfCheckSafeChildHardened)(rootPrv, index);
170
+ const derivedFromParentWithHardenedPath = (0, codecs_1.decodeWithCodec)(sdk_lib_safes_1.DerivedFromParentWithHardenedPath, derived.derivationPath, 'derivedFromParentWithHardenedPath');
171
+ const child = await keychains.add({
172
+ pub: derived.pub,
173
+ source: 'user',
174
+ keyType: 'independent',
175
+ parent: userRootId,
176
+ safeId: this.id(),
177
+ derivedFromParentWithPath: derivedFromParentWithHardenedPath,
178
+ });
179
+ const childId = child.id;
180
+ if (childId.length === 0) {
181
+ throw new Error('safe child key registration returned an empty id');
182
+ }
183
+ const keys = [childId];
184
+ const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url('/wallets'), CreateWalletInSafeBody, {
185
+ coin: params.coin,
186
+ label: params.label,
187
+ type: 'hot',
188
+ multisigType,
189
+ keys,
190
+ }).result();
191
+ return new wallet_1.Wallet(this.bitgo, coin, response);
192
+ }
193
+ /**
194
+ * TSS wallet mint: decrypt the user root blob, run the user/BitGo hard-derive
195
+ * ceremony, register the ordered child documents, then mint.
196
+ */
197
+ async createTssWalletInSafe(coin, userRootId, backupRootId, bitgoRootId, index, params) {
198
+ const keychains = coin.keychains();
199
+ const userRootKeychain = await keychains.get({ id: userRootId });
200
+ if (userRootKeychain.source !== 'user') {
201
+ throw new safeKeychain_1.InvalidRootKeychainSourceError(userRootKeychain.id, userRootKeychain.source);
202
+ }
203
+ const userRootPrv = await (0, keychain_1.decryptKeychainPrivateKey)(this.bitgo, userRootKeychain, params.passphrase);
204
+ if (!userRootPrv) {
205
+ throw new errors_1.IncorrectPasswordError();
206
+ }
207
+ const userRootMaterial = (0, utils_1.parseSafeMpcKeyEnvelopes)(userRootPrv);
208
+ const tssUtils = new utils_1.ECDSAUtils.EcdsaVrfMPCv2Utils(this.bitgo, coin);
209
+ const { userKeychain, backupKeychain, bitgoKeychain } = await tssUtils.createSafeChildKeychains({
210
+ passphrase: params.passphrase,
211
+ enterprise: this.enterpriseId(),
212
+ safeId: this.id(),
213
+ parentKeyId: bitgoRootId,
214
+ derivationIndex: index,
215
+ userRootKeyId: userRootId,
216
+ backupRootKeyId: backupRootId,
217
+ userRootKeyShare: userRootMaterial.signing,
218
+ userRootVrfKeyShare: userRootMaterial.vrf,
219
+ });
220
+ if (userKeychain.id.length === 0 || backupKeychain.id.length === 0 || bitgoKeychain.id.length === 0) {
221
+ throw new Error('safe child key registration returned an empty id');
222
+ }
223
+ const keys = [userKeychain.id, backupKeychain.id, bitgoKeychain.id];
224
+ const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url('/wallets'), CreateWalletInSafeBody, {
225
+ coin: params.coin,
226
+ label: params.label,
227
+ type: 'hot',
228
+ multisigType: 'tss',
229
+ keys,
230
+ }).result();
231
+ return new wallet_1.Wallet(this.bitgo, coin, response);
232
+ }
233
+ async fetchSafeData() {
234
+ const response = await this.bitgo.get(this.url()).result();
235
+ return (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
236
+ }
237
+ /**
238
+ * Add a member to the whole safe (view/admin/spend). Spend opens a key share.
239
+ */
240
+ async addMember(params) {
241
+ throw new Error('Safe.addMember is not yet implemented');
242
+ }
243
+ /**
244
+ * Share ONE safe wallet with a non-member via the existing wallet-share handshake.
245
+ */
246
+ async addMemberToWallet(params) {
247
+ throw new Error('Safe.addMemberToWallet is not yet implemented');
248
+ }
249
+ /**
250
+ * List the safe key shares visible to the caller.
251
+ */
252
+ async listShares(params = {}) {
253
+ throw new Error('Safe.listShares is not yet implemented');
254
+ }
255
+ /**
256
+ * Accept a safe key share addressed to the caller.
257
+ */
258
+ async acceptShare(params) {
259
+ throw new Error('Safe.acceptShare is not yet implemented');
260
+ }
261
+ /**
262
+ * Update the safe label.
263
+ */
264
+ async update(params) {
265
+ const response = await this.bitgo.put(this.url()).send({ label: params.label }).result();
266
+ return (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
267
+ }
268
+ /**
269
+ * Freeze the safe — blocks withdrawals on all safe wallets. Safe stays 'active'.
270
+ * @param params
271
+ */
272
+ async freeze(params = {}) {
273
+ const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url('/freeze'), public_types_1.FreezeSafeBody, params).result();
274
+ return (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
275
+ }
276
+ /**
277
+ * Archive the safe. Requires every safe wallet to already be archived; also the abandonment
278
+ * path for a stuck 'initializing' safe.
279
+ */
280
+ async archive() {
281
+ const response = await this.bitgo.post(this.url('/archive')).send().result();
282
+ return (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
283
+ }
284
+ toJSON() {
285
+ return this._safe;
286
+ }
287
+ }
288
+ exports.Safe = Safe;
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9zYWZlL3NhZmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCx5Q0FBMkI7QUFDM0Isc0RBQWdIO0FBR2hILHNDQUFtRDtBQUNuRCwwQ0FBd0Q7QUFDeEQsb0NBQWdFO0FBQ2hFLDRDQUE4RDtBQUM5RCwwREFBdUQ7QUFDdkQsc0NBQW1DO0FBQ25DLHlEQUF3RTtBQVV4RSw2REFNbUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFLElBQUEsbUJBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0NBQ3BELENBQUMsQ0FBQztBQUVILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3RCLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQixDQUFDO0lBQ0YseURBQXlEO0lBQ3pELENBQUMs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ekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0UsT0FBTyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBOU9ELG9CQThPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGUgc2FmZSBjbGllbnQgc3VyZmFjZSBpcyBleHBlcmltZW50YWwgYW5kIG1heSBjaGFuZ2UgKGluY2x1ZGluZyBicmVha2luZ1xuICogY2hhbmdlcykgYmVmb3JlIHRoZSBwdWJsaWMgcmVsZWFzZS5cbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBGcmVlemVTYWZlQm9keSwgU2FmZURhdGEsIFNhZmVTaGFyZURhdGEsIFNhZmVTaGFyZVN0YXRlLCB0eXBlIFJvb3RLZXlUeXBlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSW5jb3JyZWN0UGFzc3dvcmRFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBkZWNyeXB0S2V5Y2hhaW5Qcml2YXRlS2V5IH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgRUNEU0FVdGlscywgcGFyc2VTYWZlTXBjS2V5RW52ZWxvcGVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgYm91bmRlZEludCwgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9wb3N0V2l0aENvZGVjJztcbmltcG9ydCB7IFdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBJbnZhbGlkUm9vdEtleWNoYWluU291cmNlRXJyb3IgfSBmcm9tICcuLi93YWxsZXQvc2FmZUtleWNoYWluJztcbmltcG9ydCB7XG4gIEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMsXG4gIEFkZFNhZmVNZW1iZXJPcHRpb25zLFxuICBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyxcbiAgQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMsXG4gIElTYWZlLFxuICBVcGRhdGVTYWZlT3B0aW9ucyxcbiAgV2FsbGV0U2hhcmVEYXRhLFxufSBmcm9tICcuL2lTYWZlJztcbmltcG9ydCB7XG4gIGRlcml2ZUFuZFNlbGZDaGVja1NhZmVDaGlsZEhhcmRlbmVkLFxuICBkZXJpdmVTYWZlQ2hpbGRFZDI1NTE5SGFyZGVuZWQsXG4gIERlcml2ZWRGcm9tUGFyZW50V2l0aEhhcmRlbmVkUGF0aCxcbiAgb25jaGFpblNsb3RGb3JDb2luLFxuICB0c3NTbG90Rm9yQ29pbixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1zYWZlcyc7XG5cbmNvbnN0IFNhZmVSb290S2V5U2xvdCA9IHQua2V5b2Yoe1xuICBzZWNwMjU2azFNdWx0aXNpZzogbnVsbCxcbiAgZWNkc2FNcGM6IG51bGwsXG4gIGVkZHNhTXBjOiBudWxsLFxuICBlZDI1NTE5TXVsdGlzaWc6IG51bGwsXG59KTtcblxuY29uc3QgR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UgPSB0LnR5cGUoe1xuICBzbG90OiBTYWZlUm9vdEtleVNsb3QsXG4gIGluZGV4OiBib3VuZGVkSW50KDAsIDB4N2ZmZmZmZmYsICdkZXJpdmF0aW9uSW5kZXgnKSxcbn0pO1xuXG5jb25zdCBDcmVhdGVXYWxsZXRJblNhZmVCb2R5ID0gdC51bmlvbihbXG4gIHQuc3RyaWN0KHtcbiAgICBjb2luOiB0LnN0cmluZyxcbiAgICBsYWJlbDogdC5zdHJpbmcsXG4gICAgdHlwZTogdC5saXRlcmFsKCdob3QnKSxcbiAgICBtdWx0aXNpZ1R5cGU6IHQubGl0ZXJhbCgnb25jaGFpbicpLFxuICAgIGtleXM6IHQudHVwbGUoW3Quc3RyaW5nXSksXG4gIH0pLFxuICAvLyBUU1MgbWludCB1c2VzIG9yZGVyZWQgdXNlciBhbmQgYmFja3VwIGNoaWxkIGRvY3VtZW50cy5cbiAgdC5zdHJpY3Qoe1xuICAgIGNvaW46IHQuc3RyaW5nLFxuICAgIGxhYmVsOiB0LnN0cmluZyxcbiAgICB0eXBlOiB0LmxpdGVyYWwoJ2hvdCcpLFxuICAgIG11bHRpc2lnVHlwZTogdC5saXRlcmFsKCd0c3MnKSxcbiAgICBrZXlzOiB0LnR1cGxlKFt0LnN0cmluZywgdC5zdHJpbmcsIHQuc3RyaW5nXSksXG4gIH0pLFxuXSk7XG5cbmZ1bmN0aW9uIHJvb3RJZEZyb21TYWZlKHNhZmU6IFNhZmVEYXRhLCBzbG90OiBSb290S2V5VHlwZSwgcG9zaXRpb246IDAgfCAxIHwgMik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHRyaXBsZXQgPSBzYWZlLnJvb3RLZXlzPy5ob3Q/LltzbG90XTtcbiAgaWYgKCF0cmlwbGV0IHx8IHRyaXBsZXQubGVuZ3RoICE9PSAzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByb290SWQgPSB0cmlwbGV0W3Bvc2l0aW9uXTtcbiAgcmV0dXJuIHJvb3RJZC5sZW5ndGggPiAwID8gcm9vdElkIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNhZmUgaW1wbGVtZW50cyBJU2FmZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHVibGljIHJlYWRvbmx5IF9zYWZlOiBTYWZlRGF0YTtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzYWZlRGF0YTogU2FmZURhdGEpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5fc2FmZSA9IHNhZmVEYXRhO1xuICB9XG5cbiAgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5pZDtcbiAgfVxuXG4gIGVudGVycHJpc2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zYWZlLmVudGVycHJpc2VJZDtcbiAgfVxuXG4gIGxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmUubGFiZWw7XG4gIH1cblxuICBzdGF0dXMoKTogU2FmZURhdGFbJ3N0YXR1cyddIHtcbiAgICByZXR1cm4gdGhpcy5fc2FmZS5zdGF0dXM7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJwcmlzZS1zY29wZWQgdjIgVVJMIGZvciB0aGlzIHNhZmUsIGUuZy4gL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZFxuICAgKiBAcGFyYW0gZXh0cmFcbiAgICovXG4gIHVybChleHRyYSA9ICcnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXRnby51cmwoYC9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWQoKX0vc2FmZXMvJHt0aGlzLmlkKCl9JHtleHRyYX1gLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaW50IGEgY2hpbGQgd2FsbGV0OiBwZWVrIHRoZSBzZXF1ZW50aWFsIGluZGV4LCBkZXJpdmUgdGhlIGNoaWxkIGtleXMsIHJlZ2lzdGVyXG4gICAqIHRoZW0sIHRoZW4gbWludC5cbiAgICpcbiAgICogYG9uY2hhaW5gOiBoYXJkZW5lZC1kZXJpdmUgdGhlIHVzZXIgY2hpbGQgKGBtLzxpbmRleD4nYCksIHJlZ2lzdGVyIGl0XG4gICAqIHB1YmxpYy1vbmx5OyBiYWNrdXAgYW5kIEJpdEdvIGNoaWxkcmVuIGFyZSBzb2Z0LWRlcml2ZWQgb24gdGhlIHNlcnZlci5cbiAgICpcbiAgICogYHRzc2A6IGRlY3J5cHQgdGhlIHVzZXIgcm9vdCBibG9iLCBydW4gdGhlIHVzZXIvQml0R28gaGFyZC1kZXJpdmUgY2VyZW1vbnksXG4gICAqIHJlZ2lzdGVyIHRoZSBvcmRlcmVkIGNoaWxkIGRvY3VtZW50cywgdGhlbiBtaW50LlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlV2FsbGV0KHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPFdhbGxldD4ge1xuICAgIGlmIChwYXJhbXMucGFzc3BocmFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFzc3BocmFzZSBpcyByZXF1aXJlZCB0byBtaW50IGEgc2FmZSB3YWxsZXQnKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy50eXBlICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLnR5cGUgIT09ICdob3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUgd2FsbGV0cyBhcmUgaG90LW9ubHkgaW4gdjEnKTtcbiAgICB9XG4gICAgY29uc3QgbXVsdGlzaWdUeXBlID0gcGFyYW1zLm11bHRpc2lnVHlwZSA/PyAnb25jaGFpbic7XG4gICAgY29uc3QgaXNUc3MgPSBtdWx0aXNpZ1R5cGUgPT09ICd0c3MnO1xuXG4gICAgY29uc3QgY29pbiA9IHRoaXMuYml0Z28uY29pbihwYXJhbXMuY29pbik7XG4gICAgY29uc3Qgc2xvdCA9IGlzVHNzID8gdHNzU2xvdEZvckNvaW4oY29pbi5nZXRDaGFpbigpKSA6IG9uY2hhaW5TbG90Rm9yQ29pbihjb2luLmdldENoYWluKCkpO1xuXG4gICAgY29uc3QgaW5kZXhSZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCcvZGVyaXZhdGlvbi1pbmRleCcpKS5xdWVyeSh7IHNsb3QgfSkucmVzdWx0KCk7XG4gICAgY29uc3QgcGVla2VkID0gZGVjb2RlV2l0aENvZGVjKEdldERlcml2YXRpb25JbmRleFJlc3BvbnNlLCBpbmRleFJlc3BvbnNlLCAnR2V0RGVyaXZhdGlvbkluZGV4UmVzcG9uc2UnKTtcbiAgICBpZiAocGVla2VkLnNsb3QgIT09IHNsb3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZGVyaXZhdGlvbi1pbmRleCByZXR1cm5lZCBzbG90ICcke3BlZWtlZC5zbG90fScsIGV4cGVjdGVkICcke3Nsb3R9J2ApO1xuICAgIH1cbiAgICBjb25zdCB7IGluZGV4IH0gPSBwZWVrZWQ7XG5cbiAgICBjb25zdCBzYWZlRGF0YSA9IHJvb3RJZEZyb21TYWZlKHRoaXMuX3NhZmUsIHNsb3QsIDApICE9PSB1bmRlZmluZWQgPyB0aGlzLl9zYWZlIDogYXdhaXQgdGhpcy5mZXRjaFNhZmVEYXRhKCk7XG4gICAgY29uc3QgdXNlclJvb3RJZCA9IHJvb3RJZEZyb21TYWZlKHNhZmVEYXRhLCBzbG90LCAwKTtcbiAgICBpZiAodXNlclJvb3RJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgJHt0aGlzLmlkKCl9IGlzIG1pc3Npbmcgcm9vdEtleXMuaG90LiR7c2xvdH1gKTtcbiAgICB9XG5cbiAgICBpZiAoaXNUc3MpIHtcbiAgICAgIGNvbnN0IGJhY2t1cFJvb3RJZCA9IHJvb3RJZEZyb21TYWZlKHNhZmVEYXRhLCBzbG90LCAxKTtcbiAgICAgIGNvbnN0IGJpdGdvUm9vdElkID0gcm9vdElkRnJvbVNhZmUoc2FmZURhdGEsIHNsb3QsIDIpO1xuICAgICAgaWYgKGJhY2t1cFJvb3RJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2FmZSAke3RoaXMuaWQoKX0gaXMgbWlzc2luZyByb290S2V5cy5ob3QuJHtzbG90fSBiYWNrdXAga2V5YCk7XG4gICAgICB9XG4gICAgICBpZiAoYml0Z29Sb290SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhZmUgJHt0aGlzLmlkKCl9IGlzIG1pc3Npbmcgcm9vdEtleXMuaG90LiR7c2xvdH0gYml0Z28ga2V5YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVUc3NXYWxsZXRJblNhZmUoY29pbiwgdXNlclJvb3RJZCwgYmFja3VwUm9vdElkLCBiaXRnb1Jvb3RJZCwgaW5kZXgsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gY29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCByb290S2V5Y2hhaW4gPSBhd2FpdCBrZXljaGFpbnMuZ2V0KHsgaWQ6IHVzZXJSb290SWQgfSk7XG4gICAgaWYgKHJvb3RLZXljaGFpbi5zb3VyY2UgIT09ICd1c2VyJykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRSb290S2V5Y2hhaW5Tb3VyY2VFcnJvcihyb290S2V5Y2hhaW4uaWQsIHJvb3RLZXljaGFpbi5zb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCByb290UHJ2ID0gYXdhaXQgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSh0aGlzLmJpdGdvLCByb290S2V5Y2hhaW4sIHBhcmFtcy5wYXNzcGhyYXNlKTtcbiAgICBpZiAoIXJvb3RQcnYpIHtcbiAgICAgIHRocm93IG5ldyBJbmNvcnJlY3RQYXNzd29yZEVycm9yKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVyaXZlZCA9XG4gICAgICBzbG90ID09PSAnZWQyNTUxOU11bHRpc2lnJ1xuICAgICAgICA/IGRlcml2ZVNhZmVDaGlsZEVkMjU1MTlIYXJkZW5lZChyb290UHJ2LCBpbmRleClcbiAgICAgICAgOiBkZXJpdmVBbmRTZWxmQ2hlY2tTYWZlQ2hpbGRIYXJkZW5lZChyb290UHJ2LCBpbmRleCk7XG4gICAgY29uc3QgZGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoID0gZGVjb2RlV2l0aENvZGVjKFxuICAgICAgRGVyaXZlZEZyb21QYXJlbnRXaXRoSGFyZGVuZWRQYXRoLFxuICAgICAgZGVyaXZlZC5kZXJpdmF0aW9uUGF0aCxcbiAgICAgICdkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgnXG4gICAgKTtcblxuICAgIGNvbnN0IGNoaWxkID0gYXdhaXQga2V5Y2hhaW5zLmFkZCh7XG4gICAgICBwdWI6IGRlcml2ZWQucHViLFxuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICBrZXlUeXBlOiAnaW5kZXBlbmRlbnQnLFxuICAgICAgcGFyZW50OiB1c2VyUm9vdElkLFxuICAgICAgc2FmZUlkOiB0aGlzLmlkKCksXG4gICAgICBkZXJpdmVkRnJvbVBhcmVudFdpdGhQYXRoOiBkZXJpdmVkRnJvbVBhcmVudFdpdGhIYXJkZW5lZFBhdGgsXG4gICAgfSk7XG4gICAgY29uc3QgY2hpbGRJZCA9IGNoaWxkLmlkO1xuICAgIGlmIChjaGlsZElkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzYWZlIGNoaWxkIGtleSByZWdpc3RyYXRpb24gcmV0dXJuZWQgYW4gZW1wdHkgaWQnKTtcbiAgICB9XG4gICAgY29uc3Qga2V5czogW3N0cmluZ10gPSBbY2hpbGRJZF07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoJy93YWxsZXRzJyksIENyZWF0ZVdhbGxldEluU2FmZUJvZHksIHtcbiAgICAgIGNvaW46IHBhcmFtcy5jb2luLFxuICAgICAgbGFiZWw6IHBhcmFtcy5sYWJlbCxcbiAgICAgIHR5cGU6ICdob3QnLFxuICAgICAgbXVsdGlzaWdUeXBlLFxuICAgICAga2V5cyxcbiAgICB9KS5yZXN1bHQoKTtcbiAgICByZXR1cm4gbmV3IFdhbGxldCh0aGlzLmJpdGdvLCBjb2luLCByZXNwb25zZSk7XG4gIH1cblxuICAvKipcbiAgICogVFNTIHdhbGxldCBtaW50OiBkZWNyeXB0IHRoZSB1c2VyIHJvb3QgYmxvYiwgcnVuIHRoZSB1c2VyL0JpdEdvIGhhcmQtZGVyaXZlXG4gICAqIGNlcmVtb255LCByZWdpc3RlciB0aGUgb3JkZXJlZCBjaGlsZCBkb2N1bWVudHMsIHRoZW4gbWludC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlVHNzV2FsbGV0SW5TYWZlKFxuICAgIGNvaW46IElCYXNlQ29pbixcbiAgICB1c2VyUm9vdElkOiBzdHJpbmcsXG4gICAgYmFja3VwUm9vdElkOiBzdHJpbmcsXG4gICAgYml0Z29Sb290SWQ6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnNcbiAgKTogUHJvbWlzZTxXYWxsZXQ+IHtcbiAgICBjb25zdCBrZXljaGFpbnMgPSBjb2luLmtleWNoYWlucygpO1xuICAgIGNvbnN0IHVzZXJSb290S2V5Y2hhaW4gPSBhd2FpdCBrZXljaGFpbnMuZ2V0KHsgaWQ6IHVzZXJSb290SWQgfSk7XG4gICAgaWYgKHVzZXJSb290S2V5Y2hhaW4uc291cmNlICE9PSAndXNlcicpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUm9vdEtleWNoYWluU291cmNlRXJyb3IodXNlclJvb3RLZXljaGFpbi5pZCwgdXNlclJvb3RLZXljaGFpbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIGNvbnN0IHVzZXJSb290UHJ2ID0gYXdhaXQgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleSh0aGlzLmJpdGdvLCB1c2VyUm9vdEtleWNoYWluLCBwYXJhbXMucGFzc3BocmFzZSk7XG4gICAgaWYgKCF1c2VyUm9vdFBydikge1xuICAgICAgdGhyb3cgbmV3IEluY29ycmVjdFBhc3N3b3JkRXJyb3IoKTtcbiAgICB9XG4gICAgY29uc3QgdXNlclJvb3RNYXRlcmlhbCA9IHBhcnNlU2FmZU1wY0tleUVudmVsb3Blcyh1c2VyUm9vdFBydik7XG5cbiAgICBjb25zdCB0c3NVdGlscyA9IG5ldyBFQ0RTQVV0aWxzLkVjZHNhVnJmTVBDdjJVdGlscyh0aGlzLmJpdGdvLCBjb2luKTtcbiAgICBjb25zdCB7IHVzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW4sIGJpdGdvS2V5Y2hhaW4gfSA9IGF3YWl0IHRzc1V0aWxzLmNyZWF0ZVNhZmVDaGlsZEtleWNoYWlucyh7XG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMucGFzc3BocmFzZSxcbiAgICAgIGVudGVycHJpc2U6IHRoaXMuZW50ZXJwcmlzZUlkKCksXG4gICAgICBzYWZlSWQ6IHRoaXMuaWQoKSxcbiAgICAgIHBhcmVudEtleUlkOiBiaXRnb1Jvb3RJZCxcbiAgICAgIGRlcml2YXRpb25JbmRleDogaW5kZXgsXG4gICAgICB1c2VyUm9vdEtleUlkOiB1c2VyUm9vdElkLFxuICAgICAgYmFja3VwUm9vdEtleUlkOiBiYWNrdXBSb290SWQsXG4gICAgICB1c2VyUm9vdEtleVNoYXJlOiB1c2VyUm9vdE1hdGVyaWFsLnNpZ25pbmcsXG4gICAgICB1c2VyUm9vdFZyZktleVNoYXJlOiB1c2VyUm9vdE1hdGVyaWFsLnZyZixcbiAgICB9KTtcbiAgICBpZiAodXNlcktleWNoYWluLmlkLmxlbmd0aCA9PT0gMCB8fCBiYWNrdXBLZXljaGFpbi5pZC5sZW5ndGggPT09IDAgfHwgYml0Z29LZXljaGFpbi5pZC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2FmZSBjaGlsZCBrZXkgcmVnaXN0cmF0aW9uIHJldHVybmVkIGFuIGVtcHR5IGlkJyk7XG4gICAgfVxuICAgIGNvbnN0IGtleXM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSA9IFt1c2VyS2V5Y2hhaW4uaWQsIGJhY2t1cEtleWNoYWluLmlkLCBiaXRnb0tleWNoYWluLmlkXTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyh0aGlzLmJpdGdvLCB0aGlzLnVybCgnL3dhbGxldHMnKSwgQ3JlYXRlV2FsbGV0SW5TYWZlQm9keSwge1xuICAgICAgY29pbjogcGFyYW1zLmNvaW4sXG4gICAgICBsYWJlbDogcGFyYW1zLmxhYmVsLFxuICAgICAgdHlwZTogJ2hvdCcsXG4gICAgICBtdWx0aXNpZ1R5cGU6ICd0c3MnLFxuICAgICAga2V5cyxcbiAgICB9KS5yZXN1bHQoKTtcbiAgICByZXR1cm4gbmV3IFdhbGxldCh0aGlzLmJpdGdvLCBjb2luLCByZXNwb25zZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoU2FmZURhdGEoKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwoKSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG1lbWJlciB0byB0aGUgd2hvbGUgc2FmZSAodmlldy9hZG1pbi9zcGVuZCkuIFNwZW5kIG9wZW5zIGEga2V5IHNoYXJlLlxuICAgKi9cbiAgYXN5bmMgYWRkTWVtYmVyKHBhcmFtczogQWRkU2FmZU1lbWJlck9wdGlvbnMpOiBQcm9taXNlPFNhZmVEYXRhPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTYWZlLmFkZE1lbWJlciBpcyBub3QgeWV0IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgT05FIHNhZmUgd2FsbGV0IHdpdGggYSBub24tbWVtYmVyIHZpYSB0aGUgZXhpc3Rpbmcgd2FsbGV0LXNoYXJlIGhhbmRzaGFrZS5cbiAgICovXG4gIGFzeW5jIGFkZE1lbWJlclRvV2FsbGV0KHBhcmFtczogQWRkU2FmZVdhbGxldE1lbWJlck9wdGlvbnMpOiBQcm9taXNlPFdhbGxldFNoYXJlRGF0YT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignU2FmZS5hZGRNZW1iZXJUb1dhbGxldCBpcyBub3QgeWV0IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCB0aGUgc2FmZSBrZXkgc2hhcmVzIHZpc2libGUgdG8gdGhlIGNhbGxlci5cbiAgICovXG4gIGFzeW5jIGxpc3RTaGFyZXMocGFyYW1zOiB7IHN0YXRlPzogU2FmZVNoYXJlU3RhdGUgfSA9IHt9KTogUHJvbWlzZTxTYWZlU2hhcmVEYXRhW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUubGlzdFNoYXJlcyBpcyBub3QgeWV0IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGEgc2FmZSBrZXkgc2hhcmUgYWRkcmVzc2VkIHRvIHRoZSBjYWxsZXIuXG4gICAqL1xuICBhc3luYyBhY2NlcHRTaGFyZShwYXJhbXM6IEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVTaGFyZURhdGE+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NhZmUuYWNjZXB0U2hhcmUgaXMgbm90IHlldCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgc2FmZSBsYWJlbC5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZShwYXJhbXM6IFVwZGF0ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5wdXQodGhpcy51cmwoKSkuc2VuZCh7IGxhYmVsOiBwYXJhbXMubGFiZWwgfSkucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZyZWV6ZSB0aGUgc2FmZSDigJQgYmxvY2tzIHdpdGhkcmF3YWxzIG9uIGFsbCBzYWZlIHdhbGxldHMuIFNhZmUgc3RheXMgJ2FjdGl2ZScuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIGFzeW5jIGZyZWV6ZShwYXJhbXM6IEZyZWV6ZVNhZmVCb2R5ID0ge30pOiBQcm9taXNlPFNhZmVEYXRhPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKHRoaXMuYml0Z28sIHRoaXMudXJsKCcvZnJlZXplJyksIEZyZWV6ZVNhZmVCb2R5LCBwYXJhbXMpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcmNoaXZlIHRoZSBzYWZlLiBSZXF1aXJlcyBldmVyeSBzYWZlIHdhbGxldCB0byBhbHJlYWR5IGJlIGFyY2hpdmVkOyBhbHNvIHRoZSBhYmFuZG9ubWVudFxuICAgKiBwYXRoIGZvciBhIHN0dWNrICdpbml0aWFsaXppbmcnIHNhZmUuXG4gICAqL1xuICBhc3luYyBhcmNoaXZlKCk6IFByb21pc2U8U2FmZURhdGE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28ucG9zdCh0aGlzLnVybCgnL2FyY2hpdmUnKSkuc2VuZCgpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgfVxuXG4gIHRvSlNPTigpOiBTYWZlRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3NhZmU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,107 @@
1
+ import { InitializeSafeResponse } from '@bitgo/public-types';
2
+ import { BitGoBase } from '../bitgoBase';
3
+ import { FinalizeSafeOptions, InitializeSafeOptions } from './iSafe';
4
+ import { CreateSafeOptions, GetSafeOptions, ISafes, ListSafesOptions, SafeCreationHandle, SafeKeys } from './iSafes';
5
+ import { Safe } from './safe';
6
+ /**
7
+ * Collection accessor for a single enterprise's safes, mirroring Wallets / Enterprises.
8
+ * Safe routes are enterprise-scoped (/api/v2/enterprise/:eId/safes), so the accessor is
9
+ * constructed with the enterprise id (see Enterprise.safes()).
10
+ *
11
+ * @experimental
12
+ */
13
+ export declare class Safes implements ISafes {
14
+ private readonly bitgo;
15
+ private readonly enterpriseId;
16
+ constructor(bitgo: BitGoBase, enterpriseId: string);
17
+ /**
18
+ * Enterprise-scoped v2 URL for the safes collection, e.g. /api/v2/enterprise/:eId/safes
19
+ * @param extra
20
+ */
21
+ private url;
22
+ /**
23
+ * One-call convenience wrapper chaining the three creation phases:
24
+ * initialize (Phase 1) → createSafeKeys (Phase 2, enabled-slot ceremonies) →
25
+ * finalize (Phase 3). HOT custody only in v1.
26
+ *
27
+ * If a key ceremony fails, `createSafeKeys` archives the safe before throwing, so a failed run
28
+ * leaves no half-created safe behind — create a new safe and retry.
29
+ * @experimental
30
+ */
31
+ generateSafe(params: CreateSafeOptions): Promise<Safe>;
32
+ /**
33
+ * Phase 1 — initialize a safe (metadata only, no key material).
34
+ * POST /api/v2/enterprise/:eId/safes { label }
35
+ * Response is `{ id, status }` plus optional `enabledRootSlots` (absent on older WP).
36
+ * @experimental
37
+ */
38
+ initializeSafe(params: InitializeSafeOptions): Promise<InitializeSafeResponse>;
39
+ /**
40
+ * Phase 2 — run the enabled root key ceremonies tagged with `safeId`; returns ordered
41
+ * [user, backup, bitgo] triplets for those slots. HOT custody only in v1.
42
+ *
43
+ * Absent `enabledRootSlots` (older WP, pre-gating) runs all 4 slots. Enabled ceremonies
44
+ * (2.1 multisig ①④, 2.2 MPC ②③) run in parallel. If any of them fail, the
45
+ * partially-created safe is archived (a legal `initializing → archived` transition, so the
46
+ * orphaned tagged keys are inert) and an error listing every ceremony failure is thrown —
47
+ * create a new safe and retry.
48
+ *
49
+ * Not independently idempotent: re-running against a safe that already has some roots hits WP's
50
+ * unique root-slot index.
51
+ * @experimental
52
+ */
53
+ createSafeKeys(params: CreateSafeOptions & SafeCreationHandle): Promise<SafeKeys>;
54
+ /**
55
+ * Archive a safe. Also the abandonment path for a stuck `initializing` safe (used by
56
+ * `createSafeKeys` to clean up after a failed ceremony).
57
+ * POST /api/v2/enterprise/:eId/safes/:safeId/archive
58
+ * @experimental
59
+ */
60
+ archiveSafe(safeId: string): Promise<Safe>;
61
+ /**
62
+ * Phase 3 — finalize a safe with the minted root key ids as ordered [user, backup, bitgo] triplets.
63
+ * POST /api/v2/enterprise/:eId/safes/:safeId/finalize { rootKeys }.
64
+ * Idempotent: re-finalizing with the same `rootKeys` returns the active safe again (200).
65
+ * @experimental
66
+ */
67
+ finalizeSafe(safeId: string, params: FinalizeSafeOptions): Promise<Safe>;
68
+ /**
69
+ * Coin used to route a given root's key ceremony (see ROOT_COIN_BY_NETWORK).
70
+ * @experimental
71
+ */
72
+ private coinForRoot;
73
+ /**
74
+ * Phase 2.1 helper — mint one onchain-multisig root (cold model, as wallet creation does today):
75
+ * generate user/backup keypairs locally, encrypt with `passphrase`, register via POST /:coin/key
76
+ * with `safeId`; the BitGo key is created through the same route's `source:'bitgo'` path.
77
+ * Returns the [user, backup, bitgo] key id triplet.
78
+ * @experimental
79
+ */
80
+ private createMultisigRoot;
81
+ /**
82
+ * Phase 2.2 helper — run one MPC ceremony (DKLS for ecdsaMpc, EdDSA for eddsaMpc) via the
83
+ * existing `createMpc` flow with `safeId` threaded through, so the resulting user/backup/bitgo
84
+ * keys land tagged. Returns the [user, backup, bitgo] key id triplet.
85
+ * @experimental
86
+ */
87
+ private createMpcRoot;
88
+ /**
89
+ * List the enterprise's safes the caller is a member of (cursor pagination).
90
+ * GET /api/v2/enterprise/:eId/safes?limit&prevId
91
+ *
92
+ * `cursor` is the opaque `nextCursor` returned by a previous call; page forward until
93
+ * `nextCursor` is absent.
94
+ * @experimental
95
+ */
96
+ list(params?: ListSafesOptions): Promise<{
97
+ safes: Safe[];
98
+ nextCursor?: string;
99
+ }>;
100
+ /**
101
+ * Fetch a single safe by id. Non-members get a 404 (existence is not leaked).
102
+ * GET /api/v2/enterprise/:eId/safes/:safeId
103
+ * @experimental
104
+ */
105
+ get(params: GetSafeOptions): Promise<Safe>;
106
+ }
107
+ //# sourceMappingURL=safes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/safes.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,sBAAsB,EAKvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuC9B;;;;;;GAMG;AACH,qBAAa,KAAM,YAAW,MAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM;IAKlD;;;OAGG;IACH,OAAO,CAAC,GAAG;IAIX;;;;;;;;OAQG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;OAKG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKpF;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwDvF;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;OAMG;YACW,kBAAkB;IAwChC;;;;;OAKG;YACW,aAAa;IAY3B;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB1F;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjD"}