@mysten/deepbook-v3 2.1.4 → 2.4.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 +70 -0
- package/PREDICT.md +154 -48
- package/README.md +18 -13
- package/dist/account.d.mts.map +1 -1
- package/dist/account.mjs +3 -1
- package/dist/account.mjs.map +1 -1
- package/dist/client.d.mts +2 -2
- package/dist/contracts/account/account.d.mts +23 -23
- package/dist/contracts/account/account.d.mts.map +1 -1
- package/dist/contracts/account/account_events.d.mts +20 -20
- package/dist/contracts/account/account_registry.d.mts +19 -19
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/account.d.mts.map +1 -1
- package/dist/contracts/deepbook/balances.d.mts +4 -4
- package/dist/contracts/deepbook/balances.d.mts.map +1 -1
- package/dist/contracts/deepbook/deep_price.d.mts +3 -3
- package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
- package/dist/contracts/deepbook/order.d.mts +12 -12
- package/dist/contracts/deepbook_predict/admin.d.mts +27 -0
- package/dist/contracts/deepbook_predict/admin.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/admin.mjs +38 -0
- package/dist/contracts/deepbook_predict/admin.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/builder_code.d.mts +81 -0
- package/dist/contracts/deepbook_predict/builder_code.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/builder_code.mjs +103 -0
- package/dist/contracts/deepbook_predict/builder_code.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/builder_code_events.d.mts +25 -0
- package/dist/contracts/deepbook_predict/builder_code_events.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/builder_code_events.mjs +7 -1
- package/dist/contracts/deepbook_predict/builder_code_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/config_events.d.mts +104 -0
- package/dist/contracts/deepbook_predict/config_events.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/config_events.mjs +155 -0
- package/dist/contracts/deepbook_predict/config_events.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook_predict/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/ewma_config.mjs +28 -0
- package/dist/contracts/deepbook_predict/ewma_config.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/expiry_cash.mjs +1 -1
- package/dist/contracts/deepbook_predict/expiry_cash.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/expiry_market.d.mts +859 -0
- package/dist/contracts/deepbook_predict/expiry_market.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/expiry_market.mjs +662 -7
- package/dist/contracts/deepbook_predict/expiry_market.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts +39 -0
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.mjs +51 -0
- package/dist/contracts/deepbook_predict/market_lifecycle_cap.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/market_manager.d.mts +159 -0
- package/dist/contracts/deepbook_predict/market_manager.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/market_manager.mjs +88 -2
- package/dist/contracts/deepbook_predict/market_manager.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/order_events.d.mts +101 -0
- package/dist/contracts/deepbook_predict/order_events.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/order_events.mjs +7 -1
- package/dist/contracts/deepbook_predict/order_events.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pause_cap.d.mts +39 -0
- package/dist/contracts/deepbook_predict/pause_cap.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/pause_cap.mjs +51 -0
- package/dist/contracts/deepbook_predict/pause_cap.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/plp.d.mts +801 -0
- package/dist/contracts/deepbook_predict/plp.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/plp.mjs +511 -32
- package/dist/contracts/deepbook_predict/plp.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pool_accounting.mjs +7 -7
- package/dist/contracts/deepbook_predict/pool_accounting.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts +39 -0
- package/dist/contracts/deepbook_predict/pool_valuation_cap.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/pool_valuation_cap.mjs +52 -0
- package/dist/contracts/deepbook_predict/pool_valuation_cap.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/predict_account.d.mts +90 -0
- package/dist/contracts/deepbook_predict/predict_account.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/predict_account.mjs +25 -2
- package/dist/contracts/deepbook_predict/predict_account.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pricing.d.mts +127 -0
- package/dist/contracts/deepbook_predict/pricing.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/pricing.mjs +37 -1
- package/dist/contracts/deepbook_predict/pricing.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/pricing_config.mjs +28 -0
- package/dist/contracts/deepbook_predict/pricing_config.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/protocol_config.d.mts +665 -0
- package/dist/contracts/deepbook_predict/protocol_config.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/protocol_config.mjs +841 -0
- package/dist/contracts/deepbook_predict/protocol_config.mjs.map +1 -0
- package/dist/contracts/deepbook_predict/range_codec.d.mts +30 -0
- package/dist/contracts/deepbook_predict/range_codec.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/range_codec.mjs +6 -1
- package/dist/contracts/deepbook_predict/range_codec.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/registry.d.mts +382 -0
- package/dist/contracts/deepbook_predict/registry.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/registry.mjs +458 -2
- package/dist/contracts/deepbook_predict/registry.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/strike_exposure.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs +13 -1
- package/dist/contracts/deepbook_predict/strike_payout_tree.mjs.map +1 -1
- package/dist/contracts/deepbook_predict/vault_events.d.mts +199 -0
- package/dist/contracts/deepbook_predict/vault_events.d.mts.map +1 -0
- package/dist/contracts/deepbook_predict/vault_events.mjs +38 -8
- package/dist/contracts/deepbook_predict/vault_events.mjs.map +1 -1
- package/dist/contracts/deepbook_sessions/session_config.d.mts +8 -8
- package/dist/contracts/deepbook_sessions/session_config.d.mts.map +1 -1
- package/dist/contracts/deepbook_sessions/sessions.d.mts +22 -22
- package/dist/contracts/deepbook_sessions/sessions.d.mts.map +1 -1
- package/dist/deployments/index.d.mts +3 -2
- package/dist/deployments/index.d.mts.map +1 -1
- package/dist/deployments/index.mjs +4 -1
- package/dist/deployments/index.mjs.map +1 -1
- package/dist/deployments/mainnet.d.mts +14 -0
- package/dist/deployments/mainnet.d.mts.map +1 -0
- package/dist/deployments/mainnet.mjs +73 -0
- package/dist/deployments/mainnet.mjs.map +1 -0
- package/dist/deployments/testnet.mjs +23 -23
- package/dist/deployments/testnet.mjs.map +1 -1
- package/dist/deployments/types.d.mts +1 -1
- package/dist/predict/client.d.mts +28 -6
- package/dist/predict/client.d.mts.map +1 -1
- package/dist/predict/client.mjs +7 -6
- package/dist/predict/client.mjs.map +1 -1
- package/dist/predict/config/index.d.mts +2 -0
- package/dist/predict/config/index.d.mts.map +1 -1
- package/dist/predict/config/index.mjs +4 -1
- package/dist/predict/config/index.mjs.map +1 -1
- package/dist/predict/config/mainnet.d.mts +17 -0
- package/dist/predict/config/mainnet.d.mts.map +1 -0
- package/dist/predict/config/mainnet.mjs +26 -0
- package/dist/predict/config/mainnet.mjs.map +1 -0
- package/dist/predict/config/types.d.mts +6 -0
- package/dist/predict/config/types.d.mts.map +1 -1
- package/dist/predict/index.d.mts +21 -2
- package/dist/predict/index.mjs +20 -1
- package/dist/predict/pricing.d.mts +6 -6
- package/dist/predict/pricing.d.mts.map +1 -1
- package/dist/predict/pricing.mjs +6 -6
- package/dist/predict/pricing.mjs.map +1 -1
- package/dist/predict/reads/balances.mjs.map +1 -1
- package/dist/predict/reads/markets.mjs +1 -1
- package/dist/predict/reads/markets.mjs.map +1 -1
- package/dist/predict/reads/pricing.d.mts +2 -1
- package/dist/predict/reads/pricing.d.mts.map +1 -1
- package/dist/predict/reads/pricing.mjs.map +1 -1
- package/dist/sessions.d.mts.map +1 -1
- package/dist/sessions.mjs +3 -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/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- 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/package.json +3 -3
- package/src/account.ts +3 -1
- package/src/contracts/deepbook_predict/builder_code.ts +3 -3
- package/src/contracts/deepbook_predict/config_events.ts +9 -2
- package/src/contracts/deepbook_predict/deps/sui/vec_map.ts +33 -0
- package/src/contracts/deepbook_predict/expiry_cash.ts +1 -1
- package/src/contracts/deepbook_predict/expiry_market.ts +70 -11
- package/src/contracts/deepbook_predict/market_lifecycle_cap.ts +3 -10
- package/src/contracts/deepbook_predict/market_manager.ts +2 -2
- package/src/contracts/deepbook_predict/order_events.ts +6 -6
- package/src/contracts/deepbook_predict/plp.ts +263 -81
- package/src/contracts/deepbook_predict/pool_accounting.ts +14 -14
- package/src/contracts/deepbook_predict/pool_valuation_cap.ts +69 -0
- package/src/contracts/deepbook_predict/predict_account.ts +1 -1
- package/src/contracts/deepbook_predict/pricing.ts +16 -4
- package/src/contracts/deepbook_predict/protocol_config.ts +202 -7
- package/src/contracts/deepbook_predict/registry.ts +91 -17
- package/src/contracts/deepbook_predict/strike_exposure.ts +1 -1
- package/src/contracts/deepbook_predict/strike_payout_tree.ts +27 -0
- package/src/contracts/deepbook_predict/vault_events.ts +45 -14
- package/src/contracts/propbook/block_scholes_store.ts +8 -42
- package/src/deployments/index.ts +13 -3
- package/src/deployments/mainnet.ts +107 -0
- package/src/deployments/testnet.ts +25 -25
- package/src/deployments/types.ts +1 -1
- package/src/predict/client.ts +48 -17
- package/src/predict/config/index.ts +7 -2
- package/src/predict/config/mainnet.ts +27 -0
- package/src/predict/config/types.ts +7 -1
- package/src/predict/index.ts +31 -2
- package/src/predict/pricing.ts +11 -9
- package/src/predict/reads/balances.ts +1 -1
- package/src/predict/reads/markets.ts +1 -1
- package/src/predict/reads/pricing.ts +2 -1
- package/src/sessions.ts +4 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
|
|
1
2
|
import { MoveStruct, normalizeMoveArguments } from "../utils/index.mjs";
|
|
2
3
|
import { MarketManager } from "./market_manager.mjs";
|
|
3
4
|
import { VecSet } from "./deps/sui/vec_set.mjs";
|
|
@@ -16,6 +17,27 @@ import { bcs } from "@mysten/sui/bcs";
|
|
|
16
17
|
* `market_manager`. Runtime pool accounting, expiry risk, oracle feeds, and user
|
|
17
18
|
* positions stay in their owning modules.
|
|
18
19
|
*/
|
|
20
|
+
var registry_exports = /* @__PURE__ */ __exportAll({
|
|
21
|
+
Registry: () => Registry,
|
|
22
|
+
cadenceConfig: () => cadenceConfig,
|
|
23
|
+
cadenceConfigs: () => cadenceConfigs,
|
|
24
|
+
createAndShareBuilderCode: () => createAndShareBuilderCode,
|
|
25
|
+
createAndShareExpiryMarket: () => createAndShareExpiryMarket,
|
|
26
|
+
expiryMarketId: () => expiryMarketId,
|
|
27
|
+
freezeProtocolPauseCap: () => freezeProtocolPauseCap,
|
|
28
|
+
generatePoolValuationProof: () => generatePoolValuationProof,
|
|
29
|
+
id: () => id,
|
|
30
|
+
mintLifecycleCap: () => mintLifecycleCap,
|
|
31
|
+
mintPauseCap: () => mintPauseCap,
|
|
32
|
+
mintPoolValuationCap: () => mintPoolValuationCap,
|
|
33
|
+
pauseExpiryMarketMintPauseCap: () => pauseExpiryMarketMintPauseCap,
|
|
34
|
+
pauseTradingPauseCap: () => pauseTradingPauseCap,
|
|
35
|
+
registerUnderlying: () => registerUnderlying,
|
|
36
|
+
revokeLifecycleCap: () => revokeLifecycleCap,
|
|
37
|
+
revokePauseCap: () => revokePauseCap,
|
|
38
|
+
revokePoolValuationCap: () => revokePoolValuationCap,
|
|
39
|
+
setTemplateCadenceConfig: () => setTemplateCadenceConfig
|
|
40
|
+
});
|
|
19
41
|
const $moduleName = "@local-pkg/deepbook_predict::registry";
|
|
20
42
|
const Registry = new MoveStruct({
|
|
21
43
|
name: `${$moduleName}::Registry`,
|
|
@@ -23,9 +45,25 @@ const Registry = new MoveStruct({
|
|
|
23
45
|
id: bcs.Address,
|
|
24
46
|
market_manager: MarketManager,
|
|
25
47
|
allowed_pause_caps: VecSet(bcs.Address),
|
|
26
|
-
allowed_lifecycle_caps: VecSet(bcs.Address)
|
|
48
|
+
allowed_lifecycle_caps: VecSet(bcs.Address),
|
|
49
|
+
allowed_pool_valuation_caps: VecSet(bcs.Address)
|
|
27
50
|
}
|
|
28
51
|
});
|
|
52
|
+
/** Return the registry object ID for external discovery and PTB construction. */
|
|
53
|
+
function id(options) {
|
|
54
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
55
|
+
const argumentsTypes = [null];
|
|
56
|
+
const parameterNames = ["registry"];
|
|
57
|
+
return (tx) => tx.moveCall({
|
|
58
|
+
package: packageAddress,
|
|
59
|
+
module: "registry",
|
|
60
|
+
function: "id",
|
|
61
|
+
arguments: normalizeMoveArguments({
|
|
62
|
+
...options.arguments,
|
|
63
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
64
|
+
}, argumentsTypes, parameterNames)
|
|
65
|
+
});
|
|
66
|
+
}
|
|
29
67
|
/** Resolve an expiry market ID for external discovery and PTB construction. */
|
|
30
68
|
function expiryMarketId(options) {
|
|
31
69
|
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
@@ -49,7 +87,425 @@ function expiryMarketId(options) {
|
|
|
49
87
|
}, argumentsTypes, parameterNames)
|
|
50
88
|
});
|
|
51
89
|
}
|
|
90
|
+
/** Return deployment policy for SDK and devInspect market discovery. */
|
|
91
|
+
function cadenceConfig(options) {
|
|
92
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
93
|
+
const argumentsTypes = [
|
|
94
|
+
null,
|
|
95
|
+
"u32",
|
|
96
|
+
"u8"
|
|
97
|
+
];
|
|
98
|
+
const parameterNames = [
|
|
99
|
+
"registry",
|
|
100
|
+
"propbookUnderlyingId",
|
|
101
|
+
"cadenceId"
|
|
102
|
+
];
|
|
103
|
+
return (tx) => tx.moveCall({
|
|
104
|
+
package: packageAddress,
|
|
105
|
+
module: "registry",
|
|
106
|
+
function: "cadence_config",
|
|
107
|
+
arguments: normalizeMoveArguments({
|
|
108
|
+
...options.arguments,
|
|
109
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
110
|
+
}, argumentsTypes, parameterNames)
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Return one underlying's complete deployment policy as a single coherent
|
|
115
|
+
* snapshot, for off-chain consumers (SDK and devInspect cadence discovery by the
|
|
116
|
+
* keeper, price updater, and dashboard) that would otherwise need one read per
|
|
117
|
+
* cadence. The vector holds one entry per supported cadence, indexed by cadence
|
|
118
|
+
* ID; disabled cadences are present as their all-zero configuration. Aborts if the
|
|
119
|
+
* underlying is not registered.
|
|
120
|
+
*/
|
|
121
|
+
function cadenceConfigs(options) {
|
|
122
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
123
|
+
const argumentsTypes = [null, "u32"];
|
|
124
|
+
const parameterNames = ["registry", "propbookUnderlyingId"];
|
|
125
|
+
return (tx) => tx.moveCall({
|
|
126
|
+
package: packageAddress,
|
|
127
|
+
module: "registry",
|
|
128
|
+
function: "cadence_configs",
|
|
129
|
+
arguments: normalizeMoveArguments({
|
|
130
|
+
...options.arguments,
|
|
131
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
132
|
+
}, argumentsTypes, parameterNames)
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Mint a new `PauseCap`. This bypasses the version gate so emergency pause
|
|
137
|
+
* authority remains available from a package version below the runtime floor.
|
|
138
|
+
*/
|
|
139
|
+
function mintPauseCap(options) {
|
|
140
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
141
|
+
const argumentsTypes = [null, null];
|
|
142
|
+
const parameterNames = ["registry", "AdminCap"];
|
|
143
|
+
return (tx) => tx.moveCall({
|
|
144
|
+
package: packageAddress,
|
|
145
|
+
module: "registry",
|
|
146
|
+
function: "mint_pause_cap",
|
|
147
|
+
arguments: normalizeMoveArguments({
|
|
148
|
+
...options.arguments,
|
|
149
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
150
|
+
}, argumentsTypes, parameterNames)
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/** Revoke a previously minted `PauseCap` by ID. Admin-only. */
|
|
154
|
+
function revokePauseCap(options) {
|
|
155
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
156
|
+
const argumentsTypes = [
|
|
157
|
+
null,
|
|
158
|
+
null,
|
|
159
|
+
"0x2::object::ID"
|
|
160
|
+
];
|
|
161
|
+
const parameterNames = [
|
|
162
|
+
"registry",
|
|
163
|
+
"AdminCap",
|
|
164
|
+
"pauseCapId"
|
|
165
|
+
];
|
|
166
|
+
return (tx) => tx.moveCall({
|
|
167
|
+
package: packageAddress,
|
|
168
|
+
module: "registry",
|
|
169
|
+
function: "revoke_pause_cap",
|
|
170
|
+
arguments: normalizeMoveArguments({
|
|
171
|
+
...options.arguments,
|
|
172
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
173
|
+
}, argumentsTypes, parameterNames)
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/** Mint a version-gated `MarketLifecycleCap` with market-creation authority. */
|
|
177
|
+
function mintLifecycleCap(options) {
|
|
178
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
179
|
+
const argumentsTypes = [
|
|
180
|
+
null,
|
|
181
|
+
null,
|
|
182
|
+
null
|
|
183
|
+
];
|
|
184
|
+
const parameterNames = [
|
|
185
|
+
"registry",
|
|
186
|
+
"config",
|
|
187
|
+
"AdminCap"
|
|
188
|
+
];
|
|
189
|
+
return (tx) => tx.moveCall({
|
|
190
|
+
package: packageAddress,
|
|
191
|
+
module: "registry",
|
|
192
|
+
function: "mint_lifecycle_cap",
|
|
193
|
+
arguments: normalizeMoveArguments({
|
|
194
|
+
...options.arguments,
|
|
195
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
196
|
+
config: options.arguments?.config ?? options.config?.protocolConfig
|
|
197
|
+
}, argumentsTypes, parameterNames)
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/** Revoke a `MarketLifecycleCap` by ID without applying the version gate. */
|
|
201
|
+
function revokeLifecycleCap(options) {
|
|
202
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
203
|
+
const argumentsTypes = [
|
|
204
|
+
null,
|
|
205
|
+
null,
|
|
206
|
+
"0x2::object::ID"
|
|
207
|
+
];
|
|
208
|
+
const parameterNames = [
|
|
209
|
+
"registry",
|
|
210
|
+
"AdminCap",
|
|
211
|
+
"lifecycleCapId"
|
|
212
|
+
];
|
|
213
|
+
return (tx) => tx.moveCall({
|
|
214
|
+
package: packageAddress,
|
|
215
|
+
module: "registry",
|
|
216
|
+
function: "revoke_lifecycle_cap",
|
|
217
|
+
arguments: normalizeMoveArguments({
|
|
218
|
+
...options.arguments,
|
|
219
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
220
|
+
}, argumentsTypes, parameterNames)
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Mint a version-gated `PoolValuationCap` with authority to start the full-pool
|
|
225
|
+
* valuation.
|
|
226
|
+
*/
|
|
227
|
+
function mintPoolValuationCap(options) {
|
|
228
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
229
|
+
const argumentsTypes = [
|
|
230
|
+
null,
|
|
231
|
+
null,
|
|
232
|
+
null
|
|
233
|
+
];
|
|
234
|
+
const parameterNames = [
|
|
235
|
+
"registry",
|
|
236
|
+
"AdminCap",
|
|
237
|
+
"config"
|
|
238
|
+
];
|
|
239
|
+
return (tx) => tx.moveCall({
|
|
240
|
+
package: packageAddress,
|
|
241
|
+
module: "registry",
|
|
242
|
+
function: "mint_pool_valuation_cap",
|
|
243
|
+
arguments: normalizeMoveArguments({
|
|
244
|
+
...options.arguments,
|
|
245
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
246
|
+
config: options.arguments?.config ?? options.config?.protocolConfig
|
|
247
|
+
}, argumentsTypes, parameterNames)
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/** Revoke a `PoolValuationCap` by ID without applying the version gate. */
|
|
251
|
+
function revokePoolValuationCap(options) {
|
|
252
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
253
|
+
const argumentsTypes = [
|
|
254
|
+
null,
|
|
255
|
+
null,
|
|
256
|
+
"0x2::object::ID"
|
|
257
|
+
];
|
|
258
|
+
const parameterNames = [
|
|
259
|
+
"registry",
|
|
260
|
+
"AdminCap",
|
|
261
|
+
"poolValuationCapId"
|
|
262
|
+
];
|
|
263
|
+
return (tx) => tx.moveCall({
|
|
264
|
+
package: packageAddress,
|
|
265
|
+
module: "registry",
|
|
266
|
+
function: "revoke_pool_valuation_cap",
|
|
267
|
+
arguments: normalizeMoveArguments({
|
|
268
|
+
...options.arguments,
|
|
269
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
270
|
+
}, argumentsTypes, parameterNames)
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Generate a transaction-local proof that `pool_valuation_cap` is currently
|
|
275
|
+
* allowlisted. `plp::start_pool_valuation` takes the proof by value so a revoked
|
|
276
|
+
* cap cannot start a valuation.
|
|
277
|
+
*/
|
|
278
|
+
function generatePoolValuationProof(options) {
|
|
279
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
280
|
+
const argumentsTypes = [null, null];
|
|
281
|
+
const parameterNames = ["registry", "poolValuationCap"];
|
|
282
|
+
return (tx) => tx.moveCall({
|
|
283
|
+
package: packageAddress,
|
|
284
|
+
module: "registry",
|
|
285
|
+
function: "generate_pool_valuation_proof",
|
|
286
|
+
arguments: normalizeMoveArguments({
|
|
287
|
+
...options.arguments,
|
|
288
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
289
|
+
}, argumentsTypes, parameterNames)
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
/** Force `trading_paused = true` via a valid `PauseCap`. One-way. */
|
|
293
|
+
function pauseTradingPauseCap(options) {
|
|
294
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
295
|
+
const argumentsTypes = [
|
|
296
|
+
null,
|
|
297
|
+
null,
|
|
298
|
+
null
|
|
299
|
+
];
|
|
300
|
+
const parameterNames = [
|
|
301
|
+
"config",
|
|
302
|
+
"registry",
|
|
303
|
+
"pauseCap"
|
|
304
|
+
];
|
|
305
|
+
return (tx) => tx.moveCall({
|
|
306
|
+
package: packageAddress,
|
|
307
|
+
module: "registry",
|
|
308
|
+
function: "pause_trading_pause_cap",
|
|
309
|
+
arguments: normalizeMoveArguments({
|
|
310
|
+
...options.arguments,
|
|
311
|
+
config: options.arguments?.config ?? options.config?.protocolConfig,
|
|
312
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
313
|
+
}, argumentsTypes, parameterNames)
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Force the protocol-wide emergency freeze via a valid `PauseCap`. One-way;
|
|
318
|
+
* admin's `protocol_config::set_frozen` is needed to lift the freeze.
|
|
319
|
+
*/
|
|
320
|
+
function freezeProtocolPauseCap(options) {
|
|
321
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
322
|
+
const argumentsTypes = [
|
|
323
|
+
null,
|
|
324
|
+
null,
|
|
325
|
+
null
|
|
326
|
+
];
|
|
327
|
+
const parameterNames = [
|
|
328
|
+
"config",
|
|
329
|
+
"registry",
|
|
330
|
+
"pauseCap"
|
|
331
|
+
];
|
|
332
|
+
return (tx) => tx.moveCall({
|
|
333
|
+
package: packageAddress,
|
|
334
|
+
module: "registry",
|
|
335
|
+
function: "freeze_protocol_pause_cap",
|
|
336
|
+
arguments: normalizeMoveArguments({
|
|
337
|
+
...options.arguments,
|
|
338
|
+
config: options.arguments?.config ?? options.config?.protocolConfig,
|
|
339
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
340
|
+
}, argumentsTypes, parameterNames)
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Force `mint_paused = true` on a single expiry market via a valid `PauseCap`.
|
|
345
|
+
* One-way; admin's `expiry_market::set_mint_paused` is needed to unpause.
|
|
346
|
+
*/
|
|
347
|
+
function pauseExpiryMarketMintPauseCap(options) {
|
|
348
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
349
|
+
const argumentsTypes = [
|
|
350
|
+
null,
|
|
351
|
+
null,
|
|
352
|
+
null
|
|
353
|
+
];
|
|
354
|
+
const parameterNames = [
|
|
355
|
+
"market",
|
|
356
|
+
"registry",
|
|
357
|
+
"pauseCap"
|
|
358
|
+
];
|
|
359
|
+
return (tx) => tx.moveCall({
|
|
360
|
+
package: packageAddress,
|
|
361
|
+
module: "registry",
|
|
362
|
+
function: "pause_expiry_market_mint_pause_cap",
|
|
363
|
+
arguments: normalizeMoveArguments({
|
|
364
|
+
...options.arguments,
|
|
365
|
+
registry: options.arguments?.registry ?? options.config?.registry
|
|
366
|
+
}, argumentsTypes, parameterNames)
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Record admin approval of one Propbook underlying. Source IDs and canonical
|
|
371
|
+
* oracle object IDs remain owned by Propbook; this row only gates which
|
|
372
|
+
* underlyings Predict will build markets on and stores deployment watermarks.
|
|
373
|
+
*/
|
|
374
|
+
function registerUnderlying(options) {
|
|
375
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
376
|
+
const argumentsTypes = [
|
|
377
|
+
null,
|
|
378
|
+
null,
|
|
379
|
+
null,
|
|
380
|
+
"u32"
|
|
381
|
+
];
|
|
382
|
+
const parameterNames = [
|
|
383
|
+
"registry",
|
|
384
|
+
"config",
|
|
385
|
+
"AdminCap",
|
|
386
|
+
"propbookUnderlyingId"
|
|
387
|
+
];
|
|
388
|
+
return (tx) => tx.moveCall({
|
|
389
|
+
package: packageAddress,
|
|
390
|
+
module: "registry",
|
|
391
|
+
function: "register_underlying",
|
|
392
|
+
arguments: normalizeMoveArguments({
|
|
393
|
+
...options.arguments,
|
|
394
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
395
|
+
config: options.arguments?.config ?? options.config?.protocolConfig
|
|
396
|
+
}, argumentsTypes, parameterNames)
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Set all deployment terms for one underlying's cadence. Passing zero for all five
|
|
401
|
+
* values disables the cadence; otherwise all values must be nonzero and valid.
|
|
402
|
+
*/
|
|
403
|
+
function setTemplateCadenceConfig(options) {
|
|
404
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
405
|
+
const argumentsTypes = [
|
|
406
|
+
null,
|
|
407
|
+
null,
|
|
408
|
+
null,
|
|
409
|
+
"u32",
|
|
410
|
+
"u8",
|
|
411
|
+
"u64",
|
|
412
|
+
"u64",
|
|
413
|
+
"u64",
|
|
414
|
+
"u64",
|
|
415
|
+
"u64"
|
|
416
|
+
];
|
|
417
|
+
const parameterNames = [
|
|
418
|
+
"registry",
|
|
419
|
+
"config",
|
|
420
|
+
"AdminCap",
|
|
421
|
+
"propbookUnderlyingId",
|
|
422
|
+
"cadenceId",
|
|
423
|
+
"tickSize",
|
|
424
|
+
"admissionTickSize",
|
|
425
|
+
"maxExpiryAllocation",
|
|
426
|
+
"initialExpiryCash",
|
|
427
|
+
"windowSize"
|
|
428
|
+
];
|
|
429
|
+
return (tx) => tx.moveCall({
|
|
430
|
+
package: packageAddress,
|
|
431
|
+
module: "registry",
|
|
432
|
+
function: "set_template_cadence_config",
|
|
433
|
+
arguments: normalizeMoveArguments({
|
|
434
|
+
...options.arguments,
|
|
435
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
436
|
+
config: options.arguments?.config ?? options.config?.protocolConfig
|
|
437
|
+
}, argumentsTypes, parameterNames)
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Create the next deployable `ExpiryMarket` for one cadence on a Propbook
|
|
442
|
+
* underlying.
|
|
443
|
+
*
|
|
444
|
+
* Requires an allowlisted lifecycle capability, a registered underlying with all
|
|
445
|
+
* canonical feed objects bound, and an enabled cadence with a deployable slot.
|
|
446
|
+
* Higher-rank cadence overlaps and existing markets are skipped. The market
|
|
447
|
+
* snapshots cadence and expiry policy, starts with zero cash, and cannot mint
|
|
448
|
+
* until pool rebalancing funds it. Live pricing reads current Propbook bindings.
|
|
449
|
+
*/
|
|
450
|
+
function createAndShareExpiryMarket(options) {
|
|
451
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
452
|
+
const argumentsTypes = [
|
|
453
|
+
null,
|
|
454
|
+
null,
|
|
455
|
+
null,
|
|
456
|
+
null,
|
|
457
|
+
null,
|
|
458
|
+
"u32",
|
|
459
|
+
"u8",
|
|
460
|
+
"0x2::clock::Clock"
|
|
461
|
+
];
|
|
462
|
+
const parameterNames = [
|
|
463
|
+
"registry",
|
|
464
|
+
"poolVault",
|
|
465
|
+
"config",
|
|
466
|
+
"propbookRegistry",
|
|
467
|
+
"lifecycleCap",
|
|
468
|
+
"propbookUnderlyingId",
|
|
469
|
+
"cadenceId"
|
|
470
|
+
];
|
|
471
|
+
return (tx) => tx.moveCall({
|
|
472
|
+
package: packageAddress,
|
|
473
|
+
module: "registry",
|
|
474
|
+
function: "create_and_share_expiry_market",
|
|
475
|
+
arguments: normalizeMoveArguments({
|
|
476
|
+
...options.arguments,
|
|
477
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
478
|
+
poolVault: options.arguments?.poolVault ?? options.config?.poolVault,
|
|
479
|
+
config: options.arguments?.config ?? options.config?.protocolConfig,
|
|
480
|
+
propbookRegistry: options.arguments?.propbookRegistry ?? options.config?.oracleRegistry
|
|
481
|
+
}, argumentsTypes, parameterNames)
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
/** Create a derived shared BuilderCode for the caller and index. */
|
|
485
|
+
function createAndShareBuilderCode(options) {
|
|
486
|
+
const packageAddress = options.package ?? options.config?.predictPackageId ?? "@local-pkg/deepbook_predict";
|
|
487
|
+
const argumentsTypes = [
|
|
488
|
+
null,
|
|
489
|
+
null,
|
|
490
|
+
"u64"
|
|
491
|
+
];
|
|
492
|
+
const parameterNames = [
|
|
493
|
+
"registry",
|
|
494
|
+
"config",
|
|
495
|
+
"index"
|
|
496
|
+
];
|
|
497
|
+
return (tx) => tx.moveCall({
|
|
498
|
+
package: packageAddress,
|
|
499
|
+
module: "registry",
|
|
500
|
+
function: "create_and_share_builder_code",
|
|
501
|
+
arguments: normalizeMoveArguments({
|
|
502
|
+
...options.arguments,
|
|
503
|
+
registry: options.arguments?.registry ?? options.config?.registry,
|
|
504
|
+
config: options.arguments?.config ?? options.config?.protocolConfig
|
|
505
|
+
}, argumentsTypes, parameterNames)
|
|
506
|
+
});
|
|
507
|
+
}
|
|
52
508
|
|
|
53
509
|
//#endregion
|
|
54
|
-
export { expiryMarketId };
|
|
510
|
+
export { expiryMarketId, registry_exports };
|
|
55
511
|
//# sourceMappingURL=registry.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.mjs","names":["market_manager.MarketManager","vec_set.VecSet"],"sources":["../../../src/contracts/deepbook_predict/registry.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Registry and creation entrypoints for the Predict protocol.\n *\n * This module creates shared setup objects, owns registry-level capabilities, and\n * exposes registry-owned governance/creation entrypoints. Market identity, cadence\n * policy, underlying watermarks, and market uniqueness live in the embedded\n * `market_manager`. Runtime pool accounting, expiry risk, oracle feeds, and user\n * positions stay in their owning modules.\n */\n\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n\ttype ConfigValue,\n} from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport * as market_manager from './market_manager.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@local-pkg/deepbook_predict::registry';\nexport const Registry = new MoveStruct({\n\tname: `${$moduleName}::Registry`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\t/**\n\t\t * Market identity, cadence deployment terms, underlying watermarks, and\n\t\t * uniqueness.\n\t\t */\n\t\tmarket_manager: market_manager.MarketManager,\n\t\t/**\n\t\t * IDs of `PauseCap` objects currently authorized to use pause-only entries. Admin\n\t\t * mints into this set and revokes from it.\n\t\t */\n\t\tallowed_pause_caps: vec_set.VecSet(bcs.Address),\n\t\t/**\n\t\t * IDs of `MarketLifecycleCap` objects currently authorized for privileged\n\t\t * lifecycle entries such as market creation and full-pool valuation. Admin mints\n\t\t * into this set and revokes from it.\n\t\t */\n\t\tallowed_lifecycle_caps: vec_set.VecSet(bcs.Address),\n\t},\n});\nexport interface IdArguments {\n\tregistry?: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n\tpackage?: string;\n\targuments?: IdArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Return the registry object ID for external discovery and PTB construction. */\nexport function id(options: IdOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'id',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface ExpiryMarketIdArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\texpiry: RawTransactionArgument<number | bigint>;\n}\nexport interface ExpiryMarketIdOptions {\n\tpackage?: string;\n\targuments: ExpiryMarketIdArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Resolve an expiry market ID for external discovery and PTB construction. */\nexport function expiryMarketId(options: ExpiryMarketIdOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId', 'expiry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'expiry_market_id',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CadenceConfigArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n}\nexport interface CadenceConfigOptions {\n\tpackage?: string;\n\targuments: CadenceConfigArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Return deployment policy for SDK and devInspect market discovery. */\nexport function cadenceConfig(options: CadenceConfigOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32', 'u8'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId', 'cadenceId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'cadence_config',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CadenceConfigsArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n}\nexport interface CadenceConfigsOptions {\n\tpackage?: string;\n\targuments: CadenceConfigsArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return one underlying's complete deployment policy as a single coherent\n * snapshot, for off-chain consumers (SDK and devInspect cadence discovery by the\n * keeper, price updater, and dashboard) that would otherwise need one read per\n * cadence. The vector holds one entry per supported cadence, indexed by cadence\n * ID; disabled cadences are present as their all-zero configuration. Aborts if the\n * underlying is not registered.\n */\nexport function cadenceConfigs(options: CadenceConfigsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'cadence_configs',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintPauseCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintPauseCapOptions {\n\tpackage?: string;\n\targuments: MintPauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Mint a new `PauseCap`. This bypasses the version gate so emergency pause\n * authority remains available from a package version below the runtime floor.\n */\nexport function mintPauseCap(options: MintPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokePauseCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpauseCapId: RawTransactionArgument<string>;\n}\nexport interface RevokePauseCapOptions {\n\tpackage?: string;\n\targuments: RevokePauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Revoke a previously minted `PauseCap` by ID. Admin-only. */\nexport function revokePauseCap(options: RevokePauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'pauseCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'revoke_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintLifecycleCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintLifecycleCapOptions {\n\tpackage?: string;\n\targuments: MintLifecycleCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Mint a version-gated `MarketLifecycleCap` with market-creation and valuation\n * authority.\n */\nexport function mintLifecycleCap(options: MintLifecycleCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'mint_lifecycle_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokeLifecycleCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tlifecycleCapId: RawTransactionArgument<string>;\n}\nexport interface RevokeLifecycleCapOptions {\n\tpackage?: string;\n\targuments: RevokeLifecycleCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Revoke a `MarketLifecycleCap` by ID without applying the version gate. */\nexport function revokeLifecycleCap(options: RevokeLifecycleCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'lifecycleCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'revoke_lifecycle_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface GenerateLifecycleProofArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tlifecycleCap: RawTransactionArgument<string>;\n}\nexport interface GenerateLifecycleProofOptions {\n\tpackage?: string;\n\targuments: GenerateLifecycleProofArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Generate a transaction-local proof that `lifecycle_cap` is currently\n * allowlisted. Consumers take the proof by value so a revoked lifecycle cap cannot\n * authorize cross-module lifecycle actions.\n */\nexport function generateLifecycleProof(options: GenerateLifecycleProofOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'lifecycleCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'generate_lifecycle_proof',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface PauseTradingPauseCapArguments {\n\tconfig?: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface PauseTradingPauseCapOptions {\n\tpackage?: string;\n\targuments: PauseTradingPauseCapArguments;\n\tconfig?: {\n\t\tprotocolConfig: ConfigValue;\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Force `trading_paused = true` via a valid `PauseCap`. One-way. */\nexport function pauseTradingPauseCap(options: PauseTradingPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['config', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'pause_trading_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface FreezeProtocolPauseCapArguments {\n\tconfig?: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface FreezeProtocolPauseCapOptions {\n\tpackage?: string;\n\targuments: FreezeProtocolPauseCapArguments;\n\tconfig?: {\n\t\tprotocolConfig: ConfigValue;\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Force the protocol-wide emergency freeze via a valid `PauseCap`. One-way;\n * admin's `protocol_config::set_frozen` is needed to lift the freeze.\n */\nexport function freezeProtocolPauseCap(options: FreezeProtocolPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['config', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'freeze_protocol_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface PauseExpiryMarketMintPauseCapArguments {\n\tmarket: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface PauseExpiryMarketMintPauseCapOptions {\n\tpackage?: string;\n\targuments: PauseExpiryMarketMintPauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Force `mint_paused = true` on a single expiry market via a valid `PauseCap`.\n * One-way; admin's `expiry_market::set_mint_paused` is needed to unpause.\n */\nexport function pauseExpiryMarketMintPauseCap(options: PauseExpiryMarketMintPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['market', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'pause_expiry_market_mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RegisterUnderlyingArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n}\nexport interface RegisterUnderlyingOptions {\n\tpackage?: string;\n\targuments: RegisterUnderlyingArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Record admin approval of one Propbook underlying. Source IDs and canonical\n * oracle object IDs remain owned by Propbook; this row only gates which\n * underlyings Predict will build markets on and stores deployment watermarks.\n */\nexport function registerUnderlying(options: RegisterUnderlyingOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'AdminCap', 'propbookUnderlyingId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'register_underlying',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface SetTemplateCadenceConfigArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n\ttickSize: RawTransactionArgument<number | bigint>;\n\tadmissionTickSize: RawTransactionArgument<number | bigint>;\n\tmaxExpiryAllocation: RawTransactionArgument<number | bigint>;\n\tinitialExpiryCash: RawTransactionArgument<number | bigint>;\n\twindowSize: RawTransactionArgument<number | bigint>;\n}\nexport interface SetTemplateCadenceConfigOptions {\n\tpackage?: string;\n\targuments: SetTemplateCadenceConfigArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Set all deployment terms for one underlying's cadence. Passing zero for all five\n * values disables the cadence; otherwise all values must be nonzero and valid.\n */\nexport function setTemplateCadenceConfig(options: SetTemplateCadenceConfigOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u32',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'config',\n\t\t'AdminCap',\n\t\t'propbookUnderlyingId',\n\t\t'cadenceId',\n\t\t'tickSize',\n\t\t'admissionTickSize',\n\t\t'maxExpiryAllocation',\n\t\t'initialExpiryCash',\n\t\t'windowSize',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'set_template_cadence_config',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CreateAndShareExpiryMarketArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpoolVault?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tpropbookRegistry?: RawTransactionArgument<string>;\n\tlifecycleCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n}\nexport interface CreateAndShareExpiryMarketOptions {\n\tpackage?: string;\n\targuments: CreateAndShareExpiryMarketArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpoolVault: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\toracleRegistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Create the next deployable `ExpiryMarket` for one cadence on a Propbook\n * underlying.\n *\n * Requires an allowlisted lifecycle capability, a registered underlying with all\n * canonical feed objects bound, and an enabled cadence with a deployable slot.\n * Higher-rank cadence overlaps and existing markets are skipped. The market\n * snapshots cadence and expiry policy, starts with zero cash, and cannot mint\n * until pool rebalancing funds it. Live pricing reads current Propbook bindings.\n */\nexport function createAndShareExpiryMarket(options: CreateAndShareExpiryMarketOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u32',\n\t\t'u8',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'poolVault',\n\t\t'config',\n\t\t'propbookRegistry',\n\t\t'lifecycleCap',\n\t\t'propbookUnderlyingId',\n\t\t'cadenceId',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'create_and_share_expiry_market',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tpoolVault: options.arguments?.poolVault ?? options.config?.poolVault,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tpropbookRegistry: options.arguments?.propbookRegistry ?? options.config?.oracleRegistry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CreateAndShareBuilderCodeArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tindex: RawTransactionArgument<number | bigint>;\n}\nexport interface CreateAndShareBuilderCodeOptions {\n\tpackage?: string;\n\targuments: CreateAndShareBuilderCodeArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Create a derived shared BuilderCode for the caller and index. */\nexport function createAndShareBuilderCode(options: CreateAndShareBuilderCodeOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'index'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'create_and_share_builder_code',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAwBA,MAAM,cAAc;AACpB,MAAa,WAAW,IAAI,WAAW;CACtC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EAKR,gBAAgBA;EAKhB,oBAAoBC,OAAe,IAAI,QAAQ;EAM/C,wBAAwBA,OAAe,IAAI,QAAQ;EACnD;CACD,CAAC;;AA+CF,SAAgB,eAAe,SAAgC;CAC9D,MAAM,iBACL,QAAQ,WAAW,QAAQ,QAAQ,oBAAoB;CACxD,MAAM,iBAAiB;EAAC;EAAM;EAAO;EAAM;CAC3C,MAAM,iBAAiB;EAAC;EAAY;EAAwB;EAAS;AACrE,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBACV;GACC,GAAG,QAAQ;GACX,UAAU,QAAQ,WAAW,YAAY,QAAQ,QAAQ;GACzD,EACD,gBACA,eACA;EACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.mjs","names":["market_manager.MarketManager","vec_set.VecSet"],"sources":["../../../src/contracts/deepbook_predict/registry.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Registry and creation entrypoints for the Predict protocol.\n *\n * This module creates shared setup objects, owns registry-level capabilities, and\n * exposes registry-owned governance/creation entrypoints. Market identity, cadence\n * policy, underlying watermarks, and market uniqueness live in the embedded\n * `market_manager`. Runtime pool accounting, expiry risk, oracle feeds, and user\n * positions stay in their owning modules.\n */\n\nimport {\n\tMoveStruct,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n\ttype ConfigValue,\n} from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport * as market_manager from './market_manager.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@local-pkg/deepbook_predict::registry';\nexport const Registry = new MoveStruct({\n\tname: `${$moduleName}::Registry`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\t/**\n\t\t * Market identity, cadence deployment terms, underlying watermarks, and\n\t\t * uniqueness.\n\t\t */\n\t\tmarket_manager: market_manager.MarketManager,\n\t\t/**\n\t\t * IDs of `PauseCap` objects currently authorized to use pause-only entries. Admin\n\t\t * mints into this set and revokes from it.\n\t\t */\n\t\tallowed_pause_caps: vec_set.VecSet(bcs.Address),\n\t\t/**\n\t\t * IDs of `MarketLifecycleCap` objects currently authorized to create expiry\n\t\t * markets. Admin mints into this set and revokes from it.\n\t\t */\n\t\tallowed_lifecycle_caps: vec_set.VecSet(bcs.Address),\n\t\t/**\n\t\t * IDs of `PoolValuationCap` objects currently authorized to start the full-pool\n\t\t * valuation. Admin mints into this set and revokes from it.\n\t\t */\n\t\tallowed_pool_valuation_caps: vec_set.VecSet(bcs.Address),\n\t},\n});\nexport interface IdArguments {\n\tregistry?: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n\tpackage?: string;\n\targuments?: IdArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Return the registry object ID for external discovery and PTB construction. */\nexport function id(options: IdOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'id',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface ExpiryMarketIdArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\texpiry: RawTransactionArgument<number | bigint>;\n}\nexport interface ExpiryMarketIdOptions {\n\tpackage?: string;\n\targuments: ExpiryMarketIdArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Resolve an expiry market ID for external discovery and PTB construction. */\nexport function expiryMarketId(options: ExpiryMarketIdOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId', 'expiry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'expiry_market_id',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CadenceConfigArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n}\nexport interface CadenceConfigOptions {\n\tpackage?: string;\n\targuments: CadenceConfigArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Return deployment policy for SDK and devInspect market discovery. */\nexport function cadenceConfig(options: CadenceConfigOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32', 'u8'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId', 'cadenceId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'cadence_config',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CadenceConfigsArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n}\nexport interface CadenceConfigsOptions {\n\tpackage?: string;\n\targuments: CadenceConfigsArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Return one underlying's complete deployment policy as a single coherent\n * snapshot, for off-chain consumers (SDK and devInspect cadence discovery by the\n * keeper, price updater, and dashboard) that would otherwise need one read per\n * cadence. The vector holds one entry per supported cadence, indexed by cadence\n * ID; disabled cadences are present as their all-zero configuration. Aborts if the\n * underlying is not registered.\n */\nexport function cadenceConfigs(options: CadenceConfigsOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'propbookUnderlyingId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'cadence_configs',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintPauseCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintPauseCapOptions {\n\tpackage?: string;\n\targuments: MintPauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Mint a new `PauseCap`. This bypasses the version gate so emergency pause\n * authority remains available from a package version below the runtime floor.\n */\nexport function mintPauseCap(options: MintPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokePauseCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpauseCapId: RawTransactionArgument<string>;\n}\nexport interface RevokePauseCapOptions {\n\tpackage?: string;\n\targuments: RevokePauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Revoke a previously minted `PauseCap` by ID. Admin-only. */\nexport function revokePauseCap(options: RevokePauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'pauseCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'revoke_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintLifecycleCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintLifecycleCapOptions {\n\tpackage?: string;\n\targuments: MintLifecycleCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Mint a version-gated `MarketLifecycleCap` with market-creation authority. */\nexport function mintLifecycleCap(options: MintLifecycleCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'mint_lifecycle_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokeLifecycleCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tlifecycleCapId: RawTransactionArgument<string>;\n}\nexport interface RevokeLifecycleCapOptions {\n\tpackage?: string;\n\targuments: RevokeLifecycleCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Revoke a `MarketLifecycleCap` by ID without applying the version gate. */\nexport function revokeLifecycleCap(options: RevokeLifecycleCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'lifecycleCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'revoke_lifecycle_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface MintPoolValuationCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n}\nexport interface MintPoolValuationCapOptions {\n\tpackage?: string;\n\targuments: MintPoolValuationCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Mint a version-gated `PoolValuationCap` with authority to start the full-pool\n * valuation.\n */\nexport function mintPoolValuationCap(options: MintPoolValuationCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'config'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'mint_pool_valuation_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RevokePoolValuationCapArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpoolValuationCapId: RawTransactionArgument<string>;\n}\nexport interface RevokePoolValuationCapOptions {\n\tpackage?: string;\n\targuments: RevokePoolValuationCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Revoke a `PoolValuationCap` by ID without applying the version gate. */\nexport function revokePoolValuationCap(options: RevokePoolValuationCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'AdminCap', 'poolValuationCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'revoke_pool_valuation_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface GeneratePoolValuationProofArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpoolValuationCap: RawTransactionArgument<string>;\n}\nexport interface GeneratePoolValuationProofOptions {\n\tpackage?: string;\n\targuments: GeneratePoolValuationProofArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Generate a transaction-local proof that `pool_valuation_cap` is currently\n * allowlisted. `plp::start_pool_valuation` takes the proof by value so a revoked\n * cap cannot start a valuation.\n */\nexport function generatePoolValuationProof(options: GeneratePoolValuationProofOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'poolValuationCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'generate_pool_valuation_proof',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface PauseTradingPauseCapArguments {\n\tconfig?: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface PauseTradingPauseCapOptions {\n\tpackage?: string;\n\targuments: PauseTradingPauseCapArguments;\n\tconfig?: {\n\t\tprotocolConfig: ConfigValue;\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Force `trading_paused = true` via a valid `PauseCap`. One-way. */\nexport function pauseTradingPauseCap(options: PauseTradingPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['config', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'pause_trading_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface FreezeProtocolPauseCapArguments {\n\tconfig?: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface FreezeProtocolPauseCapOptions {\n\tpackage?: string;\n\targuments: FreezeProtocolPauseCapArguments;\n\tconfig?: {\n\t\tprotocolConfig: ConfigValue;\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Force the protocol-wide emergency freeze via a valid `PauseCap`. One-way;\n * admin's `protocol_config::set_frozen` is needed to lift the freeze.\n */\nexport function freezeProtocolPauseCap(options: FreezeProtocolPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['config', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'freeze_protocol_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface PauseExpiryMarketMintPauseCapArguments {\n\tmarket: RawTransactionArgument<string>;\n\tregistry?: RawTransactionArgument<string>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface PauseExpiryMarketMintPauseCapOptions {\n\tpackage?: string;\n\targuments: PauseExpiryMarketMintPauseCapArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Force `mint_paused = true` on a single expiry market via a valid `PauseCap`.\n * One-way; admin's `expiry_market::set_mint_paused` is needed to unpause.\n */\nexport function pauseExpiryMarketMintPauseCap(options: PauseExpiryMarketMintPauseCapOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['market', 'registry', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'pause_expiry_market_mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface RegisterUnderlyingArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n}\nexport interface RegisterUnderlyingOptions {\n\tpackage?: string;\n\targuments: RegisterUnderlyingArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Record admin approval of one Propbook underlying. Source IDs and canonical\n * oracle object IDs remain owned by Propbook; this row only gates which\n * underlyings Predict will build markets on and stores deployment watermarks.\n */\nexport function registerUnderlying(options: RegisterUnderlyingOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, null, 'u32'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'AdminCap', 'propbookUnderlyingId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'register_underlying',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface SetTemplateCadenceConfigArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n\ttickSize: RawTransactionArgument<number | bigint>;\n\tadmissionTickSize: RawTransactionArgument<number | bigint>;\n\tmaxExpiryAllocation: RawTransactionArgument<number | bigint>;\n\tinitialExpiryCash: RawTransactionArgument<number | bigint>;\n\twindowSize: RawTransactionArgument<number | bigint>;\n}\nexport interface SetTemplateCadenceConfigOptions {\n\tpackage?: string;\n\targuments: SetTemplateCadenceConfigArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Set all deployment terms for one underlying's cadence. Passing zero for all five\n * values disables the cadence; otherwise all values must be nonzero and valid.\n */\nexport function setTemplateCadenceConfig(options: SetTemplateCadenceConfigOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u32',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t\t'u64',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'config',\n\t\t'AdminCap',\n\t\t'propbookUnderlyingId',\n\t\t'cadenceId',\n\t\t'tickSize',\n\t\t'admissionTickSize',\n\t\t'maxExpiryAllocation',\n\t\t'initialExpiryCash',\n\t\t'windowSize',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'set_template_cadence_config',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CreateAndShareExpiryMarketArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tpoolVault?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tpropbookRegistry?: RawTransactionArgument<string>;\n\tlifecycleCap: RawTransactionArgument<string>;\n\tpropbookUnderlyingId: RawTransactionArgument<number>;\n\tcadenceId: RawTransactionArgument<number>;\n}\nexport interface CreateAndShareExpiryMarketOptions {\n\tpackage?: string;\n\targuments: CreateAndShareExpiryMarketArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tpoolVault: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\toracleRegistry: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/**\n * Create the next deployable `ExpiryMarket` for one cadence on a Propbook\n * underlying.\n *\n * Requires an allowlisted lifecycle capability, a registered underlying with all\n * canonical feed objects bound, and an enabled cadence with a deployable slot.\n * Higher-rank cadence overlaps and existing markets are skipped. The market\n * snapshots cadence and expiry policy, starts with zero cash, and cannot mint\n * until pool rebalancing funds it. Live pricing reads current Propbook bindings.\n */\nexport function createAndShareExpiryMarket(options: CreateAndShareExpiryMarketOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u32',\n\t\t'u8',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'poolVault',\n\t\t'config',\n\t\t'propbookRegistry',\n\t\t'lifecycleCap',\n\t\t'propbookUnderlyingId',\n\t\t'cadenceId',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'create_and_share_expiry_market',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tpoolVault: options.arguments?.poolVault ?? options.config?.poolVault,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t\tpropbookRegistry: options.arguments?.propbookRegistry ?? options.config?.oracleRegistry,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\nexport interface CreateAndShareBuilderCodeArguments {\n\tregistry?: RawTransactionArgument<string>;\n\tconfig?: RawTransactionArgument<string>;\n\tindex: RawTransactionArgument<number | bigint>;\n}\nexport interface CreateAndShareBuilderCodeOptions {\n\tpackage?: string;\n\targuments: CreateAndShareBuilderCodeArguments;\n\tconfig?: {\n\t\tregistry: ConfigValue;\n\t\tprotocolConfig: ConfigValue;\n\t\tpredictPackageId?: string;\n\t};\n}\n/** Create a derived shared BuilderCode for the caller and index. */\nexport function createAndShareBuilderCode(options: CreateAndShareBuilderCodeOptions) {\n\tconst packageAddress =\n\t\toptions.package ?? options.config?.predictPackageId ?? '@local-pkg/deepbook_predict';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'index'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'registry',\n\t\t\tfunction: 'create_and_share_builder_code',\n\t\t\targuments: normalizeMoveArguments(\n\t\t\t\t{\n\t\t\t\t\t...options.arguments,\n\t\t\t\t\tregistry: options.arguments?.registry ?? options.config?.registry,\n\t\t\t\t\tconfig: options.arguments?.config ?? options.config?.protocolConfig,\n\t\t\t\t},\n\t\t\t\targumentsTypes,\n\t\t\t\tparameterNames,\n\t\t\t),\n\t\t});\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strike_exposure.mjs","names":["strike_exposure_config.StrikeExposureConfig","strike_payout_tree.StrikePayoutTree","order.Order"],"sources":["../../../src/contracts/deepbook_predict/strike_exposure.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Expiry-local exposure book for one expiry market.\n *\n * This module interprets `Order` terms against the expiry's `tick_size`,\n * recovering raw strikes from order ticks only at the pricing/settlement boundary.\n * It owns the payout-liability view of the active contracts used for cash backing.\n * Order accounting is static and needs no clock: a winning order pays its full\n * quantity. Expiry-market cash custody, account positions, and payout movement\n * stay outside this module.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nimport * as strike_exposure_config from './strike_exposure_config.js';\nimport * as strike_payout_tree from './strike_payout_tree.js';\nimport * as order from './order.js';\nconst $moduleName = '@local-pkg/deepbook_predict::strike_exposure';\nexport const StrikeExposure = new MoveStruct({\n\tname: `${$moduleName}::StrikeExposure`,\n\tfields: {\n\t\t/** Expiry market that owns this exposure book. */\n\t\texpiry_market_id: bcs.Address,\n\t\t/** Raw-price-per-tick conversion factor; `raw_strike = tick * tick_size`. */\n\t\ttick_size: U64,\n\t\t/** Coarser raw-price step that new finite mint boundaries must align to. */\n\t\tadmission_tick_size: U64,\n\t\t/** Exact Propbook Pyth source timestamp used to derive the reference tick. */\n\t\treference_tick_source_timestamp_ms: U64,\n\t\t/** Reference fine-grid tick that may bypass the coarser admission grid once set. */\n\t\treference_tick: bcs.option(U64),\n\t\t/** Snapshotted exposure and fee policy for this expiry. */\n\t\tconfig: strike_exposure_config.StrikeExposureConfig,\n\t\t/**\n\t\t * Immutable
|
|
1
|
+
{"version":3,"file":"strike_exposure.mjs","names":["strike_exposure_config.StrikeExposureConfig","strike_payout_tree.StrikePayoutTree","order.Order"],"sources":["../../../src/contracts/deepbook_predict/strike_exposure.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Expiry-local exposure book for one expiry market.\n *\n * This module interprets `Order` terms against the expiry's `tick_size`,\n * recovering raw strikes from order ticks only at the pricing/settlement boundary.\n * It owns the payout-liability view of the active contracts used for cash backing.\n * Order accounting is static and needs no clock: a winning order pays its full\n * quantity. Expiry-market cash custody, account positions, and payout movement\n * stay outside this module.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { U64 } from '../../bcs/integers.js';\nimport * as strike_exposure_config from './strike_exposure_config.js';\nimport * as strike_payout_tree from './strike_payout_tree.js';\nimport * as order from './order.js';\nconst $moduleName = '@local-pkg/deepbook_predict::strike_exposure';\nexport const StrikeExposure = new MoveStruct({\n\tname: `${$moduleName}::StrikeExposure`,\n\tfields: {\n\t\t/** Expiry market that owns this exposure book. */\n\t\texpiry_market_id: bcs.Address,\n\t\t/** Raw-price-per-tick conversion factor; `raw_strike = tick * tick_size`. */\n\t\ttick_size: U64,\n\t\t/** Coarser raw-price step that new finite mint boundaries must align to. */\n\t\tadmission_tick_size: U64,\n\t\t/** Exact Propbook Pyth source timestamp used to derive the reference tick. */\n\t\treference_tick_source_timestamp_ms: U64,\n\t\t/** Reference fine-grid tick that may bypass the coarser admission grid once set. */\n\t\treference_tick: bcs.option(U64),\n\t\t/** Snapshotted exposure and fee policy for this expiry. */\n\t\tconfig: strike_exposure_config.StrikeExposureConfig,\n\t\t/**\n\t\t * Immutable USDC scale for the inventory-impact curve. This is the expiry's\n\t\t * snapshotted maximum pool allocation: a risk-capacity parameter, not live pool\n\t\t * equity, so LP flows cannot reprice an existing book.\n\t\t */\n\t\tinventory_impact_scale: U64,\n\t\tnext_order_sequence: U64,\n\t\t/** Terminal settlement price once the exposure has entered its settled phase. */\n\t\tsettlement_price: bcs.option(U64),\n\t\t/** Remaining payout liability in the settled phase. */\n\t\tsettled_payout_liability: U64,\n\t\t/** Sparse payout tree for live cash backing and settled liability. */\n\t\tpayout: strike_payout_tree.StrikePayoutTree,\n\t},\n});\nexport const MintTerms = new MoveStruct({\n\tname: `${$moduleName}::MintTerms`,\n\tfields: {\n\t\texpiry_market_id: bcs.Address,\n\t\tlower_tick: U64,\n\t\thigher_tick: U64,\n\t\tquantity: U64,\n\t\tentry_probability: U64,\n\t\tpremium: U64,\n\t\t/** Separate inventory-impact charge, sampled against the pre-mint book. */\n\t\tinventory_impact_charge: U64,\n\t},\n});\nexport const LiveCloseTerms = new MoveStruct({\n\tname: `${$moduleName}::LiveCloseTerms`,\n\tfields: {\n\t\texpiry_market_id: bcs.Address,\n\t\torder: order.Order,\n\t\tclose_quantity: U64,\n\t\tredeem_amount: U64,\n\t\trange_probability: U64,\n\t\t/** Separate inventory-impact rebate, sampled against the pre-close book. */\n\t\tinventory_impact_rebate: U64,\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,cAAc;AACpB,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EAEP,kBAAkB,IAAI;EAEtB,WAAW;EAEX,qBAAqB;EAErB,oCAAoC;EAEpC,gBAAgB,IAAI,OAAO,IAAI;EAE/B,QAAQA;EAMR,wBAAwB;EACxB,qBAAqB;EAErB,kBAAkB,IAAI,OAAO,IAAI;EAEjC,0BAA0B;EAE1B,QAAQC;EACR;CACD,CAAC;AACF,MAAa,YAAY,IAAI,WAAW;CACvC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,kBAAkB,IAAI;EACtB,YAAY;EACZ,aAAa;EACb,UAAU;EACV,mBAAmB;EACnB,SAAS;EAET,yBAAyB;EACzB;CACD,CAAC;AACF,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,kBAAkB,IAAI;EACtB,OAAOC;EACP,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EAEnB,yBAAyB;EACzB;CACD,CAAC"}
|