@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.
- package/CHANGELOG.md +153 -0
- package/PREDICT.md +389 -61
- package/dist/contracts/account/account.d.mts +23 -23
- package/dist/contracts/account/account.d.mts.map +1 -1
- package/dist/contracts/account/account_registry.d.mts +13 -13
- 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/builder_code.d.mts +11 -11
- package/dist/contracts/deepbook_predict/builder_code_events.d.mts +10 -10
- package/dist/contracts/deepbook_predict/config_events.d.mts +93 -68
- package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/config_events.mjs +45 -1
- package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/deps/std/type_name.mjs +17 -0
- package/dist/contracts/deepbook_predict/deps/std/type_name.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/expiry_market.d.mts +652 -235
- package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/expiry_market.mjs +652 -186
- package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/lp_book.mjs +1 -1
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +5 -5
- package/dist/contracts/deepbook_predict/market_manager.d.mts +27 -27
- package/dist/contracts/deepbook_predict/order_events.d.mts +50 -50
- package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/order_events.mjs +3 -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/plp.d.mts +184 -82
- package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/plp.mjs +126 -7
- package/dist/contracts/deepbook_predict/plp.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pool_accounting.mjs +1 -1
- package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +5 -5
- package/dist/contracts/deepbook_predict/predict_account.d.mts +14 -14
- package/dist/contracts/deepbook_predict/pricing.d.mts +91 -58
- package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/pricing.mjs +30 -3
- package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pricing_config.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/protocol_config.d.mts +400 -92
- package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/protocol_config.mjs +451 -61
- 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/registry.d.mts +28 -28
- package/dist/contracts/deepbook_predict/strike_exposure.mjs +1 -1
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +17 -12
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/vault_events.d.mts +154 -106
- package/dist/contracts/deepbook_predict/vault_events.d.mts.map +1 -1
- package/dist/contracts/deepbook_predict/vault_events.mjs +57 -1
- package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict_math/config-arguments.d.mts +10 -0
- package/dist/contracts/deepbook_predict_math/config-arguments.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_math/lazer_price.d.mts +106 -0
- package/dist/contracts/deepbook_predict_math/lazer_price.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_math/lazer_price.mjs +125 -0
- package/dist/contracts/deepbook_predict_math/lazer_price.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_math/math.d.mts +284 -0
- package/dist/contracts/deepbook_predict_math/math.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_math/math.mjs +364 -0
- package/dist/contracts/deepbook_predict_math/math.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts +13 -0
- package/dist/contracts/deepbook_predict_orders/config-arguments.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts +215 -0
- package/dist/contracts/deepbook_predict_orders/delayed_execution_config.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs +215 -0
- package/dist/contracts/deepbook_predict_orders/delayed_execution_config.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs +87 -0
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs +52 -0
- package/dist/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs +25 -0
- package/dist/contracts/deepbook_predict_orders/deps/fixed_math/i64.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs +21 -0
- package/dist/contracts/deepbook_predict_orders/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs +39 -0
- package/dist/contracts/deepbook_predict_orders/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/desk.d.mts +187 -0
- package/dist/contracts/deepbook_predict_orders/desk.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/desk.mjs +261 -0
- package/dist/contracts/deepbook_predict_orders/desk.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/order_queue.d.mts +1042 -0
- package/dist/contracts/deepbook_predict_orders/order_queue.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/order_queue.mjs +849 -0
- package/dist/contracts/deepbook_predict_orders/order_queue.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/queue.d.mts +683 -0
- package/dist/contracts/deepbook_predict_orders/queue.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/queue.mjs +912 -0
- package/dist/contracts/deepbook_predict_orders/queue.mjs.map +1 -0
- package/dist/contracts/deepbook_predict_orders/queue_events.d.mts +195 -0
- package/dist/contracts/deepbook_predict_orders/queue_events.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict_orders/queue_events.mjs +187 -0
- package/dist/contracts/deepbook_predict_orders/queue_events.mjs.map +1 -0
- package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
- package/dist/contracts/deepbook_sessions/sessions.d.mts +163 -28
- package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
- package/dist/contracts/deepbook_sessions/sessions.mjs +234 -5
- package/dist/contracts/deepbook_sessions/sessions.mjs.map +1 -1
- package/dist/deployments/mainnet.mjs +7 -4
- package/dist/deployments/mainnet.mjs.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 +77 -0
- package/dist/predict/bindings/expiry-market.d.mts.map +1 -0
- package/dist/predict/bindings/expiry-market.mjs +139 -0
- package/dist/predict/bindings/expiry-market.mjs.map +1 -0
- package/dist/predict/bindings/protocol-config.d.mts +39 -0
- package/dist/predict/bindings/protocol-config.d.mts.map +1 -0
- package/dist/predict/bindings/protocol-config.mjs +90 -0
- package/dist/predict/bindings/protocol-config.mjs.map +1 -0
- package/dist/predict/bindings/rename.mjs +9 -0
- package/dist/predict/bindings/rename.mjs.map +1 -0
- package/dist/predict/client.d.mts +595 -16
- package/dist/predict/client.d.mts.map +1 -1
- package/dist/predict/client.mjs +986 -10
- package/dist/predict/client.mjs.map +1 -1
- package/dist/predict/config/generated.d.mts +22 -1
- package/dist/predict/config/generated.d.mts.map +1 -1
- package/dist/predict/config/generated.mjs +30 -1
- package/dist/predict/config/generated.mjs.map +1 -1
- package/dist/predict/config/mainnet.mjs +11 -3
- package/dist/predict/config/mainnet.mjs.map +1 -1
- package/dist/predict/config/testnet.mjs +11 -3
- package/dist/predict/config/testnet.mjs.map +1 -1
- package/dist/predict/config/types.d.mts +50 -1
- package/dist/predict/config/types.d.mts.map +1 -1
- package/dist/predict/cost.d.mts +38 -11
- package/dist/predict/cost.d.mts.map +1 -1
- package/dist/predict/cost.mjs +37 -11
- package/dist/predict/cost.mjs.map +1 -1
- package/dist/predict/decode.d.mts +251 -1
- package/dist/predict/decode.d.mts.map +1 -1
- package/dist/predict/decode.mjs +342 -4
- package/dist/predict/decode.mjs.map +1 -1
- package/dist/predict/errors.d.mts +69 -6
- package/dist/predict/errors.d.mts.map +1 -1
- package/dist/predict/errors.mjs +277 -4
- package/dist/predict/errors.mjs.map +1 -1
- package/dist/predict/index.d.mts +21 -10
- package/dist/predict/index.mjs +24 -12
- package/dist/predict/queue-id.d.mts +13 -0
- package/dist/predict/queue-id.d.mts.map +1 -0
- package/dist/predict/queue-id.mjs +19 -0
- package/dist/predict/queue-id.mjs.map +1 -0
- package/dist/predict/queue.d.mts +505 -0
- package/dist/predict/queue.d.mts.map +1 -0
- package/dist/predict/queue.mjs +774 -0
- package/dist/predict/queue.mjs.map +1 -0
- package/dist/predict/reads/balances.mjs +1 -1
- package/dist/predict/reads/markets.mjs +46 -5
- package/dist/predict/reads/markets.mjs.map +1 -1
- package/dist/predict/reads/pool.mjs +1 -1
- package/dist/predict/reads/pricing.d.mts +1 -1
- package/dist/predict/reads/queue.d.mts +105 -0
- package/dist/predict/reads/queue.d.mts.map +1 -0
- package/dist/predict/reads/queue.mjs +445 -0
- package/dist/predict/reads/queue.mjs.map +1 -0
- package/dist/predict/ticks.d.mts +9 -1
- package/dist/predict/ticks.d.mts.map +1 -1
- package/dist/predict/ticks.mjs +18 -1
- package/dist/predict/ticks.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 +12 -1
- package/dist/predict/tx/common.mjs.map +1 -1
- package/dist/predict/tx/queue.d.mts +220 -0
- package/dist/predict/tx/queue.d.mts.map +1 -0
- package/dist/predict/tx/queue.mjs +399 -0
- package/dist/predict/tx/queue.mjs.map +1 -0
- package/dist/predict/tx/trade.d.mts.map +1 -1
- package/dist/predict/tx/trade.mjs +61 -43
- package/dist/predict/tx/trade.mjs.map +1 -1
- package/dist/sessions.d.mts +90 -2
- package/dist/sessions.d.mts.map +1 -1
- package/dist/sessions.mjs +107 -2
- 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/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginRegistry.d.mts +16 -16
- package/dist/transactions/marginTPSL.d.mts +10 -10
- package/dist/transactions/marginTPSL.d.mts.map +1 -1
- package/dist/transactions/poolProxy.d.mts +8 -8
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/package.json +4 -4
- package/src/contracts/deepbook_predict/config_events.ts +39 -0
- package/src/contracts/deepbook_predict/deps/std/type_name.ts +24 -0
- package/src/contracts/deepbook_predict/expiry_market.ts +960 -169
- package/src/contracts/deepbook_predict/order_events.ts +3 -1
- package/src/contracts/deepbook_predict/plp.ts +150 -9
- package/src/contracts/deepbook_predict/pricing.ts +46 -7
- package/src/contracts/deepbook_predict/pricing_config.ts +3 -1
- package/src/contracts/deepbook_predict/protocol_config.ts +648 -33
- package/src/contracts/deepbook_predict/strike_payout_tree.ts +25 -21
- package/src/contracts/deepbook_predict/vault_events.ts +65 -0
- package/src/contracts/deepbook_predict_math/config-arguments.ts +6 -0
- package/src/contracts/deepbook_predict_math/lazer_price.ts +196 -0
- package/src/contracts/deepbook_predict_math/math.ts +553 -0
- package/src/contracts/deepbook_predict_orders/config-arguments.ts +11 -0
- package/src/contracts/deepbook_predict_orders/delayed_execution_config.ts +430 -0
- package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/expiry_market.ts +108 -0
- package/src/contracts/deepbook_predict_orders/deps/deepbook_predict/pricing.ts +58 -0
- package/src/contracts/deepbook_predict_orders/deps/fixed_math/i64.ts +21 -0
- package/src/contracts/deepbook_predict_orders/deps/sui/balance.ts +19 -0
- package/src/contracts/deepbook_predict_orders/deps/sui/table.ts +37 -0
- package/src/contracts/deepbook_predict_orders/desk.ts +419 -0
- package/src/contracts/deepbook_predict_orders/order_flow.ts +19 -0
- package/src/contracts/deepbook_predict_orders/order_queue.ts +1670 -0
- package/src/contracts/deepbook_predict_orders/queue.ts +1394 -0
- package/src/contracts/deepbook_predict_orders/queue_events.ts +189 -0
- package/src/contracts/deepbook_sessions/sessions.ts +355 -4
- package/src/deployments/mainnet.ts +7 -2
- package/src/deployments/testnet.ts +7 -2
- package/src/deployments/types.ts +14 -1
- package/src/predict/bindings/expiry-market.ts +127 -0
- package/src/predict/bindings/protocol-config.ts +59 -0
- package/src/predict/bindings/rename.ts +14 -0
- package/src/predict/client.ts +2076 -13
- package/src/predict/config/generated.ts +50 -0
- package/src/predict/config/mainnet.ts +16 -2
- package/src/predict/config/testnet.ts +16 -2
- package/src/predict/config/types.ts +51 -1
- package/src/predict/cost.ts +62 -14
- package/src/predict/decode.ts +691 -2
- package/src/predict/errors.ts +391 -14
- package/src/predict/index.ts +87 -6
- package/src/predict/queue-id.ts +22 -0
- package/src/predict/queue.ts +1231 -0
- package/src/predict/reads/markets.ts +30 -0
- package/src/predict/reads/queue.ts +606 -0
- package/src/predict/ticks.ts +35 -0
- package/src/predict/tx/common.ts +25 -1
- package/src/predict/tx/queue.ts +525 -0
- package/src/predict/tx/trade.ts +80 -49
- 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()] });
|