@bitgo-beta/sdk-core 8.2.1-beta.209 → 8.2.1-beta.2091

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 (806) 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 +301 -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 +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 +183 -1
  136. package/dist/src/bitgo/errors.d.ts.map +1 -1
  137. package/dist/src/bitgo/errors.js +178 -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 +160 -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 +393 -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 +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 +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 +82 -0
  212. package/dist/src/bitgo/safe/recovery.d.ts.map +1 -0
  213. package/dist/src/bitgo/safe/recovery.js +133 -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 +409 -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 +165 -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 +41 -6
  287. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  288. package/dist/src/bitgo/tss/common.js +127 -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 +79 -0
  314. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  315. package/dist/src/bitgo/tss/redpallas/redpallasMPCv2.js +179 -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.d.ts.map +1 -1
  346. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  347. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  348. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  349. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  350. package/dist/src/bitgo/utils/siws.d.ts +17 -0
  351. package/dist/src/bitgo/utils/siws.d.ts.map +1 -0
  352. package/dist/src/bitgo/utils/siws.js +171 -0
  353. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  354. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  355. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  356. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  357. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  358. package/dist/src/bitgo/utils/triple.js +2 -3
  359. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  360. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  361. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  362. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +99 -17
  363. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  364. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +321 -45
  365. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +456 -55
  366. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  367. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  368. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  369. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  370. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  371. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  372. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  373. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  374. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +25 -51
  375. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  376. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +173 -246
  377. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +240 -0
  378. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  379. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1076 -0
  380. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +16 -0
  381. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  382. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +37 -0
  383. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts +69 -0
  384. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.d.ts.map +1 -0
  385. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaVrfMPCv2.js +442 -0
  386. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +5 -0
  387. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  388. package/dist/src/bitgo/utils/tss/ecdsa/index.js +11 -2
  389. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  390. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  391. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  392. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +125 -0
  393. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  394. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  395. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  396. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  397. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +119 -0
  398. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  399. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  400. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  401. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +43 -11
  402. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  403. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +261 -96
  404. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +233 -0
  405. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  406. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +905 -0
  407. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +11 -0
  408. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  409. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +26 -0
  410. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +44 -0
  411. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  412. package/dist/src/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +295 -0
  413. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +5 -0
  414. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  415. package/dist/src/bitgo/utils/tss/eddsa/index.js +30 -8
  416. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +15 -7
  417. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  418. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  419. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +56 -0
  420. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  421. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +55 -0
  422. package/dist/src/bitgo/utils/tss/index.d.ts +7 -0
  423. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  424. package/dist/src/bitgo/utils/tss/index.js +31 -10
  425. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts +40 -0
  426. package/dist/src/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  427. package/dist/src/bitgo/utils/tss/keyShareEnvelope.js +103 -0
  428. package/dist/src/bitgo/utils/tss/keyVerification.d.ts +45 -0
  429. package/dist/src/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  430. package/dist/src/bitgo/utils/tss/keyVerification.js +192 -0
  431. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  432. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  433. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  434. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +42 -0
  435. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  436. package/dist/src/bitgo/utils/tss/recipientUtils.js +168 -0
  437. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts +29 -0
  438. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.d.ts.map +1 -0
  439. package/dist/src/bitgo/utils/tss/redpallas/SMC/utils.js +126 -0
  440. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts +4 -0
  441. package/dist/src/bitgo/utils/tss/redpallas/index.d.ts.map +1 -0
  442. package/dist/src/bitgo/utils/tss/redpallas/index.js +20 -0
  443. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +27 -0
  444. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  445. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2.js +43 -0
  446. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts +45 -0
  447. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.d.ts.map +1 -0
  448. package/dist/src/bitgo/utils/tss/redpallas/redpallasMPCv2KeyGenSender.js +55 -0
  449. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts +8 -0
  450. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.d.ts.map +1 -0
  451. package/dist/src/bitgo/utils/tss/serializedTxHexVerify.js +13 -0
  452. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts +12 -0
  453. package/dist/src/bitgo/utils/tss/signableConsistency.d.ts.map +1 -0
  454. package/dist/src/bitgo/utils/tss/signableConsistency.js +9 -0
  455. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  456. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  457. package/dist/src/bitgo/utils/txRequest.js +49 -0
  458. package/dist/src/bitgo/utils/util.js +24 -10
  459. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  460. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  461. package/dist/src/bitgo/utils/wallet.js +48 -0
  462. package/dist/src/bitgo/v1Wallets.d.ts +170 -0
  463. package/dist/src/bitgo/v1Wallets.d.ts.map +1 -0
  464. package/dist/src/bitgo/v1Wallets.js +3 -0
  465. package/dist/src/bitgo/wallet/BuildParams.d.ts +90 -1
  466. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  467. package/dist/src/bitgo/wallet/BuildParams.js +92 -11
  468. package/dist/src/bitgo/wallet/iWallet.d.ts +623 -33
  469. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  470. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  471. package/dist/src/bitgo/wallet/iWallets.d.ts +310 -16
  472. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  473. package/dist/src/bitgo/wallet/iWallets.js +84 -3
  474. package/dist/src/bitgo/wallet/index.d.ts +1 -0
  475. package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
  476. package/dist/src/bitgo/wallet/index.js +7 -2
  477. package/dist/src/bitgo/wallet/safeKeychain.d.ts +75 -0
  478. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -0
  479. package/dist/src/bitgo/wallet/safeKeychain.js +151 -0
  480. package/dist/src/bitgo/wallet/wallet.d.ts +379 -27
  481. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  482. package/dist/src/bitgo/wallet/wallet.js +2323 -442
  483. package/dist/src/bitgo/wallet/wallets.d.ts +99 -4
  484. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  485. package/dist/src/bitgo/wallet/wallets.js +1242 -156
  486. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  487. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  488. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  489. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  490. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  491. package/dist/src/bitgo/walletUtil/index.js +19 -0
  492. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  493. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  494. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  495. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  496. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  497. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  498. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  499. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  500. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  501. package/dist/src/bitgo/webauthn/base64url.d.ts +16 -0
  502. package/dist/src/bitgo/webauthn/base64url.d.ts.map +1 -0
  503. package/dist/src/bitgo/webauthn/base64url.js +27 -0
  504. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts +18 -0
  505. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.d.ts.map +1 -0
  506. package/dist/src/bitgo/webauthn/deriveEnterpriseSalt.js +26 -0
  507. package/dist/src/bitgo/webauthn/derivePassword.d.ts +11 -0
  508. package/dist/src/bitgo/webauthn/derivePassword.d.ts.map +1 -0
  509. package/dist/src/bitgo/webauthn/derivePassword.js +16 -0
  510. package/dist/src/bitgo/webauthn/index.d.ts +5 -0
  511. package/dist/src/bitgo/webauthn/index.d.ts.map +1 -0
  512. package/dist/src/bitgo/webauthn/index.js +21 -0
  513. package/dist/src/bitgo/webauthn/types.d.ts +18 -0
  514. package/dist/src/bitgo/webauthn/types.d.ts.map +1 -0
  515. package/dist/src/bitgo/webauthn/types.js +3 -0
  516. package/dist/src/bitgo/webhook/index.js +6 -2
  517. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  518. package/dist/src/coins/fiat.d.ts +45 -0
  519. package/dist/src/coins/fiat.d.ts.map +1 -0
  520. package/dist/src/coins/fiat.js +94 -0
  521. package/dist/src/coins/index.d.ts +1 -6
  522. package/dist/src/coins/index.d.ts.map +1 -1
  523. package/dist/src/coins/index.js +7 -8
  524. package/dist/src/coins/ofc.d.ts +21 -2
  525. package/dist/src/coins/ofc.d.ts.map +1 -1
  526. package/dist/src/coins/ofc.js +29 -3
  527. package/dist/src/coins/ofcToken.d.ts +15 -4
  528. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  529. package/dist/src/coins/ofcToken.js +43 -5
  530. package/dist/src/coins/susd.d.ts +3 -2
  531. package/dist/src/coins/susd.d.ts.map +1 -1
  532. package/dist/src/coins/susd.js +5 -1
  533. package/dist/src/common.js +27 -13
  534. package/dist/src/index.d.ts +9 -1
  535. package/dist/src/index.d.ts.map +1 -1
  536. package/dist/src/index.js +40 -11
  537. package/dist/src/lightning.d.ts +20 -0
  538. package/dist/src/lightning.d.ts.map +1 -0
  539. package/dist/src/lightning.js +13 -0
  540. package/dist/src/units.js +5 -6
  541. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  542. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  543. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  544. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  545. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  546. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  547. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  548. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  549. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  550. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  551. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  552. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  553. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  554. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  555. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  556. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  557. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  558. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  559. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  560. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  561. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  562. package/dist/test/unit/bitgo/defi/defiVault.js +863 -0
  563. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  564. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  565. package/dist/test/unit/bitgo/environment.js +38 -0
  566. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  567. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  568. package/dist/test/unit/bitgo/errors.js +262 -0
  569. package/dist/test/unit/bitgo/keychain/keychains.d.ts +2 -0
  570. package/dist/test/unit/bitgo/keychain/keychains.d.ts.map +1 -0
  571. package/dist/test/unit/bitgo/keychain/keychains.js +426 -0
  572. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  573. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  574. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  575. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts +2 -0
  576. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.d.ts.map +1 -0
  577. package/dist/test/unit/bitgo/safe/derivableEd25519Pub.js +133 -0
  578. package/dist/test/unit/bitgo/safe/fixtures/derivableEd25519Pub.json +72 -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 +253 -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 +585 -0
  588. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts +2 -0
  589. package/dist/test/unit/bitgo/safe/safeDerivation.d.ts.map +1 -0
  590. package/dist/test/unit/bitgo/safe/safeDerivation.js +75 -0
  591. package/dist/test/unit/bitgo/safe/safes.d.ts +2 -0
  592. package/dist/test/unit/bitgo/safe/safes.d.ts.map +1 -0
  593. package/dist/test/unit/bitgo/safe/safes.js +376 -0
  594. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  595. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  596. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  597. package/dist/test/unit/bitgo/trading/network/network.test.d.ts +2 -0
  598. package/dist/test/unit/bitgo/trading/network/network.test.d.ts.map +1 -0
  599. package/dist/test/unit/bitgo/trading/network/network.test.js +136 -0
  600. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  601. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  602. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  603. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts +2 -0
  604. package/dist/test/unit/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  605. package/dist/test/unit/bitgo/tss/bitgoPubKeys.js +66 -0
  606. package/dist/test/unit/bitgo/tss/common.d.ts +2 -0
  607. package/dist/test/unit/bitgo/tss/common.d.ts.map +1 -0
  608. package/dist/test/unit/bitgo/tss/common.js +77 -0
  609. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  610. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  611. package/dist/test/unit/bitgo/tss/redpallas/redpallasMPCv2.js +249 -0
  612. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -4
  613. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  614. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  615. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  616. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts +2 -0
  617. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.d.ts.map +1 -0
  618. package/dist/test/unit/bitgo/utils/mpcUtils.unwrap.js +109 -0
  619. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts +2 -0
  620. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.d.ts.map +1 -0
  621. package/dist/test/unit/bitgo/utils/mpcUtils.wrapApprove.js +106 -0
  622. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  623. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  624. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  625. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  626. package/dist/test/unit/bitgo/utils/siws.d.ts +2 -0
  627. package/dist/test/unit/bitgo/utils/siws.d.ts.map +1 -0
  628. package/dist/test/unit/bitgo/utils/siws.js +206 -0
  629. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  630. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  631. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  632. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  633. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  634. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +348 -0
  635. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  636. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  637. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  638. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  639. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  640. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1068 -0
  641. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  642. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  643. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  644. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  645. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  646. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  647. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  648. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  649. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1993 -0
  650. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts +2 -0
  651. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.d.ts.map +1 -0
  652. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaVrfMPCv2.js +380 -0
  653. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  654. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  655. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +376 -0
  656. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts +2 -0
  657. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.d.ts.map +1 -0
  658. package/dist/test/unit/bitgo/utils/tss/keyShareEnvelope.js +83 -0
  659. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts +2 -0
  660. package/dist/test/unit/bitgo/utils/tss/keyVerification.d.ts.map +1 -0
  661. package/dist/test/unit/bitgo/utils/tss/keyVerification.js +229 -0
  662. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  663. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  664. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  665. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  666. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  667. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +462 -0
  668. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts +2 -0
  669. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.d.ts.map +1 -0
  670. package/dist/test/unit/bitgo/utils/tss/redpallas/redpallasMPCv2.js +80 -0
  671. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts +2 -0
  672. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.d.ts.map +1 -0
  673. package/dist/test/unit/bitgo/utils/tss/redpallas/smcUtil.js +279 -0
  674. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts +2 -0
  675. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.d.ts.map +1 -0
  676. package/dist/test/unit/bitgo/utils/tss/redpallasBitgoGpgKey.js +111 -0
  677. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  678. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  679. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  680. package/dist/test/unit/bitgo/utils/wallet.d.ts +2 -0
  681. package/dist/test/unit/bitgo/utils/wallet.d.ts.map +1 -0
  682. package/dist/test/unit/bitgo/utils/wallet.js +55 -0
  683. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  684. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  685. package/dist/test/unit/bitgo/wallet/BuildParams.js +154 -0
  686. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +79 -9
  687. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  688. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  689. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  690. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts +2 -0
  691. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.d.ts.map +1 -0
  692. package/dist/test/unit/bitgo/wallet/getPotentialStuckTxs.js +88 -0
  693. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  694. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  695. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  696. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  697. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  698. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  699. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  700. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  701. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  702. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts +2 -0
  703. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.d.ts.map +1 -0
  704. package/dist/test/unit/bitgo/wallet/prebuildTransactionTypes.js +20 -0
  705. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  706. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  707. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  708. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts +5 -0
  709. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.d.ts.map +1 -0
  710. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +671 -0
  711. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts +9 -0
  712. package/dist/test/unit/bitgo/wallet/safeShareWallet.d.ts.map +1 -0
  713. package/dist/test/unit/bitgo/wallet/safeShareWallet.js +303 -0
  714. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  715. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  716. package/dist/test/unit/bitgo/wallet/tokenApproval.js +210 -0
  717. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  718. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  719. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  720. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  721. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  722. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +69 -0
  723. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  724. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  725. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  726. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts +2 -0
  727. package/dist/test/unit/bitgo/wallet/walletVerifyKey.d.ts.map +1 -0
  728. package/dist/test/unit/bitgo/wallet/walletVerifyKey.js +160 -0
  729. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  730. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  731. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +304 -0
  732. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  733. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  734. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  735. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  736. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  737. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +675 -0
  738. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts +2 -0
  739. package/dist/test/unit/bitgo/wallet/walletsGoAccount.d.ts.map +1 -0
  740. package/dist/test/unit/bitgo/wallet/walletsGoAccount.js +150 -0
  741. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  742. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  743. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  744. package/dist/test/unit/coins/ofc.d.ts +2 -0
  745. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  746. package/dist/test/unit/coins/ofc.js +124 -0
  747. package/dist/test/unit/lightning.d.ts +2 -0
  748. package/dist/test/unit/lightning.d.ts.map +1 -0
  749. package/dist/test/unit/lightning.js +23 -0
  750. package/dist/test/unit/units.d.ts.map +1 -1
  751. package/dist/test/unit/units.js +64 -64
  752. package/dist/tsconfig.tsbuildinfo +1 -1
  753. package/package.json +25 -22
  754. package/.eslintignore +0 -5
  755. package/CHANGELOG.md +0 -1866
  756. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  757. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  758. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  759. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +0 -49
  760. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +0 -1
  761. package/dist/src/account-lib/util/ed25519KeyDeriver.js +0 -87
  762. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  763. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  764. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  765. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  766. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  767. package/dist/src/bitgo/lightning/index.js +0 -17
  768. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  769. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  770. package/dist/src/bitgo/lightning/lightning.js +0 -111
  771. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  772. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  773. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  774. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  775. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  776. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  777. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  778. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  779. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  780. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  781. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  782. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  783. package/dist/src/coins/fiateur.d.ts +0 -31
  784. package/dist/src/coins/fiateur.d.ts.map +0 -1
  785. package/dist/src/coins/fiateur.js +0 -57
  786. package/dist/src/coins/fiatgbp.d.ts +0 -31
  787. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  788. package/dist/src/coins/fiatgbp.js +0 -57
  789. package/dist/src/coins/fiatusd.d.ts +0 -31
  790. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  791. package/dist/src/coins/fiatusd.js +0 -57
  792. package/dist/src/coins/tfiateur.d.ts +0 -11
  793. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  794. package/dist/src/coins/tfiateur.js +0 -17
  795. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  796. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  797. package/dist/src/coins/tfiatgbp.js +0 -17
  798. package/dist/src/coins/tfiatusd.d.ts +0 -11
  799. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  800. package/dist/src/coins/tfiatusd.js +0 -17
  801. package/dist/src/openssl/index.d.ts +0 -5
  802. package/dist/src/openssl/index.d.ts.map +0 -1
  803. package/dist/src/openssl/index.js +0 -9
  804. package/dist/test/unit/openssl.d.ts +0 -2
  805. package/dist/test/unit/openssl.d.ts.map +0 -1
  806. package/dist/test/unit/openssl.js +0 -39
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @prettier
3
+ *
4
+ * @experimental The safe client surface is experimental and may change (including breaking
5
+ * changes) before the public release.
6
+ */
7
+ import type { FreezeSafeBody, SafeData, SafePermission, SafeRootKeys, SafeShareData, SafeShareKeychain, SafeShareState, WebAuthnOtpDevice } from '@bitgo/public-types';
8
+ import type { EncryptionVersion } from '../../api/types';
9
+ import type { Wallet, WalletShare } from '../wallet';
10
+ import type { WebAuthnProvider } from '../webauthn';
11
+ /** @experimental */
12
+ export interface InitializeSafeOptions {
13
+ label: string;
14
+ }
15
+ /** @experimental */
16
+ export interface UpdateSafeOptions {
17
+ label: string;
18
+ }
19
+ /**
20
+ * Phase 3 — the client hands back the 12 key ids it created in Phase 2.
21
+ * @experimental
22
+ */
23
+ export interface FinalizeSafeOptions {
24
+ rootKeys: SafeRootKeys;
25
+ }
26
+ /**
27
+ * Sharing ONE safe wallet with a non-member rides the existing wallet-share handshake,
28
+ * so the result is the existing WalletShare shape.
29
+ */
30
+ export type WalletShareData = WalletShare;
31
+ export interface CreateSafeWalletOptions {
32
+ coin: string;
33
+ label: string;
34
+ passphrase: string;
35
+ type?: 'hot';
36
+ /**
37
+ * Mint scheme: `onchain` (default) uses the independent multisig root slot for the coin's
38
+ * curve; `tss` uses the MPC root slot. Independent of the coin's default wallet multisig type.
39
+ */
40
+ multisigType?: 'onchain' | 'tss';
41
+ }
42
+ interface AddSafeMemberBase {
43
+ permissions: SafePermission[];
44
+ /** required when 'spend' is included — the 4 root user keys ECDH-re-encrypted to the invitee */
45
+ keychains?: SafeShareKeychain[];
46
+ message?: string;
47
+ /** when true, suppress the invitation email that would otherwise be sent to `email` */
48
+ disableEmail?: boolean;
49
+ }
50
+ /** Add a member by either `userId` or `email` — exactly one is required. */
51
+ export type AddSafeMemberOptions = (AddSafeMemberBase & {
52
+ userId: string;
53
+ email?: never;
54
+ }) | (AddSafeMemberBase & {
55
+ email: string;
56
+ userId?: never;
57
+ });
58
+ export interface AddSafeWalletMemberOptions {
59
+ walletId: string;
60
+ /** required — sharing re-encrypts the user key, which needs hardened derivation from the passphrase */
61
+ walletPassphrase: string;
62
+ email?: string;
63
+ permissions?: string[];
64
+ message?: string;
65
+ }
66
+ export type AcceptSafeShareAsSpenderOptions = {
67
+ safeShareId: string;
68
+ userPassword: string;
69
+ newWalletPassphrase?: string;
70
+ };
71
+ export type AcceptSafeShareAsNonSpenderOptions = {
72
+ safeShareId: string;
73
+ };
74
+ export type AcceptSafeShareOptions = AcceptSafeShareAsSpenderOptions | AcceptSafeShareAsNonSpenderOptions;
75
+ /**
76
+ * Register a PRF passkey on every user root of the safe. The device must be PRF-capable
77
+ * and already enrolled on the caller's account.
78
+ * @experimental
79
+ */
80
+ export interface RegisterSafePasskeyOptions {
81
+ device: WebAuthnOtpDevice;
82
+ safePassphrase: string;
83
+ provider: WebAuthnProvider;
84
+ /** Encryption version for the PRF-wrapped blobs; defaults to the SDK default (mirrors wallet attach). */
85
+ encryptionVersion?: EncryptionVersion;
86
+ }
87
+ /**
88
+ * Remove a PRF passkey from every user root. `safePassphrase` is verified client-side
89
+ * (decrypts a user root) before the server is called.
90
+ * @experimental
91
+ */
92
+ export interface RemoveSafePasskeyOptions {
93
+ device: WebAuthnOtpDevice;
94
+ safePassphrase: string;
95
+ }
96
+ export interface RegisterSafePasskeyResponse {
97
+ otpDeviceId: string;
98
+ updatedKeys: string[];
99
+ }
100
+ /**
101
+ * @experimental
102
+ */
103
+ export interface ISafe {
104
+ id(): string;
105
+ enterpriseId(): string;
106
+ label(): string;
107
+ status(): SafeData['status'];
108
+ url(extra?: string): string;
109
+ createWallet(params: CreateSafeWalletOptions): Promise<Wallet>;
110
+ update(params: UpdateSafeOptions): Promise<SafeData>;
111
+ addMember(params: AddSafeMemberOptions): Promise<SafeData>;
112
+ addMemberToWallet(params: AddSafeWalletMemberOptions): Promise<WalletShareData>;
113
+ listShares(params?: {
114
+ state?: SafeShareState;
115
+ }): Promise<SafeShareData[]>;
116
+ acceptShare(params: AcceptSafeShareOptions): Promise<SafeShareData>;
117
+ registerPasskey(params: RegisterSafePasskeyOptions): Promise<RegisterSafePasskeyResponse>;
118
+ removePasskey(params: RemoveSafePasskeyOptions): Promise<void>;
119
+ freeze(params?: FreezeSafeBody): Promise<SafeData>;
120
+ archive(): Promise<SafeData>;
121
+ toJSON(): SafeData;
122
+ }
123
+ export {};
124
+ //# sourceMappingURL=iSafe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iSafe.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9pU2FmZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFRoZSBzYWZlIGNsaWVudCBzdXJmYWNlIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGNoYW5nZSAoaW5jbHVkaW5nIGJyZWFraW5nXG4gKiBjaGFuZ2VzKSBiZWZvcmUgdGhlIHB1YmxpYyByZWxlYXNlLlxuICovXG4vLyBXaXJlL2RhdGEgc2hhcGVzIGFyZSBvd25lZCBieSBAYml0Z28vcHVibGljLXR5cGVzIOKAlCBpbXBvcnQgdGhlbSB3aGVyZSBuZWVkZWQgcmF0aGVyIHRoYW5cbi8vIHJlLWV4cG9ydGluZyBmcm9tIHNkay1jb3JlLlxuaW1wb3J0IHR5cGUge1xuICBGcmVlemVTYWZlQm9keSxcbiAgU2FmZURhdGEsXG4gIFNhZmVQZXJtaXNzaW9uLFxuICBTYWZlUm9vdEtleXMsXG4gIFNhZmVTaGFyZURhdGEsXG4gIFNhZmVTaGFyZUtleWNoYWluLFxuICBTYWZlU2hhcmVTdGF0ZSxcbiAgV2ViQXV0aG5PdHBEZXZpY2UsXG59IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBFbmNyeXB0aW9uVmVyc2lvbiB9IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFdhbGxldCwgV2FsbGV0U2hhcmUgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHR5cGUgeyBXZWJBdXRoblByb3ZpZGVyIH0gZnJvbSAnLi4vd2ViYXV0aG4nO1xuXG4vKiogQGV4cGVyaW1lbnRhbCAqL1xuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplU2FmZU9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG4vKiogQGV4cGVyaW1lbnRhbCAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTYWZlT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGhhc2UgMyDigJQgdGhlIGNsaWVudCBoYW5kcyBiYWNrIHRoZSAxMiBrZXkgaWRzIGl0IGNyZWF0ZWQgaW4gUGhhc2UgMi5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5hbGl6ZVNhZmVPcHRpb25zIHtcbiAgcm9vdEtleXM6IFNhZmVSb290S2V5cztcbn1cblxuLyoqXG4gKiBTaGFyaW5nIE9ORSBzYWZlIHdhbGxldCB3aXRoIGEgbm9uLW1lbWJlciByaWRlcyB0aGUgZXhpc3Rpbmcgd2FsbGV0LXNoYXJlIGhhbmRzaGFrZSxcbiAqIHNvIHRoZSByZXN1bHQgaXMgdGhlIGV4aXN0aW5nIFdhbGxldFNoYXJlIHNoYXBlLlxuICovXG5leHBvcnQgdHlwZSBXYWxsZXRTaGFyZURhdGEgPSBXYWxsZXRTaGFyZTtcblxuLy8gLS0tLSBwZXItc2FmZSBvcGVyYXRpb24gb3B0aW9ucyAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMge1xuICBjb2luOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgdHlwZT86ICdob3QnO1xuICAvKipcbiAgICogTWludCBzY2hlbWU6IGBvbmNoYWluYCAoZGVmYXVsdCkgdXNlcyB0aGUgaW5kZXBlbmRlbnQgbXVsdGlzaWcgcm9vdCBzbG90IGZvciB0aGUgY29pbidzXG4gICAqIGN1cnZlOyBgdHNzYCB1c2VzIHRoZSBNUEMgcm9vdCBzbG90LiBJbmRlcGVuZGVudCBvZiB0aGUgY29pbidzIGRlZmF1bHQgd2FsbGV0IG11bHRpc2lnIHR5cGUuXG4gICAqL1xuICBtdWx0aXNpZ1R5cGU/OiAnb25jaGFpbicgfCAndHNzJztcbn1cblxuaW50ZXJmYWNlIEFkZFNhZmVNZW1iZXJCYXNlIHtcbiAgcGVybWlzc2lvbnM6IFNhZmVQZXJtaXNzaW9uW107XG4gIC8qKiByZXF1aXJlZCB3aGVuICdzcGVuZCcgaXMgaW5jbHVkZWQg4oCUIHRoZSA0IHJvb3QgdXNlciBrZXlzIEVDREgtcmUtZW5jcnlwdGVkIHRvIHRoZSBpbnZpdGVlICovXG4gIGtleWNoYWlucz86IFNhZmVTaGFyZUtleWNoYWluW107XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKiB3aGVuIHRydWUsIHN1cHByZXNzIHRoZSBpbnZpdGF0aW9uIGVtYWlsIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIHNlbnQgdG8gYGVtYWlsYCAqL1xuICBkaXNhYmxlRW1haWw/OiBib29sZWFuO1xufVxuXG4vKiogQWRkIGEgbWVtYmVyIGJ5IGVpdGhlciBgdXNlcklkYCBvciBgZW1haWxgIOKAlCBleGFjdGx5IG9uZSBpcyByZXF1aXJlZC4gKi9cbmV4cG9ydCB0eXBlIEFkZFNhZmVNZW1iZXJPcHRpb25zID1cbiAgfCAoQWRkU2FmZU1lbWJlckJhc2UgJiB7IHVzZXJJZDogc3RyaW5nOyBlbWFpbD86IG5ldmVyIH0pXG4gIHwgKEFkZFNhZmVNZW1iZXJCYXNlICYgeyBlbWFpbDogc3RyaW5nOyB1c2VySWQ/OiBuZXZlciB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBBZGRTYWZlV2FsbGV0TWVtYmVyT3B0aW9ucyB7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIC8qKiByZXF1aXJlZCDigJQgc2hhcmluZyByZS1lbmNyeXB0cyB0aGUgdXNlciBrZXksIHdoaWNoIG5lZWRzIGhhcmRlbmVkIGRlcml2YXRpb24gZnJvbSB0aGUgcGFzc3BocmFzZSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBY2NlcHRTYWZlU2hhcmVBc1NwZW5kZXJPcHRpb25zID0ge1xuICBzYWZlU2hhcmVJZDogc3RyaW5nO1xuICB1c2VyUGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3V2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBBY2NlcHRTYWZlU2hhcmVBc05vblNwZW5kZXJPcHRpb25zID0ge1xuICBzYWZlU2hhcmVJZDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMgPSBBY2NlcHRTYWZlU2hhcmVBc1NwZW5kZXJPcHRpb25zIHwgQWNjZXB0U2FmZVNoYXJlQXNOb25TcGVuZGVyT3B0aW9ucztcblxuLyoqXG4gKiBSZWdpc3RlciBhIFBSRiBwYXNza2V5IG9uIGV2ZXJ5IHVzZXIgcm9vdCBvZiB0aGUgc2FmZS4gVGhlIGRldmljZSBtdXN0IGJlIFBSRi1jYXBhYmxlXG4gKiBhbmQgYWxyZWFkeSBlbnJvbGxlZCBvbiB0aGUgY2FsbGVyJ3MgYWNjb3VudC5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclNhZmVQYXNza2V5T3B0aW9ucyB7XG4gIGRldmljZTogV2ViQXV0aG5PdHBEZXZpY2U7XG4gIHNhZmVQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBXZWJBdXRoblByb3ZpZGVyO1xuICAvKiogRW5jcnlwdGlvbiB2ZXJzaW9uIGZvciB0aGUgUFJGLXdyYXBwZWQgYmxvYnM7IGRlZmF1bHRzIHRvIHRoZSBTREsgZGVmYXVsdCAobWlycm9ycyB3YWxsZXQgYXR0YWNoKS4gKi9cbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBQUkYgcGFzc2tleSBmcm9tIGV2ZXJ5IHVzZXIgcm9vdC4gYHNhZmVQYXNzcGhyYXNlYCBpcyB2ZXJpZmllZCBjbGllbnQtc2lkZVxuICogKGRlY3J5cHRzIGEgdXNlciByb290KSBiZWZvcmUgdGhlIHNlcnZlciBpcyBjYWxsZWQuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlU2FmZVBhc3NrZXlPcHRpb25zIHtcbiAgZGV2aWNlOiBXZWJBdXRobk90cERldmljZTtcbiAgc2FmZVBhc3NwaHJhc2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclNhZmVQYXNza2V5UmVzcG9uc2Uge1xuICBvdHBEZXZpY2VJZDogc3RyaW5nO1xuICB1cGRhdGVkS2V5czogc3RyaW5nW107XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTYWZlIHtcbiAgaWQoKTogc3RyaW5nO1xuICBlbnRlcnByaXNlSWQoKTogc3RyaW5nO1xuICBsYWJlbCgpOiBzdHJpbmc7XG4gIHN0YXR1cygpOiBTYWZlRGF0YVsnc3RhdHVzJ107XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgY3JlYXRlV2FsbGV0KHBhcmFtczogQ3JlYXRlU2FmZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPFdhbGxldD47XG4gIHVwZGF0ZShwYXJhbXM6IFVwZGF0ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlRGF0YT47XG4gIC8vIHdob2xlLXNhZmU6IHZpZXcvYWRtaW4vc3BlbmQvZGFwcDsgc3BlbmQgb3BlbnMgYSBrZXkgc2hhcmUgKGFsc28gaG93IGEgc3BlbmRlciBzZXJ2aWNlcyBhXG4gIC8vIHNhZmVTaGFyZVJlcXVlc3RzIGVudHJ5IGluIFVNUyBvcmdzKVxuICBhZGRNZW1iZXIocGFyYW1zOiBBZGRTYWZlTWVtYmVyT3B0aW9ucyk6IFByb21pc2U8U2FmZURhdGE+O1xuICAvLyBzaGFyZSBPTkUgc2FmZSB3YWxsZXQsIG5vdCB0aGUgd2hvbGUgc2FmZVxuICBhZGRNZW1iZXJUb1dhbGxldChwYXJhbXM6IEFkZFNhZmVXYWxsZXRNZW1iZXJPcHRpb25zKTogUHJvbWlzZTxXYWxsZXRTaGFyZURhdGE+O1xuICBsaXN0U2hhcmVzKHBhcmFtcz86IHsgc3RhdGU/OiBTYWZlU2hhcmVTdGF0ZSB9KTogUHJvbWlzZTxTYWZlU2hhcmVEYXRhW10+O1xuICBhY2NlcHRTaGFyZShwYXJhbXM6IEFjY2VwdFNhZmVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPFNhZmVTaGFyZURhdGE+O1xuICByZWdpc3RlclBhc3NrZXkocGFyYW1zOiBSZWdpc3RlclNhZmVQYXNza2V5T3B0aW9ucyk6IFByb21pc2U8UmVnaXN0ZXJTYWZlUGFzc2tleVJlc3BvbnNlPjtcbiAgcmVtb3ZlUGFzc2tleShwYXJhbXM6IFJlbW92ZVNhZmVQYXNza2V5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIGZyZWV6ZShwYXJhbXM/OiBGcmVlemVTYWZlQm9keSk6IFByb21pc2U8U2FmZURhdGE+O1xuICBhcmNoaXZlKCk6IFByb21pc2U8U2FmZURhdGE+O1xuICB0b0pTT04oKTogU2FmZURhdGE7XG59XG4iXX0=
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @prettier
3
+ *
4
+ * @experimental The safe client surface is experimental and may change (including breaking
5
+ * changes) before the public release.
6
+ */
7
+ import type { InitializeSafeResponse } from '@bitgo/public-types';
8
+ import { FinalizeSafeOptions, InitializeSafeOptions } from './iSafe';
9
+ import { Safe } from './safe';
10
+ /**
11
+ * Options for safe creation.
12
+ *
13
+ * v1 targets the HOT custody model only: the multisig root user/backup keys are generated locally
14
+ * by the SDK, encrypted with `passphrase`, and registered on BitGo; the MPC roots run the standard
15
+ * hot ceremonies with the same passphrase. Self-managed cold keys and custodial safes are out of
16
+ * scope for v1.
17
+ * @experimental
18
+ */
19
+ export interface CreateSafeOptions {
20
+ label: string;
21
+ passphrase: string;
22
+ }
23
+ /**
24
+ * Handle returned by `initializeSafe`, threaded into the key ceremonies and finalize.
25
+ *
26
+ * `enabledRootSlots` is the server-decided (Flipt, evaluated once at initialize) set of root-key
27
+ * slots to generate; absent (older WP) falls back to all 4 slots.
28
+ * @experimental
29
+ */
30
+ export interface SafeCreationHandle {
31
+ safeId: string;
32
+ enabledRootSlots?: InitializeSafeResponse['enabledRootSlots'];
33
+ }
34
+ /**
35
+ * The minted root key ids produced by `createSafeKeys`, as ordered [user, backup, bitgo]
36
+ * triplets for the enabled slots — exactly the payload `finalizeSafe` consumes.
37
+ * @experimental
38
+ */
39
+ export type SafeKeys = FinalizeSafeOptions;
40
+ /**
41
+ * @experimental
42
+ */
43
+ export interface ListSafesOptions {
44
+ cursor?: string;
45
+ limit?: number;
46
+ }
47
+ /**
48
+ * @experimental
49
+ */
50
+ export interface GetSafeOptions {
51
+ id: string;
52
+ }
53
+ /**
54
+ * @experimental
55
+ */
56
+ export interface ISafes {
57
+ /**
58
+ * One-call convenience wrapper chaining the three creation phases:
59
+ * initialize → createSafeKeys (safeId-tagged ceremonies for the enabled root slots) → finalize.
60
+ * HOT custody only in v1.
61
+ * @experimental
62
+ */
63
+ generateSafe(params: CreateSafeOptions): Promise<Safe>;
64
+ /**
65
+ * Phase 1 — initialize a safe (metadata only, no key material). The server response is
66
+ * `{ id, status }` plus optional `enabledRootSlots` (no `label`/`enterpriseId`/`creator`/`users`/
67
+ * `createdAt` yet), so this returns that raw shape rather than a full `Safe`.
68
+ * @experimental
69
+ */
70
+ initializeSafe(params: InitializeSafeOptions): Promise<InitializeSafeResponse>;
71
+ /**
72
+ * Phase 2 — run the enabled root key ceremonies tagged with `safeId`; returns the minted key ids.
73
+ * @experimental
74
+ */
75
+ createSafeKeys(params: CreateSafeOptions & SafeCreationHandle): Promise<SafeKeys>;
76
+ /**
77
+ * Phase 3 — finalize a safe with the minted root key ids. Idempotent.
78
+ * @experimental
79
+ */
80
+ finalizeSafe(safeId: string, params: FinalizeSafeOptions): Promise<Safe>;
81
+ /**
82
+ * Archive a safe. Also the abandonment path for a stuck `initializing` safe.
83
+ * @experimental
84
+ */
85
+ archiveSafe(safeId: string): Promise<Safe>;
86
+ /** @experimental */
87
+ list(params?: ListSafesOptions): Promise<{
88
+ safes: Safe[];
89
+ nextCursor?: string;
90
+ }>;
91
+ /** @experimental */
92
+ get(params: GetSafeOptions): Promise<Safe>;
93
+ }
94
+ //# sourceMappingURL=iSafes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iSafes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,oBAAoB;IACpB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3NhZmUvaVNhZmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCB0eXBlIHsgSW5pdGlhbGl6ZVNhZmVSZXNwb25zZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgRmluYWxpemVTYWZlT3B0aW9ucywgSW5pdGlhbGl6ZVNhZmVPcHRpb25zIH0gZnJvbSAnLi9pU2FmZSc7XG5pbXBvcnQgeyBTYWZlIH0gZnJvbSAnLi9zYWZlJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBzYWZlIGNyZWF0aW9uLlxuICpcbiAqIHYxIHRhcmdldHMgdGhlIEhPVCBjdXN0b2R5IG1vZGVsIG9ubHk6IHRoZSBtdWx0aXNpZyByb290IHVzZXIvYmFja3VwIGtleXMgYXJlIGdlbmVyYXRlZCBsb2NhbGx5XG4gKiBieSB0aGUgU0RLLCBlbmNyeXB0ZWQgd2l0aCBgcGFzc3BocmFzZWAsIGFuZCByZWdpc3RlcmVkIG9uIEJpdEdvOyB0aGUgTVBDIHJvb3RzIHJ1biB0aGUgc3RhbmRhcmRcbiAqIGhvdCBjZXJlbW9uaWVzIHdpdGggdGhlIHNhbWUgcGFzc3BocmFzZS4gU2VsZi1tYW5hZ2VkIGNvbGQga2V5cyBhbmQgY3VzdG9kaWFsIHNhZmVzIGFyZSBvdXQgb2ZcbiAqIHNjb3BlIGZvciB2MS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTYWZlT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhc3NwaHJhc2U6IHN0cmluZzsgLy8gZW5jcnlwdHMgdGhlIGxvY2FsbHktZ2VuZXJhdGVkIG11bHRpc2lnIHVzZXIvYmFja3VwIHBydnM7IHNoYXJlZCB3aXRoIHRoZSBNUEMgY2VyZW1vbmllc1xufVxuXG4vKipcbiAqIEhhbmRsZSByZXR1cm5lZCBieSBgaW5pdGlhbGl6ZVNhZmVgLCB0aHJlYWRlZCBpbnRvIHRoZSBrZXkgY2VyZW1vbmllcyBhbmQgZmluYWxpemUuXG4gKlxuICogYGVuYWJsZWRSb290U2xvdHNgIGlzIHRoZSBzZXJ2ZXItZGVjaWRlZCAoRmxpcHQsIGV2YWx1YXRlZCBvbmNlIGF0IGluaXRpYWxpemUpIHNldCBvZiByb290LWtleVxuICogc2xvdHMgdG8gZ2VuZXJhdGU7IGFic2VudCAob2xkZXIgV1ApIGZhbGxzIGJhY2sgdG8gYWxsIDQgc2xvdHMuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUNyZWF0aW9uSGFuZGxlIHtcbiAgc2FmZUlkOiBzdHJpbmc7XG4gIGVuYWJsZWRSb290U2xvdHM/OiBJbml0aWFsaXplU2FmZVJlc3BvbnNlWydlbmFibGVkUm9vdFNsb3RzJ107XG59XG5cbi8qKlxuICogVGhlIG1pbnRlZCByb290IGtleSBpZHMgcHJvZHVjZWQgYnkgYGNyZWF0ZVNhZmVLZXlzYCwgYXMgb3JkZXJlZCBbdXNlciwgYmFja3VwLCBiaXRnb11cbiAqIHRyaXBsZXRzIGZvciB0aGUgZW5hYmxlZCBzbG90cyDigJQgZXhhY3RseSB0aGUgcGF5bG9hZCBgZmluYWxpemVTYWZlYCBjb25zdW1lcy5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IHR5cGUgU2FmZUtleXMgPSBGaW5hbGl6ZVNhZmVPcHRpb25zO1xuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U2FmZXNPcHRpb25zIHtcbiAgY3Vyc29yPzogc3RyaW5nOyAvLyBvcGFxdWUgY3Vyc29yIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSdzIG5leHRDdXJzb3JcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFNhZmVPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNhZmVzIHtcbiAgLyoqXG4gICAqIE9uZS1jYWxsIGNvbnZlbmllbmNlIHdyYXBwZXIgY2hhaW5pbmcgdGhlIHRocmVlIGNyZWF0aW9uIHBoYXNlczpcbiAgICogaW5pdGlhbGl6ZSDihpIgY3JlYXRlU2FmZUtleXMgKHNhZmVJZC10YWdnZWQgY2VyZW1vbmllcyBmb3IgdGhlIGVuYWJsZWQgcm9vdCBzbG90cykg4oaSIGZpbmFsaXplLlxuICAgKiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBnZW5lcmF0ZVNhZmUocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT47XG4gIC8qKlxuICAgKiBQaGFzZSAxIOKAlCBpbml0aWFsaXplIGEgc2FmZSAobWV0YWRhdGEgb25seSwgbm8ga2V5IG1hdGVyaWFsKS4gVGhlIHNlcnZlciByZXNwb25zZSBpc1xuICAgKiBgeyBpZCwgc3RhdHVzIH1gIHBsdXMgb3B0aW9uYWwgYGVuYWJsZWRSb290U2xvdHNgIChubyBgbGFiZWxgL2BlbnRlcnByaXNlSWRgL2BjcmVhdG9yYC9gdXNlcnNgL1xuICAgKiBgY3JlYXRlZEF0YCB5ZXQpLCBzbyB0aGlzIHJldHVybnMgdGhhdCByYXcgc2hhcGUgcmF0aGVyIHRoYW4gYSBmdWxsIGBTYWZlYC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgaW5pdGlhbGl6ZVNhZmUocGFyYW1zOiBJbml0aWFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPEluaXRpYWxpemVTYWZlUmVzcG9uc2U+O1xuICAvKipcbiAgICogUGhhc2UgMiDigJQgcnVuIHRoZSBlbmFibGVkIHJvb3Qga2V5IGNlcmVtb25pZXMgdGFnZ2VkIHdpdGggYHNhZmVJZGA7IHJldHVybnMgdGhlIG1pbnRlZCBrZXkgaWRzLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBjcmVhdGVTYWZlS2V5cyhwYXJhbXM6IENyZWF0ZVNhZmVPcHRpb25zICYgU2FmZUNyZWF0aW9uSGFuZGxlKTogUHJvbWlzZTxTYWZlS2V5cz47XG4gIC8qKlxuICAgKiBQaGFzZSAzIOKAlCBmaW5hbGl6ZSBhIHNhZmUgd2l0aCB0aGUgbWludGVkIHJvb3Qga2V5IGlkcy4gSWRlbXBvdGVudC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZmluYWxpemVTYWZlKHNhZmVJZDogc3RyaW5nLCBwYXJhbXM6IEZpbmFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xuICAvKipcbiAgICogQXJjaGl2ZSBhIHNhZmUuIEFsc28gdGhlIGFiYW5kb25tZW50IHBhdGggZm9yIGEgc3R1Y2sgYGluaXRpYWxpemluZ2Agc2FmZS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXJjaGl2ZVNhZmUoc2FmZUlkOiBzdHJpbmcpOiBQcm9taXNlPFNhZmU+O1xuICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICBsaXN0KHBhcmFtcz86IExpc3RTYWZlc09wdGlvbnMpOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PjtcbiAgLyoqIEBleHBlcmltZW50YWwgKi9cbiAgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ export * from './derivableEd25519Pub';
2
+ export * from './iSafe';
3
+ export * from './iSafes';
4
+ export * from './recovery';
5
+ export * from './safe';
6
+ export * from './safes';
7
+ export * from '@bitgo-beta/sdk-lib-safes';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,24 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./derivableEd25519Pub"), exports);
18
+ __exportStar(require("./iSafe"), exports);
19
+ __exportStar(require("./iSafes"), exports);
20
+ __exportStar(require("./recovery"), exports);
21
+ __exportStar(require("./safe"), exports);
22
+ __exportStar(require("./safes"), exports);
23
+ __exportStar(require("@bitgo-beta/sdk-lib-safes"), exports);
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFDeEIsNERBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZXJpdmFibGVFZDI1NTE5UHViJztcbmV4cG9ydCAqIGZyb20gJy4vaVNhZmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pU2FmZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvdmVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NhZmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zYWZlcyc7XG5leHBvcnQgKiBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLXNhZmVzJztcbiJdfQ==
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @prettier
3
+ *
4
+ * @experimental WRW-facing safe recovery entry points.
5
+ */
6
+ import { Buffer } from 'buffer';
7
+ import type { RootKeyType } from '@bitgo/public-types';
8
+ import { BitGoBase } from '../bitgoBase';
9
+ export type DecryptedMpcSafeRoot = {
10
+ signing: Buffer;
11
+ vrf: Buffer;
12
+ };
13
+ export type OnchainSafeRoot = {
14
+ user: string;
15
+ backup: string;
16
+ bitgo: string;
17
+ };
18
+ export type MpcSafeRoot = {
19
+ user: DecryptedMpcSafeRoot;
20
+ backup: DecryptedMpcSafeRoot;
21
+ bitgo: string;
22
+ };
23
+ export type Secp256k1MultisigChildKeys = {
24
+ user: {
25
+ prv: string;
26
+ pub: string;
27
+ };
28
+ backup: {
29
+ prv: string;
30
+ pub: string;
31
+ };
32
+ bitgo: {
33
+ pub: string;
34
+ };
35
+ };
36
+ export type DerivedSafeWalletKeys = {
37
+ path: string;
38
+ keys: Secp256k1MultisigChildKeys;
39
+ };
40
+ export type SafeRecoverKeyParams = {
41
+ userKey: string;
42
+ backupKey: string;
43
+ bitgoKey: string;
44
+ walletPassphrase?: string;
45
+ };
46
+ export type DecryptedSafeRoots = {
47
+ secp256k1Multisig: OnchainSafeRoot;
48
+ ed25519Multisig: OnchainSafeRoot;
49
+ ecdsaMpc: MpcSafeRoot;
50
+ eddsaMpc: MpcSafeRoot;
51
+ };
52
+ export declare function decryptSafeKeycard(params: {
53
+ bitgo: BitGoBase;
54
+ userKeyBox: string;
55
+ backupKeyBox: string;
56
+ bitgoKeyBox: string;
57
+ password: string;
58
+ }): Promise<DecryptedSafeRoots>;
59
+ /**
60
+ * Derives a Safe wallet's child keys at the BIP44 path for a given slot and account.
61
+ * Only `secp256k1Multisig` (slot 1) is supported for now; the remaining slots throw
62
+ * until their derivation arms land (WCN-2736/WCN-2737/WCN-2894).
63
+ */
64
+ export declare function deriveSafeWalletKeys(params: {
65
+ coin: string;
66
+ slot: RootKeyType;
67
+ account: number;
68
+ roots: DecryptedSafeRoots;
69
+ }): Promise<DerivedSafeWalletKeys>;
70
+ /**
71
+ * Builds the key fields `coin.recover()` expects from derived Safe child keys.
72
+ * Only `secp256k1Multisig` (slot 1) is supported for now. Signed mode re-encrypts the
73
+ * child xprvs under a fresh ephemeral passphrase (v1/SJCL); unsigned mode returns pubs.
74
+ */
75
+ export declare function buildSafeRecoverKeyParams(params: {
76
+ bitgo: BitGoBase;
77
+ coin: string;
78
+ slot: RootKeyType;
79
+ keys: Secp256k1MultisigChildKeys;
80
+ mode: 'signed' | 'unsigned';
81
+ }): Promise<SafeRecoverKeyParams>;
82
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/recovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,0BAA0B,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,eAAe,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6C9B;AAUD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;CAC3B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmCjC;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC7B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgChC"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decryptSafeKeycard = decryptSafeKeycard;
4
+ exports.deriveSafeWalletKeys = deriveSafeWalletKeys;
5
+ exports.buildSafeRecoverKeyParams = buildSafeRecoverKeyParams;
6
+ const crypto_1 = require("crypto");
7
+ const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ const sdk_lib_safes_1 = require("@bitgo-beta/sdk-lib-safes");
10
+ const errors_1 = require("../errors");
11
+ const keyShareEnvelope_1 = require("../utils/tss/keyShareEnvelope");
12
+ async function decryptSafeKeycard(params) {
13
+ const { bitgo, userKeyBox, backupKeyBox, bitgoKeyBox, password } = params;
14
+ const userRoots = (0, sdk_lib_safes_1.parseSafeKeycardBox)(userKeyBox);
15
+ const backupRoots = (0, sdk_lib_safes_1.parseSafeKeycardBox)(backupKeyBox);
16
+ const bitgoRoots = (0, sdk_lib_safes_1.parseSafeKeycardBox)(bitgoKeyBox);
17
+ const decryptRoot = async (root) => {
18
+ try {
19
+ return await bitgo.decrypt({ input: root, password });
20
+ }
21
+ catch (e) {
22
+ throw new errors_1.IncorrectPasswordError('unable to decrypt the safe keycard with the provided password', e);
23
+ }
24
+ };
25
+ const unwrapMpcRoot = (decrypted) => {
26
+ try {
27
+ return (0, keyShareEnvelope_1.parseSafeMpcKeyEnvelopes)(decrypted);
28
+ }
29
+ catch (e) {
30
+ throw new errors_1.IncorrectPasswordError('unable to decrypt the safe keycard with the provided password', e);
31
+ }
32
+ };
33
+ return {
34
+ secp256k1Multisig: {
35
+ user: await decryptRoot(userRoots.secp256k1Multisig),
36
+ backup: await decryptRoot(backupRoots.secp256k1Multisig),
37
+ bitgo: bitgoRoots.secp256k1Multisig,
38
+ },
39
+ ed25519Multisig: {
40
+ user: await decryptRoot(userRoots.ed25519Multisig),
41
+ backup: await decryptRoot(backupRoots.ed25519Multisig),
42
+ bitgo: bitgoRoots.ed25519Multisig,
43
+ },
44
+ ecdsaMpc: {
45
+ user: unwrapMpcRoot(await decryptRoot(userRoots.ecdsaMpc)),
46
+ backup: unwrapMpcRoot(await decryptRoot(backupRoots.ecdsaMpc)),
47
+ bitgo: bitgoRoots.ecdsaMpc,
48
+ },
49
+ eddsaMpc: {
50
+ user: unwrapMpcRoot(await decryptRoot(userRoots.eddsaMpc)),
51
+ backup: unwrapMpcRoot(await decryptRoot(backupRoots.eddsaMpc)),
52
+ bitgo: bitgoRoots.eddsaMpc,
53
+ },
54
+ };
55
+ }
56
+ function buildSafeUserPath(coinType, slotOrdinal, account) {
57
+ return `m/44'/${coinType}'/${slotOrdinal}'/${account}'`;
58
+ }
59
+ function buildSafeCosignerPath(coinType, slotOrdinal, account) {
60
+ return `m/44/${coinType}/${slotOrdinal}/${account}`;
61
+ }
62
+ /**
63
+ * Derives a Safe wallet's child keys at the BIP44 path for a given slot and account.
64
+ * Only `secp256k1Multisig` (slot 1) is supported for now; the remaining slots throw
65
+ * until their derivation arms land (WCN-2736/WCN-2737/WCN-2894).
66
+ */
67
+ async function deriveSafeWalletKeys(params) {
68
+ if (params.slot !== 'secp256k1Multisig') {
69
+ throw new Error(`deriveSafeWalletKeys: slot '${params.slot}' is not supported yet`);
70
+ }
71
+ if (!Number.isInteger(params.account) || params.account < 0 || params.account > statics_1.MAX_BIP32_INDEX) {
72
+ throw new Error(`deriveSafeWalletKeys: invalid account '${params.account}'`);
73
+ }
74
+ const coinType = statics_1.coins.get(params.coin).bip44CoinType;
75
+ if (coinType === undefined) {
76
+ throw new Error(`Coin '${params.coin}' has no BIP44 coin type and cannot derive a safe child`);
77
+ }
78
+ const slotOrdinal = statics_1.SAFE_ROOT_SLOT_ORDINALS[params.slot];
79
+ const { account, roots } = params;
80
+ const root = roots.secp256k1Multisig;
81
+ const user = utxo_lib_1.bip32.fromBase58(root.user).derivePath(buildSafeUserPath(coinType, slotOrdinal, account));
82
+ const backup = utxo_lib_1.bip32.fromBase58(root.backup).derivePath(buildSafeCosignerPath(coinType, slotOrdinal, account));
83
+ const bitgo = utxo_lib_1.bip32.fromBase58(root.bitgo).derivePath(buildSafeCosignerPath(coinType, slotOrdinal, account));
84
+ if (!user.privateKey || !backup.privateKey) {
85
+ throw new Error('deriveSafeWalletKeys: user and backup roots must be private (xprv)');
86
+ }
87
+ if (bitgo.privateKey) {
88
+ throw new Error('deriveSafeWalletKeys: bitgo root must be public (xpub)');
89
+ }
90
+ return {
91
+ path: buildSafeUserPath(coinType, slotOrdinal, account),
92
+ keys: {
93
+ user: { prv: user.toBase58(), pub: user.neutered().toBase58() },
94
+ backup: { prv: backup.toBase58(), pub: backup.neutered().toBase58() },
95
+ bitgo: { pub: bitgo.neutered().toBase58() },
96
+ },
97
+ };
98
+ }
99
+ /**
100
+ * Builds the key fields `coin.recover()` expects from derived Safe child keys.
101
+ * Only `secp256k1Multisig` (slot 1) is supported for now. Signed mode re-encrypts the
102
+ * child xprvs under a fresh ephemeral passphrase (v1/SJCL); unsigned mode returns pubs.
103
+ */
104
+ async function buildSafeRecoverKeyParams(params) {
105
+ if (params.slot !== 'secp256k1Multisig') {
106
+ throw new Error(`buildSafeRecoverKeyParams: slot '${params.slot}' is not supported yet`);
107
+ }
108
+ const { bitgo, keys, mode } = params;
109
+ if (mode === 'unsigned') {
110
+ return {
111
+ userKey: keys.user.pub,
112
+ backupKey: keys.backup.pub,
113
+ bitgoKey: keys.bitgo.pub,
114
+ };
115
+ }
116
+ const userPrv = utxo_lib_1.bip32.fromBase58(keys.user.prv);
117
+ const backupPrv = utxo_lib_1.bip32.fromBase58(keys.backup.prv);
118
+ if (!userPrv.privateKey || !backupPrv.privateKey) {
119
+ throw new Error('buildSafeRecoverKeyParams: keys.user.prv and keys.backup.prv must be private xprvs');
120
+ }
121
+ const walletPassphrase = (0, crypto_1.randomBytes)(32).toString('hex');
122
+ const [userKey, backupKey] = await Promise.all([
123
+ bitgo.encrypt({ input: keys.user.prv, password: walletPassphrase, encryptionVersion: 1 }),
124
+ bitgo.encrypt({ input: keys.backup.prv, password: walletPassphrase, encryptionVersion: 1 }),
125
+ ]);
126
+ return {
127
+ userKey,
128
+ backupKey,
129
+ bitgoKey: keys.bitgo.pub,
130
+ walletPassphrase,
131
+ };
132
+ }
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9yZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTZDQSxnREFtREM7QUFlRCxvREF3Q0M7QUFPRCw4REFzQ0M7QUE5TEQsbUNBQXFDO0FBQ3JDLG1EQUE2QztBQUM3QyxpREFBc0Y7QUFFdEYsNkRBQWdFO0FBRWhFLHNDQUFtRDtBQUNuRCxvRUFBeUU7QUFnQ2xFLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxNQU14QztJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTFFLE1BQU0sU0FBUyxHQUFHLElBQUEsbUNBQW1CLEVBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBQSxtQ0FBbUIsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFBLG1DQUFtQixFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXBELE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQW1CLEVBQUU7UUFDMUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksK0JBQXNCLENBQUMsK0RBQStELEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBaUIsRUFBd0IsRUFBRTtRQUNoRSxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUEsMkNBQXdCLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksK0JBQXNCLENBQUMsK0RBQStELEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxpQkFBaUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1lBQ3BELE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7U0FDcEM7UUFDRCxlQUFlLEVBQUU7WUFDZixJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUNsRCxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUN0RCxLQUFLLEVBQUUsVUFBVSxDQUFDLGVBQWU7U0FDbEM7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRCxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RCxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVE7U0FDM0I7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRCxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RCxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVE7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLE9BQWU7SUFDL0UsT0FBTyxTQUFTLFFBQVEsS0FBSyxXQUFXLEtBQUssT0FBTyxHQUFHLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLE9BQWU7SUFDbkYsT0FBTyxRQUFRLFFBQVEsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsTUFLMUM7SUFDQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixNQUFNLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRyx5QkFBZSxFQUFFLENBQUM7UUFDaEcsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUN0RCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsTUFBTSxDQUFDLElBQUkseURBQXlELENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsaUNBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUVyQyxNQUFNLElBQUksR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN2RyxNQUFNLE1BQU0sR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRyxNQUFNLEtBQUssR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUU3RyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQztRQUN2RCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDL0QsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JFLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7U0FDNUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUseUJBQXlCLENBQUMsTUFNL0M7SUFDQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxNQUFNLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFckMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1NBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsZ0JBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsb0ZBQW9GLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG9CQUFXLEVBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pGLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDO0tBQzVGLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxPQUFPO1FBQ1AsU0FBUztRQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7UUFDeEIsZ0JBQWdCO0tBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqXG4gKiBAZXhwZXJpbWVudGFsIFdSVy1mYWNpbmcgc2FmZSByZWNvdmVyeSBlbnRyeSBwb2ludHMuXG4gKi9cbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IGNvaW5zLCBNQVhfQklQMzJfSU5ERVgsIFNBRkVfUk9PVF9TTE9UX09SRElOQUxTIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RLZXlUeXBlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBwYXJzZVNhZmVLZXljYXJkQm94IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1zYWZlcyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSW5jb3JyZWN0UGFzc3dvcmRFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBwYXJzZVNhZmVNcGNLZXlFbnZlbG9wZXMgfSBmcm9tICcuLi91dGlscy90c3Mva2V5U2hhcmVFbnZlbG9wZSc7XG5cbmV4cG9ydCB0eXBlIERlY3J5cHRlZE1wY1NhZmVSb290ID0geyBzaWduaW5nOiBCdWZmZXI7IHZyZjogQnVmZmVyIH07XG5cbmV4cG9ydCB0eXBlIE9uY2hhaW5TYWZlUm9vdCA9IHsgdXNlcjogc3RyaW5nOyBiYWNrdXA6IHN0cmluZzsgYml0Z286IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgTXBjU2FmZVJvb3QgPSB7IHVzZXI6IERlY3J5cHRlZE1wY1NhZmVSb290OyBiYWNrdXA6IERlY3J5cHRlZE1wY1NhZmVSb290OyBiaXRnbzogc3RyaW5nIH07XG5cbmV4cG9ydCB0eXBlIFNlY3AyNTZrMU11bHRpc2lnQ2hpbGRLZXlzID0ge1xuICB1c2VyOiB7IHBydjogc3RyaW5nOyBwdWI6IHN0cmluZyB9O1xuICBiYWNrdXA6IHsgcHJ2OiBzdHJpbmc7IHB1Yjogc3RyaW5nIH07XG4gIGJpdGdvOiB7IHB1Yjogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBEZXJpdmVkU2FmZVdhbGxldEtleXMgPSB7XG4gIHBhdGg6IHN0cmluZztcbiAga2V5czogU2VjcDI1NmsxTXVsdGlzaWdDaGlsZEtleXM7XG59O1xuXG5leHBvcnQgdHlwZSBTYWZlUmVjb3ZlcktleVBhcmFtcyA9IHtcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk6IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIERlY3J5cHRlZFNhZmVSb290cyA9IHtcbiAgc2VjcDI1NmsxTXVsdGlzaWc6IE9uY2hhaW5TYWZlUm9vdDtcbiAgZWQyNTUxOU11bHRpc2lnOiBPbmNoYWluU2FmZVJvb3Q7XG4gIGVjZHNhTXBjOiBNcGNTYWZlUm9vdDtcbiAgZWRkc2FNcGM6IE1wY1NhZmVSb290O1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRTYWZlS2V5Y2FyZChwYXJhbXM6IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgdXNlcktleUJveDogc3RyaW5nO1xuICBiYWNrdXBLZXlCb3g6IHN0cmluZztcbiAgYml0Z29LZXlCb3g6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn0pOiBQcm9taXNlPERlY3J5cHRlZFNhZmVSb290cz4ge1xuICBjb25zdCB7IGJpdGdvLCB1c2VyS2V5Qm94LCBiYWNrdXBLZXlCb3gsIGJpdGdvS2V5Qm94LCBwYXNzd29yZCB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHVzZXJSb290cyA9IHBhcnNlU2FmZUtleWNhcmRCb3godXNlcktleUJveCk7XG4gIGNvbnN0IGJhY2t1cFJvb3RzID0gcGFyc2VTYWZlS2V5Y2FyZEJveChiYWNrdXBLZXlCb3gpO1xuICBjb25zdCBiaXRnb1Jvb3RzID0gcGFyc2VTYWZlS2V5Y2FyZEJveChiaXRnb0tleUJveCk7XG5cbiAgY29uc3QgZGVjcnlwdFJvb3QgPSBhc3luYyAocm9vdDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGJpdGdvLmRlY3J5cHQoeyBpbnB1dDogcm9vdCwgcGFzc3dvcmQgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEluY29ycmVjdFBhc3N3b3JkRXJyb3IoJ3VuYWJsZSB0byBkZWNyeXB0IHRoZSBzYWZlIGtleWNhcmQgd2l0aCB0aGUgcHJvdmlkZWQgcGFzc3dvcmQnLCBlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdW53cmFwTXBjUm9vdCA9IChkZWNyeXB0ZWQ6IHN0cmluZyk6IERlY3J5cHRlZE1wY1NhZmVSb290ID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlU2FmZU1wY0tleUVudmVsb3BlcyhkZWNyeXB0ZWQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbmNvcnJlY3RQYXNzd29yZEVycm9yKCd1bmFibGUgdG8gZGVjcnlwdCB0aGUgc2FmZSBrZXljYXJkIHdpdGggdGhlIHByb3ZpZGVkIHBhc3N3b3JkJywgZSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc2VjcDI1NmsxTXVsdGlzaWc6IHtcbiAgICAgIHVzZXI6IGF3YWl0IGRlY3J5cHRSb290KHVzZXJSb290cy5zZWNwMjU2azFNdWx0aXNpZyksXG4gICAgICBiYWNrdXA6IGF3YWl0IGRlY3J5cHRSb290KGJhY2t1cFJvb3RzLnNlY3AyNTZrMU11bHRpc2lnKSxcbiAgICAgIGJpdGdvOiBiaXRnb1Jvb3RzLnNlY3AyNTZrMU11bHRpc2lnLFxuICAgIH0sXG4gICAgZWQyNTUxOU11bHRpc2lnOiB7XG4gICAgICB1c2VyOiBhd2FpdCBkZWNyeXB0Um9vdCh1c2VyUm9vdHMuZWQyNTUxOU11bHRpc2lnKSxcbiAgICAgIGJhY2t1cDogYXdhaXQgZGVjcnlwdFJvb3QoYmFja3VwUm9vdHMuZWQyNTUxOU11bHRpc2lnKSxcbiAgICAgIGJpdGdvOiBiaXRnb1Jvb3RzLmVkMjU1MTlNdWx0aXNpZyxcbiAgICB9LFxuICAgIGVjZHNhTXBjOiB7XG4gICAgICB1c2VyOiB1bndyYXBNcGNSb290KGF3YWl0IGRlY3J5cHRSb290KHVzZXJSb290cy5lY2RzYU1wYykpLFxuICAgICAgYmFja3VwOiB1bndyYXBNcGNSb290KGF3YWl0IGRlY3J5cHRSb290KGJhY2t1cFJvb3RzLmVjZHNhTXBjKSksXG4gICAgICBiaXRnbzogYml0Z29Sb290cy5lY2RzYU1wYyxcbiAgICB9LFxuICAgIGVkZHNhTXBjOiB7XG4gICAgICB1c2VyOiB1bndyYXBNcGNSb290KGF3YWl0IGRlY3J5cHRSb290KHVzZXJSb290cy5lZGRzYU1wYykpLFxuICAgICAgYmFja3VwOiB1bndyYXBNcGNSb290KGF3YWl0IGRlY3J5cHRSb290KGJhY2t1cFJvb3RzLmVkZHNhTXBjKSksXG4gICAgICBiaXRnbzogYml0Z29Sb290cy5lZGRzYU1wYyxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBidWlsZFNhZmVVc2VyUGF0aChjb2luVHlwZTogbnVtYmVyLCBzbG90T3JkaW5hbDogbnVtYmVyLCBhY2NvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gYG0vNDQnLyR7Y29pblR5cGV9Jy8ke3Nsb3RPcmRpbmFsfScvJHthY2NvdW50fSdgO1xufVxuXG5mdW5jdGlvbiBidWlsZFNhZmVDb3NpZ25lclBhdGgoY29pblR5cGU6IG51bWJlciwgc2xvdE9yZGluYWw6IG51bWJlciwgYWNjb3VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBtLzQ0LyR7Y29pblR5cGV9LyR7c2xvdE9yZGluYWx9LyR7YWNjb3VudH1gO1xufVxuXG4vKipcbiAqIERlcml2ZXMgYSBTYWZlIHdhbGxldCdzIGNoaWxkIGtleXMgYXQgdGhlIEJJUDQ0IHBhdGggZm9yIGEgZ2l2ZW4gc2xvdCBhbmQgYWNjb3VudC5cbiAqIE9ubHkgYHNlY3AyNTZrMU11bHRpc2lnYCAoc2xvdCAxKSBpcyBzdXBwb3J0ZWQgZm9yIG5vdzsgdGhlIHJlbWFpbmluZyBzbG90cyB0aHJvd1xuICogdW50aWwgdGhlaXIgZGVyaXZhdGlvbiBhcm1zIGxhbmQgKFdDTi0yNzM2L1dDTi0yNzM3L1dDTi0yODk0KS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlcml2ZVNhZmVXYWxsZXRLZXlzKHBhcmFtczoge1xuICBjb2luOiBzdHJpbmc7XG4gIHNsb3Q6IFJvb3RLZXlUeXBlO1xuICBhY2NvdW50OiBudW1iZXI7XG4gIHJvb3RzOiBEZWNyeXB0ZWRTYWZlUm9vdHM7XG59KTogUHJvbWlzZTxEZXJpdmVkU2FmZVdhbGxldEtleXM+IHtcbiAgaWYgKHBhcmFtcy5zbG90ICE9PSAnc2VjcDI1NmsxTXVsdGlzaWcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBkZXJpdmVTYWZlV2FsbGV0S2V5czogc2xvdCAnJHtwYXJhbXMuc2xvdH0nIGlzIG5vdCBzdXBwb3J0ZWQgeWV0YCk7XG4gIH1cbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHBhcmFtcy5hY2NvdW50KSB8fCBwYXJhbXMuYWNjb3VudCA8IDAgfHwgcGFyYW1zLmFjY291bnQgPiBNQVhfQklQMzJfSU5ERVgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGRlcml2ZVNhZmVXYWxsZXRLZXlzOiBpbnZhbGlkIGFjY291bnQgJyR7cGFyYW1zLmFjY291bnR9J2ApO1xuICB9XG5cbiAgY29uc3QgY29pblR5cGUgPSBjb2lucy5nZXQocGFyYW1zLmNvaW4pLmJpcDQ0Q29pblR5cGU7XG4gIGlmIChjb2luVHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb2luICcke3BhcmFtcy5jb2lufScgaGFzIG5vIEJJUDQ0IGNvaW4gdHlwZSBhbmQgY2Fubm90IGRlcml2ZSBhIHNhZmUgY2hpbGRgKTtcbiAgfVxuICBjb25zdCBzbG90T3JkaW5hbCA9IFNBRkVfUk9PVF9TTE9UX09SRElOQUxTW3BhcmFtcy5zbG90XTtcbiAgY29uc3QgeyBhY2NvdW50LCByb290cyB9ID0gcGFyYW1zO1xuICBjb25zdCByb290ID0gcm9vdHMuc2VjcDI1NmsxTXVsdGlzaWc7XG5cbiAgY29uc3QgdXNlciA9IGJpcDMyLmZyb21CYXNlNTgocm9vdC51c2VyKS5kZXJpdmVQYXRoKGJ1aWxkU2FmZVVzZXJQYXRoKGNvaW5UeXBlLCBzbG90T3JkaW5hbCwgYWNjb3VudCkpO1xuICBjb25zdCBiYWNrdXAgPSBiaXAzMi5mcm9tQmFzZTU4KHJvb3QuYmFja3VwKS5kZXJpdmVQYXRoKGJ1aWxkU2FmZUNvc2lnbmVyUGF0aChjb2luVHlwZSwgc2xvdE9yZGluYWwsIGFjY291bnQpKTtcbiAgY29uc3QgYml0Z28gPSBiaXAzMi5mcm9tQmFzZTU4KHJvb3QuYml0Z28pLmRlcml2ZVBhdGgoYnVpbGRTYWZlQ29zaWduZXJQYXRoKGNvaW5UeXBlLCBzbG90T3JkaW5hbCwgYWNjb3VudCkpO1xuXG4gIGlmICghdXNlci5wcml2YXRlS2V5IHx8ICFiYWNrdXAucHJpdmF0ZUtleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGVyaXZlU2FmZVdhbGxldEtleXM6IHVzZXIgYW5kIGJhY2t1cCByb290cyBtdXN0IGJlIHByaXZhdGUgKHhwcnYpJyk7XG4gIH1cbiAgaWYgKGJpdGdvLnByaXZhdGVLZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Rlcml2ZVNhZmVXYWxsZXRLZXlzOiBiaXRnbyByb290IG11c3QgYmUgcHVibGljICh4cHViKScpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBidWlsZFNhZmVVc2VyUGF0aChjb2luVHlwZSwgc2xvdE9yZGluYWwsIGFjY291bnQpLFxuICAgIGtleXM6IHtcbiAgICAgIHVzZXI6IHsgcHJ2OiB1c2VyLnRvQmFzZTU4KCksIHB1YjogdXNlci5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkgfSxcbiAgICAgIGJhY2t1cDogeyBwcnY6IGJhY2t1cC50b0Jhc2U1OCgpLCBwdWI6IGJhY2t1cC5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkgfSxcbiAgICAgIGJpdGdvOiB7IHB1YjogYml0Z28ubmV1dGVyZWQoKS50b0Jhc2U1OCgpIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGtleSBmaWVsZHMgYGNvaW4ucmVjb3ZlcigpYCBleHBlY3RzIGZyb20gZGVyaXZlZCBTYWZlIGNoaWxkIGtleXMuXG4gKiBPbmx5IGBzZWNwMjU2azFNdWx0aXNpZ2AgKHNsb3QgMSkgaXMgc3VwcG9ydGVkIGZvciBub3cuIFNpZ25lZCBtb2RlIHJlLWVuY3J5cHRzIHRoZVxuICogY2hpbGQgeHBydnMgdW5kZXIgYSBmcmVzaCBlcGhlbWVyYWwgcGFzc3BocmFzZSAodjEvU0pDTCk7IHVuc2lnbmVkIG1vZGUgcmV0dXJucyBwdWJzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRTYWZlUmVjb3ZlcktleVBhcmFtcyhwYXJhbXM6IHtcbiAgYml0Z286IEJpdEdvQmFzZTtcbiAgY29pbjogc3RyaW5nO1xuICBzbG90OiBSb290S2V5VHlwZTtcbiAga2V5czogU2VjcDI1NmsxTXVsdGlzaWdDaGlsZEtleXM7XG4gIG1vZGU6ICdzaWduZWQnIHwgJ3Vuc2lnbmVkJztcbn0pOiBQcm9taXNlPFNhZmVSZWNvdmVyS2V5UGFyYW1zPiB7XG4gIGlmIChwYXJhbXMuc2xvdCAhPT0gJ3NlY3AyNTZrMU11bHRpc2lnJykge1xuICAgIHRocm93IG5ldyBFcnJvcihgYnVpbGRTYWZlUmVjb3ZlcktleVBhcmFtczogc2xvdCAnJHtwYXJhbXMuc2xvdH0nIGlzIG5vdCBzdXBwb3J0ZWQgeWV0YCk7XG4gIH1cbiAgY29uc3QgeyBiaXRnbywga2V5cywgbW9kZSB9ID0gcGFyYW1zO1xuXG4gIGlmIChtb2RlID09PSAndW5zaWduZWQnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVzZXJLZXk6IGtleXMudXNlci5wdWIsXG4gICAgICBiYWNrdXBLZXk6IGtleXMuYmFja3VwLnB1YixcbiAgICAgIGJpdGdvS2V5OiBrZXlzLmJpdGdvLnB1YixcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgdXNlclBydiA9IGJpcDMyLmZyb21CYXNlNTgoa2V5cy51c2VyLnBydik7XG4gIGNvbnN0IGJhY2t1cFBydiA9IGJpcDMyLmZyb21CYXNlNTgoa2V5cy5iYWNrdXAucHJ2KTtcbiAgaWYgKCF1c2VyUHJ2LnByaXZhdGVLZXkgfHwgIWJhY2t1cFBydi5wcml2YXRlS2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdidWlsZFNhZmVSZWNvdmVyS2V5UGFyYW1zOiBrZXlzLnVzZXIucHJ2IGFuZCBrZXlzLmJhY2t1cC5wcnYgbXVzdCBiZSBwcml2YXRlIHhwcnZzJyk7XG4gIH1cblxuICBjb25zdCB3YWxsZXRQYXNzcGhyYXNlID0gcmFuZG9tQnl0ZXMoMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgY29uc3QgW3VzZXJLZXksIGJhY2t1cEtleV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgYml0Z28uZW5jcnlwdCh7IGlucHV0OiBrZXlzLnVzZXIucHJ2LCBwYXNzd29yZDogd2FsbGV0UGFzc3BocmFzZSwgZW5jcnlwdGlvblZlcnNpb246IDEgfSksXG4gICAgYml0Z28uZW5jcnlwdCh7IGlucHV0OiBrZXlzLmJhY2t1cC5wcnYsIHBhc3N3b3JkOiB3YWxsZXRQYXNzcGhyYXNlLCBlbmNyeXB0aW9uVmVyc2lvbjogMSB9KSxcbiAgXSk7XG5cbiAgcmV0dXJuIHtcbiAgICB1c2VyS2V5LFxuICAgIGJhY2t1cEtleSxcbiAgICBiaXRnb0tleToga2V5cy5iaXRnby5wdWIsXG4gICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { RootKeyType } from '@bitgo/public-types';
2
+ import { IBaseCoin } from '../baseCoin';
3
+ import { BitGoBase } from '../bitgoBase';
4
+ /**
5
+ * Canonical order of the safe root slots. Shared by safe minting (Safes.createSafeKeys) and
6
+ * passkey register/remove (Safe) so both iterate the slots identically.
7
+ * @experimental
8
+ */
9
+ export declare const SAFE_ROOT_SLOTS: RootKeyType[];
10
+ /**
11
+ * Coin used to route a given root's key operations (see ROOT_COIN_BY_NETWORK).
12
+ * @experimental
13
+ */
14
+ export declare function coinForRoot(bitgo: BitGoBase, slot: RootKeyType): IBaseCoin;
15
+ //# sourceMappingURL=rootCoin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rootCoin.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/rootCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,EAAqE,CAAC;AA4B/G;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,CAK1E"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SAFE_ROOT_SLOTS = void 0;
4
+ exports.coinForRoot = coinForRoot;
5
+ const common_1 = require("../../common");
6
+ /**
7
+ * Canonical order of the safe root slots. Shared by safe minting (Safes.createSafeKeys) and
8
+ * passkey register/remove (Safe) so both iterate the slots identically.
9
+ * @experimental
10
+ */
11
+ exports.SAFE_ROOT_SLOTS = ['secp256k1Multisig', 'ed25519Multisig', 'ecdsaMpc', 'eddsaMpc'];
12
+ /**
13
+ * Representative coin per root slot, by network. Safe roots are curve/scheme-scoped, not
14
+ * coin-scoped — WP stamps `curve` server-side from the coin's key curve, so any coin of the
15
+ * right (curve, scheme) works. These are stable, always-available choices used only to route
16
+ * the key ceremony; the resulting root is interchangeable across coins of the slot.
17
+ * @experimental
18
+ */
19
+ const ROOT_COIN_BY_NETWORK = {
20
+ mainnet: {
21
+ // multisig roots
22
+ secp256k1Multisig: 'btc',
23
+ ed25519Multisig: 'xlm',
24
+ // MPC roots
25
+ ecdsaMpc: 'eth',
26
+ eddsaMpc: 'sol',
27
+ },
28
+ testnet: {
29
+ // multisig roots
30
+ secp256k1Multisig: 'tbtc',
31
+ ed25519Multisig: 'txlm',
32
+ // MPC roots
33
+ ecdsaMpc: 'hteth',
34
+ eddsaMpc: 'tsol',
35
+ },
36
+ };
37
+ /**
38
+ * Coin used to route a given root's key operations (see ROOT_COIN_BY_NETWORK).
39
+ * @experimental
40
+ */
41
+ function coinForRoot(bitgo, slot) {
42
+ // V1Network is exactly 'bitcoin' | 'testnet', so this branch is exhaustive over every
43
+ // environment: 'bitcoin' is mainnet and every other value is a testnet.
44
+ const network = common_1.Environments[bitgo.getEnv()].network === 'bitcoin' ? 'mainnet' : 'testnet';
45
+ return bitgo.coin(ROOT_COIN_BY_NETWORK[network][slot]);
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdENvaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9yb290Q29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwQ0Esa0NBS0M7QUE5Q0QseUNBQTRDO0FBSTVDOzs7O0dBSUc7QUFDVSxRQUFBLGVBQWUsR0FBa0IsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFL0c7Ozs7OztHQU1HO0FBQ0gsTUFBTSxvQkFBb0IsR0FBK0Q7SUFDdkYsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQixFQUFFLEtBQUs7UUFDeEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsWUFBWTtRQUNaLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLEtBQUs7S0FDaEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxpQkFBaUI7UUFDakIsaUJBQWlCLEVBQUUsTUFBTTtRQUN6QixlQUFlLEVBQUUsTUFBTTtRQUN2QixZQUFZO1FBQ1osUUFBUSxFQUFFLE9BQU87UUFDakIsUUFBUSxFQUFFLE1BQU07S0FDakI7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQWdCLEVBQUUsSUFBaUI7SUFDN0Qsc0ZBQXNGO0lBQ3RGLHdFQUF3RTtJQUN4RSxNQUFNLE9BQU8sR0FBRyxxQkFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzNGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb290S2V5VHlwZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRzIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IElCYXNlQ29pbiB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5cbi8qKlxuICogQ2Fub25pY2FsIG9yZGVyIG9mIHRoZSBzYWZlIHJvb3Qgc2xvdHMuIFNoYXJlZCBieSBzYWZlIG1pbnRpbmcgKFNhZmVzLmNyZWF0ZVNhZmVLZXlzKSBhbmRcbiAqIHBhc3NrZXkgcmVnaXN0ZXIvcmVtb3ZlIChTYWZlKSBzbyBib3RoIGl0ZXJhdGUgdGhlIHNsb3RzIGlkZW50aWNhbGx5LlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY29uc3QgU0FGRV9ST09UX1NMT1RTOiBSb290S2V5VHlwZVtdID0gWydzZWNwMjU2azFNdWx0aXNpZycsICdlZDI1NTE5TXVsdGlzaWcnLCAnZWNkc2FNcGMnLCAnZWRkc2FNcGMnXTtcblxuLyoqXG4gKiBSZXByZXNlbnRhdGl2ZSBjb2luIHBlciByb290IHNsb3QsIGJ5IG5ldHdvcmsuIFNhZmUgcm9vdHMgYXJlIGN1cnZlL3NjaGVtZS1zY29wZWQsIG5vdFxuICogY29pbi1zY29wZWQg4oCUIFdQIHN0YW1wcyBgY3VydmVgIHNlcnZlci1zaWRlIGZyb20gdGhlIGNvaW4ncyBrZXkgY3VydmUsIHNvIGFueSBjb2luIG9mIHRoZVxuICogcmlnaHQgKGN1cnZlLCBzY2hlbWUpIHdvcmtzLiBUaGVzZSBhcmUgc3RhYmxlLCBhbHdheXMtYXZhaWxhYmxlIGNob2ljZXMgdXNlZCBvbmx5IHRvIHJvdXRlXG4gKiB0aGUga2V5IGNlcmVtb255OyB0aGUgcmVzdWx0aW5nIHJvb3QgaXMgaW50ZXJjaGFuZ2VhYmxlIGFjcm9zcyBjb2lucyBvZiB0aGUgc2xvdC5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuY29uc3QgUk9PVF9DT0lOX0JZX05FVFdPUks6IFJlY29yZDwnbWFpbm5ldCcgfCAndGVzdG5ldCcsIFJlY29yZDxSb290S2V5VHlwZSwgc3RyaW5nPj4gPSB7XG4gIG1haW5uZXQ6IHtcbiAgICAvLyBtdWx0aXNpZyByb290c1xuICAgIHNlY3AyNTZrMU11bHRpc2lnOiAnYnRjJyxcbiAgICBlZDI1NTE5TXVsdGlzaWc6ICd4bG0nLFxuICAgIC8vIE1QQyByb290c1xuICAgIGVjZHNhTXBjOiAnZXRoJyxcbiAgICBlZGRzYU1wYzogJ3NvbCcsXG4gIH0sXG4gIHRlc3RuZXQ6IHtcbiAgICAvLyBtdWx0aXNpZyByb290c1xuICAgIHNlY3AyNTZrMU11bHRpc2lnOiAndGJ0YycsXG4gICAgZWQyNTUxOU11bHRpc2lnOiAndHhsbScsXG4gICAgLy8gTVBDIHJvb3RzXG4gICAgZWNkc2FNcGM6ICdodGV0aCcsXG4gICAgZWRkc2FNcGM6ICd0c29sJyxcbiAgfSxcbn07XG5cbi8qKlxuICogQ29pbiB1c2VkIHRvIHJvdXRlIGEgZ2l2ZW4gcm9vdCdzIGtleSBvcGVyYXRpb25zIChzZWUgUk9PVF9DT0lOX0JZX05FVFdPUkspLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29pbkZvclJvb3QoYml0Z286IEJpdEdvQmFzZSwgc2xvdDogUm9vdEtleVR5cGUpOiBJQmFzZUNvaW4ge1xuICAvLyBWMU5ldHdvcmsgaXMgZXhhY3RseSAnYml0Y29pbicgfCAndGVzdG5ldCcsIHNvIHRoaXMgYnJhbmNoIGlzIGV4aGF1c3RpdmUgb3ZlciBldmVyeVxuICAvLyBlbnZpcm9ubWVudDogJ2JpdGNvaW4nIGlzIG1haW5uZXQgYW5kIGV2ZXJ5IG90aGVyIHZhbHVlIGlzIGEgdGVzdG5ldC5cbiAgY29uc3QgbmV0d29yayA9IEVudmlyb25tZW50c1tiaXRnby5nZXRFbnYoKV0ubmV0d29yayA9PT0gJ2JpdGNvaW4nID8gJ21haW5uZXQnIDogJ3Rlc3RuZXQnO1xuICByZXR1cm4gYml0Z28uY29pbihST09UX0NPSU5fQllfTkVUV09SS1tuZXR3b3JrXVtzbG90XSk7XG59XG4iXX0=