@mysten/deepbook-v3 2.9.1 → 2.10.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 (212) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +21 -0
  3. package/dist/account-bindings/account-registry.d.mts +109 -0
  4. package/dist/account-bindings/account-registry.d.mts.map +1 -0
  5. package/dist/account-bindings/account-registry.mjs +56 -0
  6. package/dist/account-bindings/account-registry.mjs.map +1 -0
  7. package/dist/account-bindings/account.d.mts +176 -0
  8. package/dist/account-bindings/account.d.mts.map +1 -0
  9. package/dist/account-bindings/account.mjs +94 -0
  10. package/dist/account-bindings/account.mjs.map +1 -0
  11. package/dist/account-bindings/latest.d.mts +12 -0
  12. package/dist/account-bindings/latest.d.mts.map +1 -0
  13. package/dist/account-bindings/latest.mjs +19 -0
  14. package/dist/account-bindings/latest.mjs.map +1 -0
  15. package/dist/account.d.mts +46 -3
  16. package/dist/account.d.mts.map +1 -1
  17. package/dist/account.mjs +51 -2
  18. package/dist/account.mjs.map +1 -1
  19. package/dist/client.d.mts +2 -2
  20. package/dist/contracts/account/account.d.mts +25 -97
  21. package/dist/contracts/account/account.d.mts.map +1 -1
  22. package/dist/contracts/account/account.mjs +43 -35
  23. package/dist/contracts/account/account.mjs.map +1 -1
  24. package/dist/contracts/account/account_events.d.mts +20 -20
  25. package/dist/contracts/account/account_events.d.mts.map +1 -1
  26. package/dist/contracts/account/account_registry.d.mts +7 -54
  27. package/dist/contracts/account/account_registry.d.mts.map +1 -1
  28. package/dist/contracts/account/account_registry.mjs +2 -22
  29. package/dist/contracts/account/account_registry.mjs.map +1 -1
  30. package/dist/contracts/deepbook/account.d.mts +18 -18
  31. package/dist/contracts/deepbook/balances.d.mts +4 -4
  32. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  33. package/dist/contracts/deepbook/order.d.mts +12 -12
  34. package/dist/contracts/deepbook_predict/admin.d.mts +4 -4
  35. package/dist/contracts/deepbook_predict/admin.d.mts.map +1 -1
  36. package/dist/contracts/deepbook_predict/builder_code.d.mts +60 -13
  37. package/dist/contracts/deepbook_predict/builder_code.d.mts.map +1 -1
  38. package/dist/contracts/deepbook_predict/builder_code.mjs +55 -1
  39. package/dist/contracts/deepbook_predict/builder_code.mjs.map +1 -1
  40. package/dist/contracts/deepbook_predict/builder_code_events.d.mts +10 -10
  41. package/dist/contracts/deepbook_predict/config_events.d.mts +88 -84
  42. package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -1
  43. package/dist/contracts/deepbook_predict/config_events.mjs +8 -0
  44. package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -1
  45. package/dist/contracts/deepbook_predict/expiry_market.d.mts +262 -101
  46. package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -1
  47. package/dist/contracts/deepbook_predict/expiry_market.mjs +320 -41
  48. package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
  49. package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +5 -5
  50. package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts.map +1 -1
  51. package/dist/contracts/deepbook_predict/market_manager.d.mts +27 -27
  52. package/dist/contracts/deepbook_predict/market_manager.d.mts.map +1 -1
  53. package/dist/contracts/deepbook_predict/order_events.d.mts +56 -54
  54. package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -1
  55. package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -1
  56. package/dist/contracts/deepbook_predict/pause_cap.d.mts +5 -5
  57. package/dist/contracts/deepbook_predict/pause_cap.d.mts.map +1 -1
  58. package/dist/contracts/deepbook_predict/plp.d.mts +74 -74
  59. package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -1
  60. package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +5 -5
  61. package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts.map +1 -1
  62. package/dist/contracts/deepbook_predict/predict_account.d.mts +22 -17
  63. package/dist/contracts/deepbook_predict/predict_account.d.mts.map +1 -1
  64. package/dist/contracts/deepbook_predict/predict_account.mjs +12 -6
  65. package/dist/contracts/deepbook_predict/predict_account.mjs.map +1 -1
  66. package/dist/contracts/deepbook_predict/pricing.d.mts +67 -67
  67. package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -1
  68. package/dist/contracts/deepbook_predict/protocol_config.d.mts +127 -83
  69. package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -1
  70. package/dist/contracts/deepbook_predict/protocol_config.mjs +59 -1
  71. package/dist/contracts/deepbook_predict/protocol_config.mjs.map +1 -1
  72. package/dist/contracts/deepbook_predict/range_codec.d.mts +2 -2
  73. package/dist/contracts/deepbook_predict/range_codec.d.mts.map +1 -1
  74. package/dist/contracts/deepbook_predict/registry.d.mts +32 -32
  75. package/dist/contracts/deepbook_predict/registry.d.mts.map +1 -1
  76. package/dist/contracts/deepbook_predict/vault_events.d.mts +131 -131
  77. package/dist/contracts/deepbook_predict_math/lazer_price.d.mts +13 -13
  78. package/dist/contracts/deepbook_predict_math/math.d.mts +14 -14
  79. package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts +30 -30
  80. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs +6 -0
  81. package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs.map +1 -1
  82. package/dist/contracts/deepbook_predict_orders/desk.d.mts +28 -28
  83. package/dist/contracts/deepbook_predict_orders/desk.d.mts.map +1 -1
  84. package/dist/contracts/deepbook_predict_orders/order_queue.d.mts +187 -187
  85. package/dist/contracts/deepbook_predict_orders/queue.d.mts +240 -62
  86. package/dist/contracts/deepbook_predict_orders/queue.d.mts.map +1 -1
  87. package/dist/contracts/deepbook_predict_orders/queue.mjs +306 -41
  88. package/dist/contracts/deepbook_predict_orders/queue.mjs.map +1 -1
  89. package/dist/contracts/deepbook_predict_orders/queue_events.d.mts +140 -140
  90. package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
  91. package/dist/contracts/deepbook_sessions/sessions.d.mts +271 -31
  92. package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
  93. package/dist/contracts/deepbook_sessions/sessions.mjs +363 -3
  94. package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -1
  95. package/dist/deployments/mainnet.mjs.map +1 -1
  96. package/dist/deployments/testnet.d.mts.map +1 -1
  97. package/dist/deployments/testnet.mjs +7 -4
  98. package/dist/deployments/testnet.mjs.map +1 -1
  99. package/dist/predict/bindings/expiry-market.d.mts +57 -7
  100. package/dist/predict/bindings/expiry-market.d.mts.map +1 -1
  101. package/dist/predict/bindings/expiry-market.mjs +48 -2
  102. package/dist/predict/bindings/expiry-market.mjs.map +1 -1
  103. package/dist/predict/bindings/protocol-config.d.mts +5 -5
  104. package/dist/predict/bindings/protocol-config.d.mts.map +1 -1
  105. package/dist/predict/bindings/protocol-config.mjs +4 -1
  106. package/dist/predict/bindings/protocol-config.mjs.map +1 -1
  107. package/dist/predict/bindings/queue.d.mts +30 -0
  108. package/dist/predict/bindings/queue.d.mts.map +1 -0
  109. package/dist/predict/bindings/queue.mjs +59 -0
  110. package/dist/predict/bindings/queue.mjs.map +1 -0
  111. package/dist/predict/bindings/rename.mjs +5 -1
  112. package/dist/predict/bindings/rename.mjs.map +1 -1
  113. package/dist/predict/client.d.mts.map +1 -1
  114. package/dist/predict/client.mjs +11 -5
  115. package/dist/predict/client.mjs.map +1 -1
  116. package/dist/predict/config/generated.d.mts +1 -1
  117. package/dist/predict/config/generated.d.mts.map +1 -1
  118. package/dist/predict/config/generated.mjs +1 -0
  119. package/dist/predict/config/generated.mjs.map +1 -1
  120. package/dist/predict/config/mainnet.mjs +3 -1
  121. package/dist/predict/config/mainnet.mjs.map +1 -1
  122. package/dist/predict/config/testnet.mjs +3 -1
  123. package/dist/predict/config/testnet.mjs.map +1 -1
  124. package/dist/predict/config/types.d.mts +23 -0
  125. package/dist/predict/config/types.d.mts.map +1 -1
  126. package/dist/predict/cost.d.mts +9 -1
  127. package/dist/predict/cost.d.mts.map +1 -1
  128. package/dist/predict/cost.mjs.map +1 -1
  129. package/dist/predict/errors.d.mts.map +1 -1
  130. package/dist/predict/errors.mjs +6 -2
  131. package/dist/predict/errors.mjs.map +1 -1
  132. package/dist/predict/index.d.mts +1 -1
  133. package/dist/predict/index.mjs +2 -2
  134. package/dist/predict/queue.d.mts +8 -4
  135. package/dist/predict/queue.d.mts.map +1 -1
  136. package/dist/predict/queue.mjs +8 -4
  137. package/dist/predict/queue.mjs.map +1 -1
  138. package/dist/predict/reads/balances.mjs +1 -1
  139. package/dist/predict/reads/pricing.d.mts +1 -0
  140. package/dist/predict/reads/pricing.d.mts.map +1 -1
  141. package/dist/predict/reads/queue.d.mts +4 -2
  142. package/dist/predict/reads/queue.d.mts.map +1 -1
  143. package/dist/predict/reads/queue.mjs +5 -4
  144. package/dist/predict/reads/queue.mjs.map +1 -1
  145. package/dist/predict/tx/authed.mjs +1 -1
  146. package/dist/predict/tx/common.d.mts.map +1 -1
  147. package/dist/predict/tx/common.mjs +3 -2
  148. package/dist/predict/tx/common.mjs.map +1 -1
  149. package/dist/predict/tx/trade.d.mts.map +1 -1
  150. package/dist/predict/tx/trade.mjs +3 -2
  151. package/dist/predict/tx/trade.mjs.map +1 -1
  152. package/dist/sessions.d.mts +10 -1
  153. package/dist/sessions.d.mts.map +1 -1
  154. package/dist/sessions.mjs.map +1 -1
  155. package/dist/transactions/balanceManager.d.mts +12 -12
  156. package/dist/transactions/balanceManager.d.mts.map +1 -1
  157. package/dist/transactions/deepbook.d.mts +20 -20
  158. package/dist/transactions/deepbook.d.mts.map +1 -1
  159. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  160. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  161. package/dist/transactions/marginAdmin.d.mts +7 -7
  162. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  163. package/dist/transactions/marginLiquidations.d.mts +3 -3
  164. package/dist/transactions/marginMaintainer.d.mts +5 -5
  165. package/dist/transactions/marginMaintainer.d.mts.map +1 -1
  166. package/dist/transactions/marginManager.d.mts +32 -32
  167. package/dist/transactions/marginPool.d.mts +18 -18
  168. package/dist/transactions/marginPool.d.mts.map +1 -1
  169. package/dist/transactions/marginRegistry.d.mts +16 -16
  170. package/dist/transactions/marginTPSL.d.mts +10 -10
  171. package/dist/transactions/poolProxy.d.mts +8 -8
  172. package/dist/transactions/poolProxy.d.mts.map +1 -1
  173. package/dist/utils/constants.d.mts.map +1 -1
  174. package/dist/utils/constants.mjs +1 -1
  175. package/dist/utils/constants.mjs.map +1 -1
  176. package/package.json +2 -2
  177. package/src/account-bindings/account-registry.ts +39 -0
  178. package/src/account-bindings/account.ts +73 -0
  179. package/src/account-bindings/latest.ts +41 -0
  180. package/src/account.ts +89 -5
  181. package/src/contracts/account/account.ts +73 -4
  182. package/src/contracts/account/account_registry.ts +1 -1
  183. package/src/contracts/deepbook_predict/builder_code.ts +94 -2
  184. package/src/contracts/deepbook_predict/config_events.ts +7 -0
  185. package/src/contracts/deepbook_predict/expiry_market.ts +490 -44
  186. package/src/contracts/deepbook_predict/order_events.ts +6 -4
  187. package/src/contracts/deepbook_predict/predict_account.ts +12 -6
  188. package/src/contracts/deepbook_predict/protocol_config.ts +85 -0
  189. package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.ts +14 -0
  190. package/src/contracts/deepbook_predict_orders/order_flow.ts +4 -0
  191. package/src/contracts/deepbook_predict_orders/queue.ts +495 -9
  192. package/src/contracts/deepbook_sessions/sessions.ts +538 -3
  193. package/src/deployments/mainnet.ts +4 -4
  194. package/src/deployments/testnet.ts +18 -7
  195. package/src/deployments/types.ts +14 -0
  196. package/src/predict/bindings/expiry-market.ts +87 -0
  197. package/src/predict/bindings/queue.ts +42 -0
  198. package/src/predict/bindings/rename.ts +5 -1
  199. package/src/predict/client.ts +25 -3
  200. package/src/predict/config/generated.ts +3 -0
  201. package/src/predict/config/mainnet.ts +4 -0
  202. package/src/predict/config/testnet.ts +4 -0
  203. package/src/predict/config/types.ts +23 -0
  204. package/src/predict/cost.ts +9 -1
  205. package/src/predict/errors.ts +11 -1
  206. package/src/predict/index.ts +1 -1
  207. package/src/predict/queue.ts +8 -4
  208. package/src/predict/reads/queue.ts +7 -4
  209. package/src/predict/tx/common.ts +2 -0
  210. package/src/predict/tx/trade.ts +3 -1
  211. package/src/sessions.ts +10 -1
  212. package/src/utils/constants.ts +5 -1
@@ -12,19 +12,36 @@ import { bcs } from "@mysten/sui/bcs";
12
12
  * Owns time-limited trading session grants attached to canonical Accounts. Account
13
13
  * owners grant and revoke sessions; an active session can only generate app auth
14
14
  * inside the Predict and DeepBook spot wrappers exposed here.
15
+ *
16
+ * A session-key trade that names a Predict builder code pays that builder a fee
17
+ * the session holder picks, so the owner approves one code and a maximum fee per
18
+ * session (`approve_session_builder`), and the `_with_builder` wrappers accept
19
+ * only that code at or below that fee.
15
20
  */
16
21
  var sessions_exports = /* @__PURE__ */ __exportAll({
17
22
  SessionAuthorized: () => SessionAuthorized,
23
+ SessionBuilder: () => SessionBuilder,
24
+ SessionBuilderApproved: () => SessionBuilderApproved,
25
+ SessionBuilderCleared: () => SessionBuilderCleared,
26
+ SessionBuilders: () => SessionBuilders,
27
+ SessionBuildersApp: () => SessionBuildersApp,
18
28
  SessionRevoked: () => SessionRevoked,
19
29
  SessionsApp: () => SessionsApp,
20
30
  SessionsData: () => SessionsData,
31
+ approveSessionBuilder: () => approveSessionBuilder,
32
+ approvedCodeId: () => approvedCodeId,
33
+ approvedMaxFeePerContract: () => approvedMaxFeePerContract,
21
34
  authorizeSession: () => authorizeSession,
22
35
  cancelLiveOrder: () => cancelLiveOrder,
23
36
  cancelLiveOrders: () => cancelLiveOrders,
24
37
  enqueueExactAmount: () => enqueueExactAmount,
38
+ enqueueExactAmountWithBuilder: () => enqueueExactAmountWithBuilder,
25
39
  enqueueExactCost: () => enqueueExactCost,
40
+ enqueueExactCostWithBuilder: () => enqueueExactCostWithBuilder,
26
41
  enqueueExactQuantity: () => enqueueExactQuantity,
42
+ enqueueExactQuantityWithBuilder: () => enqueueExactQuantityWithBuilder,
27
43
  enqueueRedeemOpen: () => enqueueRedeemOpen,
44
+ enqueueRedeemOpenWithBuilder: () => enqueueRedeemOpenWithBuilder,
28
45
  mintExactAmount: () => mintExactAmount,
29
46
  mintExactCost: () => mintExactCost,
30
47
  mintExactQuantity: () => mintExactQuantity,
@@ -33,6 +50,7 @@ var sessions_exports = /* @__PURE__ */ __exportAll({
33
50
  redeemLive: () => redeemLive,
34
51
  redeemSettled: () => redeemSettled,
35
52
  revokeSession: () => revokeSession,
53
+ sessionBuilder: () => sessionBuilder,
36
54
  sessionExpirationMs: () => sessionExpirationMs,
37
55
  withdrawSettledAmounts: () => withdrawSettledAmounts
38
56
  });
@@ -61,6 +79,37 @@ const SessionRevoked = new MoveStruct({
61
79
  expires_at_ms: U64
62
80
  }
63
81
  });
82
+ const SessionBuildersApp = new MoveStruct({
83
+ name: `${$moduleName}::SessionBuildersApp`,
84
+ fields: { dummy_field: bcs.bool() }
85
+ });
86
+ const SessionBuilder = new MoveStruct({
87
+ name: `${$moduleName}::SessionBuilder`,
88
+ fields: {
89
+ code_id: bcs.Address,
90
+ max_fee_per_contract: U64
91
+ }
92
+ });
93
+ const SessionBuilders = new MoveStruct({
94
+ name: `${$moduleName}::SessionBuilders`,
95
+ fields: { approvals: VecMap(bcs.Address, SessionBuilder) }
96
+ });
97
+ const SessionBuilderApproved = new MoveStruct({
98
+ name: `${$moduleName}::SessionBuilderApproved`,
99
+ fields: {
100
+ account_id: bcs.Address,
101
+ session: bcs.Address,
102
+ code_id: bcs.Address,
103
+ max_fee_per_contract: U64
104
+ }
105
+ });
106
+ const SessionBuilderCleared = new MoveStruct({
107
+ name: `${$moduleName}::SessionBuilderCleared`,
108
+ fields: {
109
+ account_id: bcs.Address,
110
+ session: bcs.Address
111
+ }
112
+ });
64
113
  /** Return a known session's expiration timestamp for SDK and devInspect reads. */
65
114
  function sessionExpirationMs(options) {
66
115
  const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
@@ -73,9 +122,48 @@ function sessionExpirationMs(options) {
73
122
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
74
123
  });
75
124
  }
125
+ /** Return a session's approved builder, or `none`, for SDK and devInspect reads. */
126
+ function sessionBuilder(options) {
127
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
128
+ const argumentsTypes = [null, "address"];
129
+ const parameterNames = ["wrapper", "session"];
130
+ return (tx) => tx.moveCall({
131
+ package: packageAddress,
132
+ module: "sessions",
133
+ function: "session_builder",
134
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
135
+ });
136
+ }
137
+ /** Return the builder code an approval allows, for SDK and devInspect reads. */
138
+ function approvedCodeId(options) {
139
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
140
+ const argumentsTypes = [null];
141
+ const parameterNames = ["builder"];
142
+ return (tx) => tx.moveCall({
143
+ package: packageAddress,
144
+ module: "sessions",
145
+ function: "approved_code_id",
146
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
147
+ });
148
+ }
149
+ /** Return the most an approval allows per contract, for SDK and devInspect reads. */
150
+ function approvedMaxFeePerContract(options) {
151
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
152
+ const argumentsTypes = [null];
153
+ const parameterNames = ["builder"];
154
+ return (tx) => tx.moveCall({
155
+ package: packageAddress,
156
+ module: "sessions",
157
+ function: "approved_max_fee_per_contract",
158
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
159
+ });
160
+ }
76
161
  /**
77
162
  * Authorize `session` from execution time for at most 30 days. Accounts may store
78
- * at most 20 addresses; reauthorization replaces in place.
163
+ * at most 20 addresses; reauthorization replaces in place and keeps the session's
164
+ * builder approval, while a new grant starts without one. A session that expired
165
+ * but was never revoked is still stored, so granting it again is a reauthorization
166
+ * and keeps its approval.
79
167
  */
80
168
  function authorizeSession(options) {
81
169
  const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
@@ -103,8 +191,44 @@ function authorizeSession(options) {
103
191
  });
104
192
  }
105
193
  /**
106
- * Revoke `session` if it is present. Only the Account owner may call this
107
- * function.
194
+ * Approve the builder code `session`'s trades may name, and the most they may
195
+ * charge per contract (`max_fee_per_contract`, in FLOAT_SCALING of the $1 payout),
196
+ * replacing any earlier approval. Only the Account owner may call this, and only
197
+ * for a session already authorized (`ESessionNotAuthorized`), so an app calls it
198
+ * right after `authorize_session` in the same transaction. The approval lasts
199
+ * until `revoke_session`; re-authorizing the session keeps it. Aborts
200
+ * `EBuilderApprovalsNotEnabled` until the `SessionsConfig` watermark reaches the
201
+ * first version that clears stale approvals.
202
+ */
203
+ function approveSessionBuilder(options) {
204
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
205
+ const argumentsTypes = [
206
+ null,
207
+ null,
208
+ "address",
209
+ "0x2::object::ID",
210
+ "u64"
211
+ ];
212
+ const parameterNames = [
213
+ "wrapper",
214
+ "sessionsConfig",
215
+ "session",
216
+ "codeId",
217
+ "maxFeePerContract"
218
+ ];
219
+ return (tx) => tx.moveCall({
220
+ package: packageAddress,
221
+ module: "sessions",
222
+ function: "approve_session_builder",
223
+ arguments: normalizeMoveArguments({
224
+ ...options.arguments,
225
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
226
+ }, argumentsTypes, parameterNames)
227
+ });
228
+ }
229
+ /**
230
+ * Revoke `session` and its builder approval if present. Only the Account owner may
231
+ * call this function.
108
232
  */
109
233
  function revokeSession(options) {
110
234
  const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
@@ -552,6 +676,66 @@ function enqueueExactQuantity(options) {
552
676
  });
553
677
  }
554
678
  /**
679
+ * `enqueue_exact_quantity` for a session-key mint that names a builder: `code` and
680
+ * `builder_fee_per_contract` must be the session's approved code and at most its
681
+ * approved fee (`EBuilderNotApproved`, `EBuilderFeeAboveApproved`), after the
682
+ * session checks. Returns the new queue record ID.
683
+ */
684
+ function enqueueExactQuantityWithBuilder(options) {
685
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
686
+ const argumentsTypes = [
687
+ null,
688
+ null,
689
+ null,
690
+ null,
691
+ null,
692
+ null,
693
+ null,
694
+ null,
695
+ null,
696
+ null,
697
+ null,
698
+ null,
699
+ "u64",
700
+ "u64",
701
+ "u64",
702
+ "u64",
703
+ "u64",
704
+ "u64",
705
+ "0x2::accumulator::AccumulatorRoot",
706
+ "0x2::clock::Clock"
707
+ ];
708
+ const parameterNames = [
709
+ "queue",
710
+ "market",
711
+ "accountRegistry",
712
+ "wrapper",
713
+ "sessionsConfig",
714
+ "desk",
715
+ "config",
716
+ "propbookRegistry",
717
+ "pyth",
718
+ "bsValues",
719
+ "bsSvi",
720
+ "code",
721
+ "builderFeePerContract",
722
+ "lowerTick",
723
+ "higherTick",
724
+ "quantity",
725
+ "maxCost",
726
+ "maxProbability"
727
+ ];
728
+ return (tx) => tx.moveCall({
729
+ package: packageAddress,
730
+ module: "sessions",
731
+ function: "enqueue_exact_quantity_with_builder",
732
+ arguments: normalizeMoveArguments({
733
+ ...options.arguments,
734
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
735
+ }, argumentsTypes, parameterNames)
736
+ });
737
+ }
738
+ /**
555
739
  * Queue a premium-budget Predict mint in `market`'s order-flow queue for an
556
740
  * Account with an active session. Returns the queue record ID.
557
741
  */
@@ -606,6 +790,66 @@ function enqueueExactAmount(options) {
606
790
  });
607
791
  }
608
792
  /**
793
+ * `enqueue_exact_amount` for a session-key mint that names a builder: `code` and
794
+ * `builder_fee_per_contract` must be the session's approved code and at most its
795
+ * approved fee (`EBuilderNotApproved`, `EBuilderFeeAboveApproved`), after the
796
+ * session checks. Returns the new queue record ID.
797
+ */
798
+ function enqueueExactAmountWithBuilder(options) {
799
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
800
+ const argumentsTypes = [
801
+ null,
802
+ null,
803
+ null,
804
+ null,
805
+ null,
806
+ null,
807
+ null,
808
+ null,
809
+ null,
810
+ null,
811
+ null,
812
+ null,
813
+ "u64",
814
+ "u64",
815
+ "u64",
816
+ "u64",
817
+ "u64",
818
+ "u64",
819
+ "0x2::accumulator::AccumulatorRoot",
820
+ "0x2::clock::Clock"
821
+ ];
822
+ const parameterNames = [
823
+ "queue",
824
+ "market",
825
+ "accountRegistry",
826
+ "wrapper",
827
+ "sessionsConfig",
828
+ "desk",
829
+ "config",
830
+ "propbookRegistry",
831
+ "pyth",
832
+ "bsValues",
833
+ "bsSvi",
834
+ "code",
835
+ "builderFeePerContract",
836
+ "lowerTick",
837
+ "higherTick",
838
+ "maxPremium",
839
+ "minQuantity",
840
+ "maxCost"
841
+ ];
842
+ return (tx) => tx.moveCall({
843
+ package: packageAddress,
844
+ module: "sessions",
845
+ function: "enqueue_exact_amount_with_builder",
846
+ arguments: normalizeMoveArguments({
847
+ ...options.arguments,
848
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
849
+ }, argumentsTypes, parameterNames)
850
+ });
851
+ }
852
+ /**
609
853
  * Queue an all-in-budget Predict mint in `market`'s order-flow queue for an
610
854
  * Account with an active session. Returns the queue record ID.
611
855
  */
@@ -658,6 +902,64 @@ function enqueueExactCost(options) {
658
902
  });
659
903
  }
660
904
  /**
905
+ * `enqueue_exact_cost` for a session-key mint that names a builder: `code` and
906
+ * `builder_fee_per_contract` must be the session's approved code and at most its
907
+ * approved fee (`EBuilderNotApproved`, `EBuilderFeeAboveApproved`), after the
908
+ * session checks. Returns the new queue record ID.
909
+ */
910
+ function enqueueExactCostWithBuilder(options) {
911
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
912
+ const argumentsTypes = [
913
+ null,
914
+ null,
915
+ null,
916
+ null,
917
+ null,
918
+ null,
919
+ null,
920
+ null,
921
+ null,
922
+ null,
923
+ null,
924
+ null,
925
+ "u64",
926
+ "u64",
927
+ "u64",
928
+ "u64",
929
+ "u64",
930
+ "0x2::accumulator::AccumulatorRoot",
931
+ "0x2::clock::Clock"
932
+ ];
933
+ const parameterNames = [
934
+ "queue",
935
+ "market",
936
+ "accountRegistry",
937
+ "wrapper",
938
+ "sessionsConfig",
939
+ "desk",
940
+ "config",
941
+ "propbookRegistry",
942
+ "pyth",
943
+ "bsValues",
944
+ "bsSvi",
945
+ "code",
946
+ "builderFeePerContract",
947
+ "lowerTick",
948
+ "higherTick",
949
+ "maxCost",
950
+ "minQuantity"
951
+ ];
952
+ return (tx) => tx.moveCall({
953
+ package: packageAddress,
954
+ module: "sessions",
955
+ function: "enqueue_exact_cost_with_builder",
956
+ arguments: normalizeMoveArguments({
957
+ ...options.arguments,
958
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
959
+ }, argumentsTypes, parameterNames)
960
+ });
961
+ }
962
+ /**
661
963
  * Queue an early sell of an Open order-flow queue record for an Account with an
662
964
  * active session. Returns the new queue record ID.
663
965
  */
@@ -709,6 +1011,64 @@ function enqueueRedeemOpen(options) {
709
1011
  }, argumentsTypes, parameterNames)
710
1012
  });
711
1013
  }
1014
+ /**
1015
+ * `enqueue_redeem_open` for a session-key sell that names a builder: `code` and
1016
+ * `builder_fee_per_contract` must be the session's approved code and at most its
1017
+ * approved fee (`EBuilderNotApproved`, `EBuilderFeeAboveApproved`), after the
1018
+ * session checks. Returns the new queue record ID.
1019
+ */
1020
+ function enqueueRedeemOpenWithBuilder(options) {
1021
+ const packageAddress = options.package ?? options.config?.sessionsPackageId ?? "@local-pkg/deepbook_sessions";
1022
+ const argumentsTypes = [
1023
+ null,
1024
+ null,
1025
+ null,
1026
+ null,
1027
+ null,
1028
+ null,
1029
+ null,
1030
+ null,
1031
+ null,
1032
+ null,
1033
+ null,
1034
+ null,
1035
+ "u64",
1036
+ "u64",
1037
+ "u64",
1038
+ "u64",
1039
+ "u64",
1040
+ "0x2::accumulator::AccumulatorRoot",
1041
+ "0x2::clock::Clock"
1042
+ ];
1043
+ const parameterNames = [
1044
+ "queue",
1045
+ "market",
1046
+ "accountRegistry",
1047
+ "wrapper",
1048
+ "sessionsConfig",
1049
+ "desk",
1050
+ "config",
1051
+ "propbookRegistry",
1052
+ "pyth",
1053
+ "bsValues",
1054
+ "bsSvi",
1055
+ "code",
1056
+ "builderFeePerContract",
1057
+ "recordId",
1058
+ "closeQuantity",
1059
+ "minProbability",
1060
+ "minProceeds"
1061
+ ];
1062
+ return (tx) => tx.moveCall({
1063
+ package: packageAddress,
1064
+ module: "sessions",
1065
+ function: "enqueue_redeem_open_with_builder",
1066
+ arguments: normalizeMoveArguments({
1067
+ ...options.arguments,
1068
+ sessionsConfig: options.arguments?.sessionsConfig ?? options.config?.sessionsConfig
1069
+ }, argumentsTypes, parameterNames)
1070
+ });
1071
+ }
712
1072
 
713
1073
  //#endregion
714
1074
  export { SessionAuthorized, SessionRevoked, SessionsApp, SessionsData, authorizeSession, enqueueExactAmount, enqueueExactCost, enqueueExactQuantity, enqueueRedeemOpen, mintExactAmount, mintExactCost, mintExactQuantity, redeemLive, redeemSettled, revokeSession, sessionExpirationMs, sessions_exports };