@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.
- package/CHANGELOG.md +49 -0
- package/README.md +21 -0
- package/dist/account-bindings/account-registry.d.mts +109 -0
- package/dist/account-bindings/account-registry.d.mts.map +1 -0
- package/dist/account-bindings/account-registry.mjs +56 -0
- package/dist/account-bindings/account-registry.mjs.map +1 -0
- package/dist/account-bindings/account.d.mts +176 -0
- package/dist/account-bindings/account.d.mts.map +1 -0
- package/dist/account-bindings/account.mjs +94 -0
- package/dist/account-bindings/account.mjs.map +1 -0
- package/dist/account-bindings/latest.d.mts +12 -0
- package/dist/account-bindings/latest.d.mts.map +1 -0
- package/dist/account-bindings/latest.mjs +19 -0
- package/dist/account-bindings/latest.mjs.map +1 -0
- package/dist/account.d.mts +46 -3
- package/dist/account.d.mts.map +1 -1
- package/dist/account.mjs +51 -2
- package/dist/account.mjs.map +1 -1
- package/dist/client.d.mts +2 -2
- package/dist/contracts/account/account.d.mts +25 -97
- package/dist/contracts/account/account.d.mts.map +1 -1
- package/dist/contracts/account/account.mjs +43 -35
- package/dist/contracts/account/account.mjs.map +1 -1
- package/dist/contracts/account/account_events.d.mts +20 -20
- package/dist/contracts/account/account_events.d.mts.map +1 -1
- package/dist/contracts/account/account_registry.d.mts +7 -54
- package/dist/contracts/account/account_registry.d.mts.map +1 -1
- package/dist/contracts/account/account_registry.mjs +2 -22
- package/dist/contracts/account/account_registry.mjs.map +1 -1
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/balances.d.mts +4 -4
- package/dist/contracts/deepbook/deep_price.d.mts +3 -3
- package/dist/contracts/deepbook/order.d.mts +12 -12
- package/dist/contracts/deepbook_predict/admin.d.mts +4 -4
- package/dist/contracts/deepbook_predict/admin.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/builder_code.d.mts +60 -13
- package/dist/contracts/deepbook_predict/builder_code.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/builder_code.mjs +55 -1
- package/dist/contracts/deepbook_predict/builder_code.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/builder_code_events.d.mts +10 -10
- package/dist/contracts/deepbook_predict/config_events.d.mts +88 -84
- package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/config_events.mjs +8 -0
- package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/expiry_market.d.mts +262 -101
- package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/expiry_market.mjs +320 -41
- package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +5 -5
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/market_manager.d.mts +27 -27
- package/dist/contracts/deepbook_predict/market_manager.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/order_events.d.mts +56 -54
- package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pause_cap.d.mts +5 -5
- package/dist/contracts/deepbook_predict/pause_cap.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/plp.d.mts +74 -74
- package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +5 -5
- package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/predict_account.d.mts +22 -17
- package/dist/contracts/deepbook_predict/predict_account.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/predict_account.mjs +12 -6
- package/dist/contracts/deepbook_predict/predict_account.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pricing.d.mts +67 -67
- package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/protocol_config.d.mts +127 -83
- package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/protocol_config.mjs +59 -1
- package/dist/contracts/deepbook_predict/protocol_config.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/range_codec.d.mts +2 -2
- package/dist/contracts/deepbook_predict/range_codec.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/registry.d.mts +32 -32
- package/dist/contracts/deepbook_predict/registry.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/vault_events.d.mts +131 -131
- package/dist/contracts/deepbook_predict_math/lazer_price.d.mts +13 -13
- package/dist/contracts/deepbook_predict_math/math.d.mts +14 -14
- package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts +30 -30
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs +6 -0
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs.map +1 -1
- package/dist/contracts/deepbook_predict_orders/desk.d.mts +28 -28
- package/dist/contracts/deepbook_predict_orders/desk.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict_orders/order_queue.d.mts +187 -187
- package/dist/contracts/deepbook_predict_orders/queue.d.mts +240 -62
- package/dist/contracts/deepbook_predict_orders/queue.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict_orders/queue.mjs +306 -41
- package/dist/contracts/deepbook_predict_orders/queue.mjs.map +1 -1
- package/dist/contracts/deepbook_predict_orders/queue_events.d.mts +140 -140
- package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
- package/dist/contracts/deepbook_sessions/sessions.d.mts +271 -31
- package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
- package/dist/contracts/deepbook_sessions/sessions.mjs +363 -3
- package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -1
- package/dist/deployments/mainnet.mjs.map +1 -1
- package/dist/deployments/testnet.d.mts.map +1 -1
- package/dist/deployments/testnet.mjs +7 -4
- package/dist/deployments/testnet.mjs.map +1 -1
- package/dist/predict/bindings/expiry-market.d.mts +57 -7
- package/dist/predict/bindings/expiry-market.d.mts.map +1 -1
- package/dist/predict/bindings/expiry-market.mjs +48 -2
- package/dist/predict/bindings/expiry-market.mjs.map +1 -1
- package/dist/predict/bindings/protocol-config.d.mts +5 -5
- package/dist/predict/bindings/protocol-config.d.mts.map +1 -1
- package/dist/predict/bindings/protocol-config.mjs +4 -1
- package/dist/predict/bindings/protocol-config.mjs.map +1 -1
- package/dist/predict/bindings/queue.d.mts +30 -0
- package/dist/predict/bindings/queue.d.mts.map +1 -0
- package/dist/predict/bindings/queue.mjs +59 -0
- package/dist/predict/bindings/queue.mjs.map +1 -0
- package/dist/predict/bindings/rename.mjs +5 -1
- package/dist/predict/bindings/rename.mjs.map +1 -1
- package/dist/predict/client.d.mts.map +1 -1
- package/dist/predict/client.mjs +11 -5
- package/dist/predict/client.mjs.map +1 -1
- package/dist/predict/config/generated.d.mts +1 -1
- package/dist/predict/config/generated.d.mts.map +1 -1
- package/dist/predict/config/generated.mjs +1 -0
- package/dist/predict/config/generated.mjs.map +1 -1
- package/dist/predict/config/mainnet.mjs +3 -1
- package/dist/predict/config/mainnet.mjs.map +1 -1
- package/dist/predict/config/testnet.mjs +3 -1
- package/dist/predict/config/testnet.mjs.map +1 -1
- package/dist/predict/config/types.d.mts +23 -0
- package/dist/predict/config/types.d.mts.map +1 -1
- package/dist/predict/cost.d.mts +9 -1
- package/dist/predict/cost.d.mts.map +1 -1
- package/dist/predict/cost.mjs.map +1 -1
- package/dist/predict/errors.d.mts.map +1 -1
- package/dist/predict/errors.mjs +6 -2
- package/dist/predict/errors.mjs.map +1 -1
- package/dist/predict/index.d.mts +1 -1
- package/dist/predict/index.mjs +2 -2
- package/dist/predict/queue.d.mts +8 -4
- package/dist/predict/queue.d.mts.map +1 -1
- package/dist/predict/queue.mjs +8 -4
- package/dist/predict/queue.mjs.map +1 -1
- package/dist/predict/reads/balances.mjs +1 -1
- package/dist/predict/reads/pricing.d.mts +1 -0
- package/dist/predict/reads/pricing.d.mts.map +1 -1
- package/dist/predict/reads/queue.d.mts +4 -2
- package/dist/predict/reads/queue.d.mts.map +1 -1
- package/dist/predict/reads/queue.mjs +5 -4
- package/dist/predict/reads/queue.mjs.map +1 -1
- package/dist/predict/tx/authed.mjs +1 -1
- package/dist/predict/tx/common.d.mts.map +1 -1
- package/dist/predict/tx/common.mjs +3 -2
- package/dist/predict/tx/common.mjs.map +1 -1
- package/dist/predict/tx/trade.d.mts.map +1 -1
- package/dist/predict/tx/trade.mjs +3 -2
- package/dist/predict/tx/trade.mjs.map +1 -1
- package/dist/sessions.d.mts +10 -1
- package/dist/sessions.d.mts.map +1 -1
- package/dist/sessions.mjs.map +1 -1
- package/dist/transactions/balanceManager.d.mts +12 -12
- package/dist/transactions/balanceManager.d.mts.map +1 -1
- package/dist/transactions/deepbook.d.mts +20 -20
- package/dist/transactions/deepbook.d.mts.map +1 -1
- package/dist/transactions/deepbookAdmin.d.mts +4 -4
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.d.mts +7 -7
- package/dist/transactions/marginAdmin.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginMaintainer.d.mts.map +1 -1
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginPool.d.mts.map +1 -1
- package/dist/transactions/marginRegistry.d.mts +16 -16
- package/dist/transactions/marginTPSL.d.mts +10 -10
- package/dist/transactions/poolProxy.d.mts +8 -8
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/utils/constants.d.mts.map +1 -1
- package/dist/utils/constants.mjs +1 -1
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +2 -2
- package/src/account-bindings/account-registry.ts +39 -0
- package/src/account-bindings/account.ts +73 -0
- package/src/account-bindings/latest.ts +41 -0
- package/src/account.ts +89 -5
- package/src/contracts/account/account.ts +73 -4
- package/src/contracts/account/account_registry.ts +1 -1
- package/src/contracts/deepbook_predict/builder_code.ts +94 -2
- package/src/contracts/deepbook_predict/config_events.ts +7 -0
- package/src/contracts/deepbook_predict/expiry_market.ts +490 -44
- package/src/contracts/deepbook_predict/order_events.ts +6 -4
- package/src/contracts/deepbook_predict/predict_account.ts +12 -6
- package/src/contracts/deepbook_predict/protocol_config.ts +85 -0
- package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.ts +14 -0
- package/src/contracts/deepbook_predict_orders/order_flow.ts +4 -0
- package/src/contracts/deepbook_predict_orders/queue.ts +495 -9
- package/src/contracts/deepbook_sessions/sessions.ts +538 -3
- package/src/deployments/mainnet.ts +4 -4
- package/src/deployments/testnet.ts +18 -7
- package/src/deployments/types.ts +14 -0
- package/src/predict/bindings/expiry-market.ts +87 -0
- package/src/predict/bindings/queue.ts +42 -0
- package/src/predict/bindings/rename.ts +5 -1
- package/src/predict/client.ts +25 -3
- package/src/predict/config/generated.ts +3 -0
- package/src/predict/config/mainnet.ts +4 -0
- package/src/predict/config/testnet.ts +4 -0
- package/src/predict/config/types.ts +23 -0
- package/src/predict/cost.ts +9 -1
- package/src/predict/errors.ts +11 -1
- package/src/predict/index.ts +1 -1
- package/src/predict/queue.ts +8 -4
- package/src/predict/reads/queue.ts +7 -4
- package/src/predict/tx/common.ts +2 -0
- package/src/predict/tx/trade.ts +3 -1
- package/src/sessions.ts +10 -1
- 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
|
-
*
|
|
107
|
-
*
|
|
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 };
|