@haneullabs/deepbook-v3 0.1.0 → 1.2.1

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 (612) hide show
  1. package/CHANGELOG.md +342 -81
  2. package/dist/client.d.mts +238 -0
  3. package/dist/client.d.mts.map +1 -0
  4. package/dist/client.mjs +397 -0
  5. package/dist/client.mjs.map +1 -0
  6. package/dist/contracts/deepbook/account.d.mts +37 -0
  7. package/dist/contracts/deepbook/account.d.mts.map +1 -0
  8. package/dist/contracts/deepbook/account.mjs +31 -0
  9. package/dist/contracts/deepbook/account.mjs.map +1 -0
  10. package/dist/contracts/deepbook/balances.d.mts +12 -0
  11. package/dist/contracts/deepbook/balances.d.mts.map +1 -0
  12. package/dist/contracts/deepbook/balances.mjs +24 -0
  13. package/dist/contracts/deepbook/balances.mjs.map +1 -0
  14. package/dist/contracts/deepbook/deep_price.d.mts +12 -0
  15. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -0
  16. package/dist/contracts/deepbook/deep_price.mjs +49 -0
  17. package/dist/contracts/deepbook/deep_price.mjs.map +1 -0
  18. package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts +21 -0
  19. package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts.map +1 -0
  20. package/dist/contracts/deepbook/deps/haneul/vec_set.mjs +26 -0
  21. package/dist/contracts/deepbook/deps/haneul/vec_set.mjs.map +1 -0
  22. package/dist/contracts/deepbook/order.d.mts +23 -0
  23. package/dist/contracts/deepbook/order.d.mts.map +1 -0
  24. package/dist/contracts/deepbook/order.mjs +63 -0
  25. package/dist/contracts/deepbook/order.mjs.map +1 -0
  26. package/dist/contracts/pyth/data_source.mjs +20 -0
  27. package/dist/contracts/pyth/data_source.mjs.map +1 -0
  28. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  29. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  30. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  31. package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  32. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs +16 -0
  33. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs.map +1 -0
  34. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs +16 -0
  35. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs.map +1 -0
  36. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs +16 -0
  37. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs.map +1 -0
  38. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs +16 -0
  39. package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs.map +1 -0
  40. package/dist/contracts/pyth/i64.mjs +19 -0
  41. package/dist/contracts/pyth/i64.mjs.map +1 -0
  42. package/dist/contracts/pyth/price.mjs +22 -0
  43. package/dist/contracts/pyth/price.mjs.map +1 -0
  44. package/dist/contracts/pyth/price_feed.mjs +21 -0
  45. package/dist/contracts/pyth/price_feed.mjs.map +1 -0
  46. package/dist/contracts/pyth/price_identifier.mjs +16 -0
  47. package/dist/contracts/pyth/price_identifier.mjs.map +1 -0
  48. package/dist/contracts/pyth/price_info.mjs +28 -0
  49. package/dist/contracts/pyth/price_info.mjs.map +1 -0
  50. package/dist/contracts/pyth/state.mjs +36 -0
  51. package/dist/contracts/pyth/state.mjs.map +1 -0
  52. package/dist/contracts/utils/index.d.mts +34 -0
  53. package/dist/contracts/utils/index.d.mts.map +1 -0
  54. package/dist/contracts/utils/index.mjs +35 -0
  55. package/dist/contracts/utils/index.mjs.map +1 -0
  56. package/dist/contracts/wormhole/bytes32.mjs +16 -0
  57. package/dist/contracts/wormhole/bytes32.mjs.map +1 -0
  58. package/dist/contracts/wormhole/consumed_vaas.mjs +16 -0
  59. package/dist/contracts/wormhole/consumed_vaas.mjs.map +1 -0
  60. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs +16 -0
  61. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs.map +1 -0
  62. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
  63. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
  64. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
  65. package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
  66. package/dist/contracts/wormhole/external_address.mjs +16 -0
  67. package/dist/contracts/wormhole/external_address.mjs.map +1 -0
  68. package/dist/contracts/wormhole/fee_collector.mjs +20 -0
  69. package/dist/contracts/wormhole/fee_collector.mjs.map +1 -0
  70. package/dist/contracts/wormhole/set.mjs +16 -0
  71. package/dist/contracts/wormhole/set.mjs.map +1 -0
  72. package/dist/contracts/wormhole/state.mjs +31 -0
  73. package/dist/contracts/wormhole/state.mjs.map +1 -0
  74. package/dist/index.d.mts +25 -0
  75. package/dist/index.mjs +26 -0
  76. package/dist/pyth/PriceServiceConnection.d.mts +26 -0
  77. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -0
  78. package/dist/pyth/PriceServiceConnection.mjs +35 -0
  79. package/dist/pyth/PriceServiceConnection.mjs.map +1 -0
  80. package/dist/pyth/pyth-helpers.mjs +18 -0
  81. package/dist/pyth/pyth-helpers.mjs.map +1 -0
  82. package/dist/pyth/pyth.d.mts +69 -0
  83. package/dist/pyth/pyth.d.mts.map +1 -0
  84. package/dist/pyth/pyth.mjs +220 -0
  85. package/dist/pyth/pyth.mjs.map +1 -0
  86. package/dist/queries/accountQueries.mjs +104 -0
  87. package/dist/queries/accountQueries.mjs.map +1 -0
  88. package/dist/queries/balanceManagerQueries.mjs +113 -0
  89. package/dist/queries/balanceManagerQueries.mjs.map +1 -0
  90. package/dist/queries/context.mjs +15 -0
  91. package/dist/queries/context.mjs.map +1 -0
  92. package/dist/queries/marginManagerQueries.mjs +365 -0
  93. package/dist/queries/marginManagerQueries.mjs.map +1 -0
  94. package/dist/queries/marginPoolQueries.mjs +184 -0
  95. package/dist/queries/marginPoolQueries.mjs.map +1 -0
  96. package/dist/queries/orderQueries.mjs +165 -0
  97. package/dist/queries/orderQueries.mjs.map +1 -0
  98. package/dist/queries/poolQueries.mjs +234 -0
  99. package/dist/queries/poolQueries.mjs.map +1 -0
  100. package/dist/queries/priceFeedQueries.mjs +83 -0
  101. package/dist/queries/priceFeedQueries.mjs.map +1 -0
  102. package/dist/queries/quantityQueries.mjs +216 -0
  103. package/dist/queries/quantityQueries.mjs.map +1 -0
  104. package/dist/queries/referralQueries.mjs +96 -0
  105. package/dist/queries/referralQueries.mjs.map +1 -0
  106. package/dist/queries/registryQueries.mjs +162 -0
  107. package/dist/queries/registryQueries.mjs.map +1 -0
  108. package/dist/queries/tpslQueries.mjs +62 -0
  109. package/dist/queries/tpslQueries.mjs.map +1 -0
  110. package/dist/transactions/balanceManager.d.mts +174 -0
  111. package/dist/transactions/balanceManager.d.mts.map +1 -0
  112. package/dist/transactions/balanceManager.mjs +234 -0
  113. package/dist/transactions/balanceManager.mjs.map +1 -0
  114. package/dist/transactions/deepbook.d.mts +490 -0
  115. package/dist/transactions/deepbook.d.mts.map +1 -0
  116. package/dist/transactions/deepbook.mjs +979 -0
  117. package/dist/transactions/deepbook.mjs.map +1 -0
  118. package/dist/transactions/deepbookAdmin.d.mts +111 -0
  119. package/dist/transactions/deepbookAdmin.d.mts.map +1 -0
  120. package/dist/transactions/deepbookAdmin.mjs +222 -0
  121. package/dist/transactions/deepbookAdmin.mjs.map +1 -0
  122. package/dist/transactions/flashLoans.d.mts +61 -0
  123. package/dist/transactions/flashLoans.d.mts.map +1 -0
  124. package/dist/transactions/flashLoans.mjs +77 -0
  125. package/dist/transactions/flashLoans.mjs.map +1 -0
  126. package/dist/transactions/governance.d.mts +47 -0
  127. package/dist/transactions/governance.d.mts.map +1 -0
  128. package/dist/transactions/governance.mjs +91 -0
  129. package/dist/transactions/governance.mjs.map +1 -0
  130. package/dist/transactions/marginAdmin.d.mts +138 -0
  131. package/dist/transactions/marginAdmin.d.mts.map +1 -0
  132. package/dist/transactions/marginAdmin.mjs +250 -0
  133. package/dist/transactions/marginAdmin.mjs.map +1 -0
  134. package/dist/transactions/marginLiquidations.d.mts +67 -0
  135. package/dist/transactions/marginLiquidations.d.mts.map +1 -0
  136. package/dist/transactions/marginLiquidations.mjs +110 -0
  137. package/dist/transactions/marginLiquidations.mjs.map +1 -0
  138. package/dist/transactions/marginMaintainer.d.mts +86 -0
  139. package/dist/transactions/marginMaintainer.d.mts.map +1 -0
  140. package/dist/transactions/marginMaintainer.mjs +161 -0
  141. package/dist/transactions/marginMaintainer.mjs.map +1 -0
  142. package/dist/transactions/marginManager.d.mts +247 -0
  143. package/dist/transactions/marginManager.d.mts.map +1 -0
  144. package/dist/transactions/marginManager.mjs +548 -0
  145. package/dist/transactions/marginManager.mjs.map +1 -0
  146. package/dist/transactions/marginPool.d.mts +140 -0
  147. package/dist/transactions/marginPool.d.mts.map +1 -0
  148. package/dist/transactions/marginPool.mjs +207 -0
  149. package/dist/transactions/marginPool.mjs.map +1 -0
  150. package/dist/transactions/marginRegistry.d.mts +100 -0
  151. package/dist/transactions/marginRegistry.d.mts.map +1 -0
  152. package/dist/transactions/marginRegistry.mjs +128 -0
  153. package/dist/transactions/marginRegistry.mjs.map +1 -0
  154. package/dist/transactions/marginTPSL.d.mts +100 -0
  155. package/dist/transactions/marginTPSL.d.mts.map +1 -0
  156. package/dist/transactions/marginTPSL.mjs +173 -0
  157. package/dist/transactions/marginTPSL.mjs.map +1 -0
  158. package/dist/transactions/poolProxy.d.mts +123 -0
  159. package/dist/transactions/poolProxy.d.mts.map +1 -0
  160. package/dist/transactions/poolProxy.mjs +336 -0
  161. package/dist/transactions/poolProxy.mjs.map +1 -0
  162. package/dist/types/bcs.d.mts +5 -0
  163. package/dist/types/bcs.mjs +7 -0
  164. package/dist/types/index.d.mts +374 -0
  165. package/dist/types/index.d.mts.map +1 -0
  166. package/dist/types/index.mjs +18 -0
  167. package/dist/types/index.mjs.map +1 -0
  168. package/dist/utils/config.d.mts +90 -0
  169. package/dist/utils/config.d.mts.map +1 -0
  170. package/dist/utils/config.mjs +104 -0
  171. package/dist/utils/config.mjs.map +1 -0
  172. package/dist/utils/constants.d.mts +93 -0
  173. package/dist/utils/constants.d.mts.map +1 -0
  174. package/dist/utils/constants.mjs +408 -0
  175. package/dist/utils/constants.mjs.map +1 -0
  176. package/dist/utils/conversion.mjs +26 -0
  177. package/dist/utils/conversion.mjs.map +1 -0
  178. package/dist/utils/errors.d.mts +46 -0
  179. package/dist/utils/errors.d.mts.map +1 -0
  180. package/dist/utils/errors.mjs +59 -0
  181. package/dist/utils/errors.mjs.map +1 -0
  182. package/dist/{cjs/utils/validation.d.ts → utils/validation.d.mts} +11 -7
  183. package/dist/utils/validation.d.mts.map +1 -0
  184. package/dist/utils/validation.mjs +76 -0
  185. package/dist/utils/validation.mjs.map +1 -0
  186. package/package.json +30 -26
  187. package/src/client.ts +467 -2255
  188. package/src/contracts/deepbook/account.ts +15 -15
  189. package/src/contracts/deepbook/balance_manager.ts +343 -57
  190. package/src/contracts/deepbook/balances.ts +3 -2
  191. package/src/contracts/deepbook/big_vector.ts +6 -7
  192. package/src/contracts/deepbook/book.ts +3 -2
  193. package/src/contracts/deepbook/constants.ts +95 -3
  194. package/src/contracts/deepbook/deep_price.ts +7 -7
  195. package/src/contracts/deepbook/deps/{sui → haneul}/bag.ts +8 -8
  196. package/src/contracts/deepbook/deps/{sui → haneul}/balance.ts +4 -3
  197. package/src/contracts/deepbook/deps/{sui → haneul}/table.ts +6 -6
  198. package/src/contracts/deepbook/deps/{sui → haneul}/vec_map.ts +4 -4
  199. package/src/contracts/deepbook/deps/{sui → haneul}/vec_set.ts +4 -4
  200. package/src/contracts/deepbook/deps/{sui → haneul}/versioned.ts +4 -4
  201. package/src/contracts/deepbook/deps/std/type_name.ts +3 -2
  202. package/src/contracts/deepbook/ewma.ts +14 -3
  203. package/src/contracts/deepbook/fill.ts +21 -21
  204. package/src/contracts/deepbook/governance.ts +4 -3
  205. package/src/contracts/deepbook/history.ts +4 -3
  206. package/src/contracts/deepbook/math.ts +15 -15
  207. package/src/contracts/deepbook/order.ts +16 -16
  208. package/src/contracts/deepbook/order_info.ts +39 -27
  209. package/src/contracts/deepbook/order_query.ts +12 -12
  210. package/src/contracts/deepbook/pool.ts +883 -526
  211. package/src/contracts/deepbook/registry.ts +149 -38
  212. package/src/contracts/deepbook/state.ts +14 -3
  213. package/src/contracts/deepbook/trade_params.ts +3 -2
  214. package/src/contracts/deepbook/vault.ts +5 -4
  215. package/src/contracts/pyth/batch_price_attestation.ts +92 -0
  216. package/src/contracts/pyth/contract_upgrade.ts +54 -0
  217. package/src/contracts/pyth/data_source.ts +64 -0
  218. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  219. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  220. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
  221. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
  222. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
  223. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
  224. package/src/contracts/pyth/deserialize.ts +117 -0
  225. package/src/contracts/pyth/event.ts +20 -0
  226. package/src/contracts/pyth/governance.ts +113 -0
  227. package/src/contracts/pyth/governance_action.ts +130 -0
  228. package/src/contracts/pyth/governance_instruction.ts +98 -0
  229. package/src/contracts/pyth/hot_potato_vector.ts +70 -0
  230. package/src/contracts/pyth/i64.ts +94 -0
  231. package/src/contracts/pyth/merkle_tree.ts +41 -0
  232. package/src/contracts/pyth/migrate.ts +29 -0
  233. package/src/contracts/pyth/price.ts +102 -0
  234. package/src/contracts/pyth/price_feed.ts +101 -0
  235. package/src/contracts/pyth/price_identifier.ts +46 -0
  236. package/src/contracts/pyth/price_info.ts +220 -0
  237. package/src/contracts/pyth/price_status.ts +74 -0
  238. package/src/contracts/pyth/pyth.ts +236 -0
  239. package/src/contracts/pyth/set.ts +93 -0
  240. package/src/contracts/pyth/set_data_sources.ts +14 -0
  241. package/src/contracts/pyth/set_fee_recipient.ts +13 -0
  242. package/src/contracts/pyth/set_governance_data_source.ts +16 -0
  243. package/src/contracts/pyth/set_stale_price_threshold.ts +13 -0
  244. package/src/contracts/pyth/set_update_fee.ts +14 -0
  245. package/src/contracts/pyth/setup.ts +12 -0
  246. package/src/contracts/pyth/state.ts +227 -0
  247. package/src/contracts/pyth/version_control.ts +25 -0
  248. package/src/contracts/utils/index.ts +100 -50
  249. package/src/contracts/wormhole/bytes32.ts +12 -0
  250. package/src/contracts/wormhole/consumed_vaas.ts +13 -0
  251. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts +12 -0
  252. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  253. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  254. package/src/contracts/wormhole/external_address.ts +13 -0
  255. package/src/contracts/wormhole/fee_collector.ts +15 -0
  256. package/src/contracts/wormhole/set.ts +12 -0
  257. package/src/contracts/wormhole/state.ts +25 -0
  258. package/src/index.ts +44 -3
  259. package/src/pyth/pyth.ts +51 -50
  260. package/src/queries/accountQueries.ts +117 -0
  261. package/src/queries/balanceManagerQueries.ts +156 -0
  262. package/src/queries/context.ts +44 -0
  263. package/src/queries/index.ts +16 -0
  264. package/src/queries/marginManagerQueries.ts +575 -0
  265. package/src/queries/marginPoolQueries.ts +226 -0
  266. package/src/queries/orderQueries.ts +202 -0
  267. package/src/queries/poolQueries.ts +266 -0
  268. package/src/queries/priceFeedQueries.ts +141 -0
  269. package/src/queries/quantityQueries.ts +266 -0
  270. package/src/queries/referralQueries.ts +112 -0
  271. package/src/queries/registryQueries.ts +185 -0
  272. package/src/queries/tpslQueries.ts +88 -0
  273. package/src/transactions/balanceManager.ts +5 -4
  274. package/src/transactions/deepbook.ts +117 -84
  275. package/src/transactions/deepbookAdmin.ts +10 -9
  276. package/src/transactions/flashLoans.ts +5 -4
  277. package/src/transactions/governance.ts +5 -4
  278. package/src/transactions/marginAdmin.ts +12 -8
  279. package/src/transactions/marginLiquidations.ts +5 -4
  280. package/src/transactions/marginMaintainer.ts +28 -16
  281. package/src/transactions/marginManager.ts +78 -29
  282. package/src/transactions/marginPool.ts +7 -7
  283. package/src/transactions/marginTPSL.ts +16 -11
  284. package/src/transactions/poolProxy.ts +62 -11
  285. package/src/types/bcs.ts +1 -1
  286. package/src/types/index.ts +217 -53
  287. package/src/utils/config.ts +38 -17
  288. package/src/utils/constants.ts +73 -18
  289. package/src/utils/conversion.ts +33 -0
  290. package/src/utils/validation.ts +1 -1
  291. package/dist/cjs/client.d.ts +0 -861
  292. package/dist/cjs/client.js +0 -1982
  293. package/dist/cjs/client.js.map +0 -7
  294. package/dist/cjs/contracts/deepbook/account.d.ts +0 -105
  295. package/dist/cjs/contracts/deepbook/account.js +0 -163
  296. package/dist/cjs/contracts/deepbook/account.js.map +0 -7
  297. package/dist/cjs/contracts/deepbook/balance_manager.d.ts +0 -268
  298. package/dist/cjs/contracts/deepbook/balance_manager.js +0 -361
  299. package/dist/cjs/contracts/deepbook/balance_manager.js.map +0 -7
  300. package/dist/cjs/contracts/deepbook/balances.d.ts +0 -10
  301. package/dist/cjs/contracts/deepbook/balances.js +0 -35
  302. package/dist/cjs/contracts/deepbook/balances.js.map +0 -7
  303. package/dist/cjs/contracts/deepbook/big_vector.d.ts +0 -62
  304. package/dist/cjs/contracts/deepbook/big_vector.js +0 -80
  305. package/dist/cjs/contracts/deepbook/big_vector.js.map +0 -7
  306. package/dist/cjs/contracts/deepbook/book.d.ts +0 -34
  307. package/dist/cjs/contracts/deepbook/book.js +0 -50
  308. package/dist/cjs/contracts/deepbook/book.js.map +0 -7
  309. package/dist/cjs/contracts/deepbook/constants.d.ts +0 -176
  310. package/dist/cjs/contracts/deepbook/constants.js +0 -338
  311. package/dist/cjs/contracts/deepbook/constants.js.map +0 -7
  312. package/dist/cjs/contracts/deepbook/deep_price.d.ts +0 -60
  313. package/dist/cjs/contracts/deepbook/deep_price.js +0 -87
  314. package/dist/cjs/contracts/deepbook/deep_price.js.map +0 -7
  315. package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  316. package/dist/cjs/contracts/deepbook/deps/std/type_name.js +0 -42
  317. package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +0 -7
  318. package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  319. package/dist/cjs/contracts/deepbook/deps/sui/bag.js +0 -47
  320. package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +0 -7
  321. package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  322. package/dist/cjs/contracts/deepbook/deps/sui/balance.js +0 -33
  323. package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +0 -7
  324. package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +0 -5
  325. package/dist/cjs/contracts/deepbook/deps/sui/object.js +0 -33
  326. package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +0 -7
  327. package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +0 -28
  328. package/dist/cjs/contracts/deepbook/deps/sui/table.js +0 -47
  329. package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +0 -7
  330. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  331. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +0 -45
  332. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  333. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  334. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +0 -35
  335. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  336. package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  337. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +0 -45
  338. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  339. package/dist/cjs/contracts/deepbook/ewma.d.ts +0 -17
  340. package/dist/cjs/contracts/deepbook/ewma.js +0 -39
  341. package/dist/cjs/contracts/deepbook/ewma.js.map +0 -7
  342. package/dist/cjs/contracts/deepbook/fill.d.ts +0 -153
  343. package/dist/cjs/contracts/deepbook/fill.js +0 -251
  344. package/dist/cjs/contracts/deepbook/fill.js.map +0 -7
  345. package/dist/cjs/contracts/deepbook/governance.d.ts +0 -63
  346. package/dist/cjs/contracts/deepbook/governance.js +0 -79
  347. package/dist/cjs/contracts/deepbook/governance.js.map +0 -7
  348. package/dist/cjs/contracts/deepbook/history.d.ts +0 -60
  349. package/dist/cjs/contracts/deepbook/history.js +0 -78
  350. package/dist/cjs/contracts/deepbook/history.js.map +0 -7
  351. package/dist/cjs/contracts/deepbook/math.d.ts +0 -94
  352. package/dist/cjs/contracts/deepbook/math.js +0 -132
  353. package/dist/cjs/contracts/deepbook/math.js.map +0 -7
  354. package/dist/cjs/contracts/deepbook/order.d.ts +0 -135
  355. package/dist/cjs/contracts/deepbook/order.js +0 -218
  356. package/dist/cjs/contracts/deepbook/order.js.map +0 -7
  357. package/dist/cjs/contracts/deepbook/order_info.d.ts +0 -296
  358. package/dist/cjs/contracts/deepbook/order_info.js +0 -386
  359. package/dist/cjs/contracts/deepbook/order_info.js.map +0 -7
  360. package/dist/cjs/contracts/deepbook/order_query.d.ts +0 -85
  361. package/dist/cjs/contracts/deepbook/order_query.js +0 -96
  362. package/dist/cjs/contracts/deepbook/order_query.js.map +0 -7
  363. package/dist/cjs/contracts/deepbook/pool.d.ts +0 -1218
  364. package/dist/cjs/contracts/deepbook/pool.js +0 -1236
  365. package/dist/cjs/contracts/deepbook/pool.js.map +0 -7
  366. package/dist/cjs/contracts/deepbook/registry.d.ts +0 -134
  367. package/dist/cjs/contracts/deepbook/registry.js +0 -182
  368. package/dist/cjs/contracts/deepbook/registry.js.map +0 -7
  369. package/dist/cjs/contracts/deepbook/state.d.ts +0 -117
  370. package/dist/cjs/contracts/deepbook/state.js +0 -104
  371. package/dist/cjs/contracts/deepbook/state.js.map +0 -7
  372. package/dist/cjs/contracts/deepbook/trade_params.d.ts +0 -7
  373. package/dist/cjs/contracts/deepbook/trade_params.js +0 -35
  374. package/dist/cjs/contracts/deepbook/trade_params.js.map +0 -7
  375. package/dist/cjs/contracts/deepbook/vault.d.ts +0 -30
  376. package/dist/cjs/contracts/deepbook/vault.js +0 -65
  377. package/dist/cjs/contracts/deepbook/vault.js.map +0 -7
  378. package/dist/cjs/contracts/utils/index.d.ts +0 -25
  379. package/dist/cjs/contracts/utils/index.js +0 -148
  380. package/dist/cjs/contracts/utils/index.js.map +0 -7
  381. package/dist/cjs/index.d.ts +0 -23
  382. package/dist/cjs/index.js +0 -81
  383. package/dist/cjs/index.js.map +0 -7
  384. package/dist/cjs/package.json +0 -4
  385. package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
  386. package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
  387. package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
  388. package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
  389. package/dist/cjs/pyth/pyth-helpers.js +0 -36
  390. package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
  391. package/dist/cjs/pyth/pyth.d.ts +0 -65
  392. package/dist/cjs/pyth/pyth.js +0 -269
  393. package/dist/cjs/pyth/pyth.js.map +0 -7
  394. package/dist/cjs/transactions/balanceManager.d.ts +0 -168
  395. package/dist/cjs/transactions/balanceManager.js +0 -384
  396. package/dist/cjs/transactions/balanceManager.js.map +0 -7
  397. package/dist/cjs/transactions/deepbook.d.ts +0 -477
  398. package/dist/cjs/transactions/deepbook.js +0 -1335
  399. package/dist/cjs/transactions/deepbook.js.map +0 -7
  400. package/dist/cjs/transactions/deepbookAdmin.d.ts +0 -105
  401. package/dist/cjs/transactions/deepbookAdmin.js +0 -334
  402. package/dist/cjs/transactions/deepbookAdmin.js.map +0 -7
  403. package/dist/cjs/transactions/flashLoans.d.ts +0 -56
  404. package/dist/cjs/transactions/flashLoans.js +0 -124
  405. package/dist/cjs/transactions/flashLoans.js.map +0 -7
  406. package/dist/cjs/transactions/governance.d.ts +0 -42
  407. package/dist/cjs/transactions/governance.js +0 -135
  408. package/dist/cjs/transactions/governance.js.map +0 -7
  409. package/dist/cjs/transactions/marginAdmin.d.ts +0 -133
  410. package/dist/cjs/transactions/marginAdmin.js +0 -393
  411. package/dist/cjs/transactions/marginAdmin.js.map +0 -7
  412. package/dist/cjs/transactions/marginLiquidations.d.ts +0 -61
  413. package/dist/cjs/transactions/marginLiquidations.js +0 -173
  414. package/dist/cjs/transactions/marginLiquidations.js.map +0 -7
  415. package/dist/cjs/transactions/marginMaintainer.d.ts +0 -80
  416. package/dist/cjs/transactions/marginMaintainer.js +0 -251
  417. package/dist/cjs/transactions/marginMaintainer.js.map +0 -7
  418. package/dist/cjs/transactions/marginManager.d.ts +0 -236
  419. package/dist/cjs/transactions/marginManager.js +0 -688
  420. package/dist/cjs/transactions/marginManager.js.map +0 -7
  421. package/dist/cjs/transactions/marginPool.d.ts +0 -134
  422. package/dist/cjs/transactions/marginPool.js +0 -330
  423. package/dist/cjs/transactions/marginPool.js.map +0 -7
  424. package/dist/cjs/transactions/marginRegistry.d.ts +0 -94
  425. package/dist/cjs/transactions/marginRegistry.js +0 -221
  426. package/dist/cjs/transactions/marginRegistry.js.map +0 -7
  427. package/dist/cjs/transactions/marginTPSL.d.ts +0 -93
  428. package/dist/cjs/transactions/marginTPSL.js +0 -286
  429. package/dist/cjs/transactions/marginTPSL.js.map +0 -7
  430. package/dist/cjs/transactions/poolProxy.d.ts +0 -104
  431. package/dist/cjs/transactions/poolProxy.js +0 -435
  432. package/dist/cjs/transactions/poolProxy.js.map +0 -7
  433. package/dist/cjs/types/bcs.d.ts +0 -5
  434. package/dist/cjs/types/bcs.js +0 -33
  435. package/dist/cjs/types/bcs.js.map +0 -7
  436. package/dist/cjs/types/index.d.ts +0 -218
  437. package/dist/cjs/types/index.js +0 -38
  438. package/dist/cjs/types/index.js.map +0 -7
  439. package/dist/cjs/utils/config.d.ts +0 -65
  440. package/dist/cjs/utils/config.js +0 -144
  441. package/dist/cjs/utils/config.js.map +0 -7
  442. package/dist/cjs/utils/constants.d.ts +0 -76
  443. package/dist/cjs/utils/constants.js +0 -382
  444. package/dist/cjs/utils/constants.js.map +0 -7
  445. package/dist/cjs/utils/errors.d.ts +0 -42
  446. package/dist/cjs/utils/errors.js +0 -70
  447. package/dist/cjs/utils/errors.js.map +0 -7
  448. package/dist/cjs/utils/validation.js +0 -67
  449. package/dist/cjs/utils/validation.js.map +0 -7
  450. package/dist/esm/client.d.ts +0 -861
  451. package/dist/esm/client.js +0 -1967
  452. package/dist/esm/client.js.map +0 -7
  453. package/dist/esm/contracts/deepbook/account.d.ts +0 -105
  454. package/dist/esm/contracts/deepbook/account.js +0 -133
  455. package/dist/esm/contracts/deepbook/account.js.map +0 -7
  456. package/dist/esm/contracts/deepbook/balance_manager.d.ts +0 -268
  457. package/dist/esm/contracts/deepbook/balance_manager.js +0 -331
  458. package/dist/esm/contracts/deepbook/balance_manager.js.map +0 -7
  459. package/dist/esm/contracts/deepbook/balances.d.ts +0 -10
  460. package/dist/esm/contracts/deepbook/balances.js +0 -15
  461. package/dist/esm/contracts/deepbook/balances.js.map +0 -7
  462. package/dist/esm/contracts/deepbook/big_vector.d.ts +0 -62
  463. package/dist/esm/contracts/deepbook/big_vector.js +0 -50
  464. package/dist/esm/contracts/deepbook/big_vector.js.map +0 -7
  465. package/dist/esm/contracts/deepbook/book.d.ts +0 -34
  466. package/dist/esm/contracts/deepbook/book.js +0 -20
  467. package/dist/esm/contracts/deepbook/book.js.map +0 -7
  468. package/dist/esm/contracts/deepbook/constants.d.ts +0 -176
  469. package/dist/esm/contracts/deepbook/constants.js +0 -318
  470. package/dist/esm/contracts/deepbook/constants.js.map +0 -7
  471. package/dist/esm/contracts/deepbook/deep_price.d.ts +0 -60
  472. package/dist/esm/contracts/deepbook/deep_price.js +0 -67
  473. package/dist/esm/contracts/deepbook/deep_price.js.map +0 -7
  474. package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  475. package/dist/esm/contracts/deepbook/deps/std/type_name.js +0 -22
  476. package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +0 -7
  477. package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  478. package/dist/esm/contracts/deepbook/deps/sui/bag.js +0 -17
  479. package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +0 -7
  480. package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  481. package/dist/esm/contracts/deepbook/deps/sui/balance.js +0 -13
  482. package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +0 -7
  483. package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +0 -5
  484. package/dist/esm/contracts/deepbook/deps/sui/object.js +0 -13
  485. package/dist/esm/contracts/deepbook/deps/sui/object.js.map +0 -7
  486. package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +0 -28
  487. package/dist/esm/contracts/deepbook/deps/sui/table.js +0 -17
  488. package/dist/esm/contracts/deepbook/deps/sui/table.js.map +0 -7
  489. package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  490. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +0 -25
  491. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  492. package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  493. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +0 -15
  494. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  495. package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  496. package/dist/esm/contracts/deepbook/deps/sui/versioned.js +0 -15
  497. package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  498. package/dist/esm/contracts/deepbook/ewma.d.ts +0 -17
  499. package/dist/esm/contracts/deepbook/ewma.js +0 -19
  500. package/dist/esm/contracts/deepbook/ewma.js.map +0 -7
  501. package/dist/esm/contracts/deepbook/fill.d.ts +0 -153
  502. package/dist/esm/contracts/deepbook/fill.js +0 -221
  503. package/dist/esm/contracts/deepbook/fill.js.map +0 -7
  504. package/dist/esm/contracts/deepbook/governance.d.ts +0 -63
  505. package/dist/esm/contracts/deepbook/governance.js +0 -49
  506. package/dist/esm/contracts/deepbook/governance.js.map +0 -7
  507. package/dist/esm/contracts/deepbook/history.d.ts +0 -60
  508. package/dist/esm/contracts/deepbook/history.js +0 -48
  509. package/dist/esm/contracts/deepbook/history.js.map +0 -7
  510. package/dist/esm/contracts/deepbook/math.d.ts +0 -94
  511. package/dist/esm/contracts/deepbook/math.js +0 -112
  512. package/dist/esm/contracts/deepbook/math.js.map +0 -7
  513. package/dist/esm/contracts/deepbook/order.d.ts +0 -135
  514. package/dist/esm/contracts/deepbook/order.js +0 -188
  515. package/dist/esm/contracts/deepbook/order.js.map +0 -7
  516. package/dist/esm/contracts/deepbook/order_info.d.ts +0 -296
  517. package/dist/esm/contracts/deepbook/order_info.js +0 -356
  518. package/dist/esm/contracts/deepbook/order_info.js.map +0 -7
  519. package/dist/esm/contracts/deepbook/order_query.d.ts +0 -85
  520. package/dist/esm/contracts/deepbook/order_query.js +0 -66
  521. package/dist/esm/contracts/deepbook/order_query.js.map +0 -7
  522. package/dist/esm/contracts/deepbook/pool.d.ts +0 -1218
  523. package/dist/esm/contracts/deepbook/pool.js +0 -1206
  524. package/dist/esm/contracts/deepbook/pool.js.map +0 -7
  525. package/dist/esm/contracts/deepbook/registry.d.ts +0 -134
  526. package/dist/esm/contracts/deepbook/registry.js +0 -152
  527. package/dist/esm/contracts/deepbook/registry.js.map +0 -7
  528. package/dist/esm/contracts/deepbook/state.d.ts +0 -117
  529. package/dist/esm/contracts/deepbook/state.js +0 -74
  530. package/dist/esm/contracts/deepbook/state.js.map +0 -7
  531. package/dist/esm/contracts/deepbook/trade_params.d.ts +0 -7
  532. package/dist/esm/contracts/deepbook/trade_params.js +0 -15
  533. package/dist/esm/contracts/deepbook/trade_params.js.map +0 -7
  534. package/dist/esm/contracts/deepbook/vault.d.ts +0 -30
  535. package/dist/esm/contracts/deepbook/vault.js +0 -35
  536. package/dist/esm/contracts/deepbook/vault.js.map +0 -7
  537. package/dist/esm/contracts/utils/index.d.ts +0 -25
  538. package/dist/esm/contracts/utils/index.js +0 -128
  539. package/dist/esm/contracts/utils/index.js.map +0 -7
  540. package/dist/esm/index.d.ts +0 -23
  541. package/dist/esm/index.js +0 -81
  542. package/dist/esm/index.js.map +0 -7
  543. package/dist/esm/package.json +0 -4
  544. package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
  545. package/dist/esm/pyth/PriceServiceConnection.js +0 -38
  546. package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
  547. package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
  548. package/dist/esm/pyth/pyth-helpers.js +0 -16
  549. package/dist/esm/pyth/pyth-helpers.js.map +0 -7
  550. package/dist/esm/pyth/pyth.d.ts +0 -65
  551. package/dist/esm/pyth/pyth.js +0 -249
  552. package/dist/esm/pyth/pyth.js.map +0 -7
  553. package/dist/esm/transactions/balanceManager.d.ts +0 -168
  554. package/dist/esm/transactions/balanceManager.js +0 -364
  555. package/dist/esm/transactions/balanceManager.js.map +0 -7
  556. package/dist/esm/transactions/deepbook.d.ts +0 -477
  557. package/dist/esm/transactions/deepbook.js +0 -1321
  558. package/dist/esm/transactions/deepbook.js.map +0 -7
  559. package/dist/esm/transactions/deepbookAdmin.d.ts +0 -105
  560. package/dist/esm/transactions/deepbookAdmin.js +0 -314
  561. package/dist/esm/transactions/deepbookAdmin.js.map +0 -7
  562. package/dist/esm/transactions/flashLoans.d.ts +0 -56
  563. package/dist/esm/transactions/flashLoans.js +0 -104
  564. package/dist/esm/transactions/flashLoans.js.map +0 -7
  565. package/dist/esm/transactions/governance.d.ts +0 -42
  566. package/dist/esm/transactions/governance.js +0 -115
  567. package/dist/esm/transactions/governance.js.map +0 -7
  568. package/dist/esm/transactions/marginAdmin.d.ts +0 -133
  569. package/dist/esm/transactions/marginAdmin.js +0 -373
  570. package/dist/esm/transactions/marginAdmin.js.map +0 -7
  571. package/dist/esm/transactions/marginLiquidations.d.ts +0 -61
  572. package/dist/esm/transactions/marginLiquidations.js +0 -153
  573. package/dist/esm/transactions/marginLiquidations.js.map +0 -7
  574. package/dist/esm/transactions/marginMaintainer.d.ts +0 -80
  575. package/dist/esm/transactions/marginMaintainer.js +0 -231
  576. package/dist/esm/transactions/marginMaintainer.js.map +0 -7
  577. package/dist/esm/transactions/marginManager.d.ts +0 -236
  578. package/dist/esm/transactions/marginManager.js +0 -668
  579. package/dist/esm/transactions/marginManager.js.map +0 -7
  580. package/dist/esm/transactions/marginPool.d.ts +0 -134
  581. package/dist/esm/transactions/marginPool.js +0 -310
  582. package/dist/esm/transactions/marginPool.js.map +0 -7
  583. package/dist/esm/transactions/marginRegistry.d.ts +0 -94
  584. package/dist/esm/transactions/marginRegistry.js +0 -201
  585. package/dist/esm/transactions/marginRegistry.js.map +0 -7
  586. package/dist/esm/transactions/marginTPSL.d.ts +0 -93
  587. package/dist/esm/transactions/marginTPSL.js +0 -266
  588. package/dist/esm/transactions/marginTPSL.js.map +0 -7
  589. package/dist/esm/transactions/poolProxy.d.ts +0 -104
  590. package/dist/esm/transactions/poolProxy.js +0 -415
  591. package/dist/esm/transactions/poolProxy.js.map +0 -7
  592. package/dist/esm/types/bcs.d.ts +0 -5
  593. package/dist/esm/types/bcs.js +0 -13
  594. package/dist/esm/types/bcs.js.map +0 -7
  595. package/dist/esm/types/index.d.ts +0 -218
  596. package/dist/esm/types/index.js +0 -18
  597. package/dist/esm/types/index.js.map +0 -7
  598. package/dist/esm/utils/config.d.ts +0 -65
  599. package/dist/esm/utils/config.js +0 -135
  600. package/dist/esm/utils/config.js.map +0 -7
  601. package/dist/esm/utils/constants.d.ts +0 -76
  602. package/dist/esm/utils/constants.js +0 -362
  603. package/dist/esm/utils/constants.js.map +0 -7
  604. package/dist/esm/utils/errors.d.ts +0 -42
  605. package/dist/esm/utils/errors.js +0 -50
  606. package/dist/esm/utils/errors.js.map +0 -7
  607. package/dist/esm/utils/validation.d.ts +0 -50
  608. package/dist/esm/utils/validation.js +0 -47
  609. package/dist/esm/utils/validation.js.map +0 -7
  610. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  611. package/dist/tsconfig.tsbuildinfo +0 -1
  612. package/src/contracts/deepbook/deps/sui/object.ts +0 -14
@@ -0,0 +1,62 @@
1
+ import { bcs } from "@haneullabs/haneul/bcs";
2
+ import { Transaction } from "@haneullabs/haneul/transactions";
3
+
4
+ //#region src/queries/tpslQueries.ts
5
+ var TPSLQueries = class {
6
+ #ctx;
7
+ constructor(ctx) {
8
+ this.#ctx = ctx;
9
+ }
10
+ async getConditionalOrderIds(marginManagerKey) {
11
+ const manager = this.#ctx.config.getMarginManager(marginManagerKey);
12
+ const tx = new Transaction();
13
+ tx.add(this.#ctx.marginTPSL.conditionalOrderIds(manager.poolKey, manager.address));
14
+ const res = await this.#ctx.client.core.simulateTransaction({
15
+ transaction: tx,
16
+ include: {
17
+ commandResults: true,
18
+ effects: true
19
+ }
20
+ });
21
+ if (res.FailedTransaction) throw new Error(`Transaction failed: ${res.FailedTransaction.status.error?.message || "Unknown error"}`);
22
+ if (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) throw new Error(`Failed to get conditional order IDs: Unknown error`);
23
+ const bytes = res.commandResults[0].returnValues[0].bcs;
24
+ return bcs.vector(bcs.u64()).parse(bytes).map((id) => id.toString());
25
+ }
26
+ async getLowestTriggerAbovePrice(marginManagerKey) {
27
+ const manager = this.#ctx.config.getMarginManager(marginManagerKey);
28
+ const tx = new Transaction();
29
+ tx.add(this.#ctx.marginTPSL.lowestTriggerAbovePrice(manager.poolKey, manager.address));
30
+ const res = await this.#ctx.client.core.simulateTransaction({
31
+ transaction: tx,
32
+ include: {
33
+ commandResults: true,
34
+ effects: true
35
+ }
36
+ });
37
+ if (res.FailedTransaction) throw new Error(`Transaction failed: ${res.FailedTransaction.status.error?.message || "Unknown error"}`);
38
+ if (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) throw new Error(`Failed to get lowest trigger above price: Unknown error`);
39
+ const bytes = res.commandResults[0].returnValues[0].bcs;
40
+ return BigInt(bcs.U64.parse(bytes));
41
+ }
42
+ async getHighestTriggerBelowPrice(marginManagerKey) {
43
+ const manager = this.#ctx.config.getMarginManager(marginManagerKey);
44
+ const tx = new Transaction();
45
+ tx.add(this.#ctx.marginTPSL.highestTriggerBelowPrice(manager.poolKey, manager.address));
46
+ const res = await this.#ctx.client.core.simulateTransaction({
47
+ transaction: tx,
48
+ include: {
49
+ commandResults: true,
50
+ effects: true
51
+ }
52
+ });
53
+ if (res.FailedTransaction) throw new Error(`Transaction failed: ${res.FailedTransaction.status.error?.message || "Unknown error"}`);
54
+ if (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) throw new Error(`Failed to get highest trigger below price: Unknown error`);
55
+ const bytes = res.commandResults[0].returnValues[0].bcs;
56
+ return BigInt(bcs.U64.parse(bytes));
57
+ }
58
+ };
59
+
60
+ //#endregion
61
+ export { TPSLQueries };
62
+ //# sourceMappingURL=tpslQueries.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tpslQueries.mjs","names":["#ctx"],"sources":["../../src/queries/tpslQueries.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport { Transaction } from '@haneullabs/haneul/transactions';\n\nimport type { QueryContext } from './context.js';\n\nexport class TPSLQueries {\n\t#ctx: QueryContext;\n\n\tconstructor(ctx: QueryContext) {\n\t\tthis.#ctx = ctx;\n\t}\n\n\tasync getConditionalOrderIds(marginManagerKey: string): Promise<string[]> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.conditionalOrderIds(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get conditional order IDs: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\tconst orderIds = bcs.vector(bcs.u64()).parse(bytes);\n\t\treturn orderIds.map((id) => id.toString());\n\t}\n\n\tasync getLowestTriggerAbovePrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.lowestTriggerAbovePrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get lowest trigger above price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n\n\tasync getHighestTriggerBelowPrice(marginManagerKey: string): Promise<bigint> {\n\t\tconst manager = this.#ctx.config.getMarginManager(marginManagerKey);\n\t\tconst tx = new Transaction();\n\t\ttx.add(this.#ctx.marginTPSL.highestTriggerBelowPrice(manager.poolKey, manager.address));\n\n\t\tconst res = await this.#ctx.client.core.simulateTransaction({\n\t\t\ttransaction: tx,\n\t\t\tinclude: { commandResults: true, effects: true },\n\t\t});\n\n\t\tif (res.FailedTransaction) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction failed: ${res.FailedTransaction.status.error?.message || 'Unknown error'}`,\n\t\t\t);\n\t\t}\n\n\t\tif (!res.commandResults || !res.commandResults[0] || !res.commandResults[0].returnValues) {\n\t\t\tthrow new Error(`Failed to get highest trigger below price: Unknown error`);\n\t\t}\n\n\t\tconst bytes = res.commandResults[0].returnValues[0].bcs;\n\t\treturn BigInt(bcs.U64.parse(bytes));\n\t}\n}\n"],"mappings":";;;;AAQA,IAAa,cAAb,MAAyB;CACxB;CAEA,YAAY,KAAmB;AAC9B,QAAKA,MAAO;;CAGb,MAAM,uBAAuB,kBAA6C;EACzE,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,oBAAoB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAElF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,qDAAqD;EAGtE,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AAEpD,SADiB,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CACnC,KAAK,OAAO,GAAG,UAAU,CAAC;;CAG3C,MAAM,2BAA2B,kBAA2C;EAC3E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,wBAAwB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEtF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,0DAA0D;EAG3E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC;;CAGpC,MAAM,4BAA4B,kBAA2C;EAC5E,MAAM,UAAU,MAAKA,IAAK,OAAO,iBAAiB,iBAAiB;EACnE,MAAM,KAAK,IAAI,aAAa;AAC5B,KAAG,IAAI,MAAKA,IAAK,WAAW,yBAAyB,QAAQ,SAAS,QAAQ,QAAQ,CAAC;EAEvF,MAAM,MAAM,MAAM,MAAKA,IAAK,OAAO,KAAK,oBAAoB;GAC3D,aAAa;GACb,SAAS;IAAE,gBAAgB;IAAM,SAAS;IAAM;GAChD,CAAC;AAEF,MAAI,IAAI,kBACP,OAAM,IAAI,MACT,uBAAuB,IAAI,kBAAkB,OAAO,OAAO,WAAW,kBACtE;AAGF,MAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,eAAe,GAAG,aAC3E,OAAM,IAAI,MAAM,2DAA2D;EAG5E,MAAM,QAAQ,IAAI,eAAe,GAAG,aAAa,GAAG;AACpD,SAAO,OAAO,IAAI,IAAI,MAAM,MAAM,CAAC"}
@@ -0,0 +1,174 @@
1
+ import { DeepBookConfig } from "../utils/config.mjs";
2
+ import * as _haneullabs_haneul_transactions18 from "@haneullabs/haneul/transactions";
3
+ import { Transaction, TransactionArgument } from "@haneullabs/haneul/transactions";
4
+
5
+ //#region src/transactions/balanceManager.d.ts
6
+ /**
7
+ * BalanceManagerContract class for managing BalanceManager operations.
8
+ */
9
+ declare class BalanceManagerContract {
10
+ #private;
11
+ /**
12
+ * @param {DeepBookConfig} config Configuration for BalanceManagerContract
13
+ */
14
+ constructor(config: DeepBookConfig);
15
+ /**
16
+ * @description Create and share a new BalanceManager
17
+ * @returns A function that takes a Transaction object
18
+ */
19
+ createAndShareBalanceManager: () => (tx: Transaction) => void;
20
+ /**
21
+ * @description Create a new BalanceManager, manually set the owner. Returns the manager.
22
+ * @returns A function that takes a Transaction object
23
+ */
24
+ createBalanceManagerWithOwner: (ownerAddress: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
25
+ /**
26
+ * @description Share the BalanceManager
27
+ * @param {TransactionArgument} manager The BalanceManager to share
28
+ * @returns A function that takes a Transaction object
29
+ */
30
+ shareBalanceManager: (manager: TransactionArgument) => (tx: Transaction) => void;
31
+ /**
32
+ * @description Deposit funds into the BalanceManager
33
+ * @param {string} managerKey The key of the BalanceManager
34
+ * @param {string} coinKey The key of the coin to deposit
35
+ * @param {number} amountToDeposit The amount to deposit
36
+ * @returns A function that takes a Transaction object
37
+ */
38
+ depositIntoManager: (managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => void;
39
+ /**
40
+ * @description Withdraw funds from the BalanceManager
41
+ * @param {string} managerKey The key of the BalanceManager
42
+ * @param {string} coinKey The key of the coin to withdraw
43
+ * @param {number} amountToWithdraw The amount to withdraw
44
+ * @param {string} recipient The recipient of the withdrawn funds
45
+ * @returns A function that takes a Transaction object
46
+ */
47
+ withdrawFromManager: (managerKey: string, coinKey: string, amountToWithdraw: number, recipient: string) => (tx: Transaction) => void;
48
+ /**
49
+ * @description Withdraw all funds from the BalanceManager
50
+ * @param {string} managerKey The key of the BalanceManager
51
+ * @param {string} coinKey The key of the coin to withdraw
52
+ * @param {string} recipient The recipient of the withdrawn funds
53
+ * @returns A function that takes a Transaction object
54
+ */
55
+ withdrawAllFromManager: (managerKey: string, coinKey: string, recipient: string) => (tx: Transaction) => void;
56
+ /**
57
+ * @description Check the balance of the BalanceManager
58
+ * @param {string} managerKey The key of the BalanceManager
59
+ * @param {string} coinKey The key of the coin to check the balance of
60
+ * @returns A function that takes a Transaction object
61
+ */
62
+ checkManagerBalance: (managerKey: string, coinKey: string) => (tx: Transaction) => void;
63
+ /**
64
+ * @description Generate a trade proof for the BalanceManager. Calls the appropriate function based on whether tradeCap is set.
65
+ * @param {string} managerKey The key of the BalanceManager
66
+ * @returns A function that takes a Transaction object
67
+ */
68
+ generateProof: (managerKey: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
69
+ /**
70
+ * @description Generate a trade proof as the owner
71
+ * @param {string} managerId The ID of the BalanceManager
72
+ * @returns A function that takes a Transaction object
73
+ */
74
+ generateProofAsOwner: (managerId: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
75
+ /**
76
+ * @description Generate a trade proof as a trader
77
+ * @param {string} managerId The ID of the BalanceManager
78
+ * @param {string} tradeCapId The ID of the tradeCap
79
+ * @returns A function that takes a Transaction object
80
+ */
81
+ generateProofAsTrader: (managerId: string, tradeCapId: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
82
+ /**
83
+ * @description Mint a TradeCap
84
+ * @param {string} managerKey The name of the BalanceManager
85
+ * @returns A function that takes a Transaction object
86
+ */
87
+ mintTradeCap: (managerKey: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
88
+ /**
89
+ * @description Mint a DepositCap
90
+ * @param {string} managerKey The name of the BalanceManager
91
+ * @returns A function that takes a Transaction object
92
+ */
93
+ mintDepositCap: (managerKey: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
94
+ /**
95
+ * @description Mint a WithdrawalCap
96
+ * @param {string} managerKey The name of the BalanceManager
97
+ * @returns A function that takes a Transaction object
98
+ */
99
+ mintWithdrawalCap: (managerKey: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
100
+ /**
101
+ * @description Deposit using the DepositCap
102
+ * @param {string} managerKey The name of the BalanceManager
103
+ * @param {string} coinKey The name of the coin to deposit
104
+ * @param {number} amountToDeposit The amount to deposit
105
+ * @returns A function that takes a Transaction object
106
+ */
107
+ depositWithCap: (managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => void;
108
+ /**
109
+ * @description Withdraw using the WithdrawCap
110
+ * @param {string} managerKey The name of the BalanceManager
111
+ * @param {string} coinKey The name of the coin to withdraw
112
+ * @param {number} amountToWithdraw The amount to withdraw
113
+ * @returns A function that takes a Transaction object
114
+ */
115
+ withdrawWithCap: (managerKey: string, coinKey: string, amountToWithdraw: number) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
116
+ /**
117
+ * @description Set the referral for the BalanceManager for a specific pool
118
+ * @param {string} managerKey The name of the BalanceManager
119
+ * @param {string} referral The referral (DeepBookPoolReferral) to set the BalanceManager to
120
+ * @param {TransactionArgument} tradeCap The tradeCap for permission checking
121
+ * @returns A function that takes a Transaction object
122
+ */
123
+ setBalanceManagerReferral: (managerKey: string, referral: string, tradeCap: TransactionArgument) => (tx: Transaction) => void;
124
+ /**
125
+ * @description Unset the referral for the BalanceManager for a specific pool
126
+ * @param {string} managerKey The name of the BalanceManager
127
+ * @param {string} poolKey The key of the pool to unset the referral for
128
+ * @param {TransactionArgument} tradeCap The tradeCap for permission checking
129
+ * @returns A function that takes a Transaction object
130
+ */
131
+ unsetBalanceManagerReferral: (managerKey: string, poolKey: string, tradeCap: TransactionArgument) => (tx: Transaction) => void;
132
+ registerBalanceManager: (managerKey: string) => (tx: Transaction) => void;
133
+ /**
134
+ * @description Get the owner of the BalanceManager
135
+ * @param {string} managerKey The key of the BalanceManager
136
+ * @returns A function that takes a Transaction object
137
+ */
138
+ owner: (managerKey: string) => (tx: Transaction) => void;
139
+ /**
140
+ * @description Get the ID of the BalanceManager
141
+ * @param {string} managerKey The key of the BalanceManager
142
+ * @returns A function that takes a Transaction object
143
+ */
144
+ id: (managerKey: string) => (tx: Transaction) => void;
145
+ /**
146
+ * @description Get the owner of the referral (DeepBookPoolReferral)
147
+ * @param {string} referralId The ID of the referral to get the owner of
148
+ * @returns A function that takes a Transaction object
149
+ */
150
+ balanceManagerReferralOwner: (referralId: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
151
+ /**
152
+ * @description Get the pool ID associated with a referral (DeepBookPoolReferral)
153
+ * @param {string} referralId The ID of the referral to get the pool ID of
154
+ * @returns A function that takes a Transaction object
155
+ */
156
+ balanceManagerReferralPoolId: (referralId: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
157
+ /**
158
+ * @description Get the referral ID from the balance manager for a specific pool
159
+ * @param {string} managerKey The name of the BalanceManager
160
+ * @param {string} poolKey Key of the pool to get the referral for
161
+ * @returns A function that takes a Transaction object
162
+ */
163
+ getBalanceManagerReferralId: (managerKey: string, poolKey: string) => (tx: Transaction) => _haneullabs_haneul_transactions18.TransactionResult;
164
+ /**
165
+ * @description Revoke a TradeCap. This also revokes the associated DepositCap and WithdrawCap.
166
+ * @param {string} managerKey The name of the BalanceManager
167
+ * @param {string} tradeCapId The ID of the TradeCap to revoke
168
+ * @returns A function that takes a Transaction object
169
+ */
170
+ revokeTradeCap: (managerKey: string, tradeCapId: string) => (tx: Transaction) => void;
171
+ }
172
+ //#endregion
173
+ export { BalanceManagerContract };
174
+ //# sourceMappingURL=balanceManager.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceManager.d.mts","names":[],"sources":["../../src/transactions/balanceManager.ts"],"mappings":";;;;;;;;cAWa,sBAAA;EAAA;;;;cAMA,MAAA,EAAQ,cAAA;EAwBsD;;;;EAhB1E,4BAAA,SAAsC,EAAA,EAAI,WAAA;EA4FwB;;;;EA5ElE,6BAAA,GAAiC,YAAA,cAA0B,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EA2HZ;;;;;EA/G9D,mBAAA,GAAuB,OAAA,EAAS,mBAAA,MAAyB,EAAA,EAAI,WAAA;EAsJJ;;;;;;;EAvIzD,kBAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,eAAA,cAA6B,EAAA,EAAI,WAAA;EA2OvB;;;;;;;;EAlNjD,mBAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,gBAAA,UAA0B,SAAA,cAC/D,EAAA,EAAI,WAAA;EAyRsE;;;;;;;EArQ5E,sBAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,SAAA,cAAuB,EAAA,EAAI,WAAA;EApGtD;;;;;;EAsHZ,mBAAA,GAAuB,UAAA,UAAoB,OAAA,cAAqB,EAAA,EAAI,WAAA;EA9FT;;;;;EA6G3D,aAAA,GAAiB,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAjGC;;;;;EA+GzD,oBAAA,GAAwB,SAAA,cAAuB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EA/FM;;;;;;EA4GpE,qBAAA,GAAyB,SAAA,UAAmB,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAjFjF;;;;;EA6FF,YAAA,GAAgB,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAxEO;;;;;EAsF9D,cAAA,GAAkB,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EArDzD;;;;;EAmEA,iBAAA,GAAqB,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EArDpC;;;;;;;EAqExB,cAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,eAAA,cAA6B,EAAA,EAAI,WAAA;EAzDJ;;;;;;;EAqFpE,eAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,gBAAA,cAA8B,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EA5DlE;;;;;;;EAoFlB,yBAAA,GACE,UAAA,UAAoB,QAAA,UAAkB,QAAA,EAAU,mBAAA,MAAyB,EAAA,EAAI,WAAA;EAvEnB;;;;;;;EAsF5D,2BAAA,GACE,UAAA,UAAoB,OAAA,UAAiB,QAAA,EAAU,mBAAA,MAAyB,EAAA,EAAI,WAAA;EAS9E,sBAAA,GAA0B,UAAA,cAAwB,EAAA,EAAI,WAAA;EAlDhC;;;;;EA+DtB,KAAA,GAAS,UAAA,cAAwB,EAAA,EAAI,WAAA;EAtCnC;;;;;EAmDF,EAAA,GAAM,UAAA,cAAwB,EAAA,EAAI,WAAA;EApClC;;;;;EAiDA,2BAAA,GAA+B,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAhDI;;;;;EA4D1E,4BAAA,GAAgC,UAAA,cAAwB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAtC9D;;;;;;EAmDT,2BAAA,GAA+B,UAAA,UAAoB,OAAA,cAAqB,EAAA,EAAI,WAAA,KAAW,iCAAA,CAAA,iBAAA;EAzBvF;;;;;;EAwCA,cAAA,GAAkB,UAAA,UAAoB,UAAA,cAAwB,EAAA,EAAI,WAAA;AAAA"}
@@ -0,0 +1,234 @@
1
+ import { convertQuantity } from "../utils/conversion.mjs";
2
+ import { coinWithBalance } from "@haneullabs/haneul/transactions";
3
+
4
+ //#region src/transactions/balanceManager.ts
5
+ /**
6
+ * BalanceManagerContract class for managing BalanceManager operations.
7
+ */
8
+ var BalanceManagerContract = class {
9
+ #config;
10
+ /**
11
+ * @param {DeepBookConfig} config Configuration for BalanceManagerContract
12
+ */
13
+ constructor(config) {
14
+ this.createAndShareBalanceManager = () => (tx) => {
15
+ const manager = tx.moveCall({ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new` });
16
+ tx.moveCall({
17
+ target: "0x2::transfer::public_share_object",
18
+ arguments: [manager],
19
+ typeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`]
20
+ });
21
+ };
22
+ this.createBalanceManagerWithOwner = (ownerAddress) => (tx) => {
23
+ return tx.moveCall({
24
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new_with_custom_owner`,
25
+ arguments: [tx.pure.address(ownerAddress)]
26
+ });
27
+ };
28
+ this.shareBalanceManager = (manager) => (tx) => {
29
+ tx.moveCall({
30
+ target: "0x2::transfer::public_share_object",
31
+ arguments: [manager],
32
+ typeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`]
33
+ });
34
+ };
35
+ this.depositIntoManager = (managerKey, coinKey, amountToDeposit) => (tx) => {
36
+ tx.setSenderIfNotSet(this.#config.address);
37
+ const managerId = this.#config.getBalanceManager(managerKey).address;
38
+ const coin = this.#config.getCoin(coinKey);
39
+ const depositInput = convertQuantity(amountToDeposit, coin.scalar);
40
+ const deposit = coinWithBalance({
41
+ type: coin.type,
42
+ balance: depositInput
43
+ });
44
+ tx.moveCall({
45
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit`,
46
+ arguments: [tx.object(managerId), deposit],
47
+ typeArguments: [coin.type]
48
+ });
49
+ };
50
+ this.withdrawFromManager = (managerKey, coinKey, amountToWithdraw, recipient) => (tx) => {
51
+ const managerId = this.#config.getBalanceManager(managerKey).address;
52
+ const coin = this.#config.getCoin(coinKey);
53
+ const withdrawInput = convertQuantity(amountToWithdraw, coin.scalar);
54
+ const coinObject = tx.moveCall({
55
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw`,
56
+ arguments: [tx.object(managerId), tx.pure.u64(withdrawInput)],
57
+ typeArguments: [coin.type]
58
+ });
59
+ tx.transferObjects([coinObject], recipient);
60
+ };
61
+ this.withdrawAllFromManager = (managerKey, coinKey, recipient) => (tx) => {
62
+ const managerId = this.#config.getBalanceManager(managerKey).address;
63
+ const coin = this.#config.getCoin(coinKey);
64
+ const withdrawalCoin = tx.moveCall({
65
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_all`,
66
+ arguments: [tx.object(managerId)],
67
+ typeArguments: [coin.type]
68
+ });
69
+ tx.transferObjects([withdrawalCoin], recipient);
70
+ };
71
+ this.checkManagerBalance = (managerKey, coinKey) => (tx) => {
72
+ const managerId = this.#config.getBalanceManager(managerKey).address;
73
+ const coin = this.#config.getCoin(coinKey);
74
+ tx.moveCall({
75
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance`,
76
+ arguments: [tx.object(managerId)],
77
+ typeArguments: [coin.type]
78
+ });
79
+ };
80
+ this.generateProof = (managerKey) => (tx) => {
81
+ const balanceManager = this.#config.getBalanceManager(managerKey);
82
+ return tx.add(balanceManager.tradeCap ? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap) : this.generateProofAsOwner(balanceManager.address));
83
+ };
84
+ this.generateProofAsOwner = (managerId) => (tx) => {
85
+ return tx.moveCall({
86
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_owner`,
87
+ arguments: [tx.object(managerId)]
88
+ });
89
+ };
90
+ this.generateProofAsTrader = (managerId, tradeCapId) => (tx) => {
91
+ return tx.moveCall({
92
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_trader`,
93
+ arguments: [tx.object(managerId), tx.object(tradeCapId)]
94
+ });
95
+ };
96
+ this.mintTradeCap = (managerKey) => (tx) => {
97
+ const managerId = this.#config.getBalanceManager(managerKey).address;
98
+ return tx.moveCall({
99
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_trade_cap`,
100
+ arguments: [tx.object(managerId)]
101
+ });
102
+ };
103
+ this.mintDepositCap = (managerKey) => (tx) => {
104
+ const managerId = this.#config.getBalanceManager(managerKey).address;
105
+ return tx.moveCall({
106
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_deposit_cap`,
107
+ arguments: [tx.object(managerId)]
108
+ });
109
+ };
110
+ this.mintWithdrawalCap = (managerKey) => (tx) => {
111
+ const managerId = this.#config.getBalanceManager(managerKey).address;
112
+ return tx.moveCall({
113
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_withdraw_cap`,
114
+ arguments: [tx.object(managerId)]
115
+ });
116
+ };
117
+ this.depositWithCap = (managerKey, coinKey, amountToDeposit) => (tx) => {
118
+ tx.setSenderIfNotSet(this.#config.address);
119
+ const manager = this.#config.getBalanceManager(managerKey);
120
+ const managerId = manager.address;
121
+ if (!manager.depositCap) throw new Error(`DepositCap not set for ${managerKey}`);
122
+ const depositCapId = manager.depositCap;
123
+ const coin = this.#config.getCoin(coinKey);
124
+ const depositInput = convertQuantity(amountToDeposit, coin.scalar);
125
+ const deposit = coinWithBalance({
126
+ type: coin.type,
127
+ balance: depositInput
128
+ });
129
+ tx.moveCall({
130
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit_with_cap`,
131
+ arguments: [
132
+ tx.object(managerId),
133
+ tx.object(depositCapId),
134
+ deposit
135
+ ],
136
+ typeArguments: [coin.type]
137
+ });
138
+ };
139
+ this.withdrawWithCap = (managerKey, coinKey, amountToWithdraw) => (tx) => {
140
+ tx.setSenderIfNotSet(this.#config.address);
141
+ const manager = this.#config.getBalanceManager(managerKey);
142
+ const managerId = manager.address;
143
+ if (!manager.withdrawCap) throw new Error(`WithdrawCap not set for ${managerKey}`);
144
+ const withdrawCapId = manager.withdrawCap;
145
+ const coin = this.#config.getCoin(coinKey);
146
+ const withdrawAmount = convertQuantity(amountToWithdraw, coin.scalar);
147
+ return tx.moveCall({
148
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_with_cap`,
149
+ arguments: [
150
+ tx.object(managerId),
151
+ tx.object(withdrawCapId),
152
+ tx.pure.u64(withdrawAmount)
153
+ ],
154
+ typeArguments: [coin.type]
155
+ });
156
+ };
157
+ this.setBalanceManagerReferral = (managerKey, referral, tradeCap) => (tx) => {
158
+ const managerId = this.#config.getBalanceManager(managerKey).address;
159
+ tx.moveCall({
160
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::set_balance_manager_referral`,
161
+ arguments: [
162
+ tx.object(managerId),
163
+ tx.object(referral),
164
+ tradeCap
165
+ ]
166
+ });
167
+ };
168
+ this.unsetBalanceManagerReferral = (managerKey, poolKey, tradeCap) => (tx) => {
169
+ const managerId = this.#config.getBalanceManager(managerKey).address;
170
+ const poolId = this.#config.getPool(poolKey).address;
171
+ tx.moveCall({
172
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::unset_balance_manager_referral`,
173
+ arguments: [
174
+ tx.object(managerId),
175
+ tx.pure.id(poolId),
176
+ tradeCap
177
+ ]
178
+ });
179
+ };
180
+ this.registerBalanceManager = (managerKey) => (tx) => {
181
+ const managerId = this.#config.getBalanceManager(managerKey).address;
182
+ tx.moveCall({
183
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::register_balance_manager`,
184
+ arguments: [tx.object(managerId), tx.object(this.#config.REGISTRY_ID)]
185
+ });
186
+ };
187
+ this.owner = (managerKey) => (tx) => {
188
+ const managerId = this.#config.getBalanceManager(managerKey).address;
189
+ tx.moveCall({
190
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::owner`,
191
+ arguments: [tx.object(managerId)]
192
+ });
193
+ };
194
+ this.id = (managerKey) => (tx) => {
195
+ const managerId = this.#config.getBalanceManager(managerKey).address;
196
+ tx.moveCall({
197
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::id`,
198
+ arguments: [tx.object(managerId)]
199
+ });
200
+ };
201
+ this.balanceManagerReferralOwner = (referralId) => (tx) => {
202
+ return tx.moveCall({
203
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_owner`,
204
+ arguments: [tx.object(referralId)]
205
+ });
206
+ };
207
+ this.balanceManagerReferralPoolId = (referralId) => (tx) => {
208
+ return tx.moveCall({
209
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_pool_id`,
210
+ arguments: [tx.object(referralId)]
211
+ });
212
+ };
213
+ this.getBalanceManagerReferralId = (managerKey, poolKey) => (tx) => {
214
+ const managerId = this.#config.getBalanceManager(managerKey).address;
215
+ const poolId = this.#config.getPool(poolKey).address;
216
+ return tx.moveCall({
217
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::get_balance_manager_referral_id`,
218
+ arguments: [tx.object(managerId), tx.pure.id(poolId)]
219
+ });
220
+ };
221
+ this.revokeTradeCap = (managerKey, tradeCapId) => (tx) => {
222
+ const managerId = this.#config.getBalanceManager(managerKey).address;
223
+ tx.moveCall({
224
+ target: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::revoke_trade_cap`,
225
+ arguments: [tx.object(managerId), tx.pure.id(tradeCapId)]
226
+ });
227
+ };
228
+ this.#config = config;
229
+ }
230
+ };
231
+
232
+ //#endregion
233
+ export { BalanceManagerContract };
234
+ //# sourceMappingURL=balanceManager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceManager.mjs","names":["#config"],"sources":["../../src/transactions/balanceManager.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { coinWithBalance } from '@haneullabs/haneul/transactions';\nimport type { Transaction, TransactionArgument } from '@haneullabs/haneul/transactions';\n\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { convertQuantity } from '../utils/conversion.js';\n\n/**\n * BalanceManagerContract class for managing BalanceManager operations.\n */\nexport class BalanceManagerContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for BalanceManagerContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @description Create and share a new BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateAndShareBalanceManager = () => (tx: Transaction) => {\n\t\tconst manager = tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new`,\n\t\t});\n\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Create a new BalanceManager, manually set the owner. Returns the manager.\n\t * @returns A function that takes a Transaction object\n\t */\n\tcreateBalanceManagerWithOwner = (ownerAddress: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::new_with_custom_owner`,\n\t\t\targuments: [tx.pure.address(ownerAddress)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Share the BalanceManager\n\t * @param {TransactionArgument} manager The BalanceManager to share\n\t * @returns A function that takes a Transaction object\n\t */\n\tshareBalanceManager = (manager: TransactionArgument) => (tx: Transaction) => {\n\t\ttx.moveCall({\n\t\t\ttarget: '0x2::transfer::public_share_object',\n\t\t\targuments: [manager],\n\t\t\ttypeArguments: [`${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::BalanceManager`],\n\t\t});\n\t};\n\n\t/**\n\t * @description Deposit funds into the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositIntoManager =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit`,\n\t\t\t\targuments: [tx.object(managerId), deposit],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Withdraw funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawFromManager =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number, recipient: string) =>\n\t\t(tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawInput = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\tconst coinObject = tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw`,\n\t\t\t\targuments: [tx.object(managerId), tx.pure.u64(withdrawInput)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\n\t\t\ttx.transferObjects([coinObject], recipient);\n\t\t};\n\n\t/**\n\t * @description Withdraw all funds from the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to withdraw\n\t * @param {string} recipient The recipient of the withdrawn funds\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawAllFromManager =\n\t\t(managerKey: string, coinKey: string, recipient: string) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawalCoin = tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_all`,\n\t\t\t\targuments: [tx.object(managerId)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\n\t\t\ttx.transferObjects([withdrawalCoin], recipient);\n\t\t};\n\n\t/**\n\t * @description Check the balance of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @param {string} coinKey The key of the coin to check the balance of\n\t * @returns A function that takes a Transaction object\n\t */\n\tcheckManagerBalance = (managerKey: string, coinKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst coin = this.#config.getCoin(coinKey);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t\ttypeArguments: [coin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Generate a trade proof for the BalanceManager. Calls the appropriate function based on whether tradeCap is set.\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProof = (managerKey: string) => (tx: Transaction) => {\n\t\tconst balanceManager = this.#config.getBalanceManager(managerKey);\n\t\treturn tx.add(\n\t\t\tbalanceManager.tradeCap\n\t\t\t\t? this.generateProofAsTrader(balanceManager.address, balanceManager.tradeCap)\n\t\t\t\t: this.generateProofAsOwner(balanceManager.address),\n\t\t);\n\t};\n\n\t/**\n\t * @description Generate a trade proof as the owner\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsOwner = (managerId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_owner`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Generate a trade proof as a trader\n\t * @param {string} managerId The ID of the BalanceManager\n\t * @param {string} tradeCapId The ID of the tradeCap\n\t * @returns A function that takes a Transaction object\n\t */\n\tgenerateProofAsTrader = (managerId: string, tradeCapId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::generate_proof_as_trader`,\n\t\t\targuments: [tx.object(managerId), tx.object(tradeCapId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a TradeCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintTradeCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_trade_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintDepositCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_deposit_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Mint a WithdrawalCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tmintWithdrawalCap = (managerKey: string) => (tx: Transaction) => {\n\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\tconst managerId = manager.address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::mint_withdraw_cap`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Deposit using the DepositCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to deposit\n\t * @param {number} amountToDeposit The amount to deposit\n\t * @returns A function that takes a Transaction object\n\t */\n\tdepositWithCap =\n\t\t(managerKey: string, coinKey: string, amountToDeposit: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.depositCap) {\n\t\t\t\tthrow new Error(`DepositCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst depositCapId = manager.depositCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst depositInput = convertQuantity(amountToDeposit, coin.scalar);\n\t\t\tconst deposit = coinWithBalance({\n\t\t\t\ttype: coin.type,\n\t\t\t\tbalance: depositInput,\n\t\t\t});\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::deposit_with_cap`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(depositCapId), deposit],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Withdraw using the WithdrawCap\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} coinKey The name of the coin to withdraw\n\t * @param {number} amountToWithdraw The amount to withdraw\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawWithCap =\n\t\t(managerKey: string, coinKey: string, amountToWithdraw: number) => (tx: Transaction) => {\n\t\t\ttx.setSenderIfNotSet(this.#config.address);\n\t\t\tconst manager = this.#config.getBalanceManager(managerKey);\n\t\t\tconst managerId = manager.address;\n\t\t\tif (!manager.withdrawCap) {\n\t\t\t\tthrow new Error(`WithdrawCap not set for ${managerKey}`);\n\t\t\t}\n\t\t\tconst withdrawCapId = manager.withdrawCap;\n\t\t\tconst coin = this.#config.getCoin(coinKey);\n\t\t\tconst withdrawAmount = convertQuantity(amountToWithdraw, coin.scalar);\n\t\t\treturn tx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::withdraw_with_cap`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(withdrawCapId), tx.pure.u64(withdrawAmount)],\n\t\t\t\ttypeArguments: [coin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Set the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} referral The referral (DeepBookPoolReferral) to set the BalanceManager to\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tsetBalanceManagerReferral =\n\t\t(managerKey: string, referral: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::set_balance_manager_referral`,\n\t\t\t\targuments: [tx.object(managerId), tx.object(referral), tradeCap],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Unset the referral for the BalanceManager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey The key of the pool to unset the referral for\n\t * @param {TransactionArgument} tradeCap The tradeCap for permission checking\n\t * @returns A function that takes a Transaction object\n\t */\n\tunsetBalanceManagerReferral =\n\t\t(managerKey: string, poolKey: string, tradeCap: TransactionArgument) => (tx: Transaction) => {\n\t\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::unset_balance_manager_referral`,\n\t\t\t\targuments: [tx.object(managerId), tx.pure.id(poolId), tradeCap],\n\t\t\t});\n\t\t};\n\n\tregisterBalanceManager = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::register_balance_manager`,\n\t\t\targuments: [tx.object(managerId), tx.object(this.#config.REGISTRY_ID)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the owner of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\towner = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::owner`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the ID of the BalanceManager\n\t * @param {string} managerKey The key of the BalanceManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tid = (managerKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::id`,\n\t\t\targuments: [tx.object(managerId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the owner of the referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the owner of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralOwner = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_owner`,\n\t\t\targuments: [tx.object(referralId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the pool ID associated with a referral (DeepBookPoolReferral)\n\t * @param {string} referralId The ID of the referral to get the pool ID of\n\t * @returns A function that takes a Transaction object\n\t */\n\tbalanceManagerReferralPoolId = (referralId: string) => (tx: Transaction) => {\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::balance_manager_referral_pool_id`,\n\t\t\targuments: [tx.object(referralId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Get the referral ID from the balance manager for a specific pool\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} poolKey Key of the pool to get the referral for\n\t * @returns A function that takes a Transaction object\n\t */\n\tgetBalanceManagerReferralId = (managerKey: string, poolKey: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\tconst poolId = this.#config.getPool(poolKey).address;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::get_balance_manager_referral_id`,\n\t\t\targuments: [tx.object(managerId), tx.pure.id(poolId)],\n\t\t});\n\t};\n\n\t/**\n\t * @description Revoke a TradeCap. This also revokes the associated DepositCap and WithdrawCap.\n\t * @param {string} managerKey The name of the BalanceManager\n\t * @param {string} tradeCapId The ID of the TradeCap to revoke\n\t * @returns A function that takes a Transaction object\n\t */\n\trevokeTradeCap = (managerKey: string, tradeCapId: string) => (tx: Transaction) => {\n\t\tconst managerId = this.#config.getBalanceManager(managerKey).address;\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.DEEPBOOK_PACKAGE_ID}::balance_manager::revoke_trade_cap`,\n\t\t\targuments: [tx.object(managerId), tx.pure.id(tradeCapId)],\n\t\t});\n\t};\n}\n"],"mappings":";;;;;;;AAWA,IAAa,yBAAb,MAAoC;CACnC;;;;CAKA,YAAY,QAAwB;6CAQE,OAAoB;GACzD,MAAM,UAAU,GAAG,SAAS,EAC3B,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB,yBAC5C,CAAC;AAEF,MAAG,SAAS;IACX,QAAQ;IACR,WAAW,CAAC,QAAQ;IACpB,eAAe,CAAC,GAAG,MAAKA,OAAQ,oBAAoB,mCAAmC;IACvF,CAAC;;wCAO8B,kBAA0B,OAAoB;AAC9E,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,KAAK,QAAQ,aAAa,CAAC;IAC1C,CAAC;;8BAQoB,aAAkC,OAAoB;AAC5E,MAAG,SAAS;IACX,QAAQ;IACR,WAAW,CAAC,QAAQ;IACpB,eAAe,CAAC,GAAG,MAAKA,OAAQ,oBAAoB,mCAAmC;IACvF,CAAC;;6BAWD,YAAoB,SAAiB,qBAA6B,OAAoB;AACtF,MAAG,kBAAkB,MAAKA,OAAQ,QAAQ;GAC1C,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,eAAe,gBAAgB,iBAAiB,KAAK,OAAO;GAClE,MAAM,UAAU,gBAAgB;IAC/B,MAAM,KAAK;IACX,SAAS;IACT,CAAC;AAEF,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,QAAQ;IAC1C,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;;8BAYF,YAAoB,SAAiB,kBAA0B,eAC/D,OAAoB;GACpB,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,gBAAgB,gBAAgB,kBAAkB,KAAK,OAAO;GACpE,MAAM,aAAa,GAAG,SAAS;IAC9B,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,KAAK,IAAI,cAAc,CAAC;IAC7D,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;AAEF,MAAG,gBAAgB,CAAC,WAAW,EAAE,UAAU;;iCAW3C,YAAoB,SAAiB,eAAuB,OAAoB;GAChF,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,iBAAiB,GAAG,SAAS;IAClC,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;AAEF,MAAG,gBAAgB,CAAC,eAAe,EAAE,UAAU;;8BAS1B,YAAoB,aAAqB,OAAoB;GACnF,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;AAC1C,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;;wBAQc,gBAAwB,OAAoB;GAC5D,MAAM,iBAAiB,MAAKA,OAAQ,kBAAkB,WAAW;AACjE,UAAO,GAAG,IACT,eAAe,WACZ,KAAK,sBAAsB,eAAe,SAAS,eAAe,SAAS,GAC3E,KAAK,qBAAqB,eAAe,QAAQ,CACpD;;+BAQsB,eAAuB,OAAoB;AAClE,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;gCASsB,WAAmB,gBAAwB,OAAoB;AACvF,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,OAAO,WAAW,CAAC;IACxD,CAAC;;uBAQa,gBAAwB,OAAoB;GAE3D,MAAM,YADU,MAAKA,OAAQ,kBAAkB,WAAW,CAChC;AAC1B,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;yBAQe,gBAAwB,OAAoB;GAE7D,MAAM,YADU,MAAKA,OAAQ,kBAAkB,WAAW,CAChC;AAC1B,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;4BAQkB,gBAAwB,OAAoB;GAEhE,MAAM,YADU,MAAKA,OAAQ,kBAAkB,WAAW,CAChC;AAC1B,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;yBAWD,YAAoB,SAAiB,qBAA6B,OAAoB;AACtF,MAAG,kBAAkB,MAAKA,OAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,kBAAkB,WAAW;GAC1D,MAAM,YAAY,QAAQ;AAC1B,OAAI,CAAC,QAAQ,WACZ,OAAM,IAAI,MAAM,0BAA0B,aAAa;GAExD,MAAM,eAAe,QAAQ;GAC7B,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,eAAe,gBAAgB,iBAAiB,KAAK,OAAO;GAClE,MAAM,UAAU,gBAAgB;IAC/B,MAAM,KAAK;IACX,SAAS;IACT,CAAC;AACF,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW;KAAC,GAAG,OAAO,UAAU;KAAE,GAAG,OAAO,aAAa;KAAE;KAAQ;IACnE,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;;0BAWF,YAAoB,SAAiB,sBAA8B,OAAoB;AACvF,MAAG,kBAAkB,MAAKA,OAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,kBAAkB,WAAW;GAC1D,MAAM,YAAY,QAAQ;AAC1B,OAAI,CAAC,QAAQ,YACZ,OAAM,IAAI,MAAM,2BAA2B,aAAa;GAEzD,MAAM,gBAAgB,QAAQ;GAC9B,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,iBAAiB,gBAAgB,kBAAkB,KAAK,OAAO;AACrE,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW;KAAC,GAAG,OAAO,UAAU;KAAE,GAAG,OAAO,cAAc;KAAE,GAAG,KAAK,IAAI,eAAe;KAAC;IACxF,eAAe,CAAC,KAAK,KAAK;IAC1B,CAAC;;oCAWF,YAAoB,UAAkB,cAAmC,OAAoB;GAC7F,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;AAC7D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW;KAAC,GAAG,OAAO,UAAU;KAAE,GAAG,OAAO,SAAS;KAAE;KAAS;IAChE,CAAC;;sCAWF,YAAoB,SAAiB,cAAmC,OAAoB;GAC5F,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,SAAS,MAAKA,OAAQ,QAAQ,QAAQ,CAAC;AAC7C,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW;KAAC,GAAG,OAAO,UAAU;KAAE,GAAG,KAAK,GAAG,OAAO;KAAE;KAAS;IAC/D,CAAC;;iCAGsB,gBAAwB,OAAoB;GACrE,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;AAC7D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,OAAO,MAAKA,OAAQ,YAAY,CAAC;IACtE,CAAC;;gBAQM,gBAAwB,OAAoB;GACpD,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;AAC7D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;aAQG,gBAAwB,OAAoB;GACjD,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;AAC7D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,CAAC;IACjC,CAAC;;sCAQ4B,gBAAwB,OAAoB;AAC1E,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,WAAW,CAAC;IAClC,CAAC;;uCAQ6B,gBAAwB,OAAoB;AAC3E,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,WAAW,CAAC;IAClC,CAAC;;sCAS4B,YAAoB,aAAqB,OAAoB;GAC3F,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;GAC7D,MAAM,SAAS,MAAKA,OAAQ,QAAQ,QAAQ,CAAC;AAC7C,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC;IACrD,CAAC;;yBASe,YAAoB,gBAAwB,OAAoB;GACjF,MAAM,YAAY,MAAKA,OAAQ,kBAAkB,WAAW,CAAC;AAC7D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,oBAAoB;IAC5C,WAAW,CAAC,GAAG,OAAO,UAAU,EAAE,GAAG,KAAK,GAAG,WAAW,CAAC;IACzD,CAAC;;AA3XF,QAAKA,SAAU"}