@bitgo-beta/sdk-core 8.2.1-beta.190 → 8.2.1-beta.1901

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 (643) 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 +41 -29
  9. package/dist/src/account-lib/baseCoin/enum.d.ts +53 -5
  10. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  11. package/dist/src/account-lib/baseCoin/enum.js +97 -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.js +23 -9
  49. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  50. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  51. package/dist/src/account-lib/mpc/index.js +6 -2
  52. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -3
  53. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  54. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +376 -354
  55. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  56. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  57. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  58. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  59. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +46 -53
  60. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  61. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  62. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -1
  63. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  64. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +66 -69
  65. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  66. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  67. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  68. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  69. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  70. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  71. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  72. package/dist/src/account-lib/mpc/util.js +24 -1
  73. package/dist/src/account-lib/staking/index.js +6 -2
  74. package/dist/src/account-lib/staking/utils.js +3 -3
  75. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  76. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  77. package/dist/src/account-lib/util/crypto.js +69 -38
  78. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  79. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  80. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  81. package/dist/src/api/bip32path.js +2 -3
  82. package/dist/src/api/index.js +6 -2
  83. package/dist/src/api/types.d.ts +31 -0
  84. package/dist/src/api/types.d.ts.map +1 -1
  85. package/dist/src/api/types.js +1 -1
  86. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  87. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  88. package/dist/src/bitgo/address-book/address-book.js +150 -0
  89. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  90. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  91. package/dist/src/bitgo/address-book/index.js +19 -0
  92. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  93. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  94. package/dist/src/bitgo/address-book/types.js +3 -0
  95. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +110 -11
  96. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  97. package/dist/src/bitgo/baseCoin/baseCoin.js +169 -16
  98. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +270 -27
  99. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  100. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -3
  101. package/dist/src/bitgo/baseCoin/index.js +6 -2
  102. package/dist/src/bitgo/bip32util.d.ts +3 -16
  103. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  104. package/dist/src/bitgo/bip32util.js +4 -56
  105. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  106. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  107. package/dist/src/bitgo/bitcoin.js +26 -13
  108. package/dist/src/bitgo/bitgoBase.d.ts +7 -3
  109. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  110. package/dist/src/bitgo/bitgoBase.js +1 -1
  111. package/dist/src/bitgo/coinFactory.d.ts +17 -3
  112. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  113. package/dist/src/bitgo/coinFactory.js +26 -3
  114. package/dist/src/bitgo/config.d.ts +3 -95
  115. package/dist/src/bitgo/config.d.ts.map +1 -1
  116. package/dist/src/bitgo/config.js +26 -15
  117. package/dist/src/bitgo/defi/defiVault.d.ts +87 -0
  118. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  119. package/dist/src/bitgo/defi/defiVault.js +225 -0
  120. package/dist/src/bitgo/defi/iDefiVault.d.ts +59 -0
  121. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  122. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  123. package/dist/src/bitgo/defi/index.d.ts +3 -0
  124. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  125. package/dist/src/bitgo/defi/index.js +22 -0
  126. package/dist/src/bitgo/ecdh.d.ts +0 -1
  127. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  128. package/dist/src/bitgo/ecdh.js +26 -13
  129. package/dist/src/bitgo/enterprise/enterprise.d.ts +3 -4
  130. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  131. package/dist/src/bitgo/enterprise/enterprise.js +39 -21
  132. package/dist/src/bitgo/enterprise/enterprises.js +27 -13
  133. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +2 -3
  134. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  135. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  136. package/dist/src/bitgo/enterprise/index.js +6 -2
  137. package/dist/src/bitgo/environments.d.ts +69 -5
  138. package/dist/src/bitgo/environments.d.ts.map +1 -1
  139. package/dist/src/bitgo/environments.js +417 -40
  140. package/dist/src/bitgo/errors.d.ts +175 -0
  141. package/dist/src/bitgo/errors.d.ts.map +1 -1
  142. package/dist/src/bitgo/errors.js +166 -2
  143. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  144. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  145. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  146. package/dist/src/bitgo/index.d.ts +4 -1
  147. package/dist/src/bitgo/index.d.ts.map +1 -1
  148. package/dist/src/bitgo/index.js +30 -11
  149. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  150. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  151. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  152. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  153. package/dist/src/bitgo/internal/index.js +6 -2
  154. package/dist/src/bitgo/internal/internal.js +5 -6
  155. package/dist/src/bitgo/internal/keycard.d.ts +12 -8
  156. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  157. package/dist/src/bitgo/internal/keycard.js +60 -48
  158. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +14 -0
  159. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  160. package/dist/src/bitgo/keychain/decryptKeychain.js +36 -0
  161. package/dist/src/bitgo/keychain/iKeychains.d.ts +95 -10
  162. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  163. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  164. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  165. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  166. package/dist/src/bitgo/keychain/index.js +7 -2
  167. package/dist/src/bitgo/keychain/keychains.d.ts +39 -7
  168. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  169. package/dist/src/bitgo/keychain/keychains.js +227 -52
  170. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  171. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  172. package/dist/src/bitgo/keychain/ovcJsonCodec.js +23 -9
  173. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  174. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  175. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  176. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  177. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  178. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  179. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  180. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  181. package/dist/src/bitgo/market/index.js +6 -2
  182. package/dist/src/bitgo/market/markets.js +23 -9
  183. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +1 -0
  184. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  185. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  186. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  187. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  188. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  189. package/dist/src/bitgo/pendingApproval/pendingApproval.js +228 -110
  190. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  191. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  192. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  193. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  194. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  195. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  196. package/dist/src/bitgo/proofs/index.js +6 -0
  197. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  198. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  199. package/dist/src/bitgo/proofs/types.js +80 -0
  200. package/dist/src/bitgo/recovery/index.js +6 -2
  201. package/dist/src/bitgo/recovery/initiate.d.ts +13 -3
  202. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  203. package/dist/src/bitgo/recovery/initiate.js +49 -41
  204. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +136 -0
  205. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  206. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  207. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  208. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  209. package/dist/src/bitgo/staking/goStakingWallet.js +141 -0
  210. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  211. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  212. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  213. package/dist/src/bitgo/staking/iStakingWallet.d.ts +178 -7
  214. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  215. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  216. package/dist/src/bitgo/staking/index.d.ts +3 -0
  217. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  218. package/dist/src/bitgo/staking/index.js +9 -2
  219. package/dist/src/bitgo/staking/stakingWallet.d.ts +21 -8
  220. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  221. package/dist/src/bitgo/staking/stakingWallet.js +140 -7
  222. package/dist/src/bitgo/trading/iTradingAccount.d.ts +15 -1
  223. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  224. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  225. package/dist/src/bitgo/trading/index.d.ts +1 -0
  226. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  227. package/dist/src/bitgo/trading/index.js +7 -2
  228. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  229. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  230. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  231. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  232. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  233. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  234. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  235. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  236. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  237. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  238. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  239. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  240. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  241. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  242. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  243. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  244. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  245. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  246. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  247. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  248. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  249. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  250. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  251. package/dist/src/bitgo/trading/network/index.js +21 -0
  252. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  253. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  254. package/dist/src/bitgo/trading/network/network.js +99 -0
  255. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  256. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  257. package/dist/src/bitgo/trading/network/types.js +3 -0
  258. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  259. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  260. package/dist/src/bitgo/trading/network/utils.js +54 -0
  261. package/dist/src/bitgo/trading/tradingAccount.d.ts +22 -1
  262. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  263. package/dist/src/bitgo/trading/tradingAccount.js +64 -7
  264. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +38 -0
  265. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  266. package/dist/src/bitgo/tss/bitgoPubKeys.js +72 -0
  267. package/dist/src/bitgo/tss/common.d.ts +40 -6
  268. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  269. package/dist/src/bitgo/tss/common.js +122 -17
  270. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  271. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  272. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  273. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  274. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  275. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +167 -0
  276. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  277. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  278. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  279. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  280. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  281. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  282. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +15 -6
  283. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  284. package/dist/src/bitgo/tss/eddsa/eddsa.js +47 -40
  285. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts +37 -0
  286. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  287. package/dist/src/bitgo/tss/eddsa/eddsaMPCv2.js +95 -0
  288. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  289. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  290. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  291. package/dist/src/bitgo/tss/index.d.ts +3 -2
  292. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  293. package/dist/src/bitgo/tss/index.js +26 -10
  294. package/dist/src/bitgo/tss/types.d.ts +3 -3
  295. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  296. package/dist/src/bitgo/tss/types.js +2 -2
  297. package/dist/src/bitgo/types.d.ts +3 -3
  298. package/dist/src/bitgo/types.d.ts.map +1 -1
  299. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +8 -0
  300. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  301. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +55 -13
  302. package/dist/src/bitgo/utils/codecProps.js +24 -11
  303. package/dist/src/bitgo/utils/codecs.d.ts +11 -0
  304. package/dist/src/bitgo/utils/codecs.d.ts.map +1 -0
  305. package/dist/src/bitgo/utils/codecs.js +59 -0
  306. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  307. package/dist/src/bitgo/utils/decode.js +30 -16
  308. package/dist/src/bitgo/utils/index.d.ts +4 -2
  309. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  310. package/dist/src/bitgo/utils/index.js +27 -11
  311. package/dist/src/bitgo/utils/messageTypes.d.ts +40 -0
  312. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  313. package/dist/src/bitgo/utils/messageTypes.js +17 -0
  314. package/dist/src/bitgo/utils/mpcUtils.d.ts +4 -4
  315. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  316. package/dist/src/bitgo/utils/mpcUtils.js +153 -14
  317. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  318. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  319. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  320. package/dist/src/bitgo/utils/opengpgUtils.d.ts +10 -7
  321. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  322. package/dist/src/bitgo/utils/opengpgUtils.js +75 -62
  323. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -1
  324. package/dist/src/bitgo/utils/postWithCodec.js +4 -38
  325. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  326. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  327. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  328. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  329. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  330. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  331. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  332. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  333. package/dist/src/bitgo/utils/triple.js +2 -3
  334. package/dist/src/bitgo/utils/tss/addressVerification.d.ts +62 -0
  335. package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  336. package/dist/src/bitgo/utils/tss/addressVerification.js +93 -0
  337. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +97 -18
  338. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  339. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +307 -46
  340. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +414 -46
  341. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  342. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -22
  343. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  344. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  345. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  346. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  347. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  348. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  349. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +24 -51
  350. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  351. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +172 -246
  352. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +215 -0
  353. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  354. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +1049 -0
  355. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  356. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  357. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  358. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  359. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  360. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  361. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -10
  362. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  363. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  364. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  365. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  366. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  367. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts +21 -0
  368. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.d.ts.map +1 -0
  369. package/dist/src/bitgo/utils/tss/eddsa/SMC/utils.js +118 -0
  370. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts +18 -0
  371. package/dist/src/bitgo/utils/tss/eddsa/base.d.ts.map +1 -0
  372. package/dist/src/bitgo/utils/tss/eddsa/base.js +64 -0
  373. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +37 -11
  374. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  375. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +254 -96
  376. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +137 -0
  377. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  378. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +643 -0
  379. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts +6 -0
  380. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.d.ts.map +1 -0
  381. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2KeyGenSender.js +13 -0
  382. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +4 -0
  383. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -1
  384. package/dist/src/bitgo/utils/tss/eddsa/index.js +29 -8
  385. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +12 -7
  386. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  387. package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
  388. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts +40 -0
  389. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.d.ts.map +1 -0
  390. package/dist/src/bitgo/utils/tss/eddsa/typesEddsaMPCv2.js +44 -0
  391. package/dist/src/bitgo/utils/tss/index.d.ts +3 -0
  392. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
  393. package/dist/src/bitgo/utils/tss/index.js +26 -9
  394. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
  395. package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  396. package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
  397. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +33 -0
  398. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  399. package/dist/src/bitgo/utils/tss/recipientUtils.js +117 -0
  400. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  401. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  402. package/dist/src/bitgo/utils/txRequest.js +49 -0
  403. package/dist/src/bitgo/utils/util.js +24 -10
  404. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  405. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  406. package/dist/src/bitgo/utils/wallet.js +48 -0
  407. package/dist/src/bitgo/wallet/BuildParams.d.ts +50 -1
  408. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  409. package/dist/src/bitgo/wallet/BuildParams.js +58 -11
  410. package/dist/src/bitgo/wallet/iWallet.d.ts +496 -23
  411. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  412. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  413. package/dist/src/bitgo/wallet/iWallets.d.ts +298 -16
  414. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  415. package/dist/src/bitgo/wallet/iWallets.js +63 -3
  416. package/dist/src/bitgo/wallet/index.js +6 -2
  417. package/dist/src/bitgo/wallet/wallet.d.ts +350 -27
  418. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  419. package/dist/src/bitgo/wallet/wallet.js +1934 -360
  420. package/dist/src/bitgo/wallet/wallets.d.ts +93 -4
  421. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  422. package/dist/src/bitgo/wallet/wallets.js +1144 -155
  423. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  424. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  425. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  426. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  427. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  428. package/dist/src/bitgo/walletUtil/index.js +19 -0
  429. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  430. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  431. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  432. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  433. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  434. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  435. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  436. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  437. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  438. package/dist/src/bitgo/webhook/index.js +6 -2
  439. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  440. package/dist/src/coins/fiat.d.ts +45 -0
  441. package/dist/src/coins/fiat.d.ts.map +1 -0
  442. package/dist/src/coins/fiat.js +94 -0
  443. package/dist/src/coins/index.d.ts +1 -6
  444. package/dist/src/coins/index.d.ts.map +1 -1
  445. package/dist/src/coins/index.js +7 -8
  446. package/dist/src/coins/ofc.d.ts +21 -2
  447. package/dist/src/coins/ofc.d.ts.map +1 -1
  448. package/dist/src/coins/ofc.js +29 -3
  449. package/dist/src/coins/ofcToken.d.ts +15 -4
  450. package/dist/src/coins/ofcToken.d.ts.map +1 -1
  451. package/dist/src/coins/ofcToken.js +43 -5
  452. package/dist/src/coins/susd.d.ts +3 -2
  453. package/dist/src/coins/susd.d.ts.map +1 -1
  454. package/dist/src/coins/susd.js +5 -1
  455. package/dist/src/common.js +27 -13
  456. package/dist/src/index.d.ts +7 -1
  457. package/dist/src/index.d.ts.map +1 -1
  458. package/dist/src/index.js +32 -11
  459. package/dist/src/lightning.d.ts +20 -0
  460. package/dist/src/lightning.d.ts.map +1 -0
  461. package/dist/src/lightning.js +13 -0
  462. package/dist/src/units.js +5 -6
  463. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  464. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  465. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  466. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  467. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  468. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  469. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  470. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  471. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  472. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  473. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  474. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  475. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +91 -29
  476. package/dist/test/unit/account-lib/mpc/util.d.ts +2 -0
  477. package/dist/test/unit/account-lib/mpc/util.d.ts.map +1 -0
  478. package/dist/test/unit/account-lib/mpc/util.js +53 -0
  479. package/dist/test/unit/bitgo/address-book/address-book.d.ts +2 -0
  480. package/dist/test/unit/bitgo/address-book/address-book.d.ts.map +1 -0
  481. package/dist/test/unit/bitgo/address-book/address-book.js +159 -0
  482. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  483. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  484. package/dist/test/unit/bitgo/defi/defiVault.js +338 -0
  485. package/dist/test/unit/bitgo/environment.d.ts +2 -0
  486. package/dist/test/unit/bitgo/environment.d.ts.map +1 -0
  487. package/dist/test/unit/bitgo/environment.js +38 -0
  488. package/dist/test/unit/bitgo/errors.d.ts +2 -0
  489. package/dist/test/unit/bitgo/errors.d.ts.map +1 -0
  490. package/dist/test/unit/bitgo/errors.js +262 -0
  491. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  492. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  493. package/dist/test/unit/bitgo/recovery/initiate.js +159 -0
  494. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  495. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  496. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  497. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts +2 -0
  498. package/dist/test/unit/bitgo/trading/tradingAccount.d.ts.map +1 -0
  499. package/dist/test/unit/bitgo/trading/tradingAccount.js +192 -0
  500. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +24 -4
  501. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  502. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  503. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  504. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  505. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  506. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  507. package/dist/test/unit/bitgo/utils/postWithCodec.js +32 -38
  508. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts +2 -0
  509. package/dist/test/unit/bitgo/utils/tss/addressVerification.d.ts.map +1 -0
  510. package/dist/test/unit/bitgo/utils/tss/addressVerification.js +251 -0
  511. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts +2 -0
  512. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  513. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +399 -0
  514. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  515. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  516. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  517. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +2 -0
  518. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  519. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +999 -0
  520. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts +5 -0
  521. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.d.ts.map +1 -0
  522. package/dist/test/unit/bitgo/utils/tss/ecdsa/gpgKeys.js +36 -0
  523. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts +2 -0
  524. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.d.ts.map +1 -0
  525. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaExternalSigner.js +158 -0
  526. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +2 -0
  527. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -0
  528. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +1279 -0
  529. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts +2 -0
  530. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.d.ts.map +1 -0
  531. package/dist/test/unit/bitgo/utils/tss/eddsa/smcUtil.js +311 -0
  532. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
  533. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
  534. package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
  535. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts +2 -0
  536. package/dist/test/unit/bitgo/utils/tss/recipientUtils.d.ts.map +1 -0
  537. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +171 -0
  538. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  539. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  540. package/dist/test/unit/bitgo/utils/txRequest.js +179 -0
  541. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  542. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  543. package/dist/test/unit/bitgo/wallet/BuildParams.js +97 -0
  544. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +23 -9
  545. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts +2 -0
  546. package/dist/test/unit/bitgo/wallet/getAccountResources.d.ts.map +1 -0
  547. package/dist/test/unit/bitgo/wallet/getAccountResources.js +133 -0
  548. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts +2 -0
  549. package/dist/test/unit/bitgo/wallet/getResourceDelegations.d.ts.map +1 -0
  550. package/dist/test/unit/bitgo/wallet/getResourceDelegations.js +118 -0
  551. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
  552. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
  553. package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
  554. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts +2 -0
  555. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.d.ts.map +1 -0
  556. package/dist/test/unit/bitgo/wallet/ofcWalletSignTransaction.js +185 -0
  557. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts +3 -0
  558. package/dist/test/unit/bitgo/wallet/resourceManagement.d.ts.map +1 -0
  559. package/dist/test/unit/bitgo/wallet/resourceManagement.js +441 -0
  560. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts +2 -0
  561. package/dist/test/unit/bitgo/wallet/tokenApproval.d.ts.map +1 -0
  562. package/dist/test/unit/bitgo/wallet/tokenApproval.js +201 -0
  563. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  564. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  565. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  566. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts +2 -0
  567. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.d.ts.map +1 -0
  568. package/dist/test/unit/bitgo/wallet/walletOptionsCodecs.js +43 -0
  569. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts +2 -0
  570. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.d.ts.map +1 -0
  571. package/dist/test/unit/bitgo/wallet/walletTssAddressVerification.js +320 -0
  572. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  573. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  574. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +228 -0
  575. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  576. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  577. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  578. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
  579. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
  580. package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +670 -0
  581. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts +2 -0
  582. package/dist/test/unit/bitgo/wallet/walletsWebauthn.d.ts.map +1 -0
  583. package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +201 -0
  584. package/dist/test/unit/coins/ofc.d.ts +2 -0
  585. package/dist/test/unit/coins/ofc.d.ts.map +1 -0
  586. package/dist/test/unit/coins/ofc.js +124 -0
  587. package/dist/test/unit/lightning.d.ts +2 -0
  588. package/dist/test/unit/lightning.d.ts.map +1 -0
  589. package/dist/test/unit/lightning.js +23 -0
  590. package/dist/test/unit/units.d.ts.map +1 -1
  591. package/dist/test/unit/units.js +64 -64
  592. package/dist/tsconfig.tsbuildinfo +1 -1
  593. package/package.json +24 -21
  594. package/.eslintignore +0 -5
  595. package/CHANGELOG.md +0 -1568
  596. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -77
  597. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +0 -1
  598. package/dist/src/account-lib/baseCoin/blsKeyPair.js +0 -209
  599. package/dist/src/bitgo/lightning/iLightning.d.ts +0 -186
  600. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  601. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  602. package/dist/src/bitgo/lightning/index.d.ts +0 -5
  603. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  604. package/dist/src/bitgo/lightning/index.js +0 -17
  605. package/dist/src/bitgo/lightning/lightning.d.ts +0 -25
  606. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  607. package/dist/src/bitgo/lightning/lightning.js +0 -111
  608. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -46
  609. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  610. package/dist/src/bitgo/lightning/lightningUtils.js +0 -133
  611. package/dist/src/bitgo/lightning/lnurlCodec.d.ts +0 -3
  612. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  613. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  614. package/dist/src/bitgo/utils/blsUtils.d.ts +0 -52
  615. package/dist/src/bitgo/utils/blsUtils.d.ts.map +0 -1
  616. package/dist/src/bitgo/utils/blsUtils.js +0 -237
  617. package/dist/src/bitgo/utils/iBlsUtils.d.ts +0 -14
  618. package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +0 -1
  619. package/dist/src/bitgo/utils/iBlsUtils.js +0 -3
  620. package/dist/src/coins/fiateur.d.ts +0 -31
  621. package/dist/src/coins/fiateur.d.ts.map +0 -1
  622. package/dist/src/coins/fiateur.js +0 -57
  623. package/dist/src/coins/fiatgbp.d.ts +0 -31
  624. package/dist/src/coins/fiatgbp.d.ts.map +0 -1
  625. package/dist/src/coins/fiatgbp.js +0 -57
  626. package/dist/src/coins/fiatusd.d.ts +0 -31
  627. package/dist/src/coins/fiatusd.d.ts.map +0 -1
  628. package/dist/src/coins/fiatusd.js +0 -57
  629. package/dist/src/coins/tfiateur.d.ts +0 -11
  630. package/dist/src/coins/tfiateur.d.ts.map +0 -1
  631. package/dist/src/coins/tfiateur.js +0 -17
  632. package/dist/src/coins/tfiatgbp.d.ts +0 -11
  633. package/dist/src/coins/tfiatgbp.d.ts.map +0 -1
  634. package/dist/src/coins/tfiatgbp.js +0 -17
  635. package/dist/src/coins/tfiatusd.d.ts +0 -11
  636. package/dist/src/coins/tfiatusd.d.ts.map +0 -1
  637. package/dist/src/coins/tfiatusd.js +0 -17
  638. package/dist/src/openssl/index.d.ts +0 -5
  639. package/dist/src/openssl/index.d.ts.map +0 -1
  640. package/dist/src/openssl/index.js +0 -9
  641. package/dist/test/unit/openssl.d.ts +0 -2
  642. package/dist/test/unit/openssl.d.ts.map +0 -1
  643. package/dist/test/unit/openssl.js +0 -39
@@ -1,5 +1,5 @@
1
1
  import { EnvironmentName } from './environments';
2
- export declare type KrsProvider = {
2
+ export type KrsProvider = {
3
3
  feeType: 'flatUsd';
4
4
  feeAmount: number;
5
5
  supportedCoins: string[];
@@ -30,100 +30,8 @@ export declare const defaultConstants: (env: EnvironmentName) => {
30
30
  minOutputSize: number;
31
31
  minInstantFeeRate: number;
32
32
  bitgoEthAddress: string;
33
- } & ({
34
- eth: {
35
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
36
- };
37
- xlm: {
38
- tokens: import("@bitgo-beta/statics").BaseNetworkConfig[];
39
- };
40
- algo: {
41
- tokens: import("@bitgo-beta/statics").AlgoTokenConfig[];
42
- };
43
- ofc: {
44
- tokens: import("@bitgo-beta/statics").OfcTokenConfig[];
45
- };
46
- celo: {
47
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
48
- };
49
- eos: {
50
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
51
- };
52
- avaxc: {
53
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
54
- };
55
- polygon: {
56
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
57
- };
58
- bsc: {
59
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
60
- };
61
- arbeth: {
62
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
63
- };
64
- sol: {
65
- tokens: import("@bitgo-beta/statics").SolTokenConfig[];
66
- };
67
- hbar: {
68
- tokens: import("@bitgo-beta/statics").BaseNetworkConfig[];
69
- };
70
- ada: {
71
- tokens: import("@bitgo-beta/statics").AdaTokenConfig[];
72
- };
73
- trx: {
74
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
75
- };
76
- xrp: {
77
- tokens: import("@bitgo-beta/statics").XrpTokenConfig[];
78
- };
79
- } | {
80
- eth: {
81
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
82
- };
83
- xlm: {
84
- tokens: import("@bitgo-beta/statics").BaseNetworkConfig[];
85
- };
86
- algo: {
87
- tokens: import("@bitgo-beta/statics").AlgoTokenConfig[];
88
- };
89
- ofc: {
90
- tokens: import("@bitgo-beta/statics").OfcTokenConfig[];
91
- };
92
- celo: {
93
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
94
- };
95
- bsc: {
96
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
97
- };
98
- eos: {
99
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
100
- };
101
- avaxc: {
102
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
103
- };
104
- polygon: {
105
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
106
- };
107
- arbeth: {
108
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
109
- };
110
- sol: {
111
- tokens: import("@bitgo-beta/statics").SolTokenConfig[];
112
- };
113
- hbar: {
114
- tokens: import("@bitgo-beta/statics").BaseNetworkConfig[];
115
- };
116
- ada: {
117
- tokens: import("@bitgo-beta/statics").AdaTokenConfig[];
118
- };
119
- trx: {
120
- tokens: import("@bitgo-beta/statics").BaseContractAddressConfig[];
121
- };
122
- xrp: {
123
- tokens: import("@bitgo-beta/statics").XrpTokenConfig[];
124
- };
125
- });
126
- export declare type Config = {
33
+ } & import("@bitgo-beta/statics").TokenNetwork;
34
+ export type Config = {
127
35
  krsProviders: Record<string, KrsProvider>;
128
36
  };
129
37
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/bitgo/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAC;AAE/D,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmBpD,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAS,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOpD,CAAC;AAEF,oBAAY,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC3C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/bitgo/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAgBpD,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAS,eAAe;;;;;;;;8CAOpD,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC3C,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
36
  exports.defaultConstants = exports.defaults = exports.krsProviders = void 0;
23
37
  const _ = __importStar(require("lodash"));
@@ -27,20 +41,17 @@ const environments_1 = require("./environments");
27
41
  exports.krsProviders = {
28
42
  keyternal: {
29
43
  feeType: 'flatUsd',
30
- feeAmount: 99,
44
+ feeAmount: 0,
31
45
  supportedCoins: ['btc', 'eth'],
32
- feeAddresses: {
33
- btc: '', // TODO [BG-6965] Get address from Keyternal - recovery will fail for now until Keyternal is ready
34
- },
35
46
  },
36
47
  bitgoKRSv2: {
37
48
  feeType: 'flatUsd',
38
- feeAmount: 0,
49
+ feeAmount: 0, // we will receive payments off-chain
39
50
  supportedCoins: ['btc', 'eth'],
40
51
  },
41
52
  dai: {
42
53
  feeType: 'flatUsd',
43
- feeAmount: 0,
54
+ feeAmount: 0, // dai will receive payments off-chain
44
55
  supportedCoins: ['btc', 'eth', 'xlm', 'xrp', 'dash', 'zec', 'ltc', 'bch', 'bsv', 'bcha'],
45
56
  },
46
57
  };
@@ -69,4 +80,4 @@ const defaultConstants = (env) => {
69
80
  return _.merge({}, exports.defaults, statics_1.tokens[network]);
70
81
  };
71
82
  exports.defaultConstants = defaultConstants;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQTRCO0FBQzVCLGlEQUE2QztBQUM3QyxpREFBK0Q7QUFTL0QseUNBQXlDO0FBQzVCLFFBQUEsWUFBWSxHQUFnQztJQUN2RCxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsU0FBUztRQUNsQixTQUFTLEVBQUUsRUFBRTtRQUNiLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDOUIsWUFBWSxFQUFFO1lBQ1osR0FBRyxFQUFFLEVBQUUsRUFBRSxrR0FBa0c7U0FDNUc7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFNBQVMsRUFBRSxDQUFDO1FBQ1osY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztLQUMvQjtJQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFNBQVMsRUFBRSxDQUFDO1FBQ1osY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0tBQ3pGO0NBQ0YsQ0FBQztBQUVXLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFQUFFLE9BQU87SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixlQUFlLEVBQUUsNENBQTRDO0NBQzlELENBQUM7QUFFRixtRkFBbUY7QUFDbkY7Ozs7OztHQU1HO0FBQ0ksTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRTtJQUN2RCxJQUFJLDJCQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO1FBQ25DLE1BQU0sS0FBSyxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQzNDO0lBRUQsTUFBTSxPQUFPLEdBQUcsMkJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxnQkFBUSxFQUFFLGdCQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFQVyxRQUFBLGdCQUFnQixvQkFPM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSwgRW52aXJvbm1lbnRzIH0gZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuXG5leHBvcnQgdHlwZSBLcnNQcm92aWRlciA9IHtcbiAgZmVlVHlwZTogJ2ZsYXRVc2QnO1xuICBmZWVBbW91bnQ6IG51bWJlcjtcbiAgc3VwcG9ydGVkQ29pbnM6IHN0cmluZ1tdO1xuICBmZWVBZGRyZXNzZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuLy8gS1JTIHByb3ZpZGVycyBhbmQgdGhlaXIgZmVlIHN0cnVjdHVyZXNcbmV4cG9ydCBjb25zdCBrcnNQcm92aWRlcnM6IFJlY29yZDxzdHJpbmcsIEtyc1Byb3ZpZGVyPiA9IHtcbiAga2V5dGVybmFsOiB7XG4gICAgZmVlVHlwZTogJ2ZsYXRVc2QnLFxuICAgIGZlZUFtb3VudDogOTksXG4gICAgc3VwcG9ydGVkQ29pbnM6IFsnYnRjJywgJ2V0aCddLFxuICAgIGZlZUFkZHJlc3Nlczoge1xuICAgICAgYnRjOiAnJywgLy8gVE9ETyBbQkctNjk2NV0gR2V0IGFkZHJlc3MgZnJvbSBLZXl0ZXJuYWwgLSByZWNvdmVyeSB3aWxsIGZhaWwgZm9yIG5vdyB1bnRpbCBLZXl0ZXJuYWwgaXMgcmVhZHlcbiAgICB9LFxuICB9LFxuICBiaXRnb0tSU3YyOiB7XG4gICAgZmVlVHlwZTogJ2ZsYXRVc2QnLFxuICAgIGZlZUFtb3VudDogMCwgLy8gd2Ugd2lsbCByZWNlaXZlIHBheW1lbnRzIG9mZi1jaGFpblxuICAgIHN1cHBvcnRlZENvaW5zOiBbJ2J0YycsICdldGgnXSxcbiAgfSxcbiAgZGFpOiB7XG4gICAgZmVlVHlwZTogJ2ZsYXRVc2QnLFxuICAgIGZlZUFtb3VudDogMCwgLy8gZGFpIHdpbGwgcmVjZWl2ZSBwYXltZW50cyBvZmYtY2hhaW5cbiAgICBzdXBwb3J0ZWRDb2luczogWydidGMnLCAnZXRoJywgJ3hsbScsICd4cnAnLCAnZGFzaCcsICd6ZWMnLCAnbHRjJywgJ2JjaCcsICdic3YnLCAnYmNoYSddLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0ge1xuICBtYXhGZWU6IDAuMWU4LFxuICBtYXhGZWVSYXRlOiAxMDAwMDAwLFxuICBtaW5GZWVSYXRlOiA1MDAwLFxuICBmYWxsYmFja0ZlZVJhdGU6IDUwMDAwLFxuICBtaW5PdXRwdXRTaXplOiAyNzMwLFxuICBtaW5JbnN0YW50RmVlUmF0ZTogMTAwMDAsXG4gIGJpdGdvRXRoQWRkcmVzczogJzB4MGY0N2VhODAzOTI2OTI2ZjI5OWI3ZjFhZmM4NDYwODg4ZDg1MGY0NycsXG59O1xuXG4vLyBUT0RPOiBvbmNlIHNlcnZlciBzdGFydHMgcmV0dXJuaW5nIGV0aCBhZGRyZXNzIGtleWNoYWlucywgcmVtb3ZlIGJpdGdvRXRoQWRkcmVzc1xuLyoqXG4gKiBHZXQgdGhlIGRlZmF1bHQgKGhhcmRjb2RlZCkgY29uc3RhbnRzIGZvciBhIHBhcnRpY3VsYXIgbmV0d29yay5cbiAqXG4gKiBOb3RlIHRoYXQgdGhpcyBtYXkgbm90IGJlIHRoZSBjb21wbGV0ZSBzZXQgb2YgY29uc3RhbnRzLCBhbmQgYWRkaXRpb25hbCBjb25zdGFudHMgbWF5IGdldCBmZXRjaGVkXG4gKiBmcm9tIEJpdEdvIGR1cmluZyB0aGUgbGlmZXNwYW4gb2YgYSBCaXRHbyBvYmplY3QuXG4gKiBAcGFyYW0gZW52XG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uc3RhbnRzID0gKGVudjogRW52aXJvbm1lbnROYW1lKSA9PiB7XG4gIGlmIChFbnZpcm9ubWVudHNbZW52XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgRXJyb3IoYGludmFsaWQgZW52aXJvbm1lbnQgJHtlbnZ9YCk7XG4gIH1cblxuICBjb25zdCBuZXR3b3JrID0gRW52aXJvbm1lbnRzW2Vudl0ubmV0d29yaztcbiAgcmV0dXJuIF8ubWVyZ2Uoe30sIGRlZmF1bHRzLCB0b2tlbnNbbmV0d29ya10pO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlnID0ge1xuICBrcnNQcm92aWRlcnM6IFJlY29yZDxzdHJpbmcsIEtyc1Byb3ZpZGVyPjtcbn07XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIsaURBQTZDO0FBQzdDLGlEQUErRDtBQVMvRCx5Q0FBeUM7QUFDNUIsUUFBQSxZQUFZLEdBQWdDO0lBQ3ZELFNBQVMsRUFBRTtRQUNULE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFNBQVMsRUFBRSxDQUFDO1FBQ1osY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztLQUMvQjtJQUNELFVBQVUsRUFBRTtRQUNWLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFNBQVMsRUFBRSxDQUFDLEVBQUUscUNBQXFDO1FBQ25ELGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7S0FDL0I7SUFDRCxHQUFHLEVBQUU7UUFDSCxPQUFPLEVBQUUsU0FBUztRQUNsQixTQUFTLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUNwRCxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7S0FDekY7Q0FDRixDQUFDO0FBRVcsUUFBQSxRQUFRLEdBQUc7SUFDdEIsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEVBQUUsT0FBTztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixlQUFlLEVBQUUsS0FBSztJQUN0QixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLGVBQWUsRUFBRSw0Q0FBNEM7Q0FDOUQsQ0FBQztBQUVGLG1GQUFtRjtBQUNuRjs7Ozs7O0dBTUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBb0IsRUFBRSxFQUFFO0lBQ3ZELElBQUksMkJBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsMkJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxnQkFBUSxFQUFFLGdCQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFQVyxRQUFBLGdCQUFnQixvQkFPM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSwgRW52aXJvbm1lbnRzIH0gZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuXG5leHBvcnQgdHlwZSBLcnNQcm92aWRlciA9IHtcbiAgZmVlVHlwZTogJ2ZsYXRVc2QnO1xuICBmZWVBbW91bnQ6IG51bWJlcjtcbiAgc3VwcG9ydGVkQ29pbnM6IHN0cmluZ1tdO1xuICBmZWVBZGRyZXNzZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxuLy8gS1JTIHByb3ZpZGVycyBhbmQgdGhlaXIgZmVlIHN0cnVjdHVyZXNcbmV4cG9ydCBjb25zdCBrcnNQcm92aWRlcnM6IFJlY29yZDxzdHJpbmcsIEtyc1Byb3ZpZGVyPiA9IHtcbiAga2V5dGVybmFsOiB7XG4gICAgZmVlVHlwZTogJ2ZsYXRVc2QnLFxuICAgIGZlZUFtb3VudDogMCxcbiAgICBzdXBwb3J0ZWRDb2luczogWydidGMnLCAnZXRoJ10sXG4gIH0sXG4gIGJpdGdvS1JTdjI6IHtcbiAgICBmZWVUeXBlOiAnZmxhdFVzZCcsXG4gICAgZmVlQW1vdW50OiAwLCAvLyB3ZSB3aWxsIHJlY2VpdmUgcGF5bWVudHMgb2ZmLWNoYWluXG4gICAgc3VwcG9ydGVkQ29pbnM6IFsnYnRjJywgJ2V0aCddLFxuICB9LFxuICBkYWk6IHtcbiAgICBmZWVUeXBlOiAnZmxhdFVzZCcsXG4gICAgZmVlQW1vdW50OiAwLCAvLyBkYWkgd2lsbCByZWNlaXZlIHBheW1lbnRzIG9mZi1jaGFpblxuICAgIHN1cHBvcnRlZENvaW5zOiBbJ2J0YycsICdldGgnLCAneGxtJywgJ3hycCcsICdkYXNoJywgJ3plYycsICdsdGMnLCAnYmNoJywgJ2JzdicsICdiY2hhJ10sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdHMgPSB7XG4gIG1heEZlZTogMC4xZTgsXG4gIG1heEZlZVJhdGU6IDEwMDAwMDAsXG4gIG1pbkZlZVJhdGU6IDUwMDAsXG4gIGZhbGxiYWNrRmVlUmF0ZTogNTAwMDAsXG4gIG1pbk91dHB1dFNpemU6IDI3MzAsXG4gIG1pbkluc3RhbnRGZWVSYXRlOiAxMDAwMCxcbiAgYml0Z29FdGhBZGRyZXNzOiAnMHgwZjQ3ZWE4MDM5MjY5MjZmMjk5YjdmMWFmYzg0NjA4ODhkODUwZjQ3Jyxcbn07XG5cbi8vIFRPRE86IG9uY2Ugc2VydmVyIHN0YXJ0cyByZXR1cm5pbmcgZXRoIGFkZHJlc3Mga2V5Y2hhaW5zLCByZW1vdmUgYml0Z29FdGhBZGRyZXNzXG4vKipcbiAqIEdldCB0aGUgZGVmYXVsdCAoaGFyZGNvZGVkKSBjb25zdGFudHMgZm9yIGEgcGFydGljdWxhciBuZXR3b3JrLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIG1heSBub3QgYmUgdGhlIGNvbXBsZXRlIHNldCBvZiBjb25zdGFudHMsIGFuZCBhZGRpdGlvbmFsIGNvbnN0YW50cyBtYXkgZ2V0IGZldGNoZWRcbiAqIGZyb20gQml0R28gZHVyaW5nIHRoZSBsaWZlc3BhbiBvZiBhIEJpdEdvIG9iamVjdC5cbiAqIEBwYXJhbSBlbnZcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25zdGFudHMgPSAoZW52OiBFbnZpcm9ubWVudE5hbWUpID0+IHtcbiAgaWYgKEVudmlyb25tZW50c1tlbnZdID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBFcnJvcihgaW52YWxpZCBlbnZpcm9ubWVudCAke2Vudn1gKTtcbiAgfVxuXG4gIGNvbnN0IG5ldHdvcmsgPSBFbnZpcm9ubWVudHNbZW52XS5uZXR3b3JrO1xuICByZXR1cm4gXy5tZXJnZSh7fSwgZGVmYXVsdHMsIHRva2Vuc1tuZXR3b3JrXSk7XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWcgPSB7XG4gIGtyc1Byb3ZpZGVyczogUmVjb3JkPHN0cmluZywgS3JzUHJvdmlkZXI+O1xufTtcbiJdfQ==
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { DefiOperation, DefiOperationListResult, DepositResult, DepositToVaultOptions, GetOperationOptions, IDefiVault, ListOperationsOptions, ResumeDepositOptions } from './iDefiVault';
5
+ import { IWallet } from '../wallet';
6
+ /**
7
+ * Error thrown when a concurrent active deposit already exists for the (wallet, vault) pair.
8
+ */
9
+ export declare class ActiveOperationExistsError extends Error {
10
+ readonly operationId: string;
11
+ constructor(operationId: string);
12
+ }
13
+ /**
14
+ * Orchestrates ERC-4626 vault deposit and withdraw flows for a wallet.
15
+ *
16
+ * Exposed as `wallet.defi` on the Wallet class. See TDD §6.3.1 for the full
17
+ * design: the SDK sequences two sendMany calls (approve + deposit) and
18
+ * returns an operationId that the UI uses for status tracking and recovery.
19
+ *
20
+ * Uses wallet.sendMany() under the hood so that both custody wallets
21
+ * (txRequest creation only) and hot wallets (create + sign + broadcast)
22
+ * are handled by the existing infrastructure.
23
+ */
24
+ export declare class DefiVault implements IDefiVault {
25
+ private readonly wallet;
26
+ private readonly bitgo;
27
+ constructor(wallet: IWallet);
28
+ /**
29
+ * Deposit an amount of underlying asset into a vault.
30
+ *
31
+ * Internally issues two sendMany calls (approve + deposit) and returns the
32
+ * operationId that links them. If the deposit sendMany fails after
33
+ * the approve succeeds, the error propagates — the server-side reconciler
34
+ * handles orphaned approvals.
35
+ *
36
+ * @param params.vaultId - DeFi-service vault identifier
37
+ * @param params.amount - amount in base units of the underlying asset
38
+ * @param params.clientIdempotencyKey - optional client idempotency key
39
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
40
+ */
41
+ depositToVault(params: DepositToVaultOptions): Promise<DepositResult>;
42
+ /**
43
+ * Resume a partially-completed deposit. Call this when the SDK process died
44
+ * between the approve and deposit txRequest creation.
45
+ *
46
+ * @param params.operationId - the operationId from the original depositToVault call
47
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
48
+ */
49
+ resumeDeposit(params: ResumeDepositOptions): Promise<DepositResult>;
50
+ /**
51
+ * Get the current state of a DeFi operation.
52
+ *
53
+ * @param params.operationId - the operation to retrieve
54
+ */
55
+ getOperation(params: GetOperationOptions): Promise<DefiOperation>;
56
+ /**
57
+ * List operations for a vault filtered by walletId.
58
+ *
59
+ * @param params.vaultId - vault to list operations for
60
+ * @param params.state - optional state filter
61
+ * @param params.type - optional type filter (DEPOSIT | WITHDRAW)
62
+ * @param params.limit - page size
63
+ * @param params.cursor - pagination cursor
64
+ */
65
+ listOperations(params: ListOperationsOptions): Promise<DefiOperationListResult>;
66
+ /**
67
+ * Extract txRequestId from a sendMany result.
68
+ * sendMany returns different shapes depending on wallet type:
69
+ * - TSS full: { txRequest: { txRequestId } } or { pendingApproval, txRequest }
70
+ * - TSS lite: result from tssUtils.sendTxRequest
71
+ */
72
+ private extractTxRequestId;
73
+ /**
74
+ * Extract operationId from a sendMany result.
75
+ *
76
+ * The WP writes the defi-service-minted operationId into the built
77
+ * transaction's `coinSpecific` (alongside `assignedNonce`), not into the
78
+ * intent. Read it from there: the `full` apiVersion surfaces it at
79
+ * `transactions[0].unsignedTx.coinSpecific.operationId`, the `lite` version
80
+ * at `unsignedTxs[0].coinSpecific.operationId`. Fall back to
81
+ * `intent.operationId` for forward-compat in case the WP later also
82
+ * populates the intent.
83
+ */
84
+ private extractOperationId;
85
+ private operationsUrl;
86
+ }
87
+ //# sourceMappingURL=defiVault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/defiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,MAAM;CAKhC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEtB,MAAM,EAAE,OAAO;IAK3B;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2D3E;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCzE;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvE;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkBrF;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,aAAa;CAGtB"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefiVault = exports.ActiveOperationExistsError = void 0;
4
+ /**
5
+ * Error thrown when a concurrent active deposit already exists for the (wallet, vault) pair.
6
+ */
7
+ class ActiveOperationExistsError extends Error {
8
+ constructor(operationId) {
9
+ super(`An active deposit operation already exists: ${operationId}`);
10
+ this.name = 'ActiveOperationExistsError';
11
+ this.operationId = operationId;
12
+ }
13
+ }
14
+ exports.ActiveOperationExistsError = ActiveOperationExistsError;
15
+ /**
16
+ * Orchestrates ERC-4626 vault deposit and withdraw flows for a wallet.
17
+ *
18
+ * Exposed as `wallet.defi` on the Wallet class. See TDD §6.3.1 for the full
19
+ * design: the SDK sequences two sendMany calls (approve + deposit) and
20
+ * returns an operationId that the UI uses for status tracking and recovery.
21
+ *
22
+ * Uses wallet.sendMany() under the hood so that both custody wallets
23
+ * (txRequest creation only) and hot wallets (create + sign + broadcast)
24
+ * are handled by the existing infrastructure.
25
+ */
26
+ class DefiVault {
27
+ constructor(wallet) {
28
+ this.wallet = wallet;
29
+ this.bitgo = wallet.bitgo;
30
+ }
31
+ /**
32
+ * Deposit an amount of underlying asset into a vault.
33
+ *
34
+ * Internally issues two sendMany calls (approve + deposit) and returns the
35
+ * operationId that links them. If the deposit sendMany fails after
36
+ * the approve succeeds, the error propagates — the server-side reconciler
37
+ * handles orphaned approvals.
38
+ *
39
+ * @param params.vaultId - DeFi-service vault identifier
40
+ * @param params.amount - amount in base units of the underlying asset
41
+ * @param params.clientIdempotencyKey - optional client idempotency key
42
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
43
+ */
44
+ async depositToVault(params) {
45
+ if (!params.vaultId) {
46
+ throw new Error('vaultId is required');
47
+ }
48
+ if (!params.amount) {
49
+ throw new Error('amount is required');
50
+ }
51
+ // TODO(CGD-1709): Re-enable active operation pre-flight check once the
52
+ // defi-service operations endpoint is deployed and returning active state.
53
+ // const activeOps: DefiOperationListResult = await this.bitgo
54
+ // .get(this.bitgo.microservicesUrl(this.operationsUrl()))
55
+ // .query({ vaultId: params.vaultId, state: 'active' })
56
+ // .result();
57
+ //
58
+ // if (activeOps.items && activeOps.items.length > 0) {
59
+ // throw new ActiveOperationExistsError(activeOps.items[0].operationId);
60
+ // }
61
+ // Step 1: Approve txRequest via sendMany
62
+ const approveResult = await this.wallet.sendMany({
63
+ type: 'defiApprove',
64
+ defiParams: {
65
+ vaultId: params.vaultId,
66
+ amount: params.amount,
67
+ ...(params.clientIdempotencyKey ? { clientIdempotencyKey: params.clientIdempotencyKey } : {}),
68
+ },
69
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
70
+ });
71
+ const approveTxRequestId = this.extractTxRequestId(approveResult);
72
+ const operationId = this.extractOperationId(approveResult);
73
+ if (!operationId) {
74
+ throw new Error('operationId not found in approve txRequest response');
75
+ }
76
+ // Step 2: Deposit txRequest via sendMany
77
+ const depositResult = await this.wallet.sendMany({
78
+ type: 'defiDeposit',
79
+ defiParams: {
80
+ vaultId: params.vaultId,
81
+ amount: params.amount,
82
+ operationId,
83
+ ...(params.clientIdempotencyKey ? { clientIdempotencyKey: params.clientIdempotencyKey } : {}),
84
+ },
85
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
86
+ });
87
+ const depositTxRequestId = this.extractTxRequestId(depositResult);
88
+ return {
89
+ operationId,
90
+ txRequestIds: {
91
+ approve: approveTxRequestId,
92
+ deposit: depositTxRequestId,
93
+ },
94
+ };
95
+ }
96
+ /**
97
+ * Resume a partially-completed deposit. Call this when the SDK process died
98
+ * between the approve and deposit txRequest creation.
99
+ *
100
+ * @param params.operationId - the operationId from the original depositToVault call
101
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
102
+ */
103
+ async resumeDeposit(params) {
104
+ if (!params.operationId) {
105
+ throw new Error('operationId is required');
106
+ }
107
+ // Fetch the operation to get the vault and amount details
108
+ const operation = await this.getOperation({ operationId: params.operationId });
109
+ if (operation.associatedTxRequestId) {
110
+ throw new Error('Deposit txRequest already exists for this operation; nothing to resume');
111
+ }
112
+ if (!operation.txRequestId) {
113
+ throw new Error('Approve txRequest not found for this operation; cannot resume');
114
+ }
115
+ // Issue the deposit txRequest using the existing operation's details
116
+ const depositResult = await this.wallet.sendMany({
117
+ type: 'defiDeposit',
118
+ defiParams: {
119
+ vaultId: operation.vaultId,
120
+ amount: operation.assetAmount,
121
+ operationId: params.operationId,
122
+ },
123
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
124
+ });
125
+ return {
126
+ operationId: params.operationId,
127
+ txRequestIds: {
128
+ approve: operation.txRequestId,
129
+ deposit: this.extractTxRequestId(depositResult),
130
+ },
131
+ };
132
+ }
133
+ /**
134
+ * Get the current state of a DeFi operation.
135
+ *
136
+ * @param params.operationId - the operation to retrieve
137
+ */
138
+ async getOperation(params) {
139
+ if (!params.operationId) {
140
+ throw new Error('operationId is required');
141
+ }
142
+ return await this.bitgo.get(this.bitgo.microservicesUrl(this.operationsUrl() + '/' + params.operationId)).result();
143
+ }
144
+ /**
145
+ * List operations for a vault filtered by walletId.
146
+ *
147
+ * @param params.vaultId - vault to list operations for
148
+ * @param params.state - optional state filter
149
+ * @param params.type - optional type filter (DEPOSIT | WITHDRAW)
150
+ * @param params.limit - page size
151
+ * @param params.cursor - pagination cursor
152
+ */
153
+ async listOperations(params) {
154
+ if (!params.vaultId) {
155
+ throw new Error('vaultId is required');
156
+ }
157
+ const query = {
158
+ vaultId: params.vaultId,
159
+ };
160
+ if (params.state)
161
+ query.state = params.state;
162
+ if (params.type)
163
+ query.type = params.type;
164
+ if (params.limit)
165
+ query.limit = params.limit;
166
+ if (params.cursor)
167
+ query.cursor = params.cursor;
168
+ return await this.bitgo.get(this.bitgo.microservicesUrl(this.operationsUrl())).query(query).result();
169
+ }
170
+ // ── Internal helpers ────────────────────────────────────────────────
171
+ /**
172
+ * Extract txRequestId from a sendMany result.
173
+ * sendMany returns different shapes depending on wallet type:
174
+ * - TSS full: { txRequest: { txRequestId } } or { pendingApproval, txRequest }
175
+ * - TSS lite: result from tssUtils.sendTxRequest
176
+ */
177
+ extractTxRequestId(sendManyResult) {
178
+ const txRequest = sendManyResult.txRequest;
179
+ if (txRequest?.txRequestId) {
180
+ return txRequest.txRequestId;
181
+ }
182
+ if (sendManyResult.txRequestId) {
183
+ return sendManyResult.txRequestId;
184
+ }
185
+ throw new Error('txRequestId not found in sendMany response');
186
+ }
187
+ /**
188
+ * Extract operationId from a sendMany result.
189
+ *
190
+ * The WP writes the defi-service-minted operationId into the built
191
+ * transaction's `coinSpecific` (alongside `assignedNonce`), not into the
192
+ * intent. Read it from there: the `full` apiVersion surfaces it at
193
+ * `transactions[0].unsignedTx.coinSpecific.operationId`, the `lite` version
194
+ * at `unsignedTxs[0].coinSpecific.operationId`. Fall back to
195
+ * `intent.operationId` for forward-compat in case the WP later also
196
+ * populates the intent.
197
+ */
198
+ extractOperationId(sendManyResult) {
199
+ const txRequest = sendManyResult.txRequest;
200
+ if (!txRequest) {
201
+ return undefined;
202
+ }
203
+ // full apiVersion: transactions[0].unsignedTx.coinSpecific.operationId
204
+ const transactions = txRequest.transactions;
205
+ const fullUnsignedTx = transactions?.[0]?.unsignedTx;
206
+ const fullCoinSpecific = fullUnsignedTx?.coinSpecific;
207
+ if (fullCoinSpecific?.operationId) {
208
+ return fullCoinSpecific.operationId;
209
+ }
210
+ // lite apiVersion: unsignedTxs[0].coinSpecific.operationId
211
+ const unsignedTxs = txRequest.unsignedTxs;
212
+ const liteCoinSpecific = unsignedTxs?.[0]?.coinSpecific;
213
+ if (liteCoinSpecific?.operationId) {
214
+ return liteCoinSpecific.operationId;
215
+ }
216
+ // forward-compat: intent.operationId (in case the WP later populates the intent)
217
+ const intent = txRequest.intent;
218
+ return intent?.operationId;
219
+ }
220
+ operationsUrl() {
221
+ return `/api/defi-service/v1/wallets/${this.wallet.id()}/operations`;
222
+ }
223
+ }
224
+ exports.DefiVault = DefiVault;
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaVZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2RlZmkvZGVmaVZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQTs7R0FFRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsS0FBSztJQUduRCxZQUFZLFdBQW1CO1FBQzdCLEtBQUssQ0FBQywrQ0FBK0MsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQVJELGdFQVFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsU0FBUztJQUlwQixZQUFZLE1BQWU7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQTZCO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsdUVBQXVFO1FBQ3ZFLDJFQUEyRTtRQUMzRSw4REFBOEQ7UUFDOUQsNERBQTREO1FBQzVELHlEQUF5RDtRQUN6RCxlQUFlO1FBQ2YsRUFBRTtRQUNGLHVEQUF1RDtRQUN2RCwwRUFBMEU7UUFDMUUsSUFBSTtRQUVKLHlDQUF5QztRQUN6QyxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQy9DLElBQUksRUFBRSxhQUFhO1lBQ25CLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzlGO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2xGLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFFRCx5Q0FBeUM7UUFDekMsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07Z0JBQ3JCLFdBQVc7Z0JBQ1gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzlGO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2xGLENBQUMsQ0FBQztRQUNILE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxFLE9BQU87WUFDTCxXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBNEI7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELDBEQUEwRDtRQUMxRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFL0UsSUFBSSxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHdFQUF3RSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxxRUFBcUU7UUFDckUsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO2dCQUMxQixNQUFNLEVBQUUsU0FBUyxDQUFDLFdBQVc7Z0JBQzdCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVzthQUNoQztZQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNsRixDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsU0FBUyxDQUFDLFdBQVc7Z0JBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDO2FBQ2hEO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUEyQjtRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNySCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQTZCO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBb0M7WUFDN0MsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUM7UUFDRixJQUFJLE1BQU0sQ0FBQyxLQUFLO1lBQUUsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzdDLElBQUksTUFBTSxDQUFDLElBQUk7WUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDMUMsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUM3QyxJQUFJLE1BQU0sQ0FBQyxNQUFNO1lBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRWhELE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZHLENBQUM7SUFFRCx1RUFBdUU7SUFFdkU7Ozs7O09BS0c7SUFDSyxrQkFBa0IsQ0FBQyxjQUF1QztRQUNoRSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBZ0QsQ0FBQztRQUNsRixJQUFJLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMzQixPQUFPLFNBQVMsQ0FBQyxXQUFxQixDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMvQixPQUFPLGNBQWMsQ0FBQyxXQUFxQixDQUFDO1FBQzlDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSyxrQkFBa0IsQ0FBQyxjQUF1QztRQUNoRSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBZ0QsQ0FBQztRQUNsRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsdUVBQXVFO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUEwRCxDQUFDO1FBQzFGLE1BQU0sY0FBYyxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQWlELENBQUM7UUFDNUYsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLEVBQUUsWUFBbUQsQ0FBQztRQUM3RixJQUFJLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsV0FBcUIsQ0FBQztRQUNoRCxDQUFDO1FBRUQsMkRBQTJEO1FBQzNELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUF5RCxDQUFDO1FBQ3hGLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBbUQsQ0FBQztRQUMvRixJQUFJLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsV0FBcUIsQ0FBQztRQUNoRCxDQUFDO1FBRUQsaUZBQWlGO1FBQ2pGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUE2QyxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxFQUFFLFdBQWlDLENBQUM7SUFDbkQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxnQ0FBZ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDO0lBQ3ZFLENBQUM7Q0FDRjtBQTdORCw4QkE2TkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQge1xuICBEZWZpT3BlcmF0aW9uLFxuICBEZWZpT3BlcmF0aW9uTGlzdFJlc3VsdCxcbiAgRGVwb3NpdFJlc3VsdCxcbiAgRGVwb3NpdFRvVmF1bHRPcHRpb25zLFxuICBHZXRPcGVyYXRpb25PcHRpb25zLFxuICBJRGVmaVZhdWx0LFxuICBMaXN0T3BlcmF0aW9uc09wdGlvbnMsXG4gIFJlc3VtZURlcG9zaXRPcHRpb25zLFxufSBmcm9tICcuL2lEZWZpVmF1bHQnO1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuXG4vKipcbiAqIEVycm9yIHRocm93biB3aGVuIGEgY29uY3VycmVudCBhY3RpdmUgZGVwb3NpdCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhlICh3YWxsZXQsIHZhdWx0KSBwYWlyLlxuICovXG5leHBvcnQgY2xhc3MgQWN0aXZlT3BlcmF0aW9uRXhpc3RzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBvcGVyYXRpb25JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wZXJhdGlvbklkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgQW4gYWN0aXZlIGRlcG9zaXQgb3BlcmF0aW9uIGFscmVhZHkgZXhpc3RzOiAke29wZXJhdGlvbklkfWApO1xuICAgIHRoaXMubmFtZSA9ICdBY3RpdmVPcGVyYXRpb25FeGlzdHNFcnJvcic7XG4gICAgdGhpcy5vcGVyYXRpb25JZCA9IG9wZXJhdGlvbklkO1xuICB9XG59XG5cbi8qKlxuICogT3JjaGVzdHJhdGVzIEVSQy00NjI2IHZhdWx0IGRlcG9zaXQgYW5kIHdpdGhkcmF3IGZsb3dzIGZvciBhIHdhbGxldC5cbiAqXG4gKiBFeHBvc2VkIGFzIGB3YWxsZXQuZGVmaWAgb24gdGhlIFdhbGxldCBjbGFzcy4gU2VlIFRERCDCpzYuMy4xIGZvciB0aGUgZnVsbFxuICogZGVzaWduOiB0aGUgU0RLIHNlcXVlbmNlcyB0d28gc2VuZE1hbnkgY2FsbHMgKGFwcHJvdmUgKyBkZXBvc2l0KSBhbmRcbiAqIHJldHVybnMgYW4gb3BlcmF0aW9uSWQgdGhhdCB0aGUgVUkgdXNlcyBmb3Igc3RhdHVzIHRyYWNraW5nIGFuZCByZWNvdmVyeS5cbiAqXG4gKiBVc2VzIHdhbGxldC5zZW5kTWFueSgpIHVuZGVyIHRoZSBob29kIHNvIHRoYXQgYm90aCBjdXN0b2R5IHdhbGxldHNcbiAqICh0eFJlcXVlc3QgY3JlYXRpb24gb25seSkgYW5kIGhvdCB3YWxsZXRzIChjcmVhdGUgKyBzaWduICsgYnJvYWRjYXN0KVxuICogYXJlIGhhbmRsZWQgYnkgdGhlIGV4aXN0aW5nIGluZnJhc3RydWN0dXJlLlxuICovXG5leHBvcnQgY2xhc3MgRGVmaVZhdWx0IGltcGxlbWVudHMgSURlZmlWYXVsdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG5cbiAgY29uc3RydWN0b3Iod2FsbGV0OiBJV2FsbGV0KSB7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5iaXRnbyA9IHdhbGxldC5iaXRnbztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBvc2l0IGFuIGFtb3VudCBvZiB1bmRlcmx5aW5nIGFzc2V0IGludG8gYSB2YXVsdC5cbiAgICpcbiAgICogSW50ZXJuYWxseSBpc3N1ZXMgdHdvIHNlbmRNYW55IGNhbGxzIChhcHByb3ZlICsgZGVwb3NpdCkgYW5kIHJldHVybnMgdGhlXG4gICAqIG9wZXJhdGlvbklkIHRoYXQgbGlua3MgdGhlbS4gSWYgdGhlIGRlcG9zaXQgc2VuZE1hbnkgZmFpbHMgYWZ0ZXJcbiAgICogdGhlIGFwcHJvdmUgc3VjY2VlZHMsIHRoZSBlcnJvciBwcm9wYWdhdGVzIOKAlCB0aGUgc2VydmVyLXNpZGUgcmVjb25jaWxlclxuICAgKiBoYW5kbGVzIG9ycGhhbmVkIGFwcHJvdmFscy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnQgLSBhbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdW5kZXJseWluZyBhc3NldFxuICAgKiBAcGFyYW0gcGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5IC0gb3B0aW9uYWwgY2xpZW50IGlkZW1wb3RlbmN5IGtleVxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHlcbiAgICovXG4gIGFzeW5jIGRlcG9zaXRUb1ZhdWx0KHBhcmFtczogRGVwb3NpdFRvVmF1bHRPcHRpb25zKTogUHJvbWlzZTxEZXBvc2l0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghcGFyYW1zLmFtb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKENHRC0xNzA5KTogUmUtZW5hYmxlIGFjdGl2ZSBvcGVyYXRpb24gcHJlLWZsaWdodCBjaGVjayBvbmNlIHRoZVxuICAgIC8vIGRlZmktc2VydmljZSBvcGVyYXRpb25zIGVuZHBvaW50IGlzIGRlcGxveWVkIGFuZCByZXR1cm5pbmcgYWN0aXZlIHN0YXRlLlxuICAgIC8vIGNvbnN0IGFjdGl2ZU9wczogRGVmaU9wZXJhdGlvbkxpc3RSZXN1bHQgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgLy8gICAuZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSkpXG4gICAgLy8gICAucXVlcnkoeyB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCwgc3RhdGU6ICdhY3RpdmUnIH0pXG4gICAgLy8gICAucmVzdWx0KCk7XG4gICAgLy9cbiAgICAvLyBpZiAoYWN0aXZlT3BzLml0ZW1zICYmIGFjdGl2ZU9wcy5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgLy8gICB0aHJvdyBuZXcgQWN0aXZlT3BlcmF0aW9uRXhpc3RzRXJyb3IoYWN0aXZlT3BzLml0ZW1zWzBdLm9wZXJhdGlvbklkKTtcbiAgICAvLyB9XG5cbiAgICAvLyBTdGVwIDE6IEFwcHJvdmUgdHhSZXF1ZXN0IHZpYSBzZW5kTWFueVxuICAgIGNvbnN0IGFwcHJvdmVSZXN1bHQgPSBhd2FpdCB0aGlzLndhbGxldC5zZW5kTWFueSh7XG4gICAgICB0eXBlOiAnZGVmaUFwcHJvdmUnLFxuICAgICAgZGVmaVBhcmFtczoge1xuICAgICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICAgICAgYW1vdW50OiBwYXJhbXMuYW1vdW50LFxuICAgICAgICAuLi4ocGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5ID8geyBjbGllbnRJZGVtcG90ZW5jeUtleTogcGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5IH0gOiB7fSksXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXBwcm92ZVR4UmVxdWVzdElkID0gdGhpcy5leHRyYWN0VHhSZXF1ZXN0SWQoYXBwcm92ZVJlc3VsdCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSB0aGlzLmV4dHJhY3RPcGVyYXRpb25JZChhcHByb3ZlUmVzdWx0KTtcblxuICAgIGlmICghb3BlcmF0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3BlcmF0aW9uSWQgbm90IGZvdW5kIGluIGFwcHJvdmUgdHhSZXF1ZXN0IHJlc3BvbnNlJyk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCAyOiBEZXBvc2l0IHR4UmVxdWVzdCB2aWEgc2VuZE1hbnlcbiAgICBjb25zdCBkZXBvc2l0UmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmlEZXBvc2l0JyxcbiAgICAgIGRlZmlQYXJhbXM6IHtcbiAgICAgICAgdmF1bHRJZDogcGFyYW1zLnZhdWx0SWQsXG4gICAgICAgIGFtb3VudDogcGFyYW1zLmFtb3VudCxcbiAgICAgICAgb3BlcmF0aW9uSWQsXG4gICAgICAgIC4uLihwYXJhbXMuY2xpZW50SWRlbXBvdGVuY3lLZXkgPyB7IGNsaWVudElkZW1wb3RlbmN5S2V5OiBwYXJhbXMuY2xpZW50SWRlbXBvdGVuY3lLZXkgfSA6IHt9KSxcbiAgICAgIH0sXG4gICAgICAuLi4ocGFyYW1zLndhbGxldFBhc3NwaHJhc2UgPyB7IHdhbGxldFBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0gOiB7fSksXG4gICAgfSk7XG4gICAgY29uc3QgZGVwb3NpdFR4UmVxdWVzdElkID0gdGhpcy5leHRyYWN0VHhSZXF1ZXN0SWQoZGVwb3NpdFJlc3VsdCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3BlcmF0aW9uSWQsXG4gICAgICB0eFJlcXVlc3RJZHM6IHtcbiAgICAgICAgYXBwcm92ZTogYXBwcm92ZVR4UmVxdWVzdElkLFxuICAgICAgICBkZXBvc2l0OiBkZXBvc2l0VHhSZXF1ZXN0SWQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGEgcGFydGlhbGx5LWNvbXBsZXRlZCBkZXBvc2l0LiBDYWxsIHRoaXMgd2hlbiB0aGUgU0RLIHByb2Nlc3MgZGllZFxuICAgKiBiZXR3ZWVuIHRoZSBhcHByb3ZlIGFuZCBkZXBvc2l0IHR4UmVxdWVzdCBjcmVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5vcGVyYXRpb25JZCAtIHRoZSBvcGVyYXRpb25JZCBmcm9tIHRoZSBvcmlnaW5hbCBkZXBvc2l0VG9WYXVsdCBjYWxsXG4gICAqIEBwYXJhbSBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAtIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keVxuICAgKi9cbiAgYXN5bmMgcmVzdW1lRGVwb3NpdChwYXJhbXM6IFJlc3VtZURlcG9zaXRPcHRpb25zKTogUHJvbWlzZTxEZXBvc2l0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMub3BlcmF0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3BlcmF0aW9uSWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICAvLyBGZXRjaCB0aGUgb3BlcmF0aW9uIHRvIGdldCB0aGUgdmF1bHQgYW5kIGFtb3VudCBkZXRhaWxzXG4gICAgY29uc3Qgb3BlcmF0aW9uID0gYXdhaXQgdGhpcy5nZXRPcGVyYXRpb24oeyBvcGVyYXRpb25JZDogcGFyYW1zLm9wZXJhdGlvbklkIH0pO1xuXG4gICAgaWYgKG9wZXJhdGlvbi5hc3NvY2lhdGVkVHhSZXF1ZXN0SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRGVwb3NpdCB0eFJlcXVlc3QgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgb3BlcmF0aW9uOyBub3RoaW5nIHRvIHJlc3VtZScpO1xuICAgIH1cblxuICAgIGlmICghb3BlcmF0aW9uLnR4UmVxdWVzdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwcHJvdmUgdHhSZXF1ZXN0IG5vdCBmb3VuZCBmb3IgdGhpcyBvcGVyYXRpb247IGNhbm5vdCByZXN1bWUnKTtcbiAgICB9XG5cbiAgICAvLyBJc3N1ZSB0aGUgZGVwb3NpdCB0eFJlcXVlc3QgdXNpbmcgdGhlIGV4aXN0aW5nIG9wZXJhdGlvbidzIGRldGFpbHNcbiAgICBjb25zdCBkZXBvc2l0UmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmlEZXBvc2l0JyxcbiAgICAgIGRlZmlQYXJhbXM6IHtcbiAgICAgICAgdmF1bHRJZDogb3BlcmF0aW9uLnZhdWx0SWQsXG4gICAgICAgIGFtb3VudDogb3BlcmF0aW9uLmFzc2V0QW1vdW50LFxuICAgICAgICBvcGVyYXRpb25JZDogcGFyYW1zLm9wZXJhdGlvbklkLFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvcGVyYXRpb25JZDogcGFyYW1zLm9wZXJhdGlvbklkLFxuICAgICAgdHhSZXF1ZXN0SWRzOiB7XG4gICAgICAgIGFwcHJvdmU6IG9wZXJhdGlvbi50eFJlcXVlc3RJZCxcbiAgICAgICAgZGVwb3NpdDogdGhpcy5leHRyYWN0VHhSZXF1ZXN0SWQoZGVwb3NpdFJlc3VsdCksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgRGVGaSBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMub3BlcmF0aW9uSWQgLSB0aGUgb3BlcmF0aW9uIHRvIHJldHJpZXZlXG4gICAqL1xuICBhc3luYyBnZXRPcGVyYXRpb24ocGFyYW1zOiBHZXRPcGVyYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uPiB7XG4gICAgaWYgKCFwYXJhbXMub3BlcmF0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3BlcmF0aW9uSWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMub3BlcmF0aW9uc1VybCgpICsgJy8nICsgcGFyYW1zLm9wZXJhdGlvbklkKSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvcGVyYXRpb25zIGZvciBhIHZhdWx0IGZpbHRlcmVkIGJ5IHdhbGxldElkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLnZhdWx0SWQgLSB2YXVsdCB0byBsaXN0IG9wZXJhdGlvbnMgZm9yXG4gICAqIEBwYXJhbSBwYXJhbXMuc3RhdGUgLSBvcHRpb25hbCBzdGF0ZSBmaWx0ZXJcbiAgICogQHBhcmFtIHBhcmFtcy50eXBlIC0gb3B0aW9uYWwgdHlwZSBmaWx0ZXIgKERFUE9TSVQgfCBXSVRIRFJBVylcbiAgICogQHBhcmFtIHBhcmFtcy5saW1pdCAtIHBhZ2Ugc2l6ZVxuICAgKiBAcGFyYW0gcGFyYW1zLmN1cnNvciAtIHBhZ2luYXRpb24gY3Vyc29yXG4gICAqL1xuICBhc3luYyBsaXN0T3BlcmF0aW9ucyhwYXJhbXM6IExpc3RPcGVyYXRpb25zT3B0aW9ucyk6IFByb21pc2U8RGVmaU9wZXJhdGlvbkxpc3RSZXN1bHQ+IHtcbiAgICBpZiAoIXBhcmFtcy52YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhdWx0SWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiA9IHtcbiAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgIH07XG4gICAgaWYgKHBhcmFtcy5zdGF0ZSkgcXVlcnkuc3RhdGUgPSBwYXJhbXMuc3RhdGU7XG4gICAgaWYgKHBhcmFtcy50eXBlKSBxdWVyeS50eXBlID0gcGFyYW1zLnR5cGU7XG4gICAgaWYgKHBhcmFtcy5saW1pdCkgcXVlcnkubGltaXQgPSBwYXJhbXMubGltaXQ7XG4gICAgaWYgKHBhcmFtcy5jdXJzb3IpIHF1ZXJ5LmN1cnNvciA9IHBhcmFtcy5jdXJzb3I7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMub3BlcmF0aW9uc1VybCgpKSkucXVlcnkocXVlcnkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLy8g4pSA4pSAIEludGVybmFsIGhlbHBlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgdHhSZXF1ZXN0SWQgZnJvbSBhIHNlbmRNYW55IHJlc3VsdC5cbiAgICogc2VuZE1hbnkgcmV0dXJucyBkaWZmZXJlbnQgc2hhcGVzIGRlcGVuZGluZyBvbiB3YWxsZXQgdHlwZTpcbiAgICogLSBUU1MgZnVsbDogeyB0eFJlcXVlc3Q6IHsgdHhSZXF1ZXN0SWQgfSB9IG9yIHsgcGVuZGluZ0FwcHJvdmFsLCB0eFJlcXVlc3QgfVxuICAgKiAtIFRTUyBsaXRlOiByZXN1bHQgZnJvbSB0c3NVdGlscy5zZW5kVHhSZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RUeFJlcXVlc3RJZChzZW5kTWFueVJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBzdHJpbmcge1xuICAgIGNvbnN0IHR4UmVxdWVzdCA9IHNlbmRNYW55UmVzdWx0LnR4UmVxdWVzdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHhSZXF1ZXN0Py50eFJlcXVlc3RJZCkge1xuICAgICAgcmV0dXJuIHR4UmVxdWVzdC50eFJlcXVlc3RJZCBhcyBzdHJpbmc7XG4gICAgfVxuICAgIGlmIChzZW5kTWFueVJlc3VsdC50eFJlcXVlc3RJZCkge1xuICAgICAgcmV0dXJuIHNlbmRNYW55UmVzdWx0LnR4UmVxdWVzdElkIGFzIHN0cmluZztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0eFJlcXVlc3RJZCBub3QgZm91bmQgaW4gc2VuZE1hbnkgcmVzcG9uc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0IG9wZXJhdGlvbklkIGZyb20gYSBzZW5kTWFueSByZXN1bHQuXG4gICAqXG4gICAqIFRoZSBXUCB3cml0ZXMgdGhlIGRlZmktc2VydmljZS1taW50ZWQgb3BlcmF0aW9uSWQgaW50byB0aGUgYnVpbHRcbiAgICogdHJhbnNhY3Rpb24ncyBgY29pblNwZWNpZmljYCAoYWxvbmdzaWRlIGBhc3NpZ25lZE5vbmNlYCksIG5vdCBpbnRvIHRoZVxuICAgKiBpbnRlbnQuIFJlYWQgaXQgZnJvbSB0aGVyZTogdGhlIGBmdWxsYCBhcGlWZXJzaW9uIHN1cmZhY2VzIGl0IGF0XG4gICAqIGB0cmFuc2FjdGlvbnNbMF0udW5zaWduZWRUeC5jb2luU3BlY2lmaWMub3BlcmF0aW9uSWRgLCB0aGUgYGxpdGVgIHZlcnNpb25cbiAgICogYXQgYHVuc2lnbmVkVHhzWzBdLmNvaW5TcGVjaWZpYy5vcGVyYXRpb25JZGAuIEZhbGwgYmFjayB0b1xuICAgKiBgaW50ZW50Lm9wZXJhdGlvbklkYCBmb3IgZm9yd2FyZC1jb21wYXQgaW4gY2FzZSB0aGUgV1AgbGF0ZXIgYWxzb1xuICAgKiBwb3B1bGF0ZXMgdGhlIGludGVudC5cbiAgICovXG4gIHByaXZhdGUgZXh0cmFjdE9wZXJhdGlvbklkKHNlbmRNYW55UmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdHhSZXF1ZXN0ID0gc2VuZE1hbnlSZXN1bHQudHhSZXF1ZXN0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGlmICghdHhSZXF1ZXN0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGZ1bGwgYXBpVmVyc2lvbjogdHJhbnNhY3Rpb25zWzBdLnVuc2lnbmVkVHguY29pblNwZWNpZmljLm9wZXJhdGlvbklkXG4gICAgY29uc3QgdHJhbnNhY3Rpb25zID0gdHhSZXF1ZXN0LnRyYW5zYWN0aW9ucyBhcyBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgZnVsbFVuc2lnbmVkVHggPSB0cmFuc2FjdGlvbnM/LlswXT8udW5zaWduZWRUeCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmdWxsQ29pblNwZWNpZmljID0gZnVsbFVuc2lnbmVkVHg/LmNvaW5TcGVjaWZpYyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAoZnVsbENvaW5TcGVjaWZpYz8ub3BlcmF0aW9uSWQpIHtcbiAgICAgIHJldHVybiBmdWxsQ29pblNwZWNpZmljLm9wZXJhdGlvbklkIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICAvLyBsaXRlIGFwaVZlcnNpb246IHVuc2lnbmVkVHhzWzBdLmNvaW5TcGVjaWZpYy5vcGVyYXRpb25JZFxuICAgIGNvbnN0IHVuc2lnbmVkVHhzID0gdHhSZXF1ZXN0LnVuc2lnbmVkVHhzIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsaXRlQ29pblNwZWNpZmljID0gdW5zaWduZWRUeHM/LlswXT8uY29pblNwZWNpZmljIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChsaXRlQ29pblNwZWNpZmljPy5vcGVyYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGxpdGVDb2luU3BlY2lmaWMub3BlcmF0aW9uSWQgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8vIGZvcndhcmQtY29tcGF0OiBpbnRlbnQub3BlcmF0aW9uSWQgKGluIGNhc2UgdGhlIFdQIGxhdGVyIHBvcHVsYXRlcyB0aGUgaW50ZW50KVxuICAgIGNvbnN0IGludGVudCA9IHR4UmVxdWVzdC5pbnRlbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGludGVudD8ub3BlcmF0aW9uSWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVyYXRpb25zVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAvYXBpL2RlZmktc2VydmljZS92MS93YWxsZXRzLyR7dGhpcy53YWxsZXQuaWQoKX0vb3BlcmF0aW9uc2A7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ export interface DepositToVaultOptions {
5
+ /** DeFi-service vault identifier */
6
+ vaultId: string;
7
+ /** Amount in base units of the underlying asset */
8
+ amount: string;
9
+ /** Optional client-supplied idempotency key */
10
+ clientIdempotencyKey?: string;
11
+ /** Wallet passphrase — required for hot wallets, omit for custody */
12
+ walletPassphrase?: string;
13
+ }
14
+ export interface ResumeDepositOptions {
15
+ /** operationId of the partially-completed deposit */
16
+ operationId: string;
17
+ /** Wallet passphrase — required for hot wallets, omit for custody */
18
+ walletPassphrase?: string;
19
+ }
20
+ export interface GetOperationOptions {
21
+ operationId: string;
22
+ }
23
+ export interface ListOperationsOptions {
24
+ vaultId: string;
25
+ state?: string;
26
+ type?: string;
27
+ limit?: number;
28
+ cursor?: string;
29
+ }
30
+ export interface DefiOperation {
31
+ operationId: string;
32
+ walletId: string;
33
+ vaultId: string;
34
+ type: 'DEPOSIT' | 'WITHDRAW';
35
+ assetAmount: string;
36
+ state: string;
37
+ txRequestId?: string;
38
+ associatedTxRequestId?: string;
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ }
42
+ export interface DepositResult {
43
+ operationId: string;
44
+ txRequestIds: {
45
+ approve: string;
46
+ deposit: string;
47
+ };
48
+ }
49
+ export interface DefiOperationListResult {
50
+ items: DefiOperation[];
51
+ nextCursor?: string;
52
+ }
53
+ export interface IDefiVault {
54
+ depositToVault(params: DepositToVaultOptions): Promise<DepositResult>;
55
+ resumeDeposit(params: ResumeDepositOptions): Promise<DepositResult>;
56
+ getOperation(params: GetOperationOptions): Promise<DefiOperation>;
57
+ listOperations(params: ListOperationsOptions): Promise<DefiOperationListResult>;
58
+ }
59
+ //# sourceMappingURL=iDefiVault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iDefiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/iDefiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,qBAAqB;IACpC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACjF"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * @prettier
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaURlZmlWYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9kZWZpL2lEZWZpVmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIERlcG9zaXRUb1ZhdWx0T3B0aW9ucyB7XG4gIC8qKiBEZUZpLXNlcnZpY2UgdmF1bHQgaWRlbnRpZmllciAqL1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIC8qKiBBbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdW5kZXJseWluZyBhc3NldCAqL1xuICBhbW91bnQ6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGNsaWVudC1zdXBwbGllZCBpZGVtcG90ZW5jeSBrZXkgKi9cbiAgY2xpZW50SWRlbXBvdGVuY3lLZXk/OiBzdHJpbmc7XG4gIC8qKiBXYWxsZXQgcGFzc3BocmFzZSDigJQgcmVxdWlyZWQgZm9yIGhvdCB3YWxsZXRzLCBvbWl0IGZvciBjdXN0b2R5ICovXG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdW1lRGVwb3NpdE9wdGlvbnMge1xuICAvKiogb3BlcmF0aW9uSWQgb2YgdGhlIHBhcnRpYWxseS1jb21wbGV0ZWQgZGVwb3NpdCAqL1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE9wZXJhdGlvbk9wdGlvbnMge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RPcGVyYXRpb25zT3B0aW9ucyB7XG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmaU9wZXJhdGlvbiB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgdHlwZTogJ0RFUE9TSVQnIHwgJ1dJVEhEUkFXJztcbiAgYXNzZXRBbW91bnQ6IHN0cmluZztcbiAgc3RhdGU6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG4gIGFzc29jaWF0ZWRUeFJlcXVlc3RJZD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcG9zaXRSZXN1bHQge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB0eFJlcXVlc3RJZHM6IHtcbiAgICBhcHByb3ZlOiBzdHJpbmc7XG4gICAgZGVwb3NpdDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlZmlPcGVyYXRpb25MaXN0UmVzdWx0IHtcbiAgaXRlbXM6IERlZmlPcGVyYXRpb25bXTtcbiAgbmV4dEN1cnNvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVmaVZhdWx0IHtcbiAgZGVwb3NpdFRvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICByZXN1bWVEZXBvc2l0KHBhcmFtczogUmVzdW1lRGVwb3NpdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICBnZXRPcGVyYXRpb24ocGFyYW1zOiBHZXRPcGVyYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uPjtcbiAgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0Pjtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './iDefiVault';
2
+ export { DefiVault, ActiveOperationExistsError } from './defiVault';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}