@mysten/deepbook-v3 2.6.4 → 2.8.0

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 (250) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/PREDICT.md +389 -61
  3. package/dist/contracts/account/account.d.mts +23 -23
  4. package/dist/contracts/account/account.d.mts.map +1 -1
  5. package/dist/contracts/account/account_registry.d.mts +13 -13
  6. package/dist/contracts/deepbook/account.d.mts +18 -18
  7. package/dist/contracts/deepbook/balances.d.mts +4 -4
  8. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  9. package/dist/contracts/deepbook/order.d.mts +12 -12
  10. package/dist/contracts/deepbook_predict/admin.d.mts +4 -4
  11. package/dist/contracts/deepbook_predict/builder_code.d.mts +11 -11
  12. package/dist/contracts/deepbook_predict/builder_code_events.d.mts +10 -10
  13. package/dist/contracts/deepbook_predict/config_events.d.mts +93 -68
  14. package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -1
  15. package/dist/contracts/deepbook_predict/config_events.mjs +45 -1
  16. package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -1
  17. package/dist/contracts/deepbook_predict/deps/std/type_name.mjs +17 -0
  18. package/dist/contracts/deepbook_predict/deps/std/type_name.mjs.map +1 -0
  19. package/dist/contracts/deepbook_predict/expiry_market.d.mts +652 -235
  20. package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -1
  21. package/dist/contracts/deepbook_predict/expiry_market.mjs +652 -186
  22. package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
  23. package/dist/contracts/deepbook_predict/lp_book.mjs +1 -1
  24. package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +5 -5
  25. package/dist/contracts/deepbook_predict/market_manager.d.mts +27 -27
  26. package/dist/contracts/deepbook_predict/order_events.d.mts +50 -50
  27. package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -1
  28. package/dist/contracts/deepbook_predict/order_events.mjs +3 -1
  29. package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -1
  30. package/dist/contracts/deepbook_predict/pause_cap.d.mts +5 -5
  31. package/dist/contracts/deepbook_predict/plp.d.mts +184 -82
  32. package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -1
  33. package/dist/contracts/deepbook_predict/plp.mjs +126 -7
  34. package/dist/contracts/deepbook_predict/plp.mjs.map +1 -1
  35. package/dist/contracts/deepbook_predict/pool_accounting.mjs +1 -1
  36. package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +5 -5
  37. package/dist/contracts/deepbook_predict/predict_account.d.mts +14 -14
  38. package/dist/contracts/deepbook_predict/pricing.d.mts +91 -58
  39. package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -1
  40. package/dist/contracts/deepbook_predict/pricing.mjs +30 -3
  41. package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -1
  42. package/dist/contracts/deepbook_predict/pricing_config.mjs.map +1 -1
  43. package/dist/contracts/deepbook_predict/protocol_config.d.mts +400 -92
  44. package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -1
  45. package/dist/contracts/deepbook_predict/protocol_config.mjs +451 -61
  46. package/dist/contracts/deepbook_predict/protocol_config.mjs.map +1 -1
  47. package/dist/contracts/deepbook_predict/range_codec.d.mts +2 -2
  48. package/dist/contracts/deepbook_predict/registry.d.mts +28 -28
  49. package/dist/contracts/deepbook_predict/strike_exposure.mjs +1 -1
  50. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +17 -12
  51. package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -1
  52. package/dist/contracts/deepbook_predict/vault_events.d.mts +154 -106
  53. package/dist/contracts/deepbook_predict/vault_events.d.mts.map +1 -1
  54. package/dist/contracts/deepbook_predict/vault_events.mjs +57 -1
  55. package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -1
  56. package/dist/contracts/deepbook_predict_math/config-arguments.d.mts +10 -0
  57. package/dist/contracts/deepbook_predict_math/config-arguments.d.mts.map +1 -0
  58. package/dist/contracts/deepbook_predict_math/lazer_price.d.mts +106 -0
  59. package/dist/contracts/deepbook_predict_math/lazer_price.d.mts.map +1 -0
  60. package/dist/contracts/deepbook_predict_math/lazer_price.mjs +125 -0
  61. package/dist/contracts/deepbook_predict_math/lazer_price.mjs.map +1 -0
  62. package/dist/contracts/deepbook_predict_math/math.d.mts +284 -0
  63. package/dist/contracts/deepbook_predict_math/math.d.mts.map +1 -0
  64. package/dist/contracts/deepbook_predict_math/math.mjs +364 -0
  65. package/dist/contracts/deepbook_predict_math/math.mjs.map +1 -0
  66. package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts +13 -0
  67. package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts.map +1 -0
  68. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts +215 -0
  69. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts.map +1 -0
  70. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs +215 -0
  71. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs.map +1 -0
  72. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs +87 -0
  73. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs.map +1 -0
  74. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs +52 -0
  75. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs.map +1 -0
  76. package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs +25 -0
  77. package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs.map +1 -0
  78. package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs +21 -0
  79. package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs.map +1 -0
  80. package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs +39 -0
  81. package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs.map +1 -0
  82. package/dist/contracts/deepbook_predict_orders/desk.d.mts +187 -0
  83. package/dist/contracts/deepbook_predict_orders/desk.d.mts.map +1 -0
  84. package/dist/contracts/deepbook_predict_orders/desk.mjs +261 -0
  85. package/dist/contracts/deepbook_predict_orders/desk.mjs.map +1 -0
  86. package/dist/contracts/deepbook_predict_orders/order_queue.d.mts +1042 -0
  87. package/dist/contracts/deepbook_predict_orders/order_queue.d.mts.map +1 -0
  88. package/dist/contracts/deepbook_predict_orders/order_queue.mjs +849 -0
  89. package/dist/contracts/deepbook_predict_orders/order_queue.mjs.map +1 -0
  90. package/dist/contracts/deepbook_predict_orders/queue.d.mts +683 -0
  91. package/dist/contracts/deepbook_predict_orders/queue.d.mts.map +1 -0
  92. package/dist/contracts/deepbook_predict_orders/queue.mjs +912 -0
  93. package/dist/contracts/deepbook_predict_orders/queue.mjs.map +1 -0
  94. package/dist/contracts/deepbook_predict_orders/queue_events.d.mts +195 -0
  95. package/dist/contracts/deepbook_predict_orders/queue_events.d.mts.map +1 -0
  96. package/dist/contracts/deepbook_predict_orders/queue_events.mjs +187 -0
  97. package/dist/contracts/deepbook_predict_orders/queue_events.mjs.map +1 -0
  98. package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
  99. package/dist/contracts/deepbook_sessions/sessions.d.mts +163 -28
  100. package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
  101. package/dist/contracts/deepbook_sessions/sessions.mjs +234 -5
  102. package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -1
  103. package/dist/deployments/mainnet.mjs +7 -4
  104. package/dist/deployments/mainnet.mjs.map +1 -1
  105. package/dist/deployments/testnet.mjs +7 -4
  106. package/dist/deployments/testnet.mjs.map +1 -1
  107. package/dist/predict/bindings/expiry-market.d.mts +77 -0
  108. package/dist/predict/bindings/expiry-market.d.mts.map +1 -0
  109. package/dist/predict/bindings/expiry-market.mjs +139 -0
  110. package/dist/predict/bindings/expiry-market.mjs.map +1 -0
  111. package/dist/predict/bindings/protocol-config.d.mts +39 -0
  112. package/dist/predict/bindings/protocol-config.d.mts.map +1 -0
  113. package/dist/predict/bindings/protocol-config.mjs +90 -0
  114. package/dist/predict/bindings/protocol-config.mjs.map +1 -0
  115. package/dist/predict/bindings/rename.mjs +9 -0
  116. package/dist/predict/bindings/rename.mjs.map +1 -0
  117. package/dist/predict/client.d.mts +595 -16
  118. package/dist/predict/client.d.mts.map +1 -1
  119. package/dist/predict/client.mjs +986 -10
  120. package/dist/predict/client.mjs.map +1 -1
  121. package/dist/predict/config/generated.d.mts +22 -1
  122. package/dist/predict/config/generated.d.mts.map +1 -1
  123. package/dist/predict/config/generated.mjs +30 -1
  124. package/dist/predict/config/generated.mjs.map +1 -1
  125. package/dist/predict/config/mainnet.mjs +11 -3
  126. package/dist/predict/config/mainnet.mjs.map +1 -1
  127. package/dist/predict/config/testnet.mjs +11 -3
  128. package/dist/predict/config/testnet.mjs.map +1 -1
  129. package/dist/predict/config/types.d.mts +50 -1
  130. package/dist/predict/config/types.d.mts.map +1 -1
  131. package/dist/predict/cost.d.mts +38 -11
  132. package/dist/predict/cost.d.mts.map +1 -1
  133. package/dist/predict/cost.mjs +37 -11
  134. package/dist/predict/cost.mjs.map +1 -1
  135. package/dist/predict/decode.d.mts +251 -1
  136. package/dist/predict/decode.d.mts.map +1 -1
  137. package/dist/predict/decode.mjs +342 -4
  138. package/dist/predict/decode.mjs.map +1 -1
  139. package/dist/predict/errors.d.mts +69 -6
  140. package/dist/predict/errors.d.mts.map +1 -1
  141. package/dist/predict/errors.mjs +277 -4
  142. package/dist/predict/errors.mjs.map +1 -1
  143. package/dist/predict/index.d.mts +21 -10
  144. package/dist/predict/index.mjs +24 -12
  145. package/dist/predict/queue-id.d.mts +13 -0
  146. package/dist/predict/queue-id.d.mts.map +1 -0
  147. package/dist/predict/queue-id.mjs +19 -0
  148. package/dist/predict/queue-id.mjs.map +1 -0
  149. package/dist/predict/queue.d.mts +505 -0
  150. package/dist/predict/queue.d.mts.map +1 -0
  151. package/dist/predict/queue.mjs +774 -0
  152. package/dist/predict/queue.mjs.map +1 -0
  153. package/dist/predict/reads/balances.mjs +1 -1
  154. package/dist/predict/reads/markets.mjs +46 -5
  155. package/dist/predict/reads/markets.mjs.map +1 -1
  156. package/dist/predict/reads/pool.mjs +1 -1
  157. package/dist/predict/reads/pricing.d.mts +1 -1
  158. package/dist/predict/reads/queue.d.mts +105 -0
  159. package/dist/predict/reads/queue.d.mts.map +1 -0
  160. package/dist/predict/reads/queue.mjs +445 -0
  161. package/dist/predict/reads/queue.mjs.map +1 -0
  162. package/dist/predict/ticks.d.mts +9 -1
  163. package/dist/predict/ticks.d.mts.map +1 -1
  164. package/dist/predict/ticks.mjs +18 -1
  165. package/dist/predict/ticks.mjs.map +1 -1
  166. package/dist/predict/tx/authed.mjs +1 -1
  167. package/dist/predict/tx/common.d.mts.map +1 -1
  168. package/dist/predict/tx/common.mjs +12 -1
  169. package/dist/predict/tx/common.mjs.map +1 -1
  170. package/dist/predict/tx/queue.d.mts +220 -0
  171. package/dist/predict/tx/queue.d.mts.map +1 -0
  172. package/dist/predict/tx/queue.mjs +399 -0
  173. package/dist/predict/tx/queue.mjs.map +1 -0
  174. package/dist/predict/tx/trade.d.mts.map +1 -1
  175. package/dist/predict/tx/trade.mjs +61 -43
  176. package/dist/predict/tx/trade.mjs.map +1 -1
  177. package/dist/sessions.d.mts +90 -2
  178. package/dist/sessions.d.mts.map +1 -1
  179. package/dist/sessions.mjs +107 -2
  180. package/dist/sessions.mjs.map +1 -1
  181. package/dist/transactions/balanceManager.d.mts +12 -12
  182. package/dist/transactions/balanceManager.d.mts.map +1 -1
  183. package/dist/transactions/deepbook.d.mts +20 -20
  184. package/dist/transactions/deepbook.d.mts.map +1 -1
  185. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  186. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  187. package/dist/transactions/marginAdmin.d.mts +7 -7
  188. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  189. package/dist/transactions/marginLiquidations.d.mts +3 -3
  190. package/dist/transactions/marginMaintainer.d.mts +5 -5
  191. package/dist/transactions/marginMaintainer.d.mts.map +1 -1
  192. package/dist/transactions/marginManager.d.mts +32 -32
  193. package/dist/transactions/marginManager.d.mts.map +1 -1
  194. package/dist/transactions/marginPool.d.mts +18 -18
  195. package/dist/transactions/marginRegistry.d.mts +16 -16
  196. package/dist/transactions/marginTPSL.d.mts +10 -10
  197. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  198. package/dist/transactions/poolProxy.d.mts +8 -8
  199. package/dist/transactions/poolProxy.d.mts.map +1 -1
  200. package/package.json +4 -4
  201. package/src/contracts/deepbook_predict/config_events.ts +39 -0
  202. package/src/contracts/deepbook_predict/deps/std/type_name.ts +24 -0
  203. package/src/contracts/deepbook_predict/expiry_market.ts +960 -169
  204. package/src/contracts/deepbook_predict/order_events.ts +3 -1
  205. package/src/contracts/deepbook_predict/plp.ts +150 -9
  206. package/src/contracts/deepbook_predict/pricing.ts +46 -7
  207. package/src/contracts/deepbook_predict/pricing_config.ts +3 -1
  208. package/src/contracts/deepbook_predict/protocol_config.ts +648 -33
  209. package/src/contracts/deepbook_predict/strike_payout_tree.ts +25 -21
  210. package/src/contracts/deepbook_predict/vault_events.ts +65 -0
  211. package/src/contracts/deepbook_predict_math/config-arguments.ts +6 -0
  212. package/src/contracts/deepbook_predict_math/lazer_price.ts +196 -0
  213. package/src/contracts/deepbook_predict_math/math.ts +553 -0
  214. package/src/contracts/deepbook_predict_orders/config-arguments.ts +11 -0
  215. package/src/contracts/deepbook_predict_orders/delayed_execution_config.ts +430 -0
  216. package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.ts +108 -0
  217. package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.ts +58 -0
  218. package/src/contracts/deepbook_predict_orders/deps/fixed_math/i64.ts +21 -0
  219. package/src/contracts/deepbook_predict_orders/deps/sui/balance.ts +19 -0
  220. package/src/contracts/deepbook_predict_orders/deps/sui/table.ts +37 -0
  221. package/src/contracts/deepbook_predict_orders/desk.ts +419 -0
  222. package/src/contracts/deepbook_predict_orders/order_flow.ts +19 -0
  223. package/src/contracts/deepbook_predict_orders/order_queue.ts +1670 -0
  224. package/src/contracts/deepbook_predict_orders/queue.ts +1394 -0
  225. package/src/contracts/deepbook_predict_orders/queue_events.ts +189 -0
  226. package/src/contracts/deepbook_sessions/sessions.ts +355 -4
  227. package/src/deployments/mainnet.ts +7 -2
  228. package/src/deployments/testnet.ts +7 -2
  229. package/src/deployments/types.ts +14 -1
  230. package/src/predict/bindings/expiry-market.ts +127 -0
  231. package/src/predict/bindings/protocol-config.ts +59 -0
  232. package/src/predict/bindings/rename.ts +14 -0
  233. package/src/predict/client.ts +2076 -13
  234. package/src/predict/config/generated.ts +50 -0
  235. package/src/predict/config/mainnet.ts +16 -2
  236. package/src/predict/config/testnet.ts +16 -2
  237. package/src/predict/config/types.ts +51 -1
  238. package/src/predict/cost.ts +62 -14
  239. package/src/predict/decode.ts +691 -2
  240. package/src/predict/errors.ts +391 -14
  241. package/src/predict/index.ts +87 -6
  242. package/src/predict/queue-id.ts +22 -0
  243. package/src/predict/queue.ts +1231 -0
  244. package/src/predict/reads/markets.ts +30 -0
  245. package/src/predict/reads/queue.ts +606 -0
  246. package/src/predict/ticks.ts +35 -0
  247. package/src/predict/tx/common.ts +25 -1
  248. package/src/predict/tx/queue.ts +525 -0
  249. package/src/predict/tx/trade.ts +80 -49
  250. package/src/sessions.ts +206 -1
@@ -0,0 +1,419 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * The order-flow companion's shared `OrderDesk`: the delayed-execution policy
7
+ * every market queue runs under, and the companion's version floor. Also the
8
+ * desk's `QueueRegistry`, the parent every market's queue ID derives from.
9
+ *
10
+ * One desk and one registry per deployment: `init` creates and shares both when
11
+ * the package is published, and nothing else builds one. Each market's
12
+ * `MarketQueue` sits at an ID derived from the registry and the market
13
+ * (`queue::create_and_share`), so a deployment gives each market exactly one
14
+ * queue, and with it one per-account cap, stuck gate, policy, and version floor.
15
+ * The desk exists before Predict allowlists this package's witness; until
16
+ * `protocol_config::set_order_flow` does, Predict's admission, commit, and fill
17
+ * primitives refuse the companion.
18
+ *
19
+ * Predict's `AdminCap` administers the desk. Its setters check the desk floor and
20
+ * refuse while Predict is frozen, through the public `protocol_config::frozen`;
21
+ * the policy cannot move funds, and every Predict invariant holds inside Predict's
22
+ * primitives whatever it says. Every trading call reads the desk, and only those
23
+ * admin setters write it. Queue creation, which anyone may call, writes the
24
+ * registry instead, which no trading call reads, so creation cannot contend with
25
+ * trading.
26
+ */
27
+
28
+ import {
29
+ MoveStruct,
30
+ normalizeMoveArguments,
31
+ type RawTransactionArgument,
32
+ type ConfigValue,
33
+ } from '../utils/index.js';
34
+ import { bcs } from '@mysten/sui/bcs';
35
+ import { U64 } from '../../bcs/integers.js';
36
+ import { type Transaction } from '@mysten/sui/transactions';
37
+ import * as delayed_execution_config from './delayed_execution_config.js';
38
+ const $moduleName = '@local-pkg/deepbook_predict_orders::desk';
39
+ export const OrderDesk = new MoveStruct({
40
+ name: `${$moduleName}::OrderDesk`,
41
+ fields: {
42
+ id: bcs.Address,
43
+ policy: delayed_execution_config.DelayedExecutionPolicy,
44
+ /**
45
+ * Minimum companion version permitted to run. Monotonic; `bump_version_watermark`
46
+ * advances it to the running `current_version!()`, retiring older companion code.
47
+ */
48
+ version_watermark: U64,
49
+ },
50
+ });
51
+ export const QueueRegistry = new MoveStruct({
52
+ name: `${$moduleName}::QueueRegistry`,
53
+ fields: {
54
+ id: bcs.Address,
55
+ desk_id: bcs.Address,
56
+ },
57
+ });
58
+ export interface IdArguments {
59
+ desk?: RawTransactionArgument<string>;
60
+ }
61
+ export interface IdOptions {
62
+ package?: string;
63
+ arguments?: IdArguments;
64
+ config?: {
65
+ orderDesk: ConfigValue;
66
+ predictOrdersPackageId?: string;
67
+ };
68
+ }
69
+ /** Return the desk object ID for external discovery and PTB construction. */
70
+ export function id(options: IdOptions) {
71
+ const packageAddress =
72
+ options.package ??
73
+ options.config?.predictOrdersPackageId ??
74
+ '@local-pkg/deepbook_predict_orders';
75
+ const argumentsTypes = [null] satisfies (string | null)[];
76
+ const parameterNames = ['desk'];
77
+ return (tx: Transaction) =>
78
+ tx.moveCall({
79
+ package: packageAddress,
80
+ module: 'desk',
81
+ function: 'id',
82
+ arguments: normalizeMoveArguments(
83
+ {
84
+ ...options.arguments,
85
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
86
+ },
87
+ argumentsTypes,
88
+ parameterNames,
89
+ ),
90
+ });
91
+ }
92
+ export interface PolicyArguments {
93
+ desk?: RawTransactionArgument<string>;
94
+ }
95
+ export interface PolicyOptions {
96
+ package?: string;
97
+ arguments?: PolicyArguments;
98
+ config?: {
99
+ orderDesk: ConfigValue;
100
+ predictOrdersPackageId?: string;
101
+ };
102
+ }
103
+ /** Return the policy, for SDK and devInspect reads. */
104
+ export function policy(options: PolicyOptions) {
105
+ const packageAddress =
106
+ options.package ??
107
+ options.config?.predictOrdersPackageId ??
108
+ '@local-pkg/deepbook_predict_orders';
109
+ const argumentsTypes = [null] satisfies (string | null)[];
110
+ const parameterNames = ['desk'];
111
+ return (tx: Transaction) =>
112
+ tx.moveCall({
113
+ package: packageAddress,
114
+ module: 'desk',
115
+ function: 'policy',
116
+ arguments: normalizeMoveArguments(
117
+ {
118
+ ...options.arguments,
119
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
120
+ },
121
+ argumentsTypes,
122
+ parameterNames,
123
+ ),
124
+ });
125
+ }
126
+ export interface VersionWatermarkArguments {
127
+ desk?: RawTransactionArgument<string>;
128
+ }
129
+ export interface VersionWatermarkOptions {
130
+ package?: string;
131
+ arguments?: VersionWatermarkArguments;
132
+ config?: {
133
+ orderDesk: ConfigValue;
134
+ predictOrdersPackageId?: string;
135
+ };
136
+ }
137
+ /** Return the desk's version floor, for SDK and devInspect reads. */
138
+ export function versionWatermark(options: VersionWatermarkOptions) {
139
+ const packageAddress =
140
+ options.package ??
141
+ options.config?.predictOrdersPackageId ??
142
+ '@local-pkg/deepbook_predict_orders';
143
+ const argumentsTypes = [null] satisfies (string | null)[];
144
+ const parameterNames = ['desk'];
145
+ return (tx: Transaction) =>
146
+ tx.moveCall({
147
+ package: packageAddress,
148
+ module: 'desk',
149
+ function: 'version_watermark',
150
+ arguments: normalizeMoveArguments(
151
+ {
152
+ ...options.arguments,
153
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
154
+ },
155
+ argumentsTypes,
156
+ parameterNames,
157
+ ),
158
+ });
159
+ }
160
+ export interface RegistryIdArguments {
161
+ registry?: RawTransactionArgument<string>;
162
+ }
163
+ export interface RegistryIdOptions {
164
+ package?: string;
165
+ arguments?: RegistryIdArguments;
166
+ config?: {
167
+ queueRegistry: ConfigValue;
168
+ predictOrdersPackageId?: string;
169
+ };
170
+ }
171
+ /**
172
+ * Return the queue registry's object ID, for discovery and for deriving each
173
+ * market's queue ID (`queue::queue_id`) in PTB construction.
174
+ */
175
+ export function registryId(options: RegistryIdOptions) {
176
+ const packageAddress =
177
+ options.package ??
178
+ options.config?.predictOrdersPackageId ??
179
+ '@local-pkg/deepbook_predict_orders';
180
+ const argumentsTypes = [null] satisfies (string | null)[];
181
+ const parameterNames = ['registry'];
182
+ return (tx: Transaction) =>
183
+ tx.moveCall({
184
+ package: packageAddress,
185
+ module: 'desk',
186
+ function: 'registry_id',
187
+ arguments: normalizeMoveArguments(
188
+ {
189
+ ...options.arguments,
190
+ registry: options.arguments?.registry ?? options.config?.queueRegistry,
191
+ },
192
+ argumentsTypes,
193
+ parameterNames,
194
+ ),
195
+ });
196
+ }
197
+ export interface SetTimingArguments {
198
+ desk?: RawTransactionArgument<string>;
199
+ AdminCap: RawTransactionArgument<string>;
200
+ config?: RawTransactionArgument<string>;
201
+ delayMs: RawTransactionArgument<number | bigint>;
202
+ stallTimeoutMs: RawTransactionArgument<number | bigint>;
203
+ stuckThresholdMs: RawTransactionArgument<number | bigint>;
204
+ gapWaitMs: RawTransactionArgument<number | bigint>;
205
+ pythPriceBufferMs: RawTransactionArgument<number | bigint>;
206
+ pythChannel: RawTransactionArgument<number>;
207
+ sviMaxAgeMs: RawTransactionArgument<number | bigint>;
208
+ }
209
+ export interface SetTimingOptions {
210
+ package?: string;
211
+ arguments: SetTimingArguments;
212
+ config?: {
213
+ orderDesk: ConfigValue;
214
+ protocolConfig: ConfigValue;
215
+ predictOrdersPackageId?: string;
216
+ };
217
+ }
218
+ /**
219
+ * Set every timing field and the Pyth channel in one call, so the relational rules
220
+ * hold on the final state (`delayed_execution_config::set_timing`). Waiting orders
221
+ * keep the τ, deadline, and channel they were placed with, so a new delay, stall
222
+ * timeout, or channel reaches only new orders. Commit reads the buffer and gap
223
+ * wait when it runs, so those also apply to waiting cohorts.
224
+ */
225
+ export function setTiming(options: SetTimingOptions) {
226
+ const packageAddress =
227
+ options.package ??
228
+ options.config?.predictOrdersPackageId ??
229
+ '@local-pkg/deepbook_predict_orders';
230
+ const argumentsTypes = [
231
+ null,
232
+ null,
233
+ null,
234
+ 'u64',
235
+ 'u64',
236
+ 'u64',
237
+ 'u64',
238
+ 'u64',
239
+ 'u8',
240
+ 'u64',
241
+ '0x2::clock::Clock',
242
+ ] satisfies (string | null)[];
243
+ const parameterNames = [
244
+ 'desk',
245
+ 'AdminCap',
246
+ 'config',
247
+ 'delayMs',
248
+ 'stallTimeoutMs',
249
+ 'stuckThresholdMs',
250
+ 'gapWaitMs',
251
+ 'pythPriceBufferMs',
252
+ 'pythChannel',
253
+ 'sviMaxAgeMs',
254
+ ];
255
+ return (tx: Transaction) =>
256
+ tx.moveCall({
257
+ package: packageAddress,
258
+ module: 'desk',
259
+ function: 'set_timing',
260
+ arguments: normalizeMoveArguments(
261
+ {
262
+ ...options.arguments,
263
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
264
+ config: options.arguments?.config ?? options.config?.protocolConfig,
265
+ },
266
+ argumentsTypes,
267
+ parameterNames,
268
+ ),
269
+ });
270
+ }
271
+ export interface SetLimitsArguments {
272
+ desk?: RawTransactionArgument<string>;
273
+ AdminCap: RawTransactionArgument<string>;
274
+ config?: RawTransactionArgument<string>;
275
+ mintCapacity: RawTransactionArgument<number | bigint>;
276
+ sellCapacity: RawTransactionArgument<number | bigint>;
277
+ perAccountCap: RawTransactionArgument<number | bigint>;
278
+ minSellQuantity: RawTransactionArgument<number | bigint>;
279
+ settleRefundBatch: RawTransactionArgument<number | bigint>;
280
+ settlePayoutBatch: RawTransactionArgument<number | bigint>;
281
+ }
282
+ export interface SetLimitsOptions {
283
+ package?: string;
284
+ arguments: SetLimitsArguments;
285
+ config?: {
286
+ orderDesk: ConfigValue;
287
+ protocolConfig: ConfigValue;
288
+ predictOrdersPackageId?: string;
289
+ };
290
+ }
291
+ /**
292
+ * Set the queue capacities, the per-account cap, the minimum early sell, and the
293
+ * two `settle_step` batch sizes. Lowering a capacity below the current pending
294
+ * count only blocks new orders.
295
+ */
296
+ export function setLimits(options: SetLimitsOptions) {
297
+ const packageAddress =
298
+ options.package ??
299
+ options.config?.predictOrdersPackageId ??
300
+ '@local-pkg/deepbook_predict_orders';
301
+ const argumentsTypes = [
302
+ null,
303
+ null,
304
+ null,
305
+ 'u64',
306
+ 'u64',
307
+ 'u64',
308
+ 'u64',
309
+ 'u64',
310
+ 'u64',
311
+ '0x2::clock::Clock',
312
+ ] satisfies (string | null)[];
313
+ const parameterNames = [
314
+ 'desk',
315
+ 'AdminCap',
316
+ 'config',
317
+ 'mintCapacity',
318
+ 'sellCapacity',
319
+ 'perAccountCap',
320
+ 'minSellQuantity',
321
+ 'settleRefundBatch',
322
+ 'settlePayoutBatch',
323
+ ];
324
+ return (tx: Transaction) =>
325
+ tx.moveCall({
326
+ package: packageAddress,
327
+ module: 'desk',
328
+ function: 'set_limits',
329
+ arguments: normalizeMoveArguments(
330
+ {
331
+ ...options.arguments,
332
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
333
+ config: options.arguments?.config ?? options.config?.protocolConfig,
334
+ },
335
+ argumentsTypes,
336
+ parameterNames,
337
+ ),
338
+ });
339
+ }
340
+ export interface SetOrderFeeArguments {
341
+ desk?: RawTransactionArgument<string>;
342
+ AdminCap: RawTransactionArgument<string>;
343
+ config?: RawTransactionArgument<string>;
344
+ orderFee: RawTransactionArgument<number | bigint>;
345
+ }
346
+ export interface SetOrderFeeOptions {
347
+ package?: string;
348
+ arguments: SetOrderFeeArguments;
349
+ config?: {
350
+ orderDesk: ConfigValue;
351
+ protocolConfig: ConfigValue;
352
+ predictOrdersPackageId?: string;
353
+ };
354
+ }
355
+ /**
356
+ * Set the flat fee charged per queued order, in USDC base units. Applies to orders
357
+ * placed after the call; waiting orders keep the fee they paid.
358
+ */
359
+ export function setOrderFee(options: SetOrderFeeOptions) {
360
+ const packageAddress =
361
+ options.package ??
362
+ options.config?.predictOrdersPackageId ??
363
+ '@local-pkg/deepbook_predict_orders';
364
+ const argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];
365
+ const parameterNames = ['desk', 'AdminCap', 'config', 'orderFee'];
366
+ return (tx: Transaction) =>
367
+ tx.moveCall({
368
+ package: packageAddress,
369
+ module: 'desk',
370
+ function: 'set_order_fee',
371
+ arguments: normalizeMoveArguments(
372
+ {
373
+ ...options.arguments,
374
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
375
+ config: options.arguments?.config ?? options.config?.protocolConfig,
376
+ },
377
+ argumentsTypes,
378
+ parameterNames,
379
+ ),
380
+ });
381
+ }
382
+ export interface BumpVersionWatermarkArguments {
383
+ desk?: RawTransactionArgument<string>;
384
+ AdminCap: RawTransactionArgument<string>;
385
+ }
386
+ export interface BumpVersionWatermarkOptions {
387
+ package?: string;
388
+ arguments: BumpVersionWatermarkArguments;
389
+ config?: {
390
+ orderDesk: ConfigValue;
391
+ predictOrdersPackageId?: string;
392
+ };
393
+ }
394
+ /**
395
+ * Advance the desk floor to this package's compiled `current_version!()`, retiring
396
+ * older companion code. Aborts unless the executing version is above the floor.
397
+ */
398
+ export function bumpVersionWatermark(options: BumpVersionWatermarkOptions) {
399
+ const packageAddress =
400
+ options.package ??
401
+ options.config?.predictOrdersPackageId ??
402
+ '@local-pkg/deepbook_predict_orders';
403
+ const argumentsTypes = [null, null] satisfies (string | null)[];
404
+ const parameterNames = ['desk', 'AdminCap'];
405
+ return (tx: Transaction) =>
406
+ tx.moveCall({
407
+ package: packageAddress,
408
+ module: 'desk',
409
+ function: 'bump_version_watermark',
410
+ arguments: normalizeMoveArguments(
411
+ {
412
+ ...options.arguments,
413
+ desk: options.arguments?.desk ?? options.config?.orderDesk,
414
+ },
415
+ argumentsTypes,
416
+ parameterNames,
417
+ ),
418
+ });
419
+ }
@@ -0,0 +1,19 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * The companion's authority over Predict's order-flow primitives.
7
+ *
8
+ * Predict lets admission, commit, and fills run only for an allowlisted witness
9
+ * type (`protocol_config::set_order_flow<OrderFlow>`). This module defines that
10
+ * witness and is the only place that builds it: each Predict call that needs it
11
+ * goes through a package-only function here, so no caller outside this package can
12
+ * obtain the witness or reach Predict with it. `release` and `try_pay_settled`
13
+ * need no authority and are called directly.
14
+ */
15
+
16
+ import { MoveTuple } from '../utils/index.js';
17
+ import { bcs } from '@mysten/sui/bcs';
18
+ const $moduleName = '@local-pkg/deepbook_predict_orders::order_flow';
19
+ export const OrderFlow = new MoveTuple({ name: `${$moduleName}::OrderFlow`, fields: [bcs.bool()] });