@mysten/deepbook-v3 1.6.7 → 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.
Files changed (85) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/_virtual/rolldown_runtime.mjs +18 -0
  3. package/dist/client.d.mts +9 -6
  4. package/dist/client.d.mts.map +1 -1
  5. package/dist/client.mjs +3 -2
  6. package/dist/client.mjs.map +1 -1
  7. package/dist/contracts/deepbook/account.d.mts +18 -18
  8. package/dist/contracts/deepbook/account.d.mts.map +1 -1
  9. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  10. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
  11. package/dist/contracts/deepbook_margin/margin_manager.mjs +1 -319
  12. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
  13. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs +386 -0
  14. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -0
  15. package/dist/contracts/deepbook_margin/oracle.mjs +9 -0
  16. package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -1
  17. package/dist/contracts/deepbook_margin/pool_proxy.mjs +1 -383
  18. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
  19. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs +340 -0
  20. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs.map +1 -0
  21. package/dist/contracts/margin_liquidation/liquidation_vault.mjs +33 -17
  22. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
  23. package/dist/index.d.mts +4 -3
  24. package/dist/index.mjs +2 -2
  25. package/dist/pyth/PriceServiceConnection.d.mts +18 -3
  26. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -1
  27. package/dist/pyth/PriceServiceConnection.mjs +35 -4
  28. package/dist/pyth/PriceServiceConnection.mjs.map +1 -1
  29. package/dist/queries/priceFeedQueries.mjs +50 -18
  30. package/dist/queries/priceFeedQueries.mjs.map +1 -1
  31. package/dist/transactions/balanceManager.d.mts +12 -12
  32. package/dist/transactions/deepbook.d.mts +20 -20
  33. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  34. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  35. package/dist/transactions/marginAdmin.d.mts +7 -7
  36. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  37. package/dist/transactions/marginAdmin.mjs +2 -2
  38. package/dist/transactions/marginAdmin.mjs.map +1 -1
  39. package/dist/transactions/marginLiquidations.d.mts.map +1 -1
  40. package/dist/transactions/marginLiquidations.mjs +19 -7
  41. package/dist/transactions/marginLiquidations.mjs.map +1 -1
  42. package/dist/transactions/marginMaintainer.d.mts +5 -5
  43. package/dist/transactions/marginManager.d.mts +32 -32
  44. package/dist/transactions/marginManager.d.mts.map +1 -1
  45. package/dist/transactions/marginManager.mjs +43 -34
  46. package/dist/transactions/marginManager.mjs.map +1 -1
  47. package/dist/transactions/marginPool.d.mts +18 -18
  48. package/dist/transactions/marginTPSL.d.mts +10 -10
  49. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  50. package/dist/transactions/marginTPSL.mjs +19 -10
  51. package/dist/transactions/marginTPSL.mjs.map +1 -1
  52. package/dist/transactions/poolProxy.d.mts +8 -8
  53. package/dist/transactions/poolProxy.d.mts.map +1 -1
  54. package/dist/transactions/poolProxy.mjs +34 -27
  55. package/dist/transactions/poolProxy.mjs.map +1 -1
  56. package/dist/types/index.d.mts +16 -1
  57. package/dist/types/index.d.mts.map +1 -1
  58. package/dist/types/index.mjs.map +1 -1
  59. package/dist/utils/config.d.mts +30 -10
  60. package/dist/utils/config.d.mts.map +1 -1
  61. package/dist/utils/config.mjs +33 -4
  62. package/dist/utils/config.mjs.map +1 -1
  63. package/dist/utils/constants.d.mts +32 -1
  64. package/dist/utils/constants.d.mts.map +1 -1
  65. package/dist/utils/constants.mjs +54 -23
  66. package/dist/utils/constants.mjs.map +1 -1
  67. package/package.json +1 -1
  68. package/src/client.ts +9 -1
  69. package/src/contracts/deepbook_margin/margin_manager.ts +140 -10
  70. package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +651 -0
  71. package/src/contracts/deepbook_margin/oracle.ts +59 -0
  72. package/src/contracts/deepbook_margin/pool_proxy.ts +600 -584
  73. package/src/contracts/deepbook_margin/pool_proxy_upgraded.ts +614 -0
  74. package/src/contracts/margin_liquidation/liquidation_vault.ts +142 -0
  75. package/src/index.ts +4 -0
  76. package/src/pyth/PriceServiceConnection.ts +69 -8
  77. package/src/queries/priceFeedQueries.ts +74 -24
  78. package/src/transactions/marginAdmin.ts +2 -4
  79. package/src/transactions/marginLiquidations.ts +20 -6
  80. package/src/transactions/marginManager.ts +43 -33
  81. package/src/transactions/marginTPSL.ts +19 -9
  82. package/src/transactions/poolProxy.ts +34 -30
  83. package/src/types/index.ts +16 -0
  84. package/src/utils/config.ts +69 -9
  85. package/src/utils/constants.ts +88 -25
@@ -0,0 +1,340 @@
1
+ import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
2
+ import { normalizeMoveArguments } from "../utils/index.mjs";
3
+
4
+ //#region src/contracts/deepbook_margin/pool_proxy_upgraded.ts
5
+ var pool_proxy_upgraded_exports = /* @__PURE__ */ __exportAll({
6
+ placeLimitOrderV2: () => placeLimitOrderV2,
7
+ placeMarketOrderAndRepayLoan: () => placeMarketOrderAndRepayLoan,
8
+ placeMarketOrderV2: () => placeMarketOrderV2,
9
+ placeReduceOnlyLimitOrderAndRepayLoan: () => placeReduceOnlyLimitOrderAndRepayLoan,
10
+ placeReduceOnlyLimitOrderV2: () => placeReduceOnlyLimitOrderV2,
11
+ placeReduceOnlyMarketOrderAndRepayLoan: () => placeReduceOnlyMarketOrderAndRepayLoan,
12
+ placeReduceOnlyMarketOrderV2: () => placeReduceOnlyMarketOrderV2,
13
+ updateCurrentPrice: () => updateCurrentPrice
14
+ });
15
+ /** Twin: `pool_proxy::update_current_price`. Edit both. */
16
+ function updateCurrentPrice(options) {
17
+ const packageAddress = options.package ?? "@deepbook/margin";
18
+ const argumentsTypes = [
19
+ null,
20
+ null,
21
+ null,
22
+ null,
23
+ "0x2::clock::Clock"
24
+ ];
25
+ const parameterNames = [
26
+ "registry",
27
+ "pool",
28
+ "basePriceInfoObject",
29
+ "quotePriceInfoObject"
30
+ ];
31
+ return (tx) => tx.moveCall({
32
+ package: packageAddress,
33
+ module: "pool_proxy_upgraded",
34
+ function: "update_current_price",
35
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
36
+ typeArguments: options.typeArguments
37
+ });
38
+ }
39
+ /** Twin: `pool_proxy::place_limit_order_v2`. Edit both. */
40
+ function placeLimitOrderV2(options) {
41
+ const packageAddress = options.package ?? "@deepbook/margin";
42
+ const argumentsTypes = [
43
+ null,
44
+ null,
45
+ null,
46
+ null,
47
+ null,
48
+ null,
49
+ null,
50
+ "u64",
51
+ "u8",
52
+ "u8",
53
+ "u64",
54
+ "u64",
55
+ "bool",
56
+ "bool",
57
+ "u64",
58
+ "0x2::clock::Clock"
59
+ ];
60
+ const parameterNames = [
61
+ "registry",
62
+ "marginManager",
63
+ "pool",
64
+ "baseMarginPool",
65
+ "quoteMarginPool",
66
+ "baseOracle",
67
+ "quoteOracle",
68
+ "clientOrderId",
69
+ "orderType",
70
+ "selfMatchingOption",
71
+ "price",
72
+ "quantity",
73
+ "isBid",
74
+ "payWithDeep",
75
+ "expireTimestamp"
76
+ ];
77
+ return (tx) => tx.moveCall({
78
+ package: packageAddress,
79
+ module: "pool_proxy_upgraded",
80
+ function: "place_limit_order_v2",
81
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
82
+ typeArguments: options.typeArguments
83
+ });
84
+ }
85
+ /** Twin: `pool_proxy::place_market_order_v2`. Edit both. */
86
+ function placeMarketOrderV2(options) {
87
+ const packageAddress = options.package ?? "@deepbook/margin";
88
+ const argumentsTypes = [
89
+ null,
90
+ null,
91
+ null,
92
+ null,
93
+ null,
94
+ null,
95
+ null,
96
+ "u64",
97
+ "u8",
98
+ "u64",
99
+ "bool",
100
+ "bool",
101
+ "0x2::clock::Clock"
102
+ ];
103
+ const parameterNames = [
104
+ "registry",
105
+ "marginManager",
106
+ "pool",
107
+ "baseMarginPool",
108
+ "quoteMarginPool",
109
+ "baseOracle",
110
+ "quoteOracle",
111
+ "clientOrderId",
112
+ "selfMatchingOption",
113
+ "quantity",
114
+ "isBid",
115
+ "payWithDeep"
116
+ ];
117
+ return (tx) => tx.moveCall({
118
+ package: packageAddress,
119
+ module: "pool_proxy_upgraded",
120
+ function: "place_market_order_v2",
121
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
122
+ typeArguments: options.typeArguments
123
+ });
124
+ }
125
+ /** Twin: `pool_proxy::place_reduce_only_limit_order_v2`. Edit both. */
126
+ function placeReduceOnlyLimitOrderV2(options) {
127
+ const packageAddress = options.package ?? "@deepbook/margin";
128
+ const argumentsTypes = [
129
+ null,
130
+ null,
131
+ null,
132
+ null,
133
+ null,
134
+ null,
135
+ null,
136
+ "u64",
137
+ "u8",
138
+ "u8",
139
+ "u64",
140
+ "u64",
141
+ "bool",
142
+ "bool",
143
+ "u64",
144
+ "0x2::clock::Clock"
145
+ ];
146
+ const parameterNames = [
147
+ "registry",
148
+ "marginManager",
149
+ "pool",
150
+ "baseMarginPool",
151
+ "quoteMarginPool",
152
+ "baseOracle",
153
+ "quoteOracle",
154
+ "clientOrderId",
155
+ "orderType",
156
+ "selfMatchingOption",
157
+ "price",
158
+ "quantity",
159
+ "isBid",
160
+ "payWithDeep",
161
+ "expireTimestamp"
162
+ ];
163
+ return (tx) => tx.moveCall({
164
+ package: packageAddress,
165
+ module: "pool_proxy_upgraded",
166
+ function: "place_reduce_only_limit_order_v2",
167
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
168
+ typeArguments: options.typeArguments
169
+ });
170
+ }
171
+ /** Twin: `pool_proxy::place_reduce_only_market_order_v2`. Edit both. */
172
+ function placeReduceOnlyMarketOrderV2(options) {
173
+ const packageAddress = options.package ?? "@deepbook/margin";
174
+ const argumentsTypes = [
175
+ null,
176
+ null,
177
+ null,
178
+ null,
179
+ null,
180
+ null,
181
+ null,
182
+ "u64",
183
+ "u8",
184
+ "u64",
185
+ "bool",
186
+ "bool",
187
+ "0x2::clock::Clock"
188
+ ];
189
+ const parameterNames = [
190
+ "registry",
191
+ "marginManager",
192
+ "pool",
193
+ "baseMarginPool",
194
+ "quoteMarginPool",
195
+ "baseOracle",
196
+ "quoteOracle",
197
+ "clientOrderId",
198
+ "selfMatchingOption",
199
+ "quantity",
200
+ "isBid",
201
+ "payWithDeep"
202
+ ];
203
+ return (tx) => tx.moveCall({
204
+ package: packageAddress,
205
+ module: "pool_proxy_upgraded",
206
+ function: "place_reduce_only_market_order_v2",
207
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
208
+ typeArguments: options.typeArguments
209
+ });
210
+ }
211
+ /** Twin: `pool_proxy::place_reduce_only_market_order_and_repay_loan`. Edit both. */
212
+ function placeReduceOnlyMarketOrderAndRepayLoan(options) {
213
+ const packageAddress = options.package ?? "@deepbook/margin";
214
+ const argumentsTypes = [
215
+ null,
216
+ null,
217
+ null,
218
+ null,
219
+ null,
220
+ null,
221
+ null,
222
+ "u64",
223
+ "u8",
224
+ "u64",
225
+ "bool",
226
+ "bool",
227
+ "0x2::clock::Clock"
228
+ ];
229
+ const parameterNames = [
230
+ "registry",
231
+ "marginManager",
232
+ "pool",
233
+ "baseMarginPool",
234
+ "quoteMarginPool",
235
+ "baseOracle",
236
+ "quoteOracle",
237
+ "clientOrderId",
238
+ "selfMatchingOption",
239
+ "quantity",
240
+ "isBid",
241
+ "payWithDeep"
242
+ ];
243
+ return (tx) => tx.moveCall({
244
+ package: packageAddress,
245
+ module: "pool_proxy_upgraded",
246
+ function: "place_reduce_only_market_order_and_repay_loan",
247
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
248
+ typeArguments: options.typeArguments
249
+ });
250
+ }
251
+ /** Twin: `pool_proxy::place_reduce_only_limit_order_and_repay_loan`. Edit both. */
252
+ function placeReduceOnlyLimitOrderAndRepayLoan(options) {
253
+ const packageAddress = options.package ?? "@deepbook/margin";
254
+ const argumentsTypes = [
255
+ null,
256
+ null,
257
+ null,
258
+ null,
259
+ null,
260
+ null,
261
+ null,
262
+ "u64",
263
+ "u8",
264
+ "u8",
265
+ "u64",
266
+ "u64",
267
+ "bool",
268
+ "bool",
269
+ "u64",
270
+ "0x2::clock::Clock"
271
+ ];
272
+ const parameterNames = [
273
+ "registry",
274
+ "marginManager",
275
+ "pool",
276
+ "baseMarginPool",
277
+ "quoteMarginPool",
278
+ "baseOracle",
279
+ "quoteOracle",
280
+ "clientOrderId",
281
+ "orderType",
282
+ "selfMatchingOption",
283
+ "price",
284
+ "quantity",
285
+ "isBid",
286
+ "payWithDeep",
287
+ "expireTimestamp"
288
+ ];
289
+ return (tx) => tx.moveCall({
290
+ package: packageAddress,
291
+ module: "pool_proxy_upgraded",
292
+ function: "place_reduce_only_limit_order_and_repay_loan",
293
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
294
+ typeArguments: options.typeArguments
295
+ });
296
+ }
297
+ /** Twin: `pool_proxy::place_market_order_and_repay_loan`. Edit both. */
298
+ function placeMarketOrderAndRepayLoan(options) {
299
+ const packageAddress = options.package ?? "@deepbook/margin";
300
+ const argumentsTypes = [
301
+ null,
302
+ null,
303
+ null,
304
+ null,
305
+ null,
306
+ null,
307
+ null,
308
+ "u64",
309
+ "u8",
310
+ "u64",
311
+ "bool",
312
+ "bool",
313
+ "0x2::clock::Clock"
314
+ ];
315
+ const parameterNames = [
316
+ "registry",
317
+ "marginManager",
318
+ "pool",
319
+ "baseMarginPool",
320
+ "quoteMarginPool",
321
+ "baseOracle",
322
+ "quoteOracle",
323
+ "clientOrderId",
324
+ "selfMatchingOption",
325
+ "quantity",
326
+ "isBid",
327
+ "payWithDeep"
328
+ ];
329
+ return (tx) => tx.moveCall({
330
+ package: packageAddress,
331
+ module: "pool_proxy_upgraded",
332
+ function: "place_market_order_and_repay_loan",
333
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
334
+ typeArguments: options.typeArguments
335
+ });
336
+ }
337
+
338
+ //#endregion
339
+ export { pool_proxy_upgraded_exports };
340
+ //# sourceMappingURL=pool_proxy_upgraded.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool_proxy_upgraded.mjs","names":[],"sources":["../../../src/contracts/deepbook_margin/pool_proxy_upgraded.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Pyth's upgraded Core entrypoints for `pool_proxy`.\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 `pool_proxy` can never accept it. The upgraded surface therefore\n * lives here, under the same function names. Each entry reads the upgraded feed\n * and delegates to the shared core in `pool_proxy`, so both feeds run identical\n * logic.\n */\n\nimport { type Transaction } from '@mysten/sui/transactions';\nimport { normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nexport interface UpdateCurrentPriceArguments {\n\tregistry: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n}\nexport interface UpdateCurrentPriceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateCurrentPriceArguments\n\t\t| [\n\t\t\t\tregistry: 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 ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::update_current_price`. Edit both. */\nexport function updateCurrentPrice(options: UpdateCurrentPriceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'pool', 'basePriceInfoObject', 'quotePriceInfoObject'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'update_current_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_limit_order_v2`. Edit both. */\nexport function placeLimitOrderV2(options: PlaceLimitOrderV2Options) {\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'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_market_order_v2`. Edit both. */\nexport function placeMarketOrderV2(options: PlaceMarketOrderV2Options) {\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'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_reduce_only_limit_order_v2`. Edit both. */\nexport function placeReduceOnlyLimitOrderV2(options: PlaceReduceOnlyLimitOrderV2Options) {\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'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_reduce_only_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_reduce_only_market_order_v2`. Edit both. */\nexport function placeReduceOnlyMarketOrderV2(options: PlaceReduceOnlyMarketOrderV2Options) {\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'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_reduce_only_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_reduce_only_market_order_and_repay_loan`. Edit both. */\nexport function placeReduceOnlyMarketOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyMarketOrderAndRepayLoanOptions,\n) {\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'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_reduce_only_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_reduce_only_limit_order_and_repay_loan`. Edit both. */\nexport function placeReduceOnlyLimitOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyLimitOrderAndRepayLoanOptions,\n) {\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'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_reduce_only_limit_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `pool_proxy::place_market_order_and_repay_loan`. Edit both. */\nexport function placeMarketOrderAndRepayLoan(options: PlaceMarketOrderAndRepayLoanOptions) {\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'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy_upgraded',\n\t\t\tfunction: 'place_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoCA,SAAgB,mBAAmB,SAAoC;CACtE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAM;EAAM;EAAM;EAAoB;CACpE,MAAM,iBAAiB;EAAC;EAAY;EAAQ;EAAuB;EAAuB;AAC1F,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AA2CJ,SAAgB,kBAAkB,SAAmC;CACpE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AAqCJ,SAAgB,mBAAmB,SAAoC;CACtE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AA2CJ,SAAgB,4BAA4B,SAA6C;CACxF,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AAqCJ,SAAgB,6BAA6B,SAA8C;CAC1F,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AAqCJ,SAAgB,uCACf,SACC;CACD,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AA2CJ,SAAgB,sCACf,SACC;CACD,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;AAqCJ,SAAgB,6BAA6B,SAA8C;CAC1F,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC"}
@@ -95,7 +95,31 @@ function createLiquidationVault(options) {
95
95
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames)
96
96
  });
97
97
  }
98
- function liquidateBase(options) {
98
+ function balance(options) {
99
+ const packageAddress = options.package ?? "@deepbook/margin-liquidation";
100
+ const argumentsTypes = [null];
101
+ const parameterNames = ["self"];
102
+ return (tx) => tx.moveCall({
103
+ package: packageAddress,
104
+ module: "liquidation_vault",
105
+ function: "balance",
106
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
107
+ typeArguments: options.typeArguments
108
+ });
109
+ }
110
+ /**
111
+ * `liquidate_base` against Pyth's upgraded Core.
112
+ *
113
+ * Pyth is replacing Core with a separately published package, so its
114
+ * `PriceInfoObject` is a distinct Move type and `liquidate_base`'s frozen
115
+ * signature can never accept it. Once Pyth stops publishing legacy Core the legacy
116
+ * entry aborts on staleness by itself, and this becomes the only way the vault can
117
+ * liquidate. The gate (`should_liquidate`) and the settlement
118
+ * (`settle_base_liquidation`) are shared with the legacy entry; the body between
119
+ * them is duplicated, because the two `PriceInfoObject` types cannot be unified.
120
+ * Twin: `liquidate_base`. Edit both.
121
+ */
122
+ function liquidateBaseUpgraded(options) {
99
123
  const packageAddress = options.package ?? "@deepbook/margin-liquidation";
100
124
  const argumentsTypes = [
101
125
  null,
@@ -123,12 +147,16 @@ function liquidateBase(options) {
123
147
  return (tx) => tx.moveCall({
124
148
  package: packageAddress,
125
149
  module: "liquidation_vault",
126
- function: "liquidate_base",
150
+ function: "liquidate_base_upgraded",
127
151
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
128
152
  typeArguments: options.typeArguments
129
153
  });
130
154
  }
131
- function liquidateQuote(options) {
155
+ /**
156
+ * `liquidate_quote` against Pyth's upgraded Core. See `liquidate_base_upgraded`.
157
+ * Twin: `liquidate_quote`. Edit both.
158
+ */
159
+ function liquidateQuoteUpgraded(options) {
132
160
  const packageAddress = options.package ?? "@deepbook/margin-liquidation";
133
161
  const argumentsTypes = [
134
162
  null,
@@ -156,24 +184,12 @@ function liquidateQuote(options) {
156
184
  return (tx) => tx.moveCall({
157
185
  package: packageAddress,
158
186
  module: "liquidation_vault",
159
- function: "liquidate_quote",
160
- arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
161
- typeArguments: options.typeArguments
162
- });
163
- }
164
- function balance(options) {
165
- const packageAddress = options.package ?? "@deepbook/margin-liquidation";
166
- const argumentsTypes = [null];
167
- const parameterNames = ["self"];
168
- return (tx) => tx.moveCall({
169
- package: packageAddress,
170
- module: "liquidation_vault",
171
- function: "balance",
187
+ function: "liquidate_quote_upgraded",
172
188
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
173
189
  typeArguments: options.typeArguments
174
190
  });
175
191
  }
176
192
 
177
193
  //#endregion
178
- export { balance, createLiquidationVault, deposit, liquidateBase, liquidateQuote, withdraw };
194
+ export { balance, createLiquidationVault, deposit, liquidateBaseUpgraded, liquidateQuoteUpgraded, withdraw };
179
195
  //# sourceMappingURL=liquidation_vault.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidation_vault.mjs","names":["bag.Bag"],"sources":["../../../src/contracts/margin_liquidation/liquidation_vault.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport * as bag from './deps/sui/bag.js';\nconst $moduleName = '@deepbook/margin-liquidation::liquidation_vault';\nexport const LIQUIDATION_VAULT = new MoveStruct({\n\tname: `${$moduleName}::LIQUIDATION_VAULT`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationVault`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: bag.Bag,\n\t},\n});\nexport const BalanceKey = new MoveStruct({\n\tname: `${$moduleName}::BalanceKey<phantom T>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const AuthorizedTradersKey = new MoveStruct({\n\tname: `${$moduleName}::AuthorizedTradersKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationAdminCap = new MoveStruct({\n\tname: `${$moduleName}::LiquidationAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const LiquidationByVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationByVault`,\n\tfields: {\n\t\tvault_id: bcs.Address,\n\t\tmargin_manager_id: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t\tbase_in: bcs.u64(),\n\t\tbase_out: bcs.u64(),\n\t\tquote_in: bcs.u64(),\n\t\tquote_out: bcs.u64(),\n\t\trepay_balance_remaining: bcs.u64(),\n\t\tbase_liquidation: bcs.bool(),\n\t},\n});\nexport interface DepositArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: 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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function deposit(options: DepositOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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\tLiquidationCap: RawTransactionArgument<string>;\n\tamount: 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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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 CreateLiquidationVaultArguments {\n\tLiquidationCap: RawTransactionArgument<string>;\n}\nexport interface CreateLiquidationVaultOptions {\n\tpackage?: string;\n\targuments: CreateLiquidationVaultArguments | [LiquidationCap: RawTransactionArgument<string>];\n}\nexport function createLiquidationVault(options: CreateLiquidationVaultOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['LiquidationCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'create_liquidation_vault',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface AuthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AuthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function authorizeTrader(options: AuthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'authorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DeauthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface DeauthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeauthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function deauthorizeTrader(options: DeauthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deauthorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SwapBaseToQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminQuoteOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapBaseToQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapBaseToQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminQuoteOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapBaseToQuote(options: SwapBaseToQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'baseIn', 'deepIn', 'minQuoteOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_base_to_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SwapQuoteToBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tquoteIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminBaseOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapQuoteToBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapQuoteToBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tquoteIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBaseOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapQuoteToBase(options: SwapQuoteToBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'quoteIn', 'deepIn', 'minBaseOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_quote_to_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function liquidateBase(options: LiquidateBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function liquidateQuote(options: LiquidateQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n\tpackage?: string;\n\targuments: BalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function balance(options: BalanceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":";;;;;;;;AAOA,MAAM,cAAc;AACpB,MAAa,oBAAoB,IAAI,WAAW;CAC/C,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,IAAI,IAAI;EACR,OAAOA;EACP;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,uBAAuB,IAAI,WAAW;CAClD,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,aAAa,IAAI,MAAM,EACvB;CACD,CAAC;AACF,MAAa,sBAAsB,IAAI,WAAW;CACjD,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,IAAI,IAAI,SACR;CACD,CAAC;AACF,MAAa,qBAAqB,IAAI,WAAW;CAChD,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI;EACd,mBAAmB,IAAI;EACvB,gBAAgB,IAAI;EACpB,SAAS,IAAI,KAAK;EAClB,UAAU,IAAI,KAAK;EACnB,UAAU,IAAI,KAAK;EACnB,WAAW,IAAI,KAAK;EACpB,yBAAyB,IAAI,KAAK;EAClC,kBAAkB,IAAI,MAAM;EAC5B;CACD,CAAC;AAiBF,SAAgB,QAAQ,SAAyB;CAChD,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAM;EAAK;CACzC,MAAM,iBAAiB;EAAC;EAAQ;EAAkB;EAAO;AACzD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;AAkBJ,SAAgB,SAAS,SAA0B;CAClD,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAM;EAAM;CAC1C,MAAM,iBAAiB;EAAC;EAAQ;EAAkB;EAAS;AAC3D,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;AASJ,SAAgB,uBAAuB,SAAwC;CAC9E,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,iBAAiB;AACzC,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AA4JJ,SAAgB,cAAc,SAA+B;CAC5D,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;AA8BJ,SAAgB,eAAe,SAAgC;CAC9D,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;AAUJ,SAAgB,QAAQ,SAAyB;CAChD,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,KAAK;CAC7B,MAAM,iBAAiB,CAAC,OAAO;AAC/B,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC"}
1
+ {"version":3,"file":"liquidation_vault.mjs","names":["bag.Bag"],"sources":["../../../src/contracts/margin_liquidation/liquidation_vault.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport * as bag from './deps/sui/bag.js';\nconst $moduleName = '@deepbook/margin-liquidation::liquidation_vault';\nexport const LIQUIDATION_VAULT = new MoveStruct({\n\tname: `${$moduleName}::LIQUIDATION_VAULT`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationVault`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: bag.Bag,\n\t},\n});\nexport const BalanceKey = new MoveStruct({\n\tname: `${$moduleName}::BalanceKey<phantom T>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const AuthorizedTradersKey = new MoveStruct({\n\tname: `${$moduleName}::AuthorizedTradersKey`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const LiquidationAdminCap = new MoveStruct({\n\tname: `${$moduleName}::LiquidationAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const LiquidationByVault = new MoveStruct({\n\tname: `${$moduleName}::LiquidationByVault`,\n\tfields: {\n\t\tvault_id: bcs.Address,\n\t\tmargin_manager_id: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t\tbase_in: bcs.u64(),\n\t\tbase_out: bcs.u64(),\n\t\tquote_in: bcs.u64(),\n\t\tquote_out: bcs.u64(),\n\t\trepay_balance_remaining: bcs.u64(),\n\t\tbase_liquidation: bcs.bool(),\n\t},\n});\nexport interface DepositArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: 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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function deposit(options: DepositOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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\tLiquidationCap: RawTransactionArgument<string>;\n\tamount: 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\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\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 CreateLiquidationVaultArguments {\n\tLiquidationCap: RawTransactionArgument<string>;\n}\nexport interface CreateLiquidationVaultOptions {\n\tpackage?: string;\n\targuments: CreateLiquidationVaultArguments | [LiquidationCap: RawTransactionArgument<string>];\n}\nexport function createLiquidationVault(options: CreateLiquidationVaultOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['LiquidationCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'create_liquidation_vault',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface AuthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AuthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function authorizeTrader(options: AuthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'authorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DeauthorizeTraderArguments {\n\tself: RawTransactionArgument<string>;\n\tLiquidationCap: RawTransactionArgument<string>;\n\tauthorizedAddress: RawTransactionArgument<string>;\n}\nexport interface DeauthorizeTraderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeauthorizeTraderArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tLiquidationCap: RawTransactionArgument<string>,\n\t\t\t\tauthorizedAddress: RawTransactionArgument<string>,\n\t\t ];\n}\nexport function deauthorizeTrader(options: DeauthorizeTraderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'LiquidationCap', 'authorizedAddress'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'deauthorize_trader',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SwapBaseToQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminQuoteOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapBaseToQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapBaseToQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminQuoteOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapBaseToQuote(options: SwapBaseToQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'baseIn', 'deepIn', 'minQuoteOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_base_to_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SwapQuoteToBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tquoteIn: RawTransactionArgument<number | bigint>;\n\tdeepIn: RawTransactionArgument<number | bigint>;\n\tminBaseOut: RawTransactionArgument<number | bigint>;\n}\nexport interface SwapQuoteToBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SwapQuoteToBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tquoteIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tdeepIn: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBaseOut: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function swapQuoteToBase(options: SwapQuoteToBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null, null, 'u64', 'u64', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'pool', 'quoteIn', 'deepIn', 'minBaseOut'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'swap_quote_to_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_base_upgraded`. Edit both. */\nexport function liquidateBase(options: LiquidateBaseOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Twin: `liquidate_quote_upgraded`. Edit both. */\nexport function liquidateQuote(options: LiquidateQuoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n\tpackage?: string;\n\targuments: BalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function balance(options: BalanceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateBaseUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateBaseUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateBaseUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_base` against Pyth's upgraded Core.\n *\n * Pyth is replacing Core with a separately published package, so its\n * `PriceInfoObject` is a distinct Move type and `liquidate_base`'s frozen\n * signature can never accept it. Once Pyth stops publishing legacy Core the legacy\n * entry aborts on staleness by itself, and this becomes the only way the vault can\n * liquidate. The gate (`should_liquidate`) and the settlement\n * (`settle_base_liquidation`) are shared with the legacy entry; the body between\n * them is duplicated, because the two `PriceInfoObject` types cannot be unified.\n * Twin: `liquidate_base`. Edit both.\n */\nexport function liquidateBaseUpgraded(options: LiquidateBaseUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_base_upgraded',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LiquidateQuoteUpgradedArguments {\n\tself: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\trepayAmount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface LiquidateQuoteUpgradedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidateQuoteUpgradedArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: 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\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\trepayAmount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * `liquidate_quote` against Pyth's upgraded Core. See `liquidate_base_upgraded`.\n * Twin: `liquidate_quote`. Edit both.\n */\nexport function liquidateQuoteUpgraded(options: LiquidateQuoteUpgradedOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin-liquidation';\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\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'marginManager',\n\t\t'registry',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'pool',\n\t\t'repayAmount',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'liquidation_vault',\n\t\t\tfunction: 'liquidate_quote_upgraded',\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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"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { AccountBalances, AccountInfo, AddConditionalOrderParams, BalanceManager, BaseQuantityIn, BaseQuantityOut, BorrowedShares, Coin, Config, CreatePermissionlessPoolParams, CreatePoolAdminParams, DecodedOrderId, InterestConfigParams, Level2Range, Level2TicksFromMid, LockedBalances, ManagerBalance, MarginManager, MarginManagerAssets, MarginManagerBalancesResult, MarginManagerDebts, MarginManagerState, MarginPool, MarginPoolConfigParams, MarginProposalParams, OrderDeepRequiredResult, OrderType, PendingLimitOrderParams, PendingMarketOrderParams, PlaceLimitOrderParams, PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, PlaceMarketOrderParams, Pool, PoolBookParams, PoolConfigParams, PoolDeepPrice, PoolTradeParams, ProposalParams, QuantityOut, QuoteQuantityIn, QuoteQuantityOut, ReferralBalances, SelfMatchingOptions, SetEwmaParams, SwapParams, VaultBalances } from "./types/index.mjs";
2
- import { CoinMap, DeepbookPackageIds, MarginPoolMap, PoolMap, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs } from "./utils/constants.mjs";
1
+ import { AccountBalances, AccountInfo, AddConditionalOrderParams, BalanceManager, BaseQuantityIn, BaseQuantityOut, BorrowedShares, Coin, Config, CreatePermissionlessPoolParams, CreatePoolAdminParams, DecodedOrderId, InterestConfigParams, Level2Range, Level2TicksFromMid, LockedBalances, ManagerBalance, MarginManager, MarginManagerAssets, MarginManagerBalancesResult, MarginManagerDebts, MarginManagerState, MarginPool, MarginPoolConfigParams, MarginProposalParams, OrderDeepRequiredResult, OrderType, PendingLimitOrderParams, PendingMarketOrderParams, PlaceLimitOrderParams, PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, PlaceMarketOrderParams, Pool, PoolBookParams, PoolConfigParams, PoolDeepPrice, PoolTradeParams, ProposalParams, PythConfig, QuantityOut, QuoteQuantityIn, QuoteQuantityOut, ReferralBalances, SelfMatchingOptions, SetEwmaParams, SwapParams, VaultBalances } from "./types/index.mjs";
2
+ import { CoinMap, DEEPBOOK_HERMES_PROXY, DeepbookPackageIds, MarginPoolMap, PYTH_UPGRADED_HERMES, PoolMap, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs } from "./utils/constants.mjs";
3
3
  import { DEEP_SCALAR, DeepBookConfig, FLOAT_SCALAR, GAS_BUDGET, MAX_TIMESTAMP, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS } from "./utils/config.mjs";
4
4
  import { BalanceManagerContract } from "./transactions/balanceManager.mjs";
5
5
  import { DeepBookContract } from "./transactions/deepbook.mjs";
@@ -13,6 +13,7 @@ import { MarginPoolContract } from "./transactions/marginPool.mjs";
13
13
  import { MarginTPSLContract } from "./transactions/marginTPSL.mjs";
14
14
  import { PoolProxyContract } from "./transactions/poolProxy.mjs";
15
15
  import { DeepBookClient, DeepBookClientOptions, DeepBookCompatibleClient, DeepBookOptions, deepbook } from "./client.mjs";
16
+ import { PriceServiceConnectionConfig } from "./pyth/PriceServiceConnection.mjs";
16
17
  import { SuiPriceServiceConnection, SuiPythClient } from "./pyth/pyth.mjs";
17
18
  import { Account } from "./contracts/deepbook/account.mjs";
18
19
  import { Balances } from "./contracts/deepbook/balances.mjs";
@@ -22,4 +23,4 @@ import { VecSet } from "./contracts/deepbook/deps/sui/vec_set.mjs";
22
23
  import "./types/bcs.mjs";
23
24
  import { ConfigurationError, DeepBookError, ErrorMessages, ResourceNotFoundError, ValidationError } from "./utils/errors.mjs";
24
25
  import { validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired } from "./utils/validation.mjs";
25
- export { Account, type AccountBalances, type AccountInfo, type AddConditionalOrderParams, type BalanceManager, BalanceManagerContract, Balances, type BaseQuantityIn, type BaseQuantityOut, type BorrowedShares, type Coin, type CoinMap, type Config, ConfigurationError, type CreatePermissionlessPoolParams, type CreatePoolAdminParams, DEEP_SCALAR, type DecodedOrderId, DeepBookAdminContract, DeepBookClient, type DeepBookClientOptions, type DeepBookCompatibleClient, DeepBookConfig, DeepBookContract, DeepBookError, type DeepBookOptions, type DeepbookPackageIds, ErrorMessages, FLOAT_SCALAR, FlashLoanContract, GAS_BUDGET, GovernanceContract, type InterestConfigParams, type Level2Range, type Level2TicksFromMid, type LockedBalances, MAX_TIMESTAMP, type ManagerBalance, MarginAdminContract, MarginMaintainerContract, type MarginManager, type MarginManagerAssets, type MarginManagerBalancesResult, MarginManagerContract, type MarginManagerDebts, type MarginManagerState, type MarginPool, type MarginPoolConfigParams, MarginPoolContract, type MarginPoolMap, type MarginProposalParams, MarginTPSLContract, Order, OrderDeepPrice, type OrderDeepRequiredResult, OrderType, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, type PendingLimitOrderParams, type PendingMarketOrderParams, type PlaceLimitOrderParams, type PlaceMarginLimitOrderParams, type PlaceMarginMarketOrderParams, type PlaceMarketOrderParams, type Pool, type PoolBookParams, type PoolConfigParams, type PoolDeepPrice, type PoolMap, PoolProxyContract, type PoolTradeParams, type ProposalParams, type QuantityOut, type QuoteQuantityIn, type QuoteQuantityOut, type ReferralBalances, ResourceNotFoundError, SelfMatchingOptions, type SetEwmaParams, SuiPriceServiceConnection, SuiPythClient, type SwapParams, ValidationError, type VaultBalances, VecSet, deepbook, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs, validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired };
26
+ export { Account, type AccountBalances, type AccountInfo, type AddConditionalOrderParams, type BalanceManager, BalanceManagerContract, Balances, type BaseQuantityIn, type BaseQuantityOut, type BorrowedShares, type Coin, type CoinMap, type Config, ConfigurationError, type CreatePermissionlessPoolParams, type CreatePoolAdminParams, DEEPBOOK_HERMES_PROXY, DEEP_SCALAR, type DecodedOrderId, DeepBookAdminContract, DeepBookClient, type DeepBookClientOptions, type DeepBookCompatibleClient, DeepBookConfig, DeepBookContract, DeepBookError, type DeepBookOptions, type DeepbookPackageIds, ErrorMessages, FLOAT_SCALAR, FlashLoanContract, GAS_BUDGET, GovernanceContract, type InterestConfigParams, type Level2Range, type Level2TicksFromMid, type LockedBalances, MAX_TIMESTAMP, type ManagerBalance, MarginAdminContract, MarginMaintainerContract, type MarginManager, type MarginManagerAssets, type MarginManagerBalancesResult, MarginManagerContract, type MarginManagerDebts, type MarginManagerState, type MarginPool, type MarginPoolConfigParams, MarginPoolContract, type MarginPoolMap, type MarginProposalParams, MarginTPSLContract, Order, OrderDeepPrice, type OrderDeepRequiredResult, OrderType, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, PYTH_UPGRADED_HERMES, type PendingLimitOrderParams, type PendingMarketOrderParams, type PlaceLimitOrderParams, type PlaceMarginLimitOrderParams, type PlaceMarginMarketOrderParams, type PlaceMarketOrderParams, type Pool, type PoolBookParams, type PoolConfigParams, type PoolDeepPrice, type PoolMap, PoolProxyContract, type PoolTradeParams, type PriceServiceConnectionConfig, type ProposalParams, type PythConfig, type QuantityOut, type QuoteQuantityIn, type QuoteQuantityOut, type ReferralBalances, ResourceNotFoundError, SelfMatchingOptions, type SetEwmaParams, SuiPriceServiceConnection, SuiPythClient, type SwapParams, ValidationError, type VaultBalances, VecSet, deepbook, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs, validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired };
package/dist/index.mjs CHANGED
@@ -6,7 +6,7 @@ import { Order } from "./contracts/deepbook/order.mjs";
6
6
  import "./types/bcs.mjs";
7
7
  import { BalanceManagerContract } from "./transactions/balanceManager.mjs";
8
8
  import { ConfigurationError, DeepBookError, ErrorMessages, ResourceNotFoundError, ValidationError } from "./utils/errors.mjs";
9
- import { mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs } from "./utils/constants.mjs";
9
+ import { DEEPBOOK_HERMES_PROXY, PYTH_UPGRADED_HERMES, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs } from "./utils/constants.mjs";
10
10
  import { DEEP_SCALAR, DeepBookConfig, FLOAT_SCALAR, GAS_BUDGET, MAX_TIMESTAMP, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS } from "./utils/config.mjs";
11
11
  import { SuiPriceServiceConnection, SuiPythClient } from "./pyth/pyth.mjs";
12
12
  import { OrderType, SelfMatchingOptions } from "./types/index.mjs";
@@ -23,4 +23,4 @@ import { PoolProxyContract } from "./transactions/poolProxy.mjs";
23
23
  import { DeepBookClient, deepbook } from "./client.mjs";
24
24
  import { validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired } from "./utils/validation.mjs";
25
25
 
26
- export { Account, BalanceManagerContract, Balances, ConfigurationError, DEEP_SCALAR, DeepBookAdminContract, DeepBookClient, DeepBookConfig, DeepBookContract, DeepBookError, ErrorMessages, FLOAT_SCALAR, FlashLoanContract, GAS_BUDGET, GovernanceContract, MAX_TIMESTAMP, MarginAdminContract, MarginMaintainerContract, MarginManagerContract, MarginPoolContract, MarginTPSLContract, Order, OrderDeepPrice, OrderType, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, PoolProxyContract, ResourceNotFoundError, SelfMatchingOptions, SuiPriceServiceConnection, SuiPythClient, ValidationError, VecSet, deepbook, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs, validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired };
26
+ export { Account, BalanceManagerContract, Balances, ConfigurationError, DEEPBOOK_HERMES_PROXY, DEEP_SCALAR, DeepBookAdminContract, DeepBookClient, DeepBookConfig, DeepBookContract, DeepBookError, ErrorMessages, FLOAT_SCALAR, FlashLoanContract, GAS_BUDGET, GovernanceContract, MAX_TIMESTAMP, MarginAdminContract, MarginMaintainerContract, MarginManagerContract, MarginPoolContract, MarginTPSLContract, Order, OrderDeepPrice, OrderType, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, PYTH_UPGRADED_HERMES, PoolProxyContract, ResourceNotFoundError, SelfMatchingOptions, SuiPriceServiceConnection, SuiPythClient, ValidationError, VecSet, deepbook, mainnetCoins, mainnetMarginPools, mainnetPackageIds, mainnetPools, mainnetPythConfigs, testnetCoins, testnetMarginPools, testnetPackageIds, testnetPools, testnetPythConfigs, validateAddress, validateNonEmptyArray, validateNonNegativeNumber, validatePositiveNumber, validateRange, validateRequired };