@mysten/deepbook-v3 1.6.6 → 2.0.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 +54 -0
- package/dist/_virtual/rolldown_runtime.mjs +18 -0
- package/dist/client.d.mts +11 -8
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +3 -2
- package/dist/client.mjs.map +1 -1
- 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_margin/margin_manager.mjs +1 -319
- package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs +386 -0
- package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/oracle.mjs +9 -0
- package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/pool_proxy.mjs +1 -383
- package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
- package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs +340 -0
- package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs +33 -17
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
- package/dist/index.d.mts +4 -3
- package/dist/index.mjs +2 -2
- package/dist/pyth/PriceServiceConnection.d.mts +18 -3
- package/dist/pyth/PriceServiceConnection.d.mts.map +1 -1
- package/dist/pyth/PriceServiceConnection.mjs +35 -4
- package/dist/pyth/PriceServiceConnection.mjs.map +1 -1
- package/dist/queries/priceFeedQueries.mjs +50 -18
- package/dist/queries/priceFeedQueries.mjs.map +1 -1
- package/dist/transactions/balanceManager.d.mts +12 -12
- package/dist/transactions/deepbook.d.mts +20 -20
- 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/marginAdmin.mjs +2 -2
- package/dist/transactions/marginAdmin.mjs.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginLiquidations.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.mjs +19 -7
- package/dist/transactions/marginLiquidations.mjs.map +1 -1
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginManager.mjs +43 -34
- package/dist/transactions/marginManager.mjs.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/marginTPSL.mjs +19 -10
- package/dist/transactions/marginTPSL.mjs.map +1 -1
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/transactions/poolProxy.mjs +34 -27
- package/dist/transactions/poolProxy.mjs.map +1 -1
- package/dist/types/index.d.mts +16 -1
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/config.d.mts +30 -10
- package/dist/utils/config.d.mts.map +1 -1
- package/dist/utils/config.mjs +33 -4
- package/dist/utils/config.mjs.map +1 -1
- package/dist/utils/constants.d.mts +32 -1
- package/dist/utils/constants.d.mts.map +1 -1
- package/dist/utils/constants.mjs +54 -23
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +9 -1
- package/src/contracts/deepbook_margin/margin_manager.ts +140 -10
- package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +651 -0
- package/src/contracts/deepbook_margin/oracle.ts +59 -0
- package/src/contracts/deepbook_margin/pool_proxy.ts +600 -584
- package/src/contracts/deepbook_margin/pool_proxy_upgraded.ts +614 -0
- package/src/contracts/margin_liquidation/liquidation_vault.ts +142 -0
- package/src/index.ts +4 -0
- package/src/pyth/PriceServiceConnection.ts +69 -8
- package/src/queries/priceFeedQueries.ts +74 -24
- package/src/transactions/marginAdmin.ts +2 -4
- package/src/transactions/marginLiquidations.ts +20 -6
- package/src/transactions/marginManager.ts +43 -33
- package/src/transactions/marginTPSL.ts +19 -9
- package/src/transactions/poolProxy.ts +34 -30
- package/src/types/index.ts +16 -0
- package/src/utils/config.ts +69 -9
- package/src/utils/constants.ts +88 -25
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
|
|
2
|
+
import { normalizeMoveArguments } from "../utils/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/contracts/deepbook_margin/margin_manager_upgraded.ts
|
|
5
|
+
var margin_manager_upgraded_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
addConditionalOrder: () => addConditionalOrder,
|
|
7
|
+
borrowBase: () => borrowBase,
|
|
8
|
+
borrowQuote: () => borrowQuote,
|
|
9
|
+
deposit: () => deposit,
|
|
10
|
+
executeConditionalOrdersV2: () => executeConditionalOrdersV2,
|
|
11
|
+
executeConditionalOrdersV3: () => executeConditionalOrdersV3,
|
|
12
|
+
liquidate: () => liquidate,
|
|
13
|
+
managerState: () => managerState,
|
|
14
|
+
managerStates: () => managerStates,
|
|
15
|
+
riskRatio: () => riskRatio,
|
|
16
|
+
riskRatioUnsafe: () => riskRatioUnsafe,
|
|
17
|
+
withdraw: () => withdraw
|
|
18
|
+
});
|
|
19
|
+
/** Twin: `margin_manager::add_conditional_order`. Edit both. */
|
|
20
|
+
function addConditionalOrder(options) {
|
|
21
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
22
|
+
const argumentsTypes = [
|
|
23
|
+
null,
|
|
24
|
+
null,
|
|
25
|
+
null,
|
|
26
|
+
null,
|
|
27
|
+
null,
|
|
28
|
+
"u64",
|
|
29
|
+
null,
|
|
30
|
+
null,
|
|
31
|
+
"0x2::clock::Clock"
|
|
32
|
+
];
|
|
33
|
+
const parameterNames = [
|
|
34
|
+
"self",
|
|
35
|
+
"pool",
|
|
36
|
+
"basePriceInfoObject",
|
|
37
|
+
"quotePriceInfoObject",
|
|
38
|
+
"registry",
|
|
39
|
+
"conditionalOrderId",
|
|
40
|
+
"condition",
|
|
41
|
+
"pendingOrder"
|
|
42
|
+
];
|
|
43
|
+
return (tx) => tx.moveCall({
|
|
44
|
+
package: packageAddress,
|
|
45
|
+
module: "margin_manager_upgraded",
|
|
46
|
+
function: "add_conditional_order",
|
|
47
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
48
|
+
typeArguments: options.typeArguments
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/** Twin: `margin_manager::execute_conditional_orders_v2`. Edit both. */
|
|
52
|
+
function executeConditionalOrdersV2(options) {
|
|
53
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
54
|
+
const argumentsTypes = [
|
|
55
|
+
null,
|
|
56
|
+
null,
|
|
57
|
+
null,
|
|
58
|
+
null,
|
|
59
|
+
null,
|
|
60
|
+
null,
|
|
61
|
+
null,
|
|
62
|
+
"u64",
|
|
63
|
+
"0x2::clock::Clock"
|
|
64
|
+
];
|
|
65
|
+
const parameterNames = [
|
|
66
|
+
"self",
|
|
67
|
+
"pool",
|
|
68
|
+
"baseMarginPool",
|
|
69
|
+
"quoteMarginPool",
|
|
70
|
+
"basePriceInfoObject",
|
|
71
|
+
"quotePriceInfoObject",
|
|
72
|
+
"registry",
|
|
73
|
+
"maxOrdersToExecute"
|
|
74
|
+
];
|
|
75
|
+
return (tx) => tx.moveCall({
|
|
76
|
+
package: packageAddress,
|
|
77
|
+
module: "margin_manager_upgraded",
|
|
78
|
+
function: "execute_conditional_orders_v2",
|
|
79
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
80
|
+
typeArguments: options.typeArguments
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/** Twin: `margin_manager::execute_conditional_orders_v3`. Edit both. */
|
|
84
|
+
function executeConditionalOrdersV3(options) {
|
|
85
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
86
|
+
const argumentsTypes = [
|
|
87
|
+
null,
|
|
88
|
+
null,
|
|
89
|
+
null,
|
|
90
|
+
null,
|
|
91
|
+
null,
|
|
92
|
+
null,
|
|
93
|
+
null,
|
|
94
|
+
"u64",
|
|
95
|
+
"0x2::clock::Clock"
|
|
96
|
+
];
|
|
97
|
+
const parameterNames = [
|
|
98
|
+
"self",
|
|
99
|
+
"pool",
|
|
100
|
+
"baseMarginPool",
|
|
101
|
+
"quoteMarginPool",
|
|
102
|
+
"basePriceInfoObject",
|
|
103
|
+
"quotePriceInfoObject",
|
|
104
|
+
"registry",
|
|
105
|
+
"maxOrdersToExecute"
|
|
106
|
+
];
|
|
107
|
+
return (tx) => tx.moveCall({
|
|
108
|
+
package: packageAddress,
|
|
109
|
+
module: "margin_manager_upgraded",
|
|
110
|
+
function: "execute_conditional_orders_v3",
|
|
111
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
112
|
+
typeArguments: options.typeArguments
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/** Twin: `margin_manager::deposit`. Edit both. */
|
|
116
|
+
function deposit(options) {
|
|
117
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
118
|
+
const argumentsTypes = [
|
|
119
|
+
null,
|
|
120
|
+
null,
|
|
121
|
+
null,
|
|
122
|
+
null,
|
|
123
|
+
null,
|
|
124
|
+
"0x2::clock::Clock"
|
|
125
|
+
];
|
|
126
|
+
const parameterNames = [
|
|
127
|
+
"self",
|
|
128
|
+
"registry",
|
|
129
|
+
"baseOracle",
|
|
130
|
+
"quoteOracle",
|
|
131
|
+
"coin"
|
|
132
|
+
];
|
|
133
|
+
return (tx) => tx.moveCall({
|
|
134
|
+
package: packageAddress,
|
|
135
|
+
module: "margin_manager_upgraded",
|
|
136
|
+
function: "deposit",
|
|
137
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
138
|
+
typeArguments: options.typeArguments
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/** Twin: `margin_manager::withdraw`. Edit both. */
|
|
142
|
+
function withdraw(options) {
|
|
143
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
144
|
+
const argumentsTypes = [
|
|
145
|
+
null,
|
|
146
|
+
null,
|
|
147
|
+
null,
|
|
148
|
+
null,
|
|
149
|
+
null,
|
|
150
|
+
null,
|
|
151
|
+
null,
|
|
152
|
+
"u64",
|
|
153
|
+
"0x2::clock::Clock"
|
|
154
|
+
];
|
|
155
|
+
const parameterNames = [
|
|
156
|
+
"self",
|
|
157
|
+
"registry",
|
|
158
|
+
"baseMarginPool",
|
|
159
|
+
"quoteMarginPool",
|
|
160
|
+
"baseOracle",
|
|
161
|
+
"quoteOracle",
|
|
162
|
+
"pool",
|
|
163
|
+
"withdrawAmount"
|
|
164
|
+
];
|
|
165
|
+
return (tx) => tx.moveCall({
|
|
166
|
+
package: packageAddress,
|
|
167
|
+
module: "margin_manager_upgraded",
|
|
168
|
+
function: "withdraw",
|
|
169
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
170
|
+
typeArguments: options.typeArguments
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/** Twin: `margin_manager::borrow_base`. Edit both. */
|
|
174
|
+
function borrowBase(options) {
|
|
175
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
176
|
+
const argumentsTypes = [
|
|
177
|
+
null,
|
|
178
|
+
null,
|
|
179
|
+
null,
|
|
180
|
+
null,
|
|
181
|
+
null,
|
|
182
|
+
null,
|
|
183
|
+
"u64",
|
|
184
|
+
"0x2::clock::Clock"
|
|
185
|
+
];
|
|
186
|
+
const parameterNames = [
|
|
187
|
+
"self",
|
|
188
|
+
"registry",
|
|
189
|
+
"baseMarginPool",
|
|
190
|
+
"baseOracle",
|
|
191
|
+
"quoteOracle",
|
|
192
|
+
"pool",
|
|
193
|
+
"loanAmount"
|
|
194
|
+
];
|
|
195
|
+
return (tx) => tx.moveCall({
|
|
196
|
+
package: packageAddress,
|
|
197
|
+
module: "margin_manager_upgraded",
|
|
198
|
+
function: "borrow_base",
|
|
199
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
200
|
+
typeArguments: options.typeArguments
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/** Twin: `margin_manager::borrow_quote`. Edit both. */
|
|
204
|
+
function borrowQuote(options) {
|
|
205
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
206
|
+
const argumentsTypes = [
|
|
207
|
+
null,
|
|
208
|
+
null,
|
|
209
|
+
null,
|
|
210
|
+
null,
|
|
211
|
+
null,
|
|
212
|
+
null,
|
|
213
|
+
"u64",
|
|
214
|
+
"0x2::clock::Clock"
|
|
215
|
+
];
|
|
216
|
+
const parameterNames = [
|
|
217
|
+
"self",
|
|
218
|
+
"registry",
|
|
219
|
+
"quoteMarginPool",
|
|
220
|
+
"baseOracle",
|
|
221
|
+
"quoteOracle",
|
|
222
|
+
"pool",
|
|
223
|
+
"loanAmount"
|
|
224
|
+
];
|
|
225
|
+
return (tx) => tx.moveCall({
|
|
226
|
+
package: packageAddress,
|
|
227
|
+
module: "margin_manager_upgraded",
|
|
228
|
+
function: "borrow_quote",
|
|
229
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
230
|
+
typeArguments: options.typeArguments
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/** Twin: `margin_manager::liquidate`. Edit both. */
|
|
234
|
+
function liquidate(options) {
|
|
235
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
236
|
+
const argumentsTypes = [
|
|
237
|
+
null,
|
|
238
|
+
null,
|
|
239
|
+
null,
|
|
240
|
+
null,
|
|
241
|
+
null,
|
|
242
|
+
null,
|
|
243
|
+
null,
|
|
244
|
+
"0x2::clock::Clock"
|
|
245
|
+
];
|
|
246
|
+
const parameterNames = [
|
|
247
|
+
"self",
|
|
248
|
+
"registry",
|
|
249
|
+
"baseOracle",
|
|
250
|
+
"quoteOracle",
|
|
251
|
+
"marginPool",
|
|
252
|
+
"pool",
|
|
253
|
+
"repayCoin"
|
|
254
|
+
];
|
|
255
|
+
return (tx) => tx.moveCall({
|
|
256
|
+
package: packageAddress,
|
|
257
|
+
module: "margin_manager_upgraded",
|
|
258
|
+
function: "liquidate",
|
|
259
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
260
|
+
typeArguments: options.typeArguments
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/** Twin: `margin_manager::risk_ratio`. Edit both. */
|
|
264
|
+
function riskRatio(options) {
|
|
265
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
266
|
+
const argumentsTypes = [
|
|
267
|
+
null,
|
|
268
|
+
null,
|
|
269
|
+
null,
|
|
270
|
+
null,
|
|
271
|
+
null,
|
|
272
|
+
null,
|
|
273
|
+
null,
|
|
274
|
+
"0x2::clock::Clock"
|
|
275
|
+
];
|
|
276
|
+
const parameterNames = [
|
|
277
|
+
"self",
|
|
278
|
+
"registry",
|
|
279
|
+
"baseOracle",
|
|
280
|
+
"quoteOracle",
|
|
281
|
+
"pool",
|
|
282
|
+
"baseMarginPool",
|
|
283
|
+
"quoteMarginPool"
|
|
284
|
+
];
|
|
285
|
+
return (tx) => tx.moveCall({
|
|
286
|
+
package: packageAddress,
|
|
287
|
+
module: "margin_manager_upgraded",
|
|
288
|
+
function: "risk_ratio",
|
|
289
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
290
|
+
typeArguments: options.typeArguments
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
/** Twin: `margin_manager::risk_ratio_unsafe`. Edit both. */
|
|
294
|
+
function riskRatioUnsafe(options) {
|
|
295
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
296
|
+
const argumentsTypes = [
|
|
297
|
+
null,
|
|
298
|
+
null,
|
|
299
|
+
null,
|
|
300
|
+
null,
|
|
301
|
+
null,
|
|
302
|
+
null,
|
|
303
|
+
null,
|
|
304
|
+
"0x2::clock::Clock"
|
|
305
|
+
];
|
|
306
|
+
const parameterNames = [
|
|
307
|
+
"self",
|
|
308
|
+
"registry",
|
|
309
|
+
"baseOracle",
|
|
310
|
+
"quoteOracle",
|
|
311
|
+
"pool",
|
|
312
|
+
"baseMarginPool",
|
|
313
|
+
"quoteMarginPool"
|
|
314
|
+
];
|
|
315
|
+
return (tx) => tx.moveCall({
|
|
316
|
+
package: packageAddress,
|
|
317
|
+
module: "margin_manager_upgraded",
|
|
318
|
+
function: "risk_ratio_unsafe",
|
|
319
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
320
|
+
typeArguments: options.typeArguments
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
/** Twin: `margin_manager::manager_state`. Edit both. */
|
|
324
|
+
function managerState(options) {
|
|
325
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
326
|
+
const argumentsTypes = [
|
|
327
|
+
null,
|
|
328
|
+
null,
|
|
329
|
+
null,
|
|
330
|
+
null,
|
|
331
|
+
null,
|
|
332
|
+
null,
|
|
333
|
+
null,
|
|
334
|
+
"0x2::clock::Clock"
|
|
335
|
+
];
|
|
336
|
+
const parameterNames = [
|
|
337
|
+
"self",
|
|
338
|
+
"registry",
|
|
339
|
+
"baseOracle",
|
|
340
|
+
"quoteOracle",
|
|
341
|
+
"pool",
|
|
342
|
+
"baseMarginPool",
|
|
343
|
+
"quoteMarginPool"
|
|
344
|
+
];
|
|
345
|
+
return (tx) => tx.moveCall({
|
|
346
|
+
package: packageAddress,
|
|
347
|
+
module: "margin_manager_upgraded",
|
|
348
|
+
function: "manager_state",
|
|
349
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
350
|
+
typeArguments: options.typeArguments
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
/** Twin: `margin_manager::manager_states`. Edit both. */
|
|
354
|
+
function managerStates(options) {
|
|
355
|
+
const packageAddress = options.package ?? "@deepbook/margin";
|
|
356
|
+
const argumentsTypes = [
|
|
357
|
+
"vector<null>",
|
|
358
|
+
null,
|
|
359
|
+
null,
|
|
360
|
+
null,
|
|
361
|
+
null,
|
|
362
|
+
null,
|
|
363
|
+
null,
|
|
364
|
+
"0x2::clock::Clock"
|
|
365
|
+
];
|
|
366
|
+
const parameterNames = [
|
|
367
|
+
"marginManagers",
|
|
368
|
+
"registry",
|
|
369
|
+
"baseOracle",
|
|
370
|
+
"quoteOracle",
|
|
371
|
+
"pool",
|
|
372
|
+
"baseMarginPool",
|
|
373
|
+
"quoteMarginPool"
|
|
374
|
+
];
|
|
375
|
+
return (tx) => tx.moveCall({
|
|
376
|
+
package: packageAddress,
|
|
377
|
+
module: "margin_manager_upgraded",
|
|
378
|
+
function: "manager_states",
|
|
379
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
380
|
+
typeArguments: options.typeArguments
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
//#endregion
|
|
385
|
+
export { margin_manager_upgraded_exports };
|
|
386
|
+
//# sourceMappingURL=margin_manager_upgraded.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin_manager_upgraded.mjs","names":[],"sources":["../../../src/contracts/deepbook_margin/margin_manager_upgraded.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Pyth's upgraded Core entrypoints for `margin_manager`.\n *\n * Pyth Core is being replaced by a separately published package, so its\n * `PriceInfoObject` is a distinct Move type from the legacy one and the frozen\n * signatures in `margin_manager` can never accept it. The upgraded surface\n * therefore lives here, under the same function names. Each entry reads the\n * upgraded feed and delegates to the shared core in `margin_manager`, so both\n * feeds run identical logic.\n */\n\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport { normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nexport interface AddConditionalOrderArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tconditionalOrderId: RawTransactionArgument<number | bigint>;\n\tcondition: TransactionArgument;\n\tpendingOrder: TransactionArgument;\n}\nexport interface AddConditionalOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AddConditionalOrderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbasePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tquotePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tconditionalOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tcondition: TransactionArgument,\n\t\t\t\tpendingOrder: TransactionArgument,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::add_conditional_order`. Edit both. */\nexport function addConditionalOrder(options: AddConditionalOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\tnull,\n\t\tnull,\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'pool',\n\t\t'basePriceInfoObject',\n\t\t'quotePriceInfoObject',\n\t\t'registry',\n\t\t'conditionalOrderId',\n\t\t'condition',\n\t\t'pendingOrder',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'add_conditional_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ExecuteConditionalOrdersV2Arguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmaxOrdersToExecute: RawTransactionArgument<number | bigint>;\n}\nexport interface ExecuteConditionalOrdersV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| ExecuteConditionalOrdersV2Arguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbasePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tquotePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmaxOrdersToExecute: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::execute_conditional_orders_v2`. Edit both. */\nexport function executeConditionalOrdersV2(options: ExecuteConditionalOrdersV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'basePriceInfoObject',\n\t\t'quotePriceInfoObject',\n\t\t'registry',\n\t\t'maxOrdersToExecute',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'execute_conditional_orders_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ExecuteConditionalOrdersV3Arguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmaxOrdersToExecute: RawTransactionArgument<number | bigint>;\n}\nexport interface ExecuteConditionalOrdersV3Options {\n\tpackage?: string;\n\targuments:\n\t\t| ExecuteConditionalOrdersV3Arguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbasePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tquotePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmaxOrdersToExecute: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::execute_conditional_orders_v3`. Edit both. */\nexport function executeConditionalOrdersV3(options: ExecuteConditionalOrdersV3Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'basePriceInfoObject',\n\t\t'quotePriceInfoObject',\n\t\t'registry',\n\t\t'maxOrdersToExecute',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'execute_conditional_orders_v3',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DepositArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface DepositOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DepositArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** Twin: `margin_manager::deposit`. Edit both. */\nexport function deposit(options: DepositOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'baseOracle', 'quoteOracle', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'deposit',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\twithdrawAmount: RawTransactionArgument<number | bigint>;\n}\nexport interface WithdrawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\twithdrawAmount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** Twin: `margin_manager::withdraw`. Edit both. */\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'withdrawAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'withdraw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tloanAmount: RawTransactionArgument<number | bigint>;\n}\nexport interface BorrowBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| BorrowBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tloanAmount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::borrow_base`. Edit both. */\nexport function borrowBase(options: BorrowBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'loanAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'borrow_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tloanAmount: RawTransactionArgument<number | bigint>;\n}\nexport interface BorrowQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| BorrowQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tloanAmount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::borrow_quote`. Edit both. */\nexport function borrowQuote(options: BorrowQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'loanAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'borrow_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tmarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayCoin: RawTransactionArgument<string>;\n}\nexport interface LiquidateOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tmarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayCoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** Twin: `margin_manager::liquidate`. Edit both. */\nexport function liquidate(options: LiquidateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, null, null, null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'marginPool',\n\t\t'pool',\n\t\t'repayCoin',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'liquidate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n}\nexport interface RiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RiskRatioArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::risk_ratio`. Edit both. */\nexport function riskRatio(options: RiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, null, null, null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RiskRatioUnsafeArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n}\nexport interface RiskRatioUnsafeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RiskRatioUnsafeArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::risk_ratio_unsafe`. Edit both. */\nexport function riskRatioUnsafe(options: RiskRatioUnsafeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, null, null, null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'risk_ratio_unsafe',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ManagerStateArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n}\nexport interface ManagerStateOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ManagerStateArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::manager_state`. Edit both. */\nexport function managerState(options: ManagerStateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, null, null, null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'manager_state',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ManagerStatesArguments {\n\tmarginManagers: TransactionArgument;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n}\nexport interface ManagerStatesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ManagerStatesArguments\n\t\t| [\n\t\t\t\tmarginManagers: TransactionArgument,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `margin_manager::manager_states`. Edit both. */\nexport function managerStates(options: ManagerStatesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\t'vector<null>',\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'marginManagers',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_manager_upgraded',\n\t\t\tfunction: 'manager_states',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":"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"}
|
|
@@ -35,6 +35,15 @@ const ConversionConfig = new MoveStruct({
|
|
|
35
35
|
pyth_decimals: bcs.u8()
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
const PythReading = new MoveStruct({
|
|
39
|
+
name: `${$moduleName}::PythReading`,
|
|
40
|
+
fields: {
|
|
41
|
+
price: bcs.u64(),
|
|
42
|
+
decimals: bcs.u8(),
|
|
43
|
+
conf: bcs.option(bcs.u64()),
|
|
44
|
+
coin_type: TypeName
|
|
45
|
+
}
|
|
46
|
+
});
|
|
38
47
|
/**
|
|
39
48
|
* Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors
|
|
40
49
|
* in decimals.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.mjs","names":["type_name.TypeName","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/oracle.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Oracle module for margin trading. */\n\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as type_name from './deps/std/type_name.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::oracle';\nexport const CoinTypeData = new MoveStruct({\n\tname: `${$moduleName}::CoinTypeData`,\n\tfields: {\n\t\tdecimals: bcs.u8(),\n\t\tprice_feed_id: bcs.vector(bcs.u8()),\n\t\ttype_name: type_name.TypeName,\n\t\tmax_conf_bps: bcs.u64(),\n\t\tmax_ewma_difference_bps: bcs.u64(),\n\t},\n});\nexport const PythConfig = new MoveStruct({\n\tname: `${$moduleName}::PythConfig`,\n\tfields: {\n\t\tcurrencies: vec_map.VecMap(type_name.TypeName, CoinTypeData),\n\t\tmax_age_secs: bcs.u64(),\n\t},\n});\nexport const ConversionConfig = new MoveStruct({\n\tname: `${$moduleName}::ConversionConfig`,\n\tfields: {\n\t\ttarget_decimals: bcs.u8(),\n\t\tbase_decimals: bcs.u8(),\n\t\tpyth_price: bcs.u64(),\n\t\tpyth_decimals: bcs.u8(),\n\t},\n});\nexport interface NewCoinTypeDataFromCurrencyArguments {\n\tcurrency: RawTransactionArgument<string>;\n\tpriceFeedId: RawTransactionArgument<Array<number>>;\n\tmaxConfBps: RawTransactionArgument<number | bigint>;\n\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataFromCurrencyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataFromCurrencyArguments\n\t\t| [\n\t\t\t\tcurrency: RawTransactionArgument<string>,\n\t\t\t\tpriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tmaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors\n * in decimals.\n */\nexport function newCoinTypeDataFromCurrency(options: NewCoinTypeDataFromCurrencyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['currency', 'priceFeedId', 'maxConfBps', 'maxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data_from_currency',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPythConfigArguments {\n\tsetups: TransactionArgument;\n\tmaxAgeSecs: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPythConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPythConfigArguments\n\t\t| [setups: TransactionArgument, maxAgeSecs: RawTransactionArgument<number | bigint>];\n}\n/**\n * Creates a new PythConfig struct. Can be attached by the Admin to MarginRegistry\n * to allow oracle to work.\n */\nexport function newPythConfig(options: NewPythConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['vector<null>', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['setups', 'maxAgeSecs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_pyth_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAc;AACpB,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,IAAI;EAClB,eAAe,IAAI,OAAO,IAAI,IAAI,CAAC;EACnC,WAAWA;EACX,cAAc,IAAI,KAAK;EACvB,yBAAyB,IAAI,KAAK;EAClC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAYC,OAAeD,UAAoB,aAAa;EAC5D,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,iBAAiB,IAAI,IAAI;EACzB,eAAe,IAAI,IAAI;EACvB,YAAY,IAAI,KAAK;EACrB,eAAe,IAAI,IAAI;EACvB;CACD,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"oracle.mjs","names":["type_name.TypeName","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/oracle.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Oracle module for margin trading. */\n\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as type_name from './deps/std/type_name.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::oracle';\nexport const CoinTypeData = new MoveStruct({\n\tname: `${$moduleName}::CoinTypeData`,\n\tfields: {\n\t\tdecimals: bcs.u8(),\n\t\tprice_feed_id: bcs.vector(bcs.u8()),\n\t\ttype_name: type_name.TypeName,\n\t\tmax_conf_bps: bcs.u64(),\n\t\tmax_ewma_difference_bps: bcs.u64(),\n\t},\n});\nexport const PythConfig = new MoveStruct({\n\tname: `${$moduleName}::PythConfig`,\n\tfields: {\n\t\tcurrencies: vec_map.VecMap(type_name.TypeName, CoinTypeData),\n\t\tmax_age_secs: bcs.u64(),\n\t},\n});\nexport const ConversionConfig = new MoveStruct({\n\tname: `${$moduleName}::ConversionConfig`,\n\tfields: {\n\t\ttarget_decimals: bcs.u8(),\n\t\tbase_decimals: bcs.u8(),\n\t\tpyth_price: bcs.u64(),\n\t\tpyth_decimals: bcs.u8(),\n\t},\n});\nexport const PythReading = new MoveStruct({\n\tname: `${$moduleName}::PythReading`,\n\tfields: {\n\t\tprice: bcs.u64(),\n\t\tdecimals: bcs.u8(),\n\t\t/**\n\t\t * `some` only for validated reads. The confidence bound is a _pricing_ guard, not\n\t\t * a read guard: it is asserted in `price_config`, so a reading taken purely for\n\t\t * telemetry (the deposit event) is never rejected for a wide interval. Unvalidated\n\t\t * reads carry `none` and skip the check, as they always have.\n\t\t */\n\t\tconf: bcs.option(bcs.u64()),\n\t\t/**\n\t\t * The asset this price is _for_, stamped by the reader from the same config row\n\t\t * the feed id was checked against. `price_config` asserts it matches the type it\n\t\t * is being consumed as, so a reading routed to the wrong leg aborts instead of\n\t\t * silently mis-pricing. Without it, transposing the base and quote readings at a\n\t\t * call site is invisible: both are well-formed, both pass every other guard.\n\t\t */\n\t\tcoin_type: type_name.TypeName,\n\t},\n});\nexport interface NewCoinTypeDataArguments {\n\tCoinMetadata: RawTransactionArgument<string>;\n\tPriceFeedId: RawTransactionArgument<Array<number>>;\n\tMaxConfBps: RawTransactionArgument<number | bigint>;\n\tMaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataArguments\n\t\t| [\n\t\t\t\tCoinMetadata: RawTransactionArgument<string>,\n\t\t\t\tPriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tMaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tMaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Superseded by `new_coin_type_data_from_currency`, which reads decimals from\n * `Currency` instead of trusting the caller-supplied `CoinMetadata`. Retained as\n * an aborting stub because it is public in the deployed package: a `compatible`\n * upgrade cannot drop a public function.\n */\nexport function newCoinTypeData(options: NewCoinTypeDataOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['CoinMetadata', 'PriceFeedId', 'MaxConfBps', 'MaxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewCoinTypeDataFromCurrencyArguments {\n\tcurrency: RawTransactionArgument<string>;\n\tpriceFeedId: RawTransactionArgument<Array<number>>;\n\tmaxConfBps: RawTransactionArgument<number | bigint>;\n\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataFromCurrencyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataFromCurrencyArguments\n\t\t| [\n\t\t\t\tcurrency: RawTransactionArgument<string>,\n\t\t\t\tpriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tmaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors\n * in decimals.\n */\nexport function newCoinTypeDataFromCurrency(options: NewCoinTypeDataFromCurrencyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['currency', 'priceFeedId', 'maxConfBps', 'maxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data_from_currency',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPythConfigArguments {\n\tsetups: TransactionArgument;\n\tmaxAgeSecs: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPythConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPythConfigArguments\n\t\t| [setups: TransactionArgument, maxAgeSecs: RawTransactionArgument<number | bigint>];\n}\n/**\n * Creates a new PythConfig struct. Can be attached by the Admin to MarginRegistry\n * to allow oracle to work.\n */\nexport function newPythConfig(options: NewPythConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['vector<null>', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['setups', 'maxAgeSecs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_pyth_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAc;AACpB,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,IAAI;EAClB,eAAe,IAAI,OAAO,IAAI,IAAI,CAAC;EACnC,WAAWA;EACX,cAAc,IAAI,KAAK;EACvB,yBAAyB,IAAI,KAAK;EAClC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAYC,OAAeD,UAAoB,aAAa;EAC5D,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,iBAAiB,IAAI,IAAI;EACzB,eAAe,IAAI,IAAI;EACvB,YAAY,IAAI,KAAK;EACrB,eAAe,IAAI,IAAI;EACvB;CACD,CAAC;AACF,MAAa,cAAc,IAAI,WAAW;CACzC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,OAAO,IAAI,KAAK;EAChB,UAAU,IAAI,IAAI;EAOlB,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC;EAQ3B,WAAWA;EACX;CACD,CAAC;;;;;AA4DF,SAAgB,4BAA4B,SAA6C;CACxF,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAc;EAAO;EAAM;CACzD,MAAM,iBAAiB;EAAC;EAAY;EAAe;EAAc;EAAuB;AACxF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;;;;AAgBJ,SAAgB,cAAc,SAA+B;CAC5D,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,gBAAgB,MAAM;CAC9C,MAAM,iBAAiB,CAAC,UAAU,aAAa;AAC/C,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}
|