@haneullabs/deepbook-v3 0.1.0 → 1.0.11

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 (568) hide show
  1. package/CHANGELOG.md +268 -81
  2. package/dist/client.d.mts +957 -0
  3. package/dist/client.d.mts.map +1 -0
  4. package/dist/client.mjs +2293 -0
  5. package/dist/client.mjs.map +1 -0
  6. package/dist/contracts/deepbook/account.d.mts +38 -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 +13 -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 +13 -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 +22 -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 +24 -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/transactions/balanceManager.d.mts +174 -0
  87. package/dist/transactions/balanceManager.d.mts.map +1 -0
  88. package/dist/transactions/balanceManager.mjs +233 -0
  89. package/dist/transactions/balanceManager.mjs.map +1 -0
  90. package/dist/transactions/deepbook.d.mts +490 -0
  91. package/dist/transactions/deepbook.d.mts.map +1 -0
  92. package/dist/transactions/deepbook.mjs +978 -0
  93. package/dist/transactions/deepbook.mjs.map +1 -0
  94. package/dist/transactions/deepbookAdmin.d.mts +111 -0
  95. package/dist/transactions/deepbookAdmin.d.mts.map +1 -0
  96. package/dist/transactions/deepbookAdmin.mjs +221 -0
  97. package/dist/transactions/deepbookAdmin.mjs.map +1 -0
  98. package/dist/transactions/flashLoans.d.mts +62 -0
  99. package/dist/transactions/flashLoans.d.mts.map +1 -0
  100. package/dist/transactions/flashLoans.mjs +75 -0
  101. package/dist/transactions/flashLoans.mjs.map +1 -0
  102. package/dist/transactions/governance.d.mts +48 -0
  103. package/dist/transactions/governance.d.mts.map +1 -0
  104. package/dist/transactions/governance.mjs +90 -0
  105. package/dist/transactions/governance.mjs.map +1 -0
  106. package/dist/transactions/marginAdmin.d.mts +139 -0
  107. package/dist/transactions/marginAdmin.d.mts.map +1 -0
  108. package/dist/transactions/marginAdmin.mjs +249 -0
  109. package/dist/transactions/marginAdmin.mjs.map +1 -0
  110. package/dist/transactions/marginLiquidations.d.mts +67 -0
  111. package/dist/transactions/marginLiquidations.d.mts.map +1 -0
  112. package/dist/transactions/marginLiquidations.mjs +109 -0
  113. package/dist/transactions/marginLiquidations.mjs.map +1 -0
  114. package/dist/transactions/marginMaintainer.d.mts +86 -0
  115. package/dist/transactions/marginMaintainer.d.mts.map +1 -0
  116. package/dist/transactions/marginMaintainer.mjs +160 -0
  117. package/dist/transactions/marginMaintainer.mjs.map +1 -0
  118. package/dist/transactions/marginManager.d.mts +255 -0
  119. package/dist/transactions/marginManager.d.mts.map +1 -0
  120. package/dist/transactions/marginManager.mjs +558 -0
  121. package/dist/transactions/marginManager.mjs.map +1 -0
  122. package/dist/transactions/marginPool.d.mts +140 -0
  123. package/dist/transactions/marginPool.d.mts.map +1 -0
  124. package/dist/transactions/marginPool.mjs +206 -0
  125. package/dist/transactions/marginPool.mjs.map +1 -0
  126. package/dist/transactions/marginRegistry.d.mts +100 -0
  127. package/dist/transactions/marginRegistry.d.mts.map +1 -0
  128. package/dist/transactions/marginRegistry.mjs +128 -0
  129. package/dist/transactions/marginRegistry.mjs.map +1 -0
  130. package/dist/transactions/marginTPSL.d.mts +100 -0
  131. package/dist/transactions/marginTPSL.d.mts.map +1 -0
  132. package/dist/transactions/marginTPSL.mjs +175 -0
  133. package/dist/transactions/marginTPSL.mjs.map +1 -0
  134. package/dist/transactions/poolProxy.d.mts +123 -0
  135. package/dist/transactions/poolProxy.d.mts.map +1 -0
  136. package/dist/transactions/poolProxy.mjs +336 -0
  137. package/dist/transactions/poolProxy.mjs.map +1 -0
  138. package/dist/types/bcs.d.mts +5 -0
  139. package/dist/types/bcs.mjs +7 -0
  140. package/dist/types/index.d.mts +237 -0
  141. package/dist/types/index.d.mts.map +1 -0
  142. package/dist/types/index.mjs +18 -0
  143. package/dist/types/index.mjs.map +1 -0
  144. package/dist/utils/config.d.mts +82 -0
  145. package/dist/utils/config.d.mts.map +1 -0
  146. package/dist/utils/config.mjs +88 -0
  147. package/dist/utils/config.mjs.map +1 -0
  148. package/dist/utils/constants.d.mts +85 -0
  149. package/dist/utils/constants.d.mts.map +1 -0
  150. package/dist/utils/constants.mjs +384 -0
  151. package/dist/utils/constants.mjs.map +1 -0
  152. package/dist/utils/errors.d.mts +46 -0
  153. package/dist/utils/errors.d.mts.map +1 -0
  154. package/dist/utils/errors.mjs +59 -0
  155. package/dist/utils/errors.mjs.map +1 -0
  156. package/dist/{cjs/utils/validation.d.ts → utils/validation.d.mts} +11 -7
  157. package/dist/utils/validation.d.mts.map +1 -0
  158. package/dist/utils/validation.mjs +76 -0
  159. package/dist/utils/validation.mjs.map +1 -0
  160. package/package.json +29 -26
  161. package/src/client.ts +1016 -545
  162. package/src/contracts/deepbook/account.ts +15 -15
  163. package/src/contracts/deepbook/balance_manager.ts +343 -57
  164. package/src/contracts/deepbook/balances.ts +3 -2
  165. package/src/contracts/deepbook/big_vector.ts +6 -7
  166. package/src/contracts/deepbook/book.ts +3 -2
  167. package/src/contracts/deepbook/constants.ts +95 -3
  168. package/src/contracts/deepbook/deep_price.ts +7 -7
  169. package/src/contracts/deepbook/deps/{sui → haneul}/bag.ts +8 -8
  170. package/src/contracts/deepbook/deps/{sui → haneul}/balance.ts +4 -3
  171. package/src/contracts/deepbook/deps/{sui → haneul}/table.ts +6 -6
  172. package/src/contracts/deepbook/deps/{sui → haneul}/vec_map.ts +4 -4
  173. package/src/contracts/deepbook/deps/{sui → haneul}/vec_set.ts +4 -4
  174. package/src/contracts/deepbook/deps/{sui → haneul}/versioned.ts +4 -4
  175. package/src/contracts/deepbook/deps/std/type_name.ts +3 -2
  176. package/src/contracts/deepbook/ewma.ts +14 -3
  177. package/src/contracts/deepbook/fill.ts +21 -21
  178. package/src/contracts/deepbook/governance.ts +4 -3
  179. package/src/contracts/deepbook/history.ts +4 -3
  180. package/src/contracts/deepbook/math.ts +15 -15
  181. package/src/contracts/deepbook/order.ts +16 -16
  182. package/src/contracts/deepbook/order_info.ts +39 -27
  183. package/src/contracts/deepbook/order_query.ts +12 -12
  184. package/src/contracts/deepbook/pool.ts +883 -526
  185. package/src/contracts/deepbook/registry.ts +149 -38
  186. package/src/contracts/deepbook/state.ts +14 -3
  187. package/src/contracts/deepbook/trade_params.ts +3 -2
  188. package/src/contracts/deepbook/vault.ts +5 -4
  189. package/src/contracts/pyth/batch_price_attestation.ts +92 -0
  190. package/src/contracts/pyth/contract_upgrade.ts +54 -0
  191. package/src/contracts/pyth/data_source.ts +64 -0
  192. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  193. package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  194. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
  195. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
  196. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
  197. package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
  198. package/src/contracts/pyth/deserialize.ts +117 -0
  199. package/src/contracts/pyth/event.ts +20 -0
  200. package/src/contracts/pyth/governance.ts +113 -0
  201. package/src/contracts/pyth/governance_action.ts +130 -0
  202. package/src/contracts/pyth/governance_instruction.ts +98 -0
  203. package/src/contracts/pyth/hot_potato_vector.ts +70 -0
  204. package/src/contracts/pyth/i64.ts +94 -0
  205. package/src/contracts/pyth/merkle_tree.ts +41 -0
  206. package/src/contracts/pyth/migrate.ts +29 -0
  207. package/src/contracts/pyth/price.ts +102 -0
  208. package/src/contracts/pyth/price_feed.ts +101 -0
  209. package/src/contracts/pyth/price_identifier.ts +46 -0
  210. package/src/contracts/pyth/price_info.ts +220 -0
  211. package/src/contracts/pyth/price_status.ts +74 -0
  212. package/src/contracts/pyth/pyth.ts +236 -0
  213. package/src/contracts/pyth/set.ts +93 -0
  214. package/src/contracts/pyth/set_data_sources.ts +14 -0
  215. package/src/contracts/pyth/set_fee_recipient.ts +13 -0
  216. package/src/contracts/pyth/set_governance_data_source.ts +16 -0
  217. package/src/contracts/pyth/set_stale_price_threshold.ts +13 -0
  218. package/src/contracts/pyth/set_update_fee.ts +14 -0
  219. package/src/contracts/pyth/setup.ts +12 -0
  220. package/src/contracts/pyth/state.ts +227 -0
  221. package/src/contracts/pyth/version_control.ts +25 -0
  222. package/src/contracts/utils/index.ts +100 -50
  223. package/src/contracts/wormhole/bytes32.ts +12 -0
  224. package/src/contracts/wormhole/consumed_vaas.ts +13 -0
  225. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts +12 -0
  226. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
  227. package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
  228. package/src/contracts/wormhole/external_address.ts +13 -0
  229. package/src/contracts/wormhole/fee_collector.ts +15 -0
  230. package/src/contracts/wormhole/set.ts +12 -0
  231. package/src/contracts/wormhole/state.ts +25 -0
  232. package/src/index.ts +17 -3
  233. package/src/pyth/pyth.ts +51 -50
  234. package/src/transactions/deepbook.ts +31 -12
  235. package/src/transactions/deepbookAdmin.ts +3 -3
  236. package/src/transactions/marginAdmin.ts +11 -8
  237. package/src/transactions/marginMaintainer.ts +23 -12
  238. package/src/transactions/marginManager.ts +104 -28
  239. package/src/transactions/marginPool.ts +5 -6
  240. package/src/transactions/marginTPSL.ts +5 -5
  241. package/src/transactions/poolProxy.ts +50 -0
  242. package/src/types/bcs.ts +1 -1
  243. package/src/types/index.ts +19 -2
  244. package/src/utils/config.ts +12 -14
  245. package/src/utils/constants.ts +44 -12
  246. package/src/utils/validation.ts +1 -1
  247. package/dist/cjs/client.d.ts +0 -861
  248. package/dist/cjs/client.js +0 -1982
  249. package/dist/cjs/client.js.map +0 -7
  250. package/dist/cjs/contracts/deepbook/account.d.ts +0 -105
  251. package/dist/cjs/contracts/deepbook/account.js +0 -163
  252. package/dist/cjs/contracts/deepbook/account.js.map +0 -7
  253. package/dist/cjs/contracts/deepbook/balance_manager.d.ts +0 -268
  254. package/dist/cjs/contracts/deepbook/balance_manager.js +0 -361
  255. package/dist/cjs/contracts/deepbook/balance_manager.js.map +0 -7
  256. package/dist/cjs/contracts/deepbook/balances.d.ts +0 -10
  257. package/dist/cjs/contracts/deepbook/balances.js +0 -35
  258. package/dist/cjs/contracts/deepbook/balances.js.map +0 -7
  259. package/dist/cjs/contracts/deepbook/big_vector.d.ts +0 -62
  260. package/dist/cjs/contracts/deepbook/big_vector.js +0 -80
  261. package/dist/cjs/contracts/deepbook/big_vector.js.map +0 -7
  262. package/dist/cjs/contracts/deepbook/book.d.ts +0 -34
  263. package/dist/cjs/contracts/deepbook/book.js +0 -50
  264. package/dist/cjs/contracts/deepbook/book.js.map +0 -7
  265. package/dist/cjs/contracts/deepbook/constants.d.ts +0 -176
  266. package/dist/cjs/contracts/deepbook/constants.js +0 -338
  267. package/dist/cjs/contracts/deepbook/constants.js.map +0 -7
  268. package/dist/cjs/contracts/deepbook/deep_price.d.ts +0 -60
  269. package/dist/cjs/contracts/deepbook/deep_price.js +0 -87
  270. package/dist/cjs/contracts/deepbook/deep_price.js.map +0 -7
  271. package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  272. package/dist/cjs/contracts/deepbook/deps/std/type_name.js +0 -42
  273. package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +0 -7
  274. package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  275. package/dist/cjs/contracts/deepbook/deps/sui/bag.js +0 -47
  276. package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +0 -7
  277. package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  278. package/dist/cjs/contracts/deepbook/deps/sui/balance.js +0 -33
  279. package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +0 -7
  280. package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +0 -5
  281. package/dist/cjs/contracts/deepbook/deps/sui/object.js +0 -33
  282. package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +0 -7
  283. package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +0 -28
  284. package/dist/cjs/contracts/deepbook/deps/sui/table.js +0 -47
  285. package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +0 -7
  286. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  287. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +0 -45
  288. package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  289. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  290. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +0 -35
  291. package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  292. package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  293. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +0 -45
  294. package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  295. package/dist/cjs/contracts/deepbook/ewma.d.ts +0 -17
  296. package/dist/cjs/contracts/deepbook/ewma.js +0 -39
  297. package/dist/cjs/contracts/deepbook/ewma.js.map +0 -7
  298. package/dist/cjs/contracts/deepbook/fill.d.ts +0 -153
  299. package/dist/cjs/contracts/deepbook/fill.js +0 -251
  300. package/dist/cjs/contracts/deepbook/fill.js.map +0 -7
  301. package/dist/cjs/contracts/deepbook/governance.d.ts +0 -63
  302. package/dist/cjs/contracts/deepbook/governance.js +0 -79
  303. package/dist/cjs/contracts/deepbook/governance.js.map +0 -7
  304. package/dist/cjs/contracts/deepbook/history.d.ts +0 -60
  305. package/dist/cjs/contracts/deepbook/history.js +0 -78
  306. package/dist/cjs/contracts/deepbook/history.js.map +0 -7
  307. package/dist/cjs/contracts/deepbook/math.d.ts +0 -94
  308. package/dist/cjs/contracts/deepbook/math.js +0 -132
  309. package/dist/cjs/contracts/deepbook/math.js.map +0 -7
  310. package/dist/cjs/contracts/deepbook/order.d.ts +0 -135
  311. package/dist/cjs/contracts/deepbook/order.js +0 -218
  312. package/dist/cjs/contracts/deepbook/order.js.map +0 -7
  313. package/dist/cjs/contracts/deepbook/order_info.d.ts +0 -296
  314. package/dist/cjs/contracts/deepbook/order_info.js +0 -386
  315. package/dist/cjs/contracts/deepbook/order_info.js.map +0 -7
  316. package/dist/cjs/contracts/deepbook/order_query.d.ts +0 -85
  317. package/dist/cjs/contracts/deepbook/order_query.js +0 -96
  318. package/dist/cjs/contracts/deepbook/order_query.js.map +0 -7
  319. package/dist/cjs/contracts/deepbook/pool.d.ts +0 -1218
  320. package/dist/cjs/contracts/deepbook/pool.js +0 -1236
  321. package/dist/cjs/contracts/deepbook/pool.js.map +0 -7
  322. package/dist/cjs/contracts/deepbook/registry.d.ts +0 -134
  323. package/dist/cjs/contracts/deepbook/registry.js +0 -182
  324. package/dist/cjs/contracts/deepbook/registry.js.map +0 -7
  325. package/dist/cjs/contracts/deepbook/state.d.ts +0 -117
  326. package/dist/cjs/contracts/deepbook/state.js +0 -104
  327. package/dist/cjs/contracts/deepbook/state.js.map +0 -7
  328. package/dist/cjs/contracts/deepbook/trade_params.d.ts +0 -7
  329. package/dist/cjs/contracts/deepbook/trade_params.js +0 -35
  330. package/dist/cjs/contracts/deepbook/trade_params.js.map +0 -7
  331. package/dist/cjs/contracts/deepbook/vault.d.ts +0 -30
  332. package/dist/cjs/contracts/deepbook/vault.js +0 -65
  333. package/dist/cjs/contracts/deepbook/vault.js.map +0 -7
  334. package/dist/cjs/contracts/utils/index.d.ts +0 -25
  335. package/dist/cjs/contracts/utils/index.js +0 -148
  336. package/dist/cjs/contracts/utils/index.js.map +0 -7
  337. package/dist/cjs/index.d.ts +0 -23
  338. package/dist/cjs/index.js +0 -81
  339. package/dist/cjs/index.js.map +0 -7
  340. package/dist/cjs/package.json +0 -4
  341. package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
  342. package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
  343. package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
  344. package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
  345. package/dist/cjs/pyth/pyth-helpers.js +0 -36
  346. package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
  347. package/dist/cjs/pyth/pyth.d.ts +0 -65
  348. package/dist/cjs/pyth/pyth.js +0 -269
  349. package/dist/cjs/pyth/pyth.js.map +0 -7
  350. package/dist/cjs/transactions/balanceManager.d.ts +0 -168
  351. package/dist/cjs/transactions/balanceManager.js +0 -384
  352. package/dist/cjs/transactions/balanceManager.js.map +0 -7
  353. package/dist/cjs/transactions/deepbook.d.ts +0 -477
  354. package/dist/cjs/transactions/deepbook.js +0 -1335
  355. package/dist/cjs/transactions/deepbook.js.map +0 -7
  356. package/dist/cjs/transactions/deepbookAdmin.d.ts +0 -105
  357. package/dist/cjs/transactions/deepbookAdmin.js +0 -334
  358. package/dist/cjs/transactions/deepbookAdmin.js.map +0 -7
  359. package/dist/cjs/transactions/flashLoans.d.ts +0 -56
  360. package/dist/cjs/transactions/flashLoans.js +0 -124
  361. package/dist/cjs/transactions/flashLoans.js.map +0 -7
  362. package/dist/cjs/transactions/governance.d.ts +0 -42
  363. package/dist/cjs/transactions/governance.js +0 -135
  364. package/dist/cjs/transactions/governance.js.map +0 -7
  365. package/dist/cjs/transactions/marginAdmin.d.ts +0 -133
  366. package/dist/cjs/transactions/marginAdmin.js +0 -393
  367. package/dist/cjs/transactions/marginAdmin.js.map +0 -7
  368. package/dist/cjs/transactions/marginLiquidations.d.ts +0 -61
  369. package/dist/cjs/transactions/marginLiquidations.js +0 -173
  370. package/dist/cjs/transactions/marginLiquidations.js.map +0 -7
  371. package/dist/cjs/transactions/marginMaintainer.d.ts +0 -80
  372. package/dist/cjs/transactions/marginMaintainer.js +0 -251
  373. package/dist/cjs/transactions/marginMaintainer.js.map +0 -7
  374. package/dist/cjs/transactions/marginManager.d.ts +0 -236
  375. package/dist/cjs/transactions/marginManager.js +0 -688
  376. package/dist/cjs/transactions/marginManager.js.map +0 -7
  377. package/dist/cjs/transactions/marginPool.d.ts +0 -134
  378. package/dist/cjs/transactions/marginPool.js +0 -330
  379. package/dist/cjs/transactions/marginPool.js.map +0 -7
  380. package/dist/cjs/transactions/marginRegistry.d.ts +0 -94
  381. package/dist/cjs/transactions/marginRegistry.js +0 -221
  382. package/dist/cjs/transactions/marginRegistry.js.map +0 -7
  383. package/dist/cjs/transactions/marginTPSL.d.ts +0 -93
  384. package/dist/cjs/transactions/marginTPSL.js +0 -286
  385. package/dist/cjs/transactions/marginTPSL.js.map +0 -7
  386. package/dist/cjs/transactions/poolProxy.d.ts +0 -104
  387. package/dist/cjs/transactions/poolProxy.js +0 -435
  388. package/dist/cjs/transactions/poolProxy.js.map +0 -7
  389. package/dist/cjs/types/bcs.d.ts +0 -5
  390. package/dist/cjs/types/bcs.js +0 -33
  391. package/dist/cjs/types/bcs.js.map +0 -7
  392. package/dist/cjs/types/index.d.ts +0 -218
  393. package/dist/cjs/types/index.js +0 -38
  394. package/dist/cjs/types/index.js.map +0 -7
  395. package/dist/cjs/utils/config.d.ts +0 -65
  396. package/dist/cjs/utils/config.js +0 -144
  397. package/dist/cjs/utils/config.js.map +0 -7
  398. package/dist/cjs/utils/constants.d.ts +0 -76
  399. package/dist/cjs/utils/constants.js +0 -382
  400. package/dist/cjs/utils/constants.js.map +0 -7
  401. package/dist/cjs/utils/errors.d.ts +0 -42
  402. package/dist/cjs/utils/errors.js +0 -70
  403. package/dist/cjs/utils/errors.js.map +0 -7
  404. package/dist/cjs/utils/validation.js +0 -67
  405. package/dist/cjs/utils/validation.js.map +0 -7
  406. package/dist/esm/client.d.ts +0 -861
  407. package/dist/esm/client.js +0 -1967
  408. package/dist/esm/client.js.map +0 -7
  409. package/dist/esm/contracts/deepbook/account.d.ts +0 -105
  410. package/dist/esm/contracts/deepbook/account.js +0 -133
  411. package/dist/esm/contracts/deepbook/account.js.map +0 -7
  412. package/dist/esm/contracts/deepbook/balance_manager.d.ts +0 -268
  413. package/dist/esm/contracts/deepbook/balance_manager.js +0 -331
  414. package/dist/esm/contracts/deepbook/balance_manager.js.map +0 -7
  415. package/dist/esm/contracts/deepbook/balances.d.ts +0 -10
  416. package/dist/esm/contracts/deepbook/balances.js +0 -15
  417. package/dist/esm/contracts/deepbook/balances.js.map +0 -7
  418. package/dist/esm/contracts/deepbook/big_vector.d.ts +0 -62
  419. package/dist/esm/contracts/deepbook/big_vector.js +0 -50
  420. package/dist/esm/contracts/deepbook/big_vector.js.map +0 -7
  421. package/dist/esm/contracts/deepbook/book.d.ts +0 -34
  422. package/dist/esm/contracts/deepbook/book.js +0 -20
  423. package/dist/esm/contracts/deepbook/book.js.map +0 -7
  424. package/dist/esm/contracts/deepbook/constants.d.ts +0 -176
  425. package/dist/esm/contracts/deepbook/constants.js +0 -318
  426. package/dist/esm/contracts/deepbook/constants.js.map +0 -7
  427. package/dist/esm/contracts/deepbook/deep_price.d.ts +0 -60
  428. package/dist/esm/contracts/deepbook/deep_price.js +0 -67
  429. package/dist/esm/contracts/deepbook/deep_price.js.map +0 -7
  430. package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +0 -14
  431. package/dist/esm/contracts/deepbook/deps/std/type_name.js +0 -22
  432. package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +0 -7
  433. package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +0 -33
  434. package/dist/esm/contracts/deepbook/deps/sui/bag.js +0 -17
  435. package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +0 -7
  436. package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +0 -9
  437. package/dist/esm/contracts/deepbook/deps/sui/balance.js +0 -13
  438. package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +0 -7
  439. package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +0 -5
  440. package/dist/esm/contracts/deepbook/deps/sui/object.js +0 -13
  441. package/dist/esm/contracts/deepbook/deps/sui/object.js.map +0 -7
  442. package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +0 -28
  443. package/dist/esm/contracts/deepbook/deps/sui/table.js +0 -17
  444. package/dist/esm/contracts/deepbook/deps/sui/table.js.map +0 -7
  445. package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
  446. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +0 -25
  447. package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
  448. package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
  449. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +0 -15
  450. package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
  451. package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
  452. package/dist/esm/contracts/deepbook/deps/sui/versioned.js +0 -15
  453. package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +0 -7
  454. package/dist/esm/contracts/deepbook/ewma.d.ts +0 -17
  455. package/dist/esm/contracts/deepbook/ewma.js +0 -19
  456. package/dist/esm/contracts/deepbook/ewma.js.map +0 -7
  457. package/dist/esm/contracts/deepbook/fill.d.ts +0 -153
  458. package/dist/esm/contracts/deepbook/fill.js +0 -221
  459. package/dist/esm/contracts/deepbook/fill.js.map +0 -7
  460. package/dist/esm/contracts/deepbook/governance.d.ts +0 -63
  461. package/dist/esm/contracts/deepbook/governance.js +0 -49
  462. package/dist/esm/contracts/deepbook/governance.js.map +0 -7
  463. package/dist/esm/contracts/deepbook/history.d.ts +0 -60
  464. package/dist/esm/contracts/deepbook/history.js +0 -48
  465. package/dist/esm/contracts/deepbook/history.js.map +0 -7
  466. package/dist/esm/contracts/deepbook/math.d.ts +0 -94
  467. package/dist/esm/contracts/deepbook/math.js +0 -112
  468. package/dist/esm/contracts/deepbook/math.js.map +0 -7
  469. package/dist/esm/contracts/deepbook/order.d.ts +0 -135
  470. package/dist/esm/contracts/deepbook/order.js +0 -188
  471. package/dist/esm/contracts/deepbook/order.js.map +0 -7
  472. package/dist/esm/contracts/deepbook/order_info.d.ts +0 -296
  473. package/dist/esm/contracts/deepbook/order_info.js +0 -356
  474. package/dist/esm/contracts/deepbook/order_info.js.map +0 -7
  475. package/dist/esm/contracts/deepbook/order_query.d.ts +0 -85
  476. package/dist/esm/contracts/deepbook/order_query.js +0 -66
  477. package/dist/esm/contracts/deepbook/order_query.js.map +0 -7
  478. package/dist/esm/contracts/deepbook/pool.d.ts +0 -1218
  479. package/dist/esm/contracts/deepbook/pool.js +0 -1206
  480. package/dist/esm/contracts/deepbook/pool.js.map +0 -7
  481. package/dist/esm/contracts/deepbook/registry.d.ts +0 -134
  482. package/dist/esm/contracts/deepbook/registry.js +0 -152
  483. package/dist/esm/contracts/deepbook/registry.js.map +0 -7
  484. package/dist/esm/contracts/deepbook/state.d.ts +0 -117
  485. package/dist/esm/contracts/deepbook/state.js +0 -74
  486. package/dist/esm/contracts/deepbook/state.js.map +0 -7
  487. package/dist/esm/contracts/deepbook/trade_params.d.ts +0 -7
  488. package/dist/esm/contracts/deepbook/trade_params.js +0 -15
  489. package/dist/esm/contracts/deepbook/trade_params.js.map +0 -7
  490. package/dist/esm/contracts/deepbook/vault.d.ts +0 -30
  491. package/dist/esm/contracts/deepbook/vault.js +0 -35
  492. package/dist/esm/contracts/deepbook/vault.js.map +0 -7
  493. package/dist/esm/contracts/utils/index.d.ts +0 -25
  494. package/dist/esm/contracts/utils/index.js +0 -128
  495. package/dist/esm/contracts/utils/index.js.map +0 -7
  496. package/dist/esm/index.d.ts +0 -23
  497. package/dist/esm/index.js +0 -81
  498. package/dist/esm/index.js.map +0 -7
  499. package/dist/esm/package.json +0 -4
  500. package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
  501. package/dist/esm/pyth/PriceServiceConnection.js +0 -38
  502. package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
  503. package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
  504. package/dist/esm/pyth/pyth-helpers.js +0 -16
  505. package/dist/esm/pyth/pyth-helpers.js.map +0 -7
  506. package/dist/esm/pyth/pyth.d.ts +0 -65
  507. package/dist/esm/pyth/pyth.js +0 -249
  508. package/dist/esm/pyth/pyth.js.map +0 -7
  509. package/dist/esm/transactions/balanceManager.d.ts +0 -168
  510. package/dist/esm/transactions/balanceManager.js +0 -364
  511. package/dist/esm/transactions/balanceManager.js.map +0 -7
  512. package/dist/esm/transactions/deepbook.d.ts +0 -477
  513. package/dist/esm/transactions/deepbook.js +0 -1321
  514. package/dist/esm/transactions/deepbook.js.map +0 -7
  515. package/dist/esm/transactions/deepbookAdmin.d.ts +0 -105
  516. package/dist/esm/transactions/deepbookAdmin.js +0 -314
  517. package/dist/esm/transactions/deepbookAdmin.js.map +0 -7
  518. package/dist/esm/transactions/flashLoans.d.ts +0 -56
  519. package/dist/esm/transactions/flashLoans.js +0 -104
  520. package/dist/esm/transactions/flashLoans.js.map +0 -7
  521. package/dist/esm/transactions/governance.d.ts +0 -42
  522. package/dist/esm/transactions/governance.js +0 -115
  523. package/dist/esm/transactions/governance.js.map +0 -7
  524. package/dist/esm/transactions/marginAdmin.d.ts +0 -133
  525. package/dist/esm/transactions/marginAdmin.js +0 -373
  526. package/dist/esm/transactions/marginAdmin.js.map +0 -7
  527. package/dist/esm/transactions/marginLiquidations.d.ts +0 -61
  528. package/dist/esm/transactions/marginLiquidations.js +0 -153
  529. package/dist/esm/transactions/marginLiquidations.js.map +0 -7
  530. package/dist/esm/transactions/marginMaintainer.d.ts +0 -80
  531. package/dist/esm/transactions/marginMaintainer.js +0 -231
  532. package/dist/esm/transactions/marginMaintainer.js.map +0 -7
  533. package/dist/esm/transactions/marginManager.d.ts +0 -236
  534. package/dist/esm/transactions/marginManager.js +0 -668
  535. package/dist/esm/transactions/marginManager.js.map +0 -7
  536. package/dist/esm/transactions/marginPool.d.ts +0 -134
  537. package/dist/esm/transactions/marginPool.js +0 -310
  538. package/dist/esm/transactions/marginPool.js.map +0 -7
  539. package/dist/esm/transactions/marginRegistry.d.ts +0 -94
  540. package/dist/esm/transactions/marginRegistry.js +0 -201
  541. package/dist/esm/transactions/marginRegistry.js.map +0 -7
  542. package/dist/esm/transactions/marginTPSL.d.ts +0 -93
  543. package/dist/esm/transactions/marginTPSL.js +0 -266
  544. package/dist/esm/transactions/marginTPSL.js.map +0 -7
  545. package/dist/esm/transactions/poolProxy.d.ts +0 -104
  546. package/dist/esm/transactions/poolProxy.js +0 -415
  547. package/dist/esm/transactions/poolProxy.js.map +0 -7
  548. package/dist/esm/types/bcs.d.ts +0 -5
  549. package/dist/esm/types/bcs.js +0 -13
  550. package/dist/esm/types/bcs.js.map +0 -7
  551. package/dist/esm/types/index.d.ts +0 -218
  552. package/dist/esm/types/index.js +0 -18
  553. package/dist/esm/types/index.js.map +0 -7
  554. package/dist/esm/utils/config.d.ts +0 -65
  555. package/dist/esm/utils/config.js +0 -135
  556. package/dist/esm/utils/config.js.map +0 -7
  557. package/dist/esm/utils/constants.d.ts +0 -76
  558. package/dist/esm/utils/constants.js +0 -362
  559. package/dist/esm/utils/constants.js.map +0 -7
  560. package/dist/esm/utils/errors.d.ts +0 -42
  561. package/dist/esm/utils/errors.js +0 -50
  562. package/dist/esm/utils/errors.js.map +0 -7
  563. package/dist/esm/utils/validation.d.ts +0 -50
  564. package/dist/esm/utils/validation.js +0 -47
  565. package/dist/esm/utils/validation.js.map +0 -7
  566. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  567. package/dist/tsconfig.tsbuildinfo +0 -1
  568. package/src/contracts/deepbook/deps/sui/object.ts +0 -14
@@ -0,0 +1,336 @@
1
+ import { OrderType, SelfMatchingOptions } from "../types/index.mjs";
2
+ import { FLOAT_SCALAR, MAX_TIMESTAMP } from "../utils/config.mjs";
3
+
4
+ //#region src/transactions/poolProxy.ts
5
+ /**
6
+ * PoolProxyContract class for managing PoolProxy operations.
7
+ */
8
+ var PoolProxyContract = class {
9
+ #config;
10
+ /**
11
+ * @param {DeepBookConfig} config Configuration for PoolProxyContract
12
+ */
13
+ constructor(config) {
14
+ this.placeLimitOrder = (params) => (tx) => {
15
+ const { poolKey, marginManagerKey, clientOrderId, price, quantity, isBid, expiration = MAX_TIMESTAMP, orderType = OrderType.NO_RESTRICTION, selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED, payWithDeep = true } = params;
16
+ const pool = this.#config.getPool(poolKey);
17
+ const manager = this.#config.getMarginManager(marginManagerKey);
18
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
19
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
20
+ const inputPrice = Math.round(price * FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar);
21
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
22
+ return tx.moveCall({
23
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_limit_order`,
24
+ arguments: [
25
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
26
+ tx.object(manager.address),
27
+ tx.object(pool.address),
28
+ tx.pure.u64(clientOrderId),
29
+ tx.pure.u8(orderType),
30
+ tx.pure.u8(selfMatchingOption),
31
+ tx.pure.u64(inputPrice),
32
+ tx.pure.u64(inputQuantity),
33
+ tx.pure.bool(isBid),
34
+ tx.pure.bool(payWithDeep),
35
+ tx.pure.u64(expiration),
36
+ tx.object.clock()
37
+ ],
38
+ typeArguments: [baseCoin.type, quoteCoin.type]
39
+ });
40
+ };
41
+ this.placeMarketOrder = (params) => (tx) => {
42
+ const { poolKey, marginManagerKey, clientOrderId, quantity, isBid, selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED, payWithDeep = true } = params;
43
+ const pool = this.#config.getPool(poolKey);
44
+ const manager = this.#config.getMarginManager(marginManagerKey);
45
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
46
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
47
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
48
+ return tx.moveCall({
49
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_market_order`,
50
+ arguments: [
51
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
52
+ tx.object(manager.address),
53
+ tx.object(pool.address),
54
+ tx.pure.u64(clientOrderId),
55
+ tx.pure.u8(selfMatchingOption),
56
+ tx.pure.u64(inputQuantity),
57
+ tx.pure.bool(isBid),
58
+ tx.pure.bool(payWithDeep),
59
+ tx.object.clock()
60
+ ],
61
+ typeArguments: [baseCoin.type, quoteCoin.type]
62
+ });
63
+ };
64
+ this.placeReduceOnlyLimitOrder = (params) => (tx) => {
65
+ const { poolKey, marginManagerKey, clientOrderId, price, quantity, isBid, expiration = MAX_TIMESTAMP, orderType = OrderType.NO_RESTRICTION, selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED, payWithDeep = true } = params;
66
+ const pool = this.#config.getPool(poolKey);
67
+ const manager = this.#config.getMarginManager(marginManagerKey);
68
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
69
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
70
+ const inputPrice = Math.round(price * FLOAT_SCALAR * quoteCoin.scalar / baseCoin.scalar);
71
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
72
+ const marginPool = isBid ? this.#config.getMarginPool(pool.baseCoin) : this.#config.getMarginPool(pool.quoteCoin);
73
+ const debtType = isBid ? baseCoin.type : quoteCoin.type;
74
+ return tx.moveCall({
75
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_reduce_only_limit_order`,
76
+ arguments: [
77
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
78
+ tx.object(manager.address),
79
+ tx.object(pool.address),
80
+ tx.object(marginPool.address),
81
+ tx.pure.u64(clientOrderId),
82
+ tx.pure.u8(orderType),
83
+ tx.pure.u8(selfMatchingOption),
84
+ tx.pure.u64(inputPrice),
85
+ tx.pure.u64(inputQuantity),
86
+ tx.pure.bool(isBid),
87
+ tx.pure.bool(payWithDeep),
88
+ tx.pure.u64(expiration),
89
+ tx.object.clock()
90
+ ],
91
+ typeArguments: [
92
+ baseCoin.type,
93
+ quoteCoin.type,
94
+ debtType
95
+ ]
96
+ });
97
+ };
98
+ this.placeReduceOnlyMarketOrder = (params) => (tx) => {
99
+ const { poolKey, marginManagerKey, clientOrderId, quantity, isBid, selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED, payWithDeep = true } = params;
100
+ const pool = this.#config.getPool(poolKey);
101
+ const manager = this.#config.getMarginManager(marginManagerKey);
102
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
103
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
104
+ const inputQuantity = Math.round(quantity * baseCoin.scalar);
105
+ const marginPool = isBid ? this.#config.getMarginPool(pool.baseCoin) : this.#config.getMarginPool(pool.quoteCoin);
106
+ const debtType = isBid ? baseCoin.type : quoteCoin.type;
107
+ return tx.moveCall({
108
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_reduce_only_market_order`,
109
+ arguments: [
110
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
111
+ tx.object(manager.address),
112
+ tx.object(pool.address),
113
+ tx.object(marginPool.address),
114
+ tx.pure.u64(clientOrderId),
115
+ tx.pure.u8(selfMatchingOption),
116
+ tx.pure.u64(inputQuantity),
117
+ tx.pure.bool(isBid),
118
+ tx.pure.bool(payWithDeep),
119
+ tx.object.clock()
120
+ ],
121
+ typeArguments: [
122
+ baseCoin.type,
123
+ quoteCoin.type,
124
+ debtType
125
+ ]
126
+ });
127
+ };
128
+ this.modifyOrder = (marginManagerKey, orderId, newQuantity) => (tx) => {
129
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
130
+ const pool = this.#config.getPool(marginManager.poolKey);
131
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
132
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
133
+ const inputQuantity = Math.round(newQuantity * baseCoin.scalar);
134
+ tx.moveCall({
135
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::modify_order`,
136
+ arguments: [
137
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
138
+ tx.object(marginManager.address),
139
+ tx.object(pool.address),
140
+ tx.pure.u128(orderId),
141
+ tx.pure.u64(inputQuantity),
142
+ tx.object.clock()
143
+ ],
144
+ typeArguments: [baseCoin.type, quoteCoin.type]
145
+ });
146
+ };
147
+ this.cancelOrder = (marginManagerKey, orderId) => (tx) => {
148
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
149
+ const pool = this.#config.getPool(marginManager.poolKey);
150
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
151
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
152
+ tx.moveCall({
153
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_order`,
154
+ arguments: [
155
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
156
+ tx.object(marginManager.address),
157
+ tx.object(pool.address),
158
+ tx.pure.u128(orderId),
159
+ tx.object.clock()
160
+ ],
161
+ typeArguments: [baseCoin.type, quoteCoin.type]
162
+ });
163
+ };
164
+ this.cancelOrders = (marginManagerKey, orderIds) => (tx) => {
165
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
166
+ const pool = this.#config.getPool(marginManager.poolKey);
167
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
168
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
169
+ tx.moveCall({
170
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_orders`,
171
+ arguments: [
172
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
173
+ tx.object(marginManager.address),
174
+ tx.object(pool.address),
175
+ tx.pure.vector("u128", orderIds),
176
+ tx.object.clock()
177
+ ],
178
+ typeArguments: [baseCoin.type, quoteCoin.type]
179
+ });
180
+ };
181
+ this.cancelAllOrders = (marginManagerKey) => (tx) => {
182
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
183
+ const pool = this.#config.getPool(marginManager.poolKey);
184
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
185
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
186
+ tx.moveCall({
187
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_all_orders`,
188
+ arguments: [
189
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
190
+ tx.object(marginManager.address),
191
+ tx.object(pool.address),
192
+ tx.object.clock()
193
+ ],
194
+ typeArguments: [baseCoin.type, quoteCoin.type]
195
+ });
196
+ };
197
+ this.withdrawSettledAmounts = (marginManagerKey) => (tx) => {
198
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
199
+ const pool = this.#config.getPool(marginManager.poolKey);
200
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
201
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
202
+ tx.moveCall({
203
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::withdraw_settled_amounts`,
204
+ arguments: [
205
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
206
+ tx.object(marginManager.address),
207
+ tx.object(pool.address)
208
+ ],
209
+ typeArguments: [baseCoin.type, quoteCoin.type]
210
+ });
211
+ };
212
+ this.stake = (marginManagerKey, stakeAmount) => (tx) => {
213
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
214
+ const pool = this.#config.getPool(marginManager.poolKey);
215
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
216
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
217
+ const deepCoin = this.#config.getCoin("DEEP");
218
+ const stakeInput = Math.round(stakeAmount * deepCoin.scalar);
219
+ tx.moveCall({
220
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::stake`,
221
+ arguments: [
222
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
223
+ tx.object(marginManager.address),
224
+ tx.object(pool.address),
225
+ tx.pure.u64(stakeInput)
226
+ ],
227
+ typeArguments: [baseCoin.type, quoteCoin.type]
228
+ });
229
+ };
230
+ this.unstake = (marginManagerKey) => (tx) => {
231
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
232
+ const pool = this.#config.getPool(marginManager.poolKey);
233
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
234
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
235
+ tx.moveCall({
236
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::unstake`,
237
+ arguments: [
238
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
239
+ tx.object(marginManager.address),
240
+ tx.object(pool.address)
241
+ ],
242
+ typeArguments: [baseCoin.type, quoteCoin.type]
243
+ });
244
+ };
245
+ this.submitProposal = (marginManagerKey, params) => (tx) => {
246
+ const { takerFee, makerFee, stakeRequired } = params;
247
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
248
+ const pool = this.#config.getPool(marginManager.poolKey);
249
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
250
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
251
+ const stakeInput = Math.round(stakeRequired * FLOAT_SCALAR);
252
+ const takerFeeInput = Math.round(takerFee * FLOAT_SCALAR);
253
+ const makerFeeInput = Math.round(makerFee * FLOAT_SCALAR);
254
+ tx.moveCall({
255
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::submit_proposal`,
256
+ arguments: [
257
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
258
+ tx.object(marginManager.address),
259
+ tx.object(pool.address),
260
+ tx.pure.u64(takerFeeInput),
261
+ tx.pure.u64(makerFeeInput),
262
+ tx.pure.u64(stakeInput)
263
+ ],
264
+ typeArguments: [baseCoin.type, quoteCoin.type]
265
+ });
266
+ };
267
+ this.vote = (marginManagerKey, proposalId) => (tx) => {
268
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
269
+ const pool = this.#config.getPool(marginManager.poolKey);
270
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
271
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
272
+ tx.moveCall({
273
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::vote`,
274
+ arguments: [
275
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
276
+ tx.object(marginManager.address),
277
+ tx.object(pool.address),
278
+ tx.pure.id(proposalId)
279
+ ],
280
+ typeArguments: [baseCoin.type, quoteCoin.type]
281
+ });
282
+ };
283
+ this.claimRebate = (marginManagerKey) => (tx) => {
284
+ const marginManager = this.#config.getMarginManager(marginManagerKey);
285
+ const pool = this.#config.getPool(marginManager.poolKey);
286
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
287
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
288
+ tx.moveCall({
289
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::claim_rebate`,
290
+ arguments: [
291
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
292
+ tx.object(marginManager.address),
293
+ tx.object(pool.address)
294
+ ],
295
+ typeArguments: [baseCoin.type, quoteCoin.type]
296
+ });
297
+ };
298
+ this.withdrawMarginSettledAmounts = (poolKey, marginManagerId) => (tx) => {
299
+ const pool = this.#config.getPool(poolKey);
300
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
301
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
302
+ tx.moveCall({
303
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::withdraw_settled_amounts_permissionless`,
304
+ arguments: [
305
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
306
+ tx.object(marginManagerId),
307
+ tx.object(pool.address)
308
+ ],
309
+ typeArguments: [baseCoin.type, quoteCoin.type]
310
+ });
311
+ };
312
+ this.updateCurrentPrice = (poolKey) => (tx) => {
313
+ const pool = this.#config.getPool(poolKey);
314
+ const baseCoin = this.#config.getCoin(pool.baseCoin);
315
+ const quoteCoin = this.#config.getCoin(pool.quoteCoin);
316
+ if (!baseCoin.priceInfoObjectId) throw new Error(`Missing priceInfoObjectId for ${pool.baseCoin}`);
317
+ if (!quoteCoin.priceInfoObjectId) throw new Error(`Missing priceInfoObjectId for ${pool.quoteCoin}`);
318
+ tx.moveCall({
319
+ target: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::update_current_price`,
320
+ arguments: [
321
+ tx.object(this.#config.MARGIN_REGISTRY_ID),
322
+ tx.object(pool.address),
323
+ tx.object(baseCoin.priceInfoObjectId),
324
+ tx.object(quoteCoin.priceInfoObjectId),
325
+ tx.object.clock()
326
+ ],
327
+ typeArguments: [baseCoin.type, quoteCoin.type]
328
+ });
329
+ };
330
+ this.#config = config;
331
+ }
332
+ };
333
+
334
+ //#endregion
335
+ export { PoolProxyContract };
336
+ //# sourceMappingURL=poolProxy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolProxy.mjs","names":["#config"],"sources":["../../src/transactions/poolProxy.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { Transaction } from '@haneullabs/haneul/transactions';\nimport type {\n\tPlaceMarginLimitOrderParams,\n\tPlaceMarginMarketOrderParams,\n\tMarginProposalParams,\n} from '../types/index.js';\n\nimport type { DeepBookConfig } from '../utils/config.js';\nimport { OrderType, SelfMatchingOptions } from '../types/index.js';\nimport { MAX_TIMESTAMP, FLOAT_SCALAR } from '../utils/config.js';\n\n/**\n * PoolProxyContract class for managing PoolProxy operations.\n */\nexport class PoolProxyContract {\n\t#config: DeepBookConfig;\n\n\t/**\n\t * @param {DeepBookConfig} config Configuration for PoolProxyContract\n\t */\n\tconstructor(config: DeepBookConfig) {\n\t\tthis.#config = config;\n\t}\n\n\t/**\n\t * @description Place a limit order\n\t * @param {PlaceMarginLimitOrderParams} params Parameters for placing a limit order\n\t * @returns A function that takes a Transaction object\n\t */\n\tplaceLimitOrder = (params: PlaceMarginLimitOrderParams) => (tx: Transaction) => {\n\t\tconst {\n\t\t\tpoolKey,\n\t\t\tmarginManagerKey,\n\t\t\tclientOrderId,\n\t\t\tprice,\n\t\t\tquantity,\n\t\t\tisBid,\n\t\t\texpiration = MAX_TIMESTAMP,\n\t\t\torderType = OrderType.NO_RESTRICTION,\n\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\tpayWithDeep = true,\n\t\t} = params;\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tconst inputPrice = Math.round((price * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar);\n\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_limit_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(manager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\ttx.pure.u8(orderType),\n\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\ttx.pure.u64(inputPrice),\n\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\ttx.pure.u64(expiration),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Place a market order\n\t * @param {PlaceMarginMarketOrderParams} params Parameters for placing a market order\n\t * @returns A function that takes a Transaction object\n\t */\n\tplaceMarketOrder = (params: PlaceMarginMarketOrderParams) => (tx: Transaction) => {\n\t\tconst {\n\t\t\tpoolKey,\n\t\t\tmarginManagerKey,\n\t\t\tclientOrderId,\n\t\t\tquantity,\n\t\t\tisBid,\n\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\tpayWithDeep = true,\n\t\t} = params;\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_market_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(manager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Place a reduce only limit order\n\t * @param {PlaceMarginLimitOrderParams} params Parameters for placing a reduce only limit order\n\t * @returns A function that takes a Transaction object\n\t */\n\tplaceReduceOnlyLimitOrder = (params: PlaceMarginLimitOrderParams) => (tx: Transaction) => {\n\t\tconst {\n\t\t\tpoolKey,\n\t\t\tmarginManagerKey,\n\t\t\tclientOrderId,\n\t\t\tprice,\n\t\t\tquantity,\n\t\t\tisBid,\n\t\t\texpiration = MAX_TIMESTAMP,\n\t\t\torderType = OrderType.NO_RESTRICTION,\n\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\tpayWithDeep = true,\n\t\t} = params;\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tconst inputPrice = Math.round((price * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar);\n\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\tconst marginPool = isBid\n\t\t\t? this.#config.getMarginPool(pool.baseCoin)\n\t\t\t: this.#config.getMarginPool(pool.quoteCoin);\n\t\tconst debtType = isBid ? baseCoin.type : quoteCoin.type;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_reduce_only_limit_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(manager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(marginPool.address),\n\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\ttx.pure.u8(orderType),\n\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\ttx.pure.u64(inputPrice),\n\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\ttx.pure.u64(expiration),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type, debtType],\n\t\t});\n\t};\n\n\t/**\n\t * @description Place a reduce only market order\n\t * @param {PlaceMarginMarketOrderParams} params Parameters for placing a reduce only market order\n\t * @returns A function that takes a Transaction object\n\t */\n\tplaceReduceOnlyMarketOrder = (params: PlaceMarginMarketOrderParams) => (tx: Transaction) => {\n\t\tconst {\n\t\t\tpoolKey,\n\t\t\tmarginManagerKey,\n\t\t\tclientOrderId,\n\t\t\tquantity,\n\t\t\tisBid,\n\t\t\tselfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,\n\t\t\tpayWithDeep = true,\n\t\t} = params;\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst manager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tconst inputQuantity = Math.round(quantity * baseCoin.scalar);\n\t\tconst marginPool = isBid\n\t\t\t? this.#config.getMarginPool(pool.baseCoin)\n\t\t\t: this.#config.getMarginPool(pool.quoteCoin);\n\t\tconst debtType = isBid ? baseCoin.type : quoteCoin.type;\n\t\treturn tx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::place_reduce_only_market_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(manager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(marginPool.address),\n\t\t\t\ttx.pure.u64(clientOrderId),\n\t\t\t\ttx.pure.u8(selfMatchingOption),\n\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\ttx.pure.bool(isBid),\n\t\t\t\ttx.pure.bool(payWithDeep),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type, debtType],\n\t\t});\n\t};\n\n\t/**\n\t * @description Modify an existing order\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {string} orderId Order ID to modify\n\t * @param {number} newQuantity New quantity for the order\n\t * @returns A function that takes a Transaction object\n\t */\n\tmodifyOrder =\n\t\t(marginManagerKey: string, orderId: string, newQuantity: number) => (tx: Transaction) => {\n\t\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\tconst inputQuantity = Math.round(newQuantity * baseCoin.scalar);\n\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::modify_order`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\t\ttx.object(marginManager.address),\n\t\t\t\t\ttx.object(pool.address),\n\t\t\t\t\ttx.pure.u128(orderId),\n\t\t\t\t\ttx.pure.u64(inputQuantity),\n\t\t\t\t\ttx.object.clock(),\n\t\t\t\t],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Cancel an existing order\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {string} orderId Order ID to cancel\n\t * @returns A function that takes a Transaction object\n\t */\n\tcancelOrder = (marginManagerKey: string, orderId: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_order`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.u128(orderId),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Cancel multiple existing orders\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {string[]} orderIds Order IDs to cancel\n\t * @returns A function that takes a Transaction object\n\t */\n\tcancelOrders = (marginManagerKey: string, orderIds: string[]) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_orders`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.vector('u128', orderIds),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Cancel all existing orders\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tcancelAllOrders = (marginManagerKey: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::cancel_all_orders`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Withdraw settled amounts\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawSettledAmounts = (marginManagerKey: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::withdraw_settled_amounts`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Stake in the pool\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {number} stakeAmount The amount to stake\n\t * @returns A function that takes a Transaction object\n\t */\n\tstake = (marginManagerKey: string, stakeAmount: number) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tconst deepCoin = this.#config.getCoin('DEEP');\n\t\tconst stakeInput = Math.round(stakeAmount * deepCoin.scalar);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::stake`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.u64(stakeInput),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Unstake from the pool\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tunstake = (marginManagerKey: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::unstake`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Submit a proposal\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {MarginProposalParams} params Parameters for the proposal\n\t * @returns A function that takes a Transaction object\n\t */\n\tsubmitProposal =\n\t\t(marginManagerKey: string, params: MarginProposalParams) => (tx: Transaction) => {\n\t\t\tconst { takerFee, makerFee, stakeRequired } = params;\n\t\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\tconst stakeInput = Math.round(stakeRequired * FLOAT_SCALAR);\n\t\t\tconst takerFeeInput = Math.round(takerFee * FLOAT_SCALAR);\n\t\t\tconst makerFeeInput = Math.round(makerFee * FLOAT_SCALAR);\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::submit_proposal`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\t\ttx.object(marginManager.address),\n\t\t\t\t\ttx.object(pool.address),\n\t\t\t\t\ttx.pure.u64(takerFeeInput),\n\t\t\t\t\ttx.pure.u64(makerFeeInput),\n\t\t\t\t\ttx.pure.u64(stakeInput),\n\t\t\t\t],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Vote on a proposal\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @param {string} proposalId The ID of the proposal to vote on\n\t * @returns A function that takes a Transaction object\n\t */\n\tvote = (marginManagerKey: string, proposalId: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::vote`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.pure.id(proposalId),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Claim a rebate from a pool\n\t * @param {string} marginManagerKey The key to identify the MarginManager\n\t * @returns A function that takes a Transaction object\n\t */\n\tclaimRebate = (marginManagerKey: string) => (tx: Transaction) => {\n\t\tconst marginManager = this.#config.getMarginManager(marginManagerKey);\n\t\tconst pool = this.#config.getPool(marginManager.poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::claim_rebate`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(marginManager.address),\n\t\t\t\ttx.object(pool.address),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n\n\t/**\n\t * @description Withdraw settled amounts permissionlessly for a margin manager by ID\n\t * @param {string} poolKey The key to identify the pool\n\t * @param {string} marginManagerId The object ID of the MarginManager\n\t * @returns A function that takes a Transaction object\n\t */\n\twithdrawMarginSettledAmounts =\n\t\t(poolKey: string, marginManagerId: string) => (tx: Transaction) => {\n\t\t\tconst pool = this.#config.getPool(poolKey);\n\t\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\t\ttx.moveCall({\n\t\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::withdraw_settled_amounts_permissionless`,\n\t\t\t\targuments: [\n\t\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\t\ttx.object(marginManagerId),\n\t\t\t\t\ttx.object(pool.address),\n\t\t\t\t],\n\t\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t\t});\n\t\t};\n\n\t/**\n\t * @description Update the current price for a pool using Pyth oracle\n\t * @param {string} poolKey The key to identify the pool\n\t * @returns A function that takes a Transaction object\n\t */\n\tupdateCurrentPrice = (poolKey: string) => (tx: Transaction) => {\n\t\tconst pool = this.#config.getPool(poolKey);\n\t\tconst baseCoin = this.#config.getCoin(pool.baseCoin);\n\t\tconst quoteCoin = this.#config.getCoin(pool.quoteCoin);\n\t\tif (!baseCoin.priceInfoObjectId) {\n\t\t\tthrow new Error(`Missing priceInfoObjectId for ${pool.baseCoin}`);\n\t\t}\n\t\tif (!quoteCoin.priceInfoObjectId) {\n\t\t\tthrow new Error(`Missing priceInfoObjectId for ${pool.quoteCoin}`);\n\t\t}\n\t\ttx.moveCall({\n\t\t\ttarget: `${this.#config.MARGIN_PACKAGE_ID}::pool_proxy::update_current_price`,\n\t\t\targuments: [\n\t\t\t\ttx.object(this.#config.MARGIN_REGISTRY_ID),\n\t\t\t\ttx.object(pool.address),\n\t\t\t\ttx.object(baseCoin.priceInfoObjectId),\n\t\t\t\ttx.object(quoteCoin.priceInfoObjectId),\n\t\t\t\ttx.object.clock(),\n\t\t\t],\n\t\t\ttypeArguments: [baseCoin.type, quoteCoin.type],\n\t\t});\n\t};\n}\n"],"mappings":";;;;;;;AAgBA,IAAa,oBAAb,MAA+B;CAC9B;;;;CAKA,YAAY,QAAwB;0BASjB,YAAyC,OAAoB;GAC/E,MAAM,EACL,SACA,kBACA,eACA,OACA,UACA,OACA,aAAa,eACb,YAAY,UAAU,gBACtB,qBAAqB,oBAAoB,uBACzC,cAAc,SACX;GACJ,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,iBAAiB,iBAAiB;GAC/D,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,aAAa,KAAK,MAAO,QAAQ,eAAe,UAAU,SAAU,SAAS,OAAO;GAC1F,MAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,OAAO;AAC5D,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,QAAQ,QAAQ;KAC1B,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,GAAG,UAAU;KACrB,GAAG,KAAK,GAAG,mBAAmB;KAC9B,GAAG,KAAK,IAAI,WAAW;KACvB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,KAAK,MAAM;KACnB,GAAG,KAAK,KAAK,YAAY;KACzB,GAAG,KAAK,IAAI,WAAW;KACvB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;2BAQiB,YAA0C,OAAoB;GACjF,MAAM,EACL,SACA,kBACA,eACA,UACA,OACA,qBAAqB,oBAAoB,uBACzC,cAAc,SACX;GACJ,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,iBAAiB,iBAAiB;GAC/D,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,OAAO;AAC5D,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,QAAQ,QAAQ;KAC1B,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,GAAG,mBAAmB;KAC9B,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,KAAK,MAAM;KACnB,GAAG,KAAK,KAAK,YAAY;KACzB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;oCAQ0B,YAAyC,OAAoB;GACzF,MAAM,EACL,SACA,kBACA,eACA,OACA,UACA,OACA,aAAa,eACb,YAAY,UAAU,gBACtB,qBAAqB,oBAAoB,uBACzC,cAAc,SACX;GACJ,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,iBAAiB,iBAAiB;GAC/D,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,aAAa,KAAK,MAAO,QAAQ,eAAe,UAAU,SAAU,SAAS,OAAO;GAC1F,MAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,OAAO;GAC5D,MAAM,aAAa,QAChB,MAAKA,OAAQ,cAAc,KAAK,SAAS,GACzC,MAAKA,OAAQ,cAAc,KAAK,UAAU;GAC7C,MAAM,WAAW,QAAQ,SAAS,OAAO,UAAU;AACnD,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,QAAQ,QAAQ;KAC1B,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,OAAO,WAAW,QAAQ;KAC7B,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,GAAG,UAAU;KACrB,GAAG,KAAK,GAAG,mBAAmB;KAC9B,GAAG,KAAK,IAAI,WAAW;KACvB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,KAAK,MAAM;KACnB,GAAG,KAAK,KAAK,YAAY;KACzB,GAAG,KAAK,IAAI,WAAW;KACvB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe;KAAC,SAAS;KAAM,UAAU;KAAM;KAAS;IACxD,CAAC;;qCAQ2B,YAA0C,OAAoB;GAC3F,MAAM,EACL,SACA,kBACA,eACA,UACA,OACA,qBAAqB,oBAAoB,uBACzC,cAAc,SACX;GACJ,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,UAAU,MAAKA,OAAQ,iBAAiB,iBAAiB;GAC/D,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,gBAAgB,KAAK,MAAM,WAAW,SAAS,OAAO;GAC5D,MAAM,aAAa,QAChB,MAAKA,OAAQ,cAAc,KAAK,SAAS,GACzC,MAAKA,OAAQ,cAAc,KAAK,UAAU;GAC7C,MAAM,WAAW,QAAQ,SAAS,OAAO,UAAU;AACnD,UAAO,GAAG,SAAS;IAClB,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,QAAQ,QAAQ;KAC1B,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,OAAO,WAAW,QAAQ;KAC7B,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,GAAG,mBAAmB;KAC9B,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,KAAK,MAAM;KACnB,GAAG,KAAK,KAAK,YAAY;KACzB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe;KAAC,SAAS;KAAM,UAAU;KAAM;KAAS;IACxD,CAAC;;sBAWD,kBAA0B,SAAiB,iBAAyB,OAAoB;GACxF,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,gBAAgB,KAAK,MAAM,cAAc,SAAS,OAAO;AAE/D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,KAAK,QAAQ;KACrB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;sBASW,kBAA0B,aAAqB,OAAoB;GACjF,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,KAAK,QAAQ;KACrB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;uBASa,kBAA0B,cAAwB,OAAoB;GACrF,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,OAAO,QAAQ,SAAS;KAChC,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;0BAQgB,sBAA8B,OAAoB;GACpE,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;iCAQuB,sBAA8B,OAAoB;GAC3E,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;gBASM,kBAA0B,iBAAyB,OAAoB;GAC/E,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,OAAO;GAC7C,MAAM,aAAa,KAAK,MAAM,cAAc,SAAS,OAAO;AAC5D,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,IAAI,WAAW;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;kBAQQ,sBAA8B,OAAoB;GAC5D,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;yBAUD,kBAA0B,YAAkC,OAAoB;GAChF,MAAM,EAAE,UAAU,UAAU,kBAAkB;GAC9C,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;GACtD,MAAM,aAAa,KAAK,MAAM,gBAAgB,aAAa;GAC3D,MAAM,gBAAgB,KAAK,MAAM,WAAW,aAAa;GACzD,MAAM,gBAAgB,KAAK,MAAM,WAAW,aAAa;AACzD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,IAAI,cAAc;KAC1B,GAAG,KAAK,IAAI,WAAW;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;eASI,kBAA0B,gBAAwB,OAAoB;GAC7E,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,KAAK,GAAG,WAAW;KACtB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;sBAQY,sBAA8B,OAAoB;GAChE,MAAM,gBAAgB,MAAKA,OAAQ,iBAAiB,iBAAiB;GACrE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,cAAc,QAAQ;GACxD,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,cAAc,QAAQ;KAChC,GAAG,OAAO,KAAK,QAAQ;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;uCAUD,SAAiB,qBAA6B,OAAoB;GAClE,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,gBAAgB;KAC1B,GAAG,OAAO,KAAK,QAAQ;KACvB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;6BAQkB,aAAqB,OAAoB;GAC9D,MAAM,OAAO,MAAKA,OAAQ,QAAQ,QAAQ;GAC1C,MAAM,WAAW,MAAKA,OAAQ,QAAQ,KAAK,SAAS;GACpD,MAAM,YAAY,MAAKA,OAAQ,QAAQ,KAAK,UAAU;AACtD,OAAI,CAAC,SAAS,kBACb,OAAM,IAAI,MAAM,iCAAiC,KAAK,WAAW;AAElE,OAAI,CAAC,UAAU,kBACd,OAAM,IAAI,MAAM,iCAAiC,KAAK,YAAY;AAEnE,MAAG,SAAS;IACX,QAAQ,GAAG,MAAKA,OAAQ,kBAAkB;IAC1C,WAAW;KACV,GAAG,OAAO,MAAKA,OAAQ,mBAAmB;KAC1C,GAAG,OAAO,KAAK,QAAQ;KACvB,GAAG,OAAO,SAAS,kBAAkB;KACrC,GAAG,OAAO,UAAU,kBAAkB;KACtC,GAAG,OAAO,OAAO;KACjB;IACD,eAAe,CAAC,SAAS,MAAM,UAAU,KAAK;IAC9C,CAAC;;AA9cF,QAAKA,SAAU"}
@@ -0,0 +1,5 @@
1
+ import { Account } from "../contracts/deepbook/account.mjs";
2
+ import { Balances } from "../contracts/deepbook/balances.mjs";
3
+ import { OrderDeepPrice } from "../contracts/deepbook/deep_price.mjs";
4
+ import { Order } from "../contracts/deepbook/order.mjs";
5
+ import { VecSet } from "../contracts/deepbook/deps/haneul/vec_set.mjs";
@@ -0,0 +1,7 @@
1
+ import { VecSet } from "../contracts/deepbook/deps/haneul/vec_set.mjs";
2
+ import { Balances } from "../contracts/deepbook/balances.mjs";
3
+ import { Account } from "../contracts/deepbook/account.mjs";
4
+ import { OrderDeepPrice } from "../contracts/deepbook/deep_price.mjs";
5
+ import { Order } from "../contracts/deepbook/order.mjs";
6
+
7
+ export { };
@@ -0,0 +1,237 @@
1
+ import { TransactionArgument, TransactionObjectArgument } from "@haneullabs/haneul/transactions";
2
+
3
+ //#region src/types/index.d.ts
4
+ interface BalanceManager {
5
+ address: string;
6
+ tradeCap?: string;
7
+ depositCap?: string;
8
+ withdrawCap?: string;
9
+ }
10
+ interface MarginManager {
11
+ address: string;
12
+ poolKey: string;
13
+ }
14
+ interface Coin {
15
+ address: string;
16
+ type: string;
17
+ scalar: number;
18
+ feed?: string;
19
+ currencyId?: string;
20
+ priceInfoObjectId?: string;
21
+ }
22
+ interface Pool {
23
+ address: string;
24
+ baseCoin: string;
25
+ quoteCoin: string;
26
+ }
27
+ interface MarginPool {
28
+ address: string;
29
+ type: string;
30
+ }
31
+ declare enum OrderType {
32
+ NO_RESTRICTION = 0,
33
+ IMMEDIATE_OR_CANCEL = 1,
34
+ FILL_OR_KILL = 2,
35
+ POST_ONLY = 3,
36
+ }
37
+ declare enum SelfMatchingOptions {
38
+ SELF_MATCHING_ALLOWED = 0,
39
+ CANCEL_TAKER = 1,
40
+ CANCEL_MAKER = 2,
41
+ }
42
+ interface PlaceLimitOrderParams {
43
+ poolKey: string;
44
+ balanceManagerKey: string;
45
+ clientOrderId: string;
46
+ price: number;
47
+ quantity: number;
48
+ isBid: boolean;
49
+ expiration?: number | bigint;
50
+ orderType?: OrderType;
51
+ selfMatchingOption?: SelfMatchingOptions;
52
+ payWithDeep?: boolean;
53
+ }
54
+ interface PlaceMarketOrderParams {
55
+ poolKey: string;
56
+ balanceManagerKey: string;
57
+ clientOrderId: string;
58
+ quantity: number;
59
+ isBid: boolean;
60
+ selfMatchingOption?: SelfMatchingOptions;
61
+ payWithDeep?: boolean;
62
+ }
63
+ interface CanPlaceLimitOrderParams {
64
+ poolKey: string;
65
+ balanceManagerKey: string;
66
+ price: number;
67
+ quantity: number;
68
+ isBid: boolean;
69
+ payWithDeep: boolean;
70
+ expireTimestamp: number;
71
+ }
72
+ interface CanPlaceMarketOrderParams {
73
+ poolKey: string;
74
+ balanceManagerKey: string;
75
+ quantity: number;
76
+ isBid: boolean;
77
+ payWithDeep: boolean;
78
+ }
79
+ interface PlaceMarginLimitOrderParams {
80
+ poolKey: string;
81
+ marginManagerKey: string;
82
+ clientOrderId: string;
83
+ price: number;
84
+ quantity: number;
85
+ isBid: boolean;
86
+ expiration?: number | bigint;
87
+ orderType?: OrderType;
88
+ selfMatchingOption?: SelfMatchingOptions;
89
+ payWithDeep?: boolean;
90
+ }
91
+ interface PlaceMarginMarketOrderParams {
92
+ poolKey: string;
93
+ marginManagerKey: string;
94
+ clientOrderId: string;
95
+ quantity: number;
96
+ isBid: boolean;
97
+ selfMatchingOption?: SelfMatchingOptions;
98
+ payWithDeep?: boolean;
99
+ }
100
+ interface PendingLimitOrderParams {
101
+ clientOrderId: string;
102
+ orderType?: OrderType;
103
+ selfMatchingOption?: SelfMatchingOptions;
104
+ price: number;
105
+ quantity: number;
106
+ isBid: boolean;
107
+ payWithDeep?: boolean;
108
+ expireTimestamp?: number | bigint;
109
+ }
110
+ interface PendingMarketOrderParams {
111
+ clientOrderId: string;
112
+ selfMatchingOption?: SelfMatchingOptions;
113
+ quantity: number;
114
+ isBid: boolean;
115
+ payWithDeep?: boolean;
116
+ }
117
+ interface AddConditionalOrderParams {
118
+ marginManagerKey: string;
119
+ conditionalOrderId: string;
120
+ triggerBelowPrice: boolean;
121
+ triggerPrice: number;
122
+ pendingOrder: PendingLimitOrderParams | PendingMarketOrderParams;
123
+ }
124
+ interface ProposalParams {
125
+ poolKey: string;
126
+ balanceManagerKey: string;
127
+ takerFee: number;
128
+ makerFee: number;
129
+ stakeRequired: number;
130
+ }
131
+ interface MarginProposalParams {
132
+ takerFee: number;
133
+ makerFee: number;
134
+ stakeRequired: number;
135
+ }
136
+ interface SwapParams {
137
+ poolKey: string;
138
+ amount: number;
139
+ deepAmount: number;
140
+ minOut: number;
141
+ deepCoin?: TransactionObjectArgument;
142
+ baseCoin?: TransactionObjectArgument;
143
+ quoteCoin?: TransactionObjectArgument;
144
+ }
145
+ interface SwapWithManagerParams {
146
+ poolKey: string;
147
+ balanceManagerKey: string;
148
+ tradeCap: string;
149
+ depositCap: string;
150
+ withdrawCap: string;
151
+ amount: number;
152
+ minOut: number;
153
+ baseCoin?: TransactionObjectArgument;
154
+ quoteCoin?: TransactionObjectArgument;
155
+ }
156
+ interface CreatePoolAdminParams {
157
+ baseCoinKey: string;
158
+ quoteCoinKey: string;
159
+ tickSize: number;
160
+ lotSize: number;
161
+ minSize: number;
162
+ whitelisted: boolean;
163
+ stablePool: boolean;
164
+ }
165
+ interface CreatePermissionlessPoolParams {
166
+ baseCoinKey: string;
167
+ quoteCoinKey: string;
168
+ tickSize: number;
169
+ lotSize: number;
170
+ minSize: number;
171
+ deepCoin?: TransactionObjectArgument;
172
+ }
173
+ interface SetEwmaParams {
174
+ alpha: number;
175
+ zScoreThreshold: number;
176
+ additionalTakerFee: number;
177
+ }
178
+ interface PoolConfigParams {
179
+ minWithdrawRiskRatio: number;
180
+ minBorrowRiskRatio: number;
181
+ liquidationRiskRatio: number;
182
+ targetLiquidationRiskRatio: number;
183
+ userLiquidationReward: number;
184
+ poolLiquidationReward: number;
185
+ }
186
+ interface MarginPoolConfigParams {
187
+ supplyCap: number;
188
+ maxUtilizationRate: number;
189
+ referralSpread: number;
190
+ minBorrow: number;
191
+ rateLimitCapacity?: number;
192
+ rateLimitRefillRatePerMs?: number;
193
+ rateLimitEnabled?: boolean;
194
+ }
195
+ interface InterestConfigParams {
196
+ baseRate: number;
197
+ baseSlope: number;
198
+ optimalUtilization: number;
199
+ excessSlope: number;
200
+ }
201
+ interface Config {
202
+ DEEPBOOK_PACKAGE_ID: string;
203
+ REGISTRY_ID: string;
204
+ DEEP_TREASURY_ID: string;
205
+ }
206
+ /**
207
+ * Parameters for depositing into a margin manager.
208
+ * Either `amount` (number) or `coin` (TransactionArgument) must be provided, but not both.
209
+ */
210
+ type DepositParams = {
211
+ managerKey: string;
212
+ } & ({
213
+ amount: number;
214
+ coin?: never;
215
+ } | {
216
+ amount?: never;
217
+ coin: TransactionArgument;
218
+ });
219
+ /**
220
+ * Parameters for depositing during margin manager initialization.
221
+ * Either (`coinType` + `amount`) or (`coinType` + `coin`) must be provided.
222
+ * `coinType` should be a coin key from config (e.g., 'HANEUL', 'DBUSDC', 'DEEP').
223
+ */
224
+ type DepositDuringInitParams = {
225
+ manager: TransactionArgument;
226
+ poolKey: string;
227
+ coinType: string;
228
+ } & ({
229
+ amount: number;
230
+ coin?: never;
231
+ } | {
232
+ amount?: never;
233
+ coin: TransactionArgument;
234
+ });
235
+ //#endregion
236
+ export { AddConditionalOrderParams, BalanceManager, CanPlaceLimitOrderParams, CanPlaceMarketOrderParams, Coin, Config, CreatePermissionlessPoolParams, CreatePoolAdminParams, DepositDuringInitParams, DepositParams, InterestConfigParams, MarginManager, MarginPool, MarginPoolConfigParams, MarginProposalParams, OrderType, PendingLimitOrderParams, PendingMarketOrderParams, PlaceLimitOrderParams, PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, PlaceMarketOrderParams, Pool, PoolConfigParams, ProposalParams, SelfMatchingOptions, SetEwmaParams, SwapParams, SwapWithManagerParams };
237
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":[],"mappings":";;;UAMiB,cAAA;;EAAA,QAAA,CAAA,EAAA,MAAc;EAOd,UAAA,CAAA,EAAA,MAAa;EAKb,WAAI,CAAA,EAAA,MAAA;AASrB;AAMiB,UApBA,aAAA,CAoBU;EAMf,OAAA,EAAA,MAAS;EAQT,OAAA,EAAA,MAAA;AAMZ;AAaiB,UAhDA,IAAA,CAgDA;EAUA,OAAA,EAAA,MAAA;EAUA,IAAA,EAAA,MAAA;EAQA,MAAA,EAAA,MAAA;EAaA,IAAA,CAAA,EAAA,MAAA;EAUA,UAAA,CAAA,EAAA,MAAA;EAWA,iBAAA,CAAA,EAAA,MAAA;AAQjB;AAQiB,UArHA,IAAA,CAqHc;EAQd,OAAA,EAAA,MAAA;EAMA,QAAA,EAAA,MAAU;EAKf,SAAA,EAAA,MAAA;;AAEC,UApII,UAAA,CAoIJ;EAAyB,OAAA,EAAA,MAAA;EAGrB,IAAA,EAAA,MAAA;AA6BjB;AAUiB,aAxKL,SAAA;EAiLK,cAAA,GAAa,CAAA;EAMb,mBAAgB,GAAA,CAAA;EAShB,YAAA,GAAA,CAAA;EAUA,SAAA,GAAA,CAAA;AAOjB;AAUY,aAnNA,mBAAA;EA4NA,qBAAA,GAAA,CAAA;;;;UAtNK,qBAAA;;;;;;;;cAQJ;uBACS;;;UAIL,sBAAA;;;;;;uBAMK;;;UAIL,wBAAA;;;;;;;;;UAUA,yBAAA;;;;;;;UAQA,2BAAA;;;;;;;;cAQJ;uBACS;;;UAIL,4BAAA;;;;;;uBAMK;;;UAIL,uBAAA;;cAEJ;uBACS;;;;;;;UAQL,wBAAA;;uBAEK;;;;;UAML,yBAAA;;;;;gBAKF,0BAA0B;;UAGxB,cAAA;;;;;;;UAQA,oBAAA;;;;;UAMA,UAAA;;;;;aAKL;aACA;cACC;;UAGI,qBAAA;;;;;;;;aAQL;cACC;;UAoBI,qBAAA;;;;;;;;;UAUA,8BAAA;;;;;;aAML;;UAGK,aAAA;;;;;UAMA,gBAAA;;;;;;;;UASA,sBAAA;;;;;;;;;UAUA,oBAAA;;;;;;UAOA,MAAA;;;;;;;;;KAUL,aAAA;;;;;;;QAEoD;;;;;;;KAOpD,uBAAA;WACF;;;;;;;;QAGsD"}
@@ -0,0 +1,18 @@
1
+ //#region src/types/index.ts
2
+ let OrderType = /* @__PURE__ */ function(OrderType$1) {
3
+ OrderType$1[OrderType$1["NO_RESTRICTION"] = 0] = "NO_RESTRICTION";
4
+ OrderType$1[OrderType$1["IMMEDIATE_OR_CANCEL"] = 1] = "IMMEDIATE_OR_CANCEL";
5
+ OrderType$1[OrderType$1["FILL_OR_KILL"] = 2] = "FILL_OR_KILL";
6
+ OrderType$1[OrderType$1["POST_ONLY"] = 3] = "POST_ONLY";
7
+ return OrderType$1;
8
+ }({});
9
+ let SelfMatchingOptions = /* @__PURE__ */ function(SelfMatchingOptions$1) {
10
+ SelfMatchingOptions$1[SelfMatchingOptions$1["SELF_MATCHING_ALLOWED"] = 0] = "SELF_MATCHING_ALLOWED";
11
+ SelfMatchingOptions$1[SelfMatchingOptions$1["CANCEL_TAKER"] = 1] = "CANCEL_TAKER";
12
+ SelfMatchingOptions$1[SelfMatchingOptions$1["CANCEL_MAKER"] = 2] = "CANCEL_MAKER";
13
+ return SelfMatchingOptions$1;
14
+ }({});
15
+
16
+ //#endregion
17
+ export { OrderType, SelfMatchingOptions };
18
+ //# sourceMappingURL=index.mjs.map