@mysten/deepbook-v3 2.0.0 → 2.1.3

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 (302) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/PREDICT.md +256 -0
  3. package/README.md +116 -0
  4. package/dist/account.d.mts +139 -0
  5. package/dist/account.d.mts.map +1 -0
  6. package/dist/account.mjs +181 -0
  7. package/dist/account.mjs.map +1 -0
  8. package/dist/bcs/integers.mjs +23 -0
  9. package/dist/bcs/integers.mjs.map +1 -0
  10. package/dist/contracts/account/account.d.mts +382 -0
  11. package/dist/contracts/account/account.d.mts.map +1 -0
  12. package/dist/contracts/account/account.mjs +443 -0
  13. package/dist/contracts/account/account.mjs.map +1 -0
  14. package/dist/contracts/account/account_events.d.mts +41 -0
  15. package/dist/contracts/account/account_events.d.mts.map +1 -0
  16. package/dist/contracts/account/account_events.mjs +72 -0
  17. package/dist/contracts/account/account_events.mjs.map +1 -0
  18. package/dist/contracts/account/account_registry.d.mts +210 -0
  19. package/dist/contracts/account/account_registry.d.mts.map +1 -0
  20. package/dist/contracts/account/account_registry.mjs +263 -0
  21. package/dist/contracts/account/account_registry.mjs.map +1 -0
  22. package/dist/contracts/account/config-arguments.d.mts +10 -0
  23. package/dist/contracts/account/config-arguments.d.mts.map +1 -0
  24. package/dist/contracts/account/deps/sui/bag.mjs +44 -0
  25. package/dist/contracts/account/deps/sui/bag.mjs.map +1 -0
  26. package/dist/contracts/deepbook/account.d.mts +18 -18
  27. package/dist/contracts/deepbook/balance_manager.mjs.map +1 -1
  28. package/dist/contracts/deepbook/balances.d.mts +4 -4
  29. package/dist/contracts/deepbook/balances.d.mts.map +1 -1
  30. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  31. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
  32. package/dist/contracts/deepbook/order.d.mts +12 -12
  33. package/dist/contracts/deepbook/pool.mjs.map +1 -1
  34. package/dist/contracts/deepbook/registry.mjs.map +1 -1
  35. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
  36. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -1
  37. package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -1
  38. package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -1
  39. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
  40. package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -1
  41. package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -1
  42. package/dist/contracts/deepbook_predict/builder_code_events.mjs +38 -0
  43. package/dist/contracts/deepbook_predict/builder_code_events.mjs.map +1 -0
  44. package/dist/contracts/deepbook_predict/config-arguments.d.mts +13 -0
  45. package/dist/contracts/deepbook_predict/config-arguments.d.mts.map +1 -0
  46. package/dist/contracts/deepbook_predict/deps/fixed_math/i64.mjs +25 -0
  47. package/dist/contracts/deepbook_predict/deps/fixed_math/i64.mjs.map +1 -0
  48. package/dist/contracts/deepbook_predict/deps/sui/balance.mjs +25 -0
  49. package/dist/contracts/deepbook_predict/deps/sui/balance.mjs.map +1 -0
  50. package/dist/contracts/deepbook_predict/deps/sui/coin.mjs +24 -0
  51. package/dist/contracts/deepbook_predict/deps/sui/coin.mjs.map +1 -0
  52. package/dist/contracts/deepbook_predict/deps/sui/table.mjs +39 -0
  53. package/dist/contracts/deepbook_predict/deps/sui/table.mjs.map +1 -0
  54. package/dist/contracts/deepbook_predict/deps/sui/vec_set.mjs +26 -0
  55. package/dist/contracts/deepbook_predict/deps/sui/vec_set.mjs.map +1 -0
  56. package/dist/contracts/deepbook_predict/ewma.mjs +29 -0
  57. package/dist/contracts/deepbook_predict/ewma.mjs.map +1 -0
  58. package/dist/contracts/deepbook_predict/expiry_cash.mjs +27 -0
  59. package/dist/contracts/deepbook_predict/expiry_cash.mjs.map +1 -0
  60. package/dist/contracts/deepbook_predict/expiry_market.mjs +367 -0
  61. package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -0
  62. package/dist/contracts/deepbook_predict/lp_book.mjs +92 -0
  63. package/dist/contracts/deepbook_predict/lp_book.mjs.map +1 -0
  64. package/dist/contracts/deepbook_predict/market_manager.mjs +59 -0
  65. package/dist/contracts/deepbook_predict/market_manager.mjs.map +1 -0
  66. package/dist/contracts/deepbook_predict/order.mjs +26 -0
  67. package/dist/contracts/deepbook_predict/order.mjs.map +1 -0
  68. package/dist/contracts/deepbook_predict/order_events.mjs +84 -0
  69. package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -0
  70. package/dist/contracts/deepbook_predict/plp.mjs +284 -0
  71. package/dist/contracts/deepbook_predict/plp.mjs.map +1 -0
  72. package/dist/contracts/deepbook_predict/pool_accounting.mjs +58 -0
  73. package/dist/contracts/deepbook_predict/pool_accounting.mjs.map +1 -0
  74. package/dist/contracts/deepbook_predict/predict_account.mjs +106 -0
  75. package/dist/contracts/deepbook_predict/predict_account.mjs.map +1 -0
  76. package/dist/contracts/deepbook_predict/pricing.mjs +80 -0
  77. package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -0
  78. package/dist/contracts/deepbook_predict/range_codec.mjs +41 -0
  79. package/dist/contracts/deepbook_predict/range_codec.mjs.map +1 -0
  80. package/dist/contracts/deepbook_predict/registry.mjs +55 -0
  81. package/dist/contracts/deepbook_predict/registry.mjs.map +1 -0
  82. package/dist/contracts/deepbook_predict/strike_exposure.mjs +65 -0
  83. package/dist/contracts/deepbook_predict/strike_exposure.mjs.map +1 -0
  84. package/dist/contracts/deepbook_predict/strike_exposure_config.mjs +33 -0
  85. package/dist/contracts/deepbook_predict/strike_exposure_config.mjs.map +1 -0
  86. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +72 -0
  87. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -0
  88. package/dist/contracts/deepbook_predict/vault_events.mjs +184 -0
  89. package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -0
  90. package/dist/contracts/deepbook_sessions/config-arguments.d.mts +10 -0
  91. package/dist/contracts/deepbook_sessions/config-arguments.d.mts.map +1 -0
  92. package/dist/contracts/deepbook_sessions/deps/sui/vec_map.mjs +37 -0
  93. package/dist/contracts/deepbook_sessions/deps/sui/vec_map.mjs.map +1 -0
  94. package/dist/contracts/deepbook_sessions/session_config.d.mts +63 -0
  95. package/dist/contracts/deepbook_sessions/session_config.d.mts.map +1 -0
  96. package/dist/contracts/deepbook_sessions/session_config.mjs +82 -0
  97. package/dist/contracts/deepbook_sessions/session_config.mjs.map +1 -0
  98. package/dist/contracts/deepbook_sessions/sessions.d.mts +275 -0
  99. package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -0
  100. package/dist/contracts/deepbook_sessions/sessions.mjs +443 -0
  101. package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -0
  102. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
  103. package/dist/contracts/utils/index.d.mts +18 -1
  104. package/dist/contracts/utils/index.d.mts.map +1 -1
  105. package/dist/deployments/index.d.mts +31 -0
  106. package/dist/deployments/index.d.mts.map +1 -0
  107. package/dist/deployments/index.mjs +30 -0
  108. package/dist/deployments/index.mjs.map +1 -0
  109. package/dist/deployments/testnet.d.mts +14 -0
  110. package/dist/deployments/testnet.d.mts.map +1 -0
  111. package/dist/deployments/testnet.mjs +73 -0
  112. package/dist/deployments/testnet.mjs.map +1 -0
  113. package/dist/deployments/types.d.mts +36 -0
  114. package/dist/deployments/types.d.mts.map +1 -0
  115. package/dist/index.mjs +0 -1
  116. package/dist/predict/client.d.mts +255 -0
  117. package/dist/predict/client.d.mts.map +1 -0
  118. package/dist/predict/client.mjs +436 -0
  119. package/dist/predict/client.mjs.map +1 -0
  120. package/dist/predict/config/generated.d.mts +29 -0
  121. package/dist/predict/config/generated.d.mts.map +1 -0
  122. package/dist/predict/config/generated.mjs +16 -0
  123. package/dist/predict/config/generated.mjs.map +1 -0
  124. package/dist/predict/config/index.d.mts +10 -0
  125. package/dist/predict/config/index.d.mts.map +1 -0
  126. package/dist/predict/config/index.mjs +13 -0
  127. package/dist/predict/config/index.mjs.map +1 -0
  128. package/dist/predict/config/testnet.d.mts +17 -0
  129. package/dist/predict/config/testnet.d.mts.map +1 -0
  130. package/dist/predict/config/testnet.mjs +26 -0
  131. package/dist/predict/config/testnet.mjs.map +1 -0
  132. package/dist/predict/config/types.d.mts +55 -0
  133. package/dist/predict/config/types.d.mts.map +1 -0
  134. package/dist/predict/decode.d.mts +162 -0
  135. package/dist/predict/decode.d.mts.map +1 -0
  136. package/dist/predict/decode.mjs +175 -0
  137. package/dist/predict/decode.mjs.map +1 -0
  138. package/dist/predict/errors.d.mts +42 -0
  139. package/dist/predict/errors.d.mts.map +1 -0
  140. package/dist/predict/errors.mjs +37 -0
  141. package/dist/predict/errors.mjs.map +1 -0
  142. package/dist/predict/index.d.mts +18 -0
  143. package/dist/predict/index.mjs +14 -0
  144. package/dist/predict/pricing.d.mts +73 -0
  145. package/dist/predict/pricing.d.mts.map +1 -0
  146. package/dist/predict/pricing.mjs +129 -0
  147. package/dist/predict/pricing.mjs.map +1 -0
  148. package/dist/predict/reads/balances.mjs +41 -0
  149. package/dist/predict/reads/balances.mjs.map +1 -0
  150. package/dist/predict/reads/inspect.d.mts +8 -0
  151. package/dist/predict/reads/inspect.d.mts.map +1 -0
  152. package/dist/predict/reads/inspect.mjs +37 -0
  153. package/dist/predict/reads/inspect.mjs.map +1 -0
  154. package/dist/predict/reads/markets.mjs +130 -0
  155. package/dist/predict/reads/markets.mjs.map +1 -0
  156. package/dist/predict/reads/parse.mjs +20 -0
  157. package/dist/predict/reads/parse.mjs.map +1 -0
  158. package/dist/predict/reads/pool.mjs +26 -0
  159. package/dist/predict/reads/pool.mjs.map +1 -0
  160. package/dist/predict/reads/positions.d.mts +12 -0
  161. package/dist/predict/reads/positions.d.mts.map +1 -0
  162. package/dist/predict/reads/positions.mjs +77 -0
  163. package/dist/predict/reads/positions.mjs.map +1 -0
  164. package/dist/predict/reads/pricing.d.mts +20 -0
  165. package/dist/predict/reads/pricing.d.mts.map +1 -0
  166. package/dist/predict/reads/pricing.mjs +43 -0
  167. package/dist/predict/reads/pricing.mjs.map +1 -0
  168. package/dist/predict/ticks.d.mts +11 -0
  169. package/dist/predict/ticks.d.mts.map +1 -0
  170. package/dist/predict/ticks.mjs +21 -0
  171. package/dist/predict/ticks.mjs.map +1 -0
  172. package/dist/predict/tx/authed.mjs +18 -0
  173. package/dist/predict/tx/authed.mjs.map +1 -0
  174. package/dist/predict/tx/common.d.mts +18 -0
  175. package/dist/predict/tx/common.d.mts.map +1 -0
  176. package/dist/predict/tx/common.mjs +52 -0
  177. package/dist/predict/tx/common.mjs.map +1 -0
  178. package/dist/predict/tx/trade.d.mts +15 -0
  179. package/dist/predict/tx/trade.d.mts.map +1 -0
  180. package/dist/predict/tx/trade.mjs +86 -0
  181. package/dist/predict/tx/trade.mjs.map +1 -0
  182. package/dist/predict/units.d.mts +11 -0
  183. package/dist/predict/units.d.mts.map +1 -0
  184. package/dist/predict/units.mjs +44 -0
  185. package/dist/predict/units.mjs.map +1 -0
  186. package/dist/queries/accountQueries.mjs +0 -1
  187. package/dist/queries/accountQueries.mjs.map +1 -1
  188. package/dist/queries/orderQueries.mjs +0 -1
  189. package/dist/queries/orderQueries.mjs.map +1 -1
  190. package/dist/queries/registryQueries.mjs +0 -1
  191. package/dist/queries/registryQueries.mjs.map +1 -1
  192. package/dist/sessions.d.mts +244 -0
  193. package/dist/sessions.d.mts.map +1 -0
  194. package/dist/sessions.mjs +291 -0
  195. package/dist/sessions.mjs.map +1 -0
  196. package/dist/transactions/balanceManager.d.mts +12 -12
  197. package/dist/transactions/deepbook.d.mts +20 -20
  198. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  199. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  200. package/dist/transactions/marginAdmin.d.mts +7 -7
  201. package/dist/transactions/marginLiquidations.d.mts +3 -3
  202. package/dist/transactions/marginMaintainer.d.mts +5 -5
  203. package/dist/transactions/marginManager.d.mts +32 -32
  204. package/dist/transactions/marginPool.d.mts +18 -18
  205. package/dist/transactions/marginRegistry.d.mts +16 -16
  206. package/dist/transactions/marginTPSL.d.mts +10 -10
  207. package/dist/transactions/poolProxy.d.mts +8 -8
  208. package/dist/types/index.d.mts.map +1 -1
  209. package/dist/types/index.mjs.map +1 -1
  210. package/dist/utils/constants.d.mts.map +1 -1
  211. package/dist/utils/constants.mjs +1 -1
  212. package/dist/utils/constants.mjs.map +1 -1
  213. package/package.json +33 -12
  214. package/src/account.ts +239 -0
  215. package/src/bcs/integers.ts +35 -0
  216. package/src/contracts/account/account.ts +706 -0
  217. package/src/contracts/account/account_events.ts +64 -0
  218. package/src/contracts/account/account_registry.ts +468 -0
  219. package/src/contracts/account/config-arguments.ts +8 -0
  220. package/src/contracts/account/deps/sui/bag.ts +42 -0
  221. package/src/contracts/deepbook/balance_manager.ts +1 -2
  222. package/src/contracts/deepbook/pool.ts +12 -24
  223. package/src/contracts/deepbook/registry.ts +1 -2
  224. package/src/contracts/deepbook_margin/margin_manager.ts +9 -18
  225. package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +5 -10
  226. package/src/contracts/deepbook_margin/margin_pool.ts +2 -4
  227. package/src/contracts/deepbook_margin/margin_registry.ts +3 -6
  228. package/src/contracts/deepbook_margin/pool_proxy.ts +3 -6
  229. package/src/contracts/deepbook_margin/protocol_config.ts +1 -2
  230. package/src/contracts/deepbook_margin/tpsl.ts +1 -2
  231. package/src/contracts/deepbook_predict/admin.ts +44 -0
  232. package/src/contracts/deepbook_predict/builder_code.ts +155 -0
  233. package/src/contracts/deepbook_predict/builder_code_events.ts +34 -0
  234. package/src/contracts/deepbook_predict/config-arguments.ts +11 -0
  235. package/src/contracts/deepbook_predict/config_events.ts +140 -0
  236. package/src/contracts/deepbook_predict/deps/fixed_math/i64.ts +21 -0
  237. package/src/contracts/deepbook_predict/deps/sui/balance.ts +25 -0
  238. package/src/contracts/deepbook_predict/deps/sui/coin.ts +20 -0
  239. package/src/contracts/deepbook_predict/deps/sui/table.ts +37 -0
  240. package/src/contracts/deepbook_predict/deps/sui/vec_set.ts +22 -0
  241. package/src/contracts/deepbook_predict/ewma.ts +26 -0
  242. package/src/contracts/deepbook_predict/ewma_config.ts +28 -0
  243. package/src/contracts/deepbook_predict/expiry_cash.ts +24 -0
  244. package/src/contracts/deepbook_predict/expiry_market.ts +1549 -0
  245. package/src/contracts/deepbook_predict/lp_book.ts +105 -0
  246. package/src/contracts/deepbook_predict/market_lifecycle_cap.ts +75 -0
  247. package/src/contracts/deepbook_predict/market_manager.ts +218 -0
  248. package/src/contracts/deepbook_predict/order.ts +24 -0
  249. package/src/contracts/deepbook_predict/order_events.ts +129 -0
  250. package/src/contracts/deepbook_predict/pause_cap.ts +68 -0
  251. package/src/contracts/deepbook_predict/plp.ts +987 -0
  252. package/src/contracts/deepbook_predict/pool_accounting.ts +79 -0
  253. package/src/contracts/deepbook_predict/predict_account.ts +180 -0
  254. package/src/contracts/deepbook_predict/pricing.ts +124 -0
  255. package/src/contracts/deepbook_predict/pricing_config.ts +41 -0
  256. package/src/contracts/deepbook_predict/protocol_config.ts +1066 -0
  257. package/src/contracts/deepbook_predict/range_codec.ts +53 -0
  258. package/src/contracts/deepbook_predict/registry.ts +694 -0
  259. package/src/contracts/deepbook_predict/strike_exposure.ts +77 -0
  260. package/src/contracts/deepbook_predict/strike_exposure_config.ts +46 -0
  261. package/src/contracts/deepbook_predict/strike_payout_tree.ts +89 -0
  262. package/src/contracts/deepbook_predict/vault_events.ts +222 -0
  263. package/src/contracts/deepbook_sessions/config-arguments.ts +8 -0
  264. package/src/contracts/deepbook_sessions/deps/sui/vec_map.ts +33 -0
  265. package/src/contracts/deepbook_sessions/session_config.ts +130 -0
  266. package/src/contracts/deepbook_sessions/sessions.ts +663 -0
  267. package/src/contracts/margin_liquidation/liquidation_vault.ts +2 -4
  268. package/src/contracts/propbook/block_scholes_store.ts +842 -0
  269. package/src/contracts/propbook/deps/sui/table.ts +37 -0
  270. package/src/contracts/propbook/oracle_lane.ts +170 -0
  271. package/src/contracts/propbook/pyth_feed.ts +414 -0
  272. package/src/contracts/propbook/registry.ts +596 -0
  273. package/src/contracts/pyth/pyth.ts +2 -4
  274. package/src/deployments/index.ts +73 -0
  275. package/src/deployments/testnet.ts +107 -0
  276. package/src/deployments/types.ts +81 -0
  277. package/src/index.ts +5 -0
  278. package/src/predict/client.ts +941 -0
  279. package/src/predict/config/generated.ts +39 -0
  280. package/src/predict/config/index.ts +25 -0
  281. package/src/predict/config/testnet.ts +27 -0
  282. package/src/predict/config/types.ts +52 -0
  283. package/src/predict/decode.ts +476 -0
  284. package/src/predict/errors.ts +83 -0
  285. package/src/predict/index.ts +94 -0
  286. package/src/predict/pricing.ts +199 -0
  287. package/src/predict/reads/balances.ts +55 -0
  288. package/src/predict/reads/inspect.ts +78 -0
  289. package/src/predict/reads/markets.ts +222 -0
  290. package/src/predict/reads/parse.ts +30 -0
  291. package/src/predict/reads/pool.ts +37 -0
  292. package/src/predict/reads/positions.ts +144 -0
  293. package/src/predict/reads/pricing.ts +79 -0
  294. package/src/predict/ticks.ts +42 -0
  295. package/src/predict/tx/authed.ts +20 -0
  296. package/src/predict/tx/common.ts +92 -0
  297. package/src/predict/tx/trade.ts +183 -0
  298. package/src/predict/units.ts +49 -0
  299. package/src/sessions.ts +471 -0
  300. package/src/types/index.ts +1 -2
  301. package/src/utils/constants.ts +1 -7
  302. package/dist/types/bcs.mjs +0 -7
@@ -0,0 +1,663 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * Owns time-limited trading session grants attached to canonical Accounts. Account
7
+ * owners grant and revoke sessions; an active session can only generate app auth
8
+ * inside the Predict and DeepBook spot wrappers exposed here.
9
+ */
10
+
11
+ import {
12
+ MoveStruct,
13
+ normalizeMoveArguments,
14
+ type RawTransactionArgument,
15
+ type ConfigValue,
16
+ } from '../utils/index.js';
17
+ import { bcs } from '@mysten/sui/bcs';
18
+ import { U64 } from '../../bcs/integers.js';
19
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
20
+ import * as vec_map from './deps/sui/vec_map.js';
21
+ const $moduleName = '@local-pkg/deepbook_sessions::sessions';
22
+ export const SessionsApp = new MoveStruct({
23
+ name: `${$moduleName}::SessionsApp`,
24
+ fields: {
25
+ dummy_field: bcs.bool(),
26
+ },
27
+ });
28
+ export const SessionsData = new MoveStruct({
29
+ name: `${$moduleName}::SessionsData`,
30
+ fields: {
31
+ sessions: vec_map.VecMap(bcs.Address, U64),
32
+ },
33
+ });
34
+ export const SessionAuthorized = new MoveStruct({
35
+ name: `${$moduleName}::SessionAuthorized`,
36
+ fields: {
37
+ account_id: bcs.Address,
38
+ session: bcs.Address,
39
+ expires_at_ms: U64,
40
+ },
41
+ });
42
+ export const SessionRevoked = new MoveStruct({
43
+ name: `${$moduleName}::SessionRevoked`,
44
+ fields: {
45
+ account_id: bcs.Address,
46
+ session: bcs.Address,
47
+ expires_at_ms: U64,
48
+ },
49
+ });
50
+ export interface SessionExpirationMsArguments {
51
+ wrapper: RawTransactionArgument<string>;
52
+ session: RawTransactionArgument<string>;
53
+ }
54
+ export interface SessionExpirationMsOptions {
55
+ package?: string;
56
+ arguments:
57
+ | SessionExpirationMsArguments
58
+ | [wrapper: RawTransactionArgument<string>, session: RawTransactionArgument<string>];
59
+ config?: {
60
+ sessionsPackageId?: string;
61
+ };
62
+ }
63
+ /** Return a known session's expiration timestamp for SDK and devInspect reads. */
64
+ export function sessionExpirationMs(options: SessionExpirationMsOptions) {
65
+ const packageAddress =
66
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
67
+ const argumentsTypes = [null, 'address'] satisfies (string | null)[];
68
+ const parameterNames = ['wrapper', 'session'];
69
+ return (tx: Transaction) =>
70
+ tx.moveCall({
71
+ package: packageAddress,
72
+ module: 'sessions',
73
+ function: 'session_expiration_ms',
74
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
75
+ });
76
+ }
77
+ export interface AuthorizeSessionArguments {
78
+ wrapper: RawTransactionArgument<string>;
79
+ sessionsConfig?: RawTransactionArgument<string>;
80
+ session: RawTransactionArgument<string>;
81
+ durationMs: RawTransactionArgument<number | bigint>;
82
+ }
83
+ export interface AuthorizeSessionOptions {
84
+ package?: string;
85
+ arguments: AuthorizeSessionArguments;
86
+ config?: {
87
+ sessionsConfig: ConfigValue;
88
+ sessionsPackageId?: string;
89
+ };
90
+ }
91
+ /**
92
+ * Authorize `session` from execution time for at most 30 days. Accounts may store
93
+ * at most 20 addresses; reauthorization replaces in place.
94
+ */
95
+ export function authorizeSession(options: AuthorizeSessionOptions) {
96
+ const packageAddress =
97
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
98
+ const argumentsTypes = [null, null, 'address', 'u64', '0x2::clock::Clock'] satisfies (
99
+ string | null
100
+ )[];
101
+ const parameterNames = ['wrapper', 'sessionsConfig', 'session', 'durationMs'];
102
+ return (tx: Transaction) =>
103
+ tx.moveCall({
104
+ package: packageAddress,
105
+ module: 'sessions',
106
+ function: 'authorize_session',
107
+ arguments: normalizeMoveArguments(
108
+ {
109
+ ...options.arguments,
110
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
111
+ },
112
+ argumentsTypes,
113
+ parameterNames,
114
+ ),
115
+ });
116
+ }
117
+ export interface RevokeSessionArguments {
118
+ wrapper: RawTransactionArgument<string>;
119
+ session: RawTransactionArgument<string>;
120
+ }
121
+ export interface RevokeSessionOptions {
122
+ package?: string;
123
+ arguments:
124
+ | RevokeSessionArguments
125
+ | [wrapper: RawTransactionArgument<string>, session: RawTransactionArgument<string>];
126
+ config?: {
127
+ sessionsPackageId?: string;
128
+ };
129
+ }
130
+ /**
131
+ * Revoke `session` if it is present. Only the Account owner may call this
132
+ * function.
133
+ */
134
+ export function revokeSession(options: RevokeSessionOptions) {
135
+ const packageAddress =
136
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
137
+ const argumentsTypes = [null, 'address'] satisfies (string | null)[];
138
+ const parameterNames = ['wrapper', 'session'];
139
+ return (tx: Transaction) =>
140
+ tx.moveCall({
141
+ package: packageAddress,
142
+ module: 'sessions',
143
+ function: 'revoke_session',
144
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
145
+ });
146
+ }
147
+ export interface PlaceLimitOrderArguments {
148
+ pool: RawTransactionArgument<string>;
149
+ deepbookRegistry: RawTransactionArgument<string>;
150
+ accountRegistry: RawTransactionArgument<string>;
151
+ wrapper: RawTransactionArgument<string>;
152
+ sessionsConfig?: RawTransactionArgument<string>;
153
+ clientOrderId: RawTransactionArgument<number | bigint>;
154
+ orderType: RawTransactionArgument<number>;
155
+ selfMatchingOption: RawTransactionArgument<number>;
156
+ price: RawTransactionArgument<number | bigint>;
157
+ quantity: RawTransactionArgument<number | bigint>;
158
+ isBid: RawTransactionArgument<boolean>;
159
+ payWithDeep: RawTransactionArgument<boolean>;
160
+ expireTimestamp: RawTransactionArgument<number | bigint>;
161
+ }
162
+ export interface PlaceLimitOrderOptions {
163
+ package?: string;
164
+ arguments: PlaceLimitOrderArguments;
165
+ config?: {
166
+ sessionsConfig: ConfigValue;
167
+ sessionsPackageId?: string;
168
+ };
169
+ typeArguments: [string, string];
170
+ }
171
+ /** Place a DeepBook spot limit order for an Account with an active session. */
172
+ export function placeLimitOrder(options: PlaceLimitOrderOptions) {
173
+ const packageAddress =
174
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
175
+ const argumentsTypes = [
176
+ null,
177
+ null,
178
+ null,
179
+ null,
180
+ null,
181
+ 'u64',
182
+ 'u8',
183
+ 'u8',
184
+ 'u64',
185
+ 'u64',
186
+ 'bool',
187
+ 'bool',
188
+ 'u64',
189
+ '0x2::accumulator::AccumulatorRoot',
190
+ '0x2::clock::Clock',
191
+ ] satisfies (string | null)[];
192
+ const parameterNames = [
193
+ 'pool',
194
+ 'deepbookRegistry',
195
+ 'accountRegistry',
196
+ 'wrapper',
197
+ 'sessionsConfig',
198
+ 'clientOrderId',
199
+ 'orderType',
200
+ 'selfMatchingOption',
201
+ 'price',
202
+ 'quantity',
203
+ 'isBid',
204
+ 'payWithDeep',
205
+ 'expireTimestamp',
206
+ ];
207
+ return (tx: Transaction) =>
208
+ tx.moveCall({
209
+ package: packageAddress,
210
+ module: 'sessions',
211
+ function: 'place_limit_order',
212
+ arguments: normalizeMoveArguments(
213
+ {
214
+ ...options.arguments,
215
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
216
+ },
217
+ argumentsTypes,
218
+ parameterNames,
219
+ ),
220
+ typeArguments: options.typeArguments,
221
+ });
222
+ }
223
+ export interface PlaceMarketOrderArguments {
224
+ pool: RawTransactionArgument<string>;
225
+ deepbookRegistry: RawTransactionArgument<string>;
226
+ accountRegistry: RawTransactionArgument<string>;
227
+ wrapper: RawTransactionArgument<string>;
228
+ sessionsConfig?: RawTransactionArgument<string>;
229
+ clientOrderId: RawTransactionArgument<number | bigint>;
230
+ selfMatchingOption: RawTransactionArgument<number>;
231
+ quantity: RawTransactionArgument<number | bigint>;
232
+ priceLimit: RawTransactionArgument<number | bigint>;
233
+ isBid: RawTransactionArgument<boolean>;
234
+ payWithDeep: RawTransactionArgument<boolean>;
235
+ }
236
+ export interface PlaceMarketOrderOptions {
237
+ package?: string;
238
+ arguments: PlaceMarketOrderArguments;
239
+ config?: {
240
+ sessionsConfig: ConfigValue;
241
+ sessionsPackageId?: string;
242
+ };
243
+ typeArguments: [string, string];
244
+ }
245
+ /** Place a DeepBook spot market order for an Account with an active session. */
246
+ export function placeMarketOrder(options: PlaceMarketOrderOptions) {
247
+ const packageAddress =
248
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
249
+ const argumentsTypes = [
250
+ null,
251
+ null,
252
+ null,
253
+ null,
254
+ null,
255
+ 'u64',
256
+ 'u8',
257
+ 'u64',
258
+ 'u64',
259
+ 'bool',
260
+ 'bool',
261
+ '0x2::accumulator::AccumulatorRoot',
262
+ '0x2::clock::Clock',
263
+ ] satisfies (string | null)[];
264
+ const parameterNames = [
265
+ 'pool',
266
+ 'deepbookRegistry',
267
+ 'accountRegistry',
268
+ 'wrapper',
269
+ 'sessionsConfig',
270
+ 'clientOrderId',
271
+ 'selfMatchingOption',
272
+ 'quantity',
273
+ 'priceLimit',
274
+ 'isBid',
275
+ 'payWithDeep',
276
+ ];
277
+ return (tx: Transaction) =>
278
+ tx.moveCall({
279
+ package: packageAddress,
280
+ module: 'sessions',
281
+ function: 'place_market_order',
282
+ arguments: normalizeMoveArguments(
283
+ {
284
+ ...options.arguments,
285
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
286
+ },
287
+ argumentsTypes,
288
+ parameterNames,
289
+ ),
290
+ typeArguments: options.typeArguments,
291
+ });
292
+ }
293
+ export interface CancelLiveOrderArguments {
294
+ pool: RawTransactionArgument<string>;
295
+ accountRegistry: RawTransactionArgument<string>;
296
+ wrapper: RawTransactionArgument<string>;
297
+ sessionsConfig?: RawTransactionArgument<string>;
298
+ orderId: RawTransactionArgument<number | bigint>;
299
+ }
300
+ export interface CancelLiveOrderOptions {
301
+ package?: string;
302
+ arguments: CancelLiveOrderArguments;
303
+ config?: {
304
+ sessionsConfig: ConfigValue;
305
+ sessionsPackageId?: string;
306
+ };
307
+ typeArguments: [string, string];
308
+ }
309
+ /** Cancel a DeepBook spot order for an Account with an active session. */
310
+ export function cancelLiveOrder(options: CancelLiveOrderOptions) {
311
+ const packageAddress =
312
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
313
+ const argumentsTypes = [null, null, null, null, 'u128', '0x2::clock::Clock'] satisfies (
314
+ string | null
315
+ )[];
316
+ const parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig', 'orderId'];
317
+ return (tx: Transaction) =>
318
+ tx.moveCall({
319
+ package: packageAddress,
320
+ module: 'sessions',
321
+ function: 'cancel_live_order',
322
+ arguments: normalizeMoveArguments(
323
+ {
324
+ ...options.arguments,
325
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
326
+ },
327
+ argumentsTypes,
328
+ parameterNames,
329
+ ),
330
+ typeArguments: options.typeArguments,
331
+ });
332
+ }
333
+ export interface CancelLiveOrdersArguments {
334
+ pool: RawTransactionArgument<string>;
335
+ accountRegistry: RawTransactionArgument<string>;
336
+ wrapper: RawTransactionArgument<string>;
337
+ sessionsConfig?: RawTransactionArgument<string>;
338
+ orderIds: RawTransactionArgument<Array<number | bigint>>;
339
+ }
340
+ export interface CancelLiveOrdersOptions {
341
+ package?: string;
342
+ arguments: CancelLiveOrdersArguments;
343
+ config?: {
344
+ sessionsConfig: ConfigValue;
345
+ sessionsPackageId?: string;
346
+ };
347
+ typeArguments: [string, string];
348
+ }
349
+ /** Cancel multiple DeepBook spot orders for an Account with an active session. */
350
+ export function cancelLiveOrders(options: CancelLiveOrdersOptions) {
351
+ const packageAddress =
352
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
353
+ const argumentsTypes = [null, null, null, null, 'vector<u128>', '0x2::clock::Clock'] satisfies (
354
+ string | null
355
+ )[];
356
+ const parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig', 'orderIds'];
357
+ return (tx: Transaction) =>
358
+ tx.moveCall({
359
+ package: packageAddress,
360
+ module: 'sessions',
361
+ function: 'cancel_live_orders',
362
+ arguments: normalizeMoveArguments(
363
+ {
364
+ ...options.arguments,
365
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
366
+ },
367
+ argumentsTypes,
368
+ parameterNames,
369
+ ),
370
+ typeArguments: options.typeArguments,
371
+ });
372
+ }
373
+ export interface WithdrawSettledAmountsArguments {
374
+ pool: RawTransactionArgument<string>;
375
+ accountRegistry: RawTransactionArgument<string>;
376
+ wrapper: RawTransactionArgument<string>;
377
+ sessionsConfig?: RawTransactionArgument<string>;
378
+ }
379
+ export interface WithdrawSettledAmountsOptions {
380
+ package?: string;
381
+ arguments: WithdrawSettledAmountsArguments;
382
+ config?: {
383
+ sessionsConfig: ConfigValue;
384
+ sessionsPackageId?: string;
385
+ };
386
+ typeArguments: [string, string];
387
+ }
388
+ /** Sweep settled DeepBook spot proceeds into an Account with an active session. */
389
+ export function withdrawSettledAmounts(options: WithdrawSettledAmountsOptions) {
390
+ const packageAddress =
391
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
392
+ const argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];
393
+ const parameterNames = ['pool', 'accountRegistry', 'wrapper', 'sessionsConfig'];
394
+ return (tx: Transaction) =>
395
+ tx.moveCall({
396
+ package: packageAddress,
397
+ module: 'sessions',
398
+ function: 'withdraw_settled_amounts',
399
+ arguments: normalizeMoveArguments(
400
+ {
401
+ ...options.arguments,
402
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
403
+ },
404
+ argumentsTypes,
405
+ parameterNames,
406
+ ),
407
+ typeArguments: options.typeArguments,
408
+ });
409
+ }
410
+ export interface MintExactQuantityArguments {
411
+ market: RawTransactionArgument<string>;
412
+ accountRegistry: RawTransactionArgument<string>;
413
+ wrapper: RawTransactionArgument<string>;
414
+ sessionsConfig?: RawTransactionArgument<string>;
415
+ config: RawTransactionArgument<string>;
416
+ pricer: TransactionArgument;
417
+ lowerTick: RawTransactionArgument<number | bigint>;
418
+ higherTick: RawTransactionArgument<number | bigint>;
419
+ quantity: RawTransactionArgument<number | bigint>;
420
+ maxCost: RawTransactionArgument<number | bigint>;
421
+ maxProbability: RawTransactionArgument<number | bigint>;
422
+ }
423
+ export interface MintExactQuantityOptions {
424
+ package?: string;
425
+ arguments: MintExactQuantityArguments;
426
+ config?: {
427
+ sessionsConfig: ConfigValue;
428
+ sessionsPackageId?: string;
429
+ };
430
+ }
431
+ /** Mint an exact Predict position quantity for an Account with an active session. */
432
+ export function mintExactQuantity(options: MintExactQuantityOptions) {
433
+ const packageAddress =
434
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
435
+ const argumentsTypes = [
436
+ null,
437
+ null,
438
+ null,
439
+ null,
440
+ null,
441
+ null,
442
+ 'u64',
443
+ 'u64',
444
+ 'u64',
445
+ 'u64',
446
+ 'u64',
447
+ '0x2::accumulator::AccumulatorRoot',
448
+ '0x2::clock::Clock',
449
+ ] satisfies (string | null)[];
450
+ const parameterNames = [
451
+ 'market',
452
+ 'accountRegistry',
453
+ 'wrapper',
454
+ 'sessionsConfig',
455
+ 'config',
456
+ 'pricer',
457
+ 'lowerTick',
458
+ 'higherTick',
459
+ 'quantity',
460
+ 'maxCost',
461
+ 'maxProbability',
462
+ ];
463
+ return (tx: Transaction) =>
464
+ tx.moveCall({
465
+ package: packageAddress,
466
+ module: 'sessions',
467
+ function: 'mint_exact_quantity',
468
+ arguments: normalizeMoveArguments(
469
+ {
470
+ ...options.arguments,
471
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
472
+ },
473
+ argumentsTypes,
474
+ parameterNames,
475
+ ),
476
+ });
477
+ }
478
+ export interface MintExactAmountArguments {
479
+ market: RawTransactionArgument<string>;
480
+ accountRegistry: RawTransactionArgument<string>;
481
+ wrapper: RawTransactionArgument<string>;
482
+ sessionsConfig?: RawTransactionArgument<string>;
483
+ config: RawTransactionArgument<string>;
484
+ pricer: TransactionArgument;
485
+ lowerTick: RawTransactionArgument<number | bigint>;
486
+ higherTick: RawTransactionArgument<number | bigint>;
487
+ maxPremium: RawTransactionArgument<number | bigint>;
488
+ minQuantity: RawTransactionArgument<number | bigint>;
489
+ maxCost: RawTransactionArgument<number | bigint>;
490
+ }
491
+ export interface MintExactAmountOptions {
492
+ package?: string;
493
+ arguments: MintExactAmountArguments;
494
+ config?: {
495
+ sessionsConfig: ConfigValue;
496
+ sessionsPackageId?: string;
497
+ };
498
+ }
499
+ /** Mint a budget-sized Predict position for an Account with an active session. */
500
+ export function mintExactAmount(options: MintExactAmountOptions) {
501
+ const packageAddress =
502
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
503
+ const argumentsTypes = [
504
+ null,
505
+ null,
506
+ null,
507
+ null,
508
+ null,
509
+ null,
510
+ 'u64',
511
+ 'u64',
512
+ 'u64',
513
+ 'u64',
514
+ 'u64',
515
+ '0x2::accumulator::AccumulatorRoot',
516
+ '0x2::clock::Clock',
517
+ ] satisfies (string | null)[];
518
+ const parameterNames = [
519
+ 'market',
520
+ 'accountRegistry',
521
+ 'wrapper',
522
+ 'sessionsConfig',
523
+ 'config',
524
+ 'pricer',
525
+ 'lowerTick',
526
+ 'higherTick',
527
+ 'maxPremium',
528
+ 'minQuantity',
529
+ 'maxCost',
530
+ ];
531
+ return (tx: Transaction) =>
532
+ tx.moveCall({
533
+ package: packageAddress,
534
+ module: 'sessions',
535
+ function: 'mint_exact_amount',
536
+ arguments: normalizeMoveArguments(
537
+ {
538
+ ...options.arguments,
539
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
540
+ },
541
+ argumentsTypes,
542
+ parameterNames,
543
+ ),
544
+ });
545
+ }
546
+ export interface RedeemLiveArguments {
547
+ market: RawTransactionArgument<string>;
548
+ accountRegistry: RawTransactionArgument<string>;
549
+ wrapper: RawTransactionArgument<string>;
550
+ sessionsConfig?: RawTransactionArgument<string>;
551
+ config: RawTransactionArgument<string>;
552
+ pricer: TransactionArgument;
553
+ orderId: RawTransactionArgument<number | bigint>;
554
+ closeQuantity: RawTransactionArgument<number | bigint>;
555
+ minProbability: RawTransactionArgument<number | bigint>;
556
+ minProceeds: RawTransactionArgument<number | bigint>;
557
+ }
558
+ export interface RedeemLiveOptions {
559
+ package?: string;
560
+ arguments: RedeemLiveArguments;
561
+ config?: {
562
+ sessionsConfig: ConfigValue;
563
+ sessionsPackageId?: string;
564
+ };
565
+ }
566
+ /** Redeem a live Predict order for an Account with an active session. */
567
+ export function redeemLive(options: RedeemLiveOptions) {
568
+ const packageAddress =
569
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
570
+ const argumentsTypes = [
571
+ null,
572
+ null,
573
+ null,
574
+ null,
575
+ null,
576
+ null,
577
+ 'u256',
578
+ 'u64',
579
+ 'u64',
580
+ 'u64',
581
+ '0x2::accumulator::AccumulatorRoot',
582
+ '0x2::clock::Clock',
583
+ ] satisfies (string | null)[];
584
+ const parameterNames = [
585
+ 'market',
586
+ 'accountRegistry',
587
+ 'wrapper',
588
+ 'sessionsConfig',
589
+ 'config',
590
+ 'pricer',
591
+ 'orderId',
592
+ 'closeQuantity',
593
+ 'minProbability',
594
+ 'minProceeds',
595
+ ];
596
+ return (tx: Transaction) =>
597
+ tx.moveCall({
598
+ package: packageAddress,
599
+ module: 'sessions',
600
+ function: 'redeem_live',
601
+ arguments: normalizeMoveArguments(
602
+ {
603
+ ...options.arguments,
604
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
605
+ },
606
+ argumentsTypes,
607
+ parameterNames,
608
+ ),
609
+ });
610
+ }
611
+ export interface RedeemSettledArguments {
612
+ market: RawTransactionArgument<string>;
613
+ accountRegistry: RawTransactionArgument<string>;
614
+ wrapper: RawTransactionArgument<string>;
615
+ sessionsConfig?: RawTransactionArgument<string>;
616
+ config: RawTransactionArgument<string>;
617
+ orderId: RawTransactionArgument<number | bigint>;
618
+ }
619
+ export interface RedeemSettledOptions {
620
+ package?: string;
621
+ arguments: RedeemSettledArguments;
622
+ config?: {
623
+ sessionsConfig: ConfigValue;
624
+ sessionsPackageId?: string;
625
+ };
626
+ }
627
+ /** Redeem a settled Predict order for an Account with an active session. */
628
+ export function redeemSettled(options: RedeemSettledOptions) {
629
+ const packageAddress =
630
+ options.package ?? options.config?.sessionsPackageId ?? '@local-pkg/deepbook_sessions';
631
+ const argumentsTypes = [
632
+ null,
633
+ null,
634
+ null,
635
+ null,
636
+ null,
637
+ 'u256',
638
+ '0x2::accumulator::AccumulatorRoot',
639
+ '0x2::clock::Clock',
640
+ ] satisfies (string | null)[];
641
+ const parameterNames = [
642
+ 'market',
643
+ 'accountRegistry',
644
+ 'wrapper',
645
+ 'sessionsConfig',
646
+ 'config',
647
+ 'orderId',
648
+ ];
649
+ return (tx: Transaction) =>
650
+ tx.moveCall({
651
+ package: packageAddress,
652
+ module: 'sessions',
653
+ function: 'redeem_settled',
654
+ arguments: normalizeMoveArguments(
655
+ {
656
+ ...options.arguments,
657
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig,
658
+ },
659
+ argumentsTypes,
660
+ parameterNames,
661
+ ),
662
+ });
663
+ }
@@ -205,8 +205,7 @@ export interface SwapBaseToQuoteOptions {
205
205
  export function swapBaseToQuote(options: SwapBaseToQuoteOptions) {
206
206
  const packageAddress = options.package ?? '@deepbook/margin-liquidation';
207
207
  const argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (
208
- | string
209
- | null
208
+ string | null
210
209
  )[];
211
210
  const parameterNames = ['self', 'pool', 'baseIn', 'deepIn', 'minQuoteOut'];
212
211
  return (tx: Transaction) =>
@@ -241,8 +240,7 @@ export interface SwapQuoteToBaseOptions {
241
240
  export function swapQuoteToBase(options: SwapQuoteToBaseOptions) {
242
241
  const packageAddress = options.package ?? '@deepbook/margin-liquidation';
243
242
  const argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (
244
- | string
245
- | null
243
+ string | null
246
244
  )[];
247
245
  const parameterNames = ['self', 'pool', 'quoteIn', 'deepIn', 'minBaseOut'];
248
246
  return (tx: Transaction) =>