@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.
Files changed (88) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/_virtual/rolldown_runtime.mjs +18 -0
  3. package/dist/client.d.mts +11 -8
  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/balances.d.mts +4 -4
  10. package/dist/contracts/deepbook/balances.d.mts.map +1 -1
  11. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  12. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
  13. package/dist/contracts/deepbook_margin/margin_manager.mjs +1 -319
  14. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
  15. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs +386 -0
  16. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -0
  17. package/dist/contracts/deepbook_margin/oracle.mjs +9 -0
  18. package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -1
  19. package/dist/contracts/deepbook_margin/pool_proxy.mjs +1 -383
  20. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
  21. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs +340 -0
  22. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs.map +1 -0
  23. package/dist/contracts/margin_liquidation/liquidation_vault.mjs +33 -17
  24. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
  25. package/dist/index.d.mts +4 -3
  26. package/dist/index.mjs +2 -2
  27. package/dist/pyth/PriceServiceConnection.d.mts +18 -3
  28. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -1
  29. package/dist/pyth/PriceServiceConnection.mjs +35 -4
  30. package/dist/pyth/PriceServiceConnection.mjs.map +1 -1
  31. package/dist/queries/priceFeedQueries.mjs +50 -18
  32. package/dist/queries/priceFeedQueries.mjs.map +1 -1
  33. package/dist/transactions/balanceManager.d.mts +12 -12
  34. package/dist/transactions/deepbook.d.mts +20 -20
  35. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  36. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  37. package/dist/transactions/marginAdmin.d.mts +7 -7
  38. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  39. package/dist/transactions/marginAdmin.mjs +2 -2
  40. package/dist/transactions/marginAdmin.mjs.map +1 -1
  41. package/dist/transactions/marginLiquidations.d.mts +3 -3
  42. package/dist/transactions/marginLiquidations.d.mts.map +1 -1
  43. package/dist/transactions/marginLiquidations.mjs +19 -7
  44. package/dist/transactions/marginLiquidations.mjs.map +1 -1
  45. package/dist/transactions/marginMaintainer.d.mts +5 -5
  46. package/dist/transactions/marginManager.d.mts +32 -32
  47. package/dist/transactions/marginManager.d.mts.map +1 -1
  48. package/dist/transactions/marginManager.mjs +43 -34
  49. package/dist/transactions/marginManager.mjs.map +1 -1
  50. package/dist/transactions/marginPool.d.mts +18 -18
  51. package/dist/transactions/marginRegistry.d.mts +16 -16
  52. package/dist/transactions/marginTPSL.d.mts +10 -10
  53. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  54. package/dist/transactions/marginTPSL.mjs +19 -10
  55. package/dist/transactions/marginTPSL.mjs.map +1 -1
  56. package/dist/transactions/poolProxy.d.mts.map +1 -1
  57. package/dist/transactions/poolProxy.mjs +34 -27
  58. package/dist/transactions/poolProxy.mjs.map +1 -1
  59. package/dist/types/index.d.mts +16 -1
  60. package/dist/types/index.d.mts.map +1 -1
  61. package/dist/types/index.mjs.map +1 -1
  62. package/dist/utils/config.d.mts +30 -10
  63. package/dist/utils/config.d.mts.map +1 -1
  64. package/dist/utils/config.mjs +33 -4
  65. package/dist/utils/config.mjs.map +1 -1
  66. package/dist/utils/constants.d.mts +32 -1
  67. package/dist/utils/constants.d.mts.map +1 -1
  68. package/dist/utils/constants.mjs +54 -23
  69. package/dist/utils/constants.mjs.map +1 -1
  70. package/package.json +2 -2
  71. package/src/client.ts +9 -1
  72. package/src/contracts/deepbook_margin/margin_manager.ts +140 -10
  73. package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +651 -0
  74. package/src/contracts/deepbook_margin/oracle.ts +59 -0
  75. package/src/contracts/deepbook_margin/pool_proxy.ts +600 -584
  76. package/src/contracts/deepbook_margin/pool_proxy_upgraded.ts +614 -0
  77. package/src/contracts/margin_liquidation/liquidation_vault.ts +142 -0
  78. package/src/index.ts +4 -0
  79. package/src/pyth/PriceServiceConnection.ts +69 -8
  80. package/src/queries/priceFeedQueries.ts +74 -24
  81. package/src/transactions/marginAdmin.ts +2 -4
  82. package/src/transactions/marginLiquidations.ts +20 -6
  83. package/src/transactions/marginManager.ts +43 -33
  84. package/src/transactions/marginTPSL.ts +19 -9
  85. package/src/transactions/poolProxy.ts +34 -30
  86. package/src/types/index.ts +16 -0
  87. package/src/utils/config.ts +69 -9
  88. package/src/utils/constants.ts +88 -25
@@ -0,0 +1,614 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+ /**
6
+ * Pyth's upgraded Core entrypoints for `pool_proxy`.
7
+ *
8
+ * Pyth Core is being replaced by a separately published package, so its
9
+ * `PriceInfoObject` is a distinct Move type from the legacy one and the frozen
10
+ * signatures in `pool_proxy` can never accept it. The upgraded surface therefore
11
+ * lives here, under the same function names. Each entry reads the upgraded feed
12
+ * and delegates to the shared core in `pool_proxy`, so both feeds run identical
13
+ * logic.
14
+ */
15
+
16
+ import { type Transaction } from '@mysten/sui/transactions';
17
+ import { normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
18
+ export interface UpdateCurrentPriceArguments {
19
+ registry: RawTransactionArgument<string>;
20
+ pool: RawTransactionArgument<string>;
21
+ basePriceInfoObject: RawTransactionArgument<string>;
22
+ quotePriceInfoObject: RawTransactionArgument<string>;
23
+ }
24
+ export interface UpdateCurrentPriceOptions {
25
+ package?: string;
26
+ arguments:
27
+ | UpdateCurrentPriceArguments
28
+ | [
29
+ registry: RawTransactionArgument<string>,
30
+ pool: RawTransactionArgument<string>,
31
+ basePriceInfoObject: RawTransactionArgument<string>,
32
+ quotePriceInfoObject: RawTransactionArgument<string>,
33
+ ];
34
+ typeArguments: [string, string];
35
+ }
36
+ /** Twin: `pool_proxy::update_current_price`. Edit both. */
37
+ export function updateCurrentPrice(options: UpdateCurrentPriceOptions) {
38
+ const packageAddress = options.package ?? '@deepbook/margin';
39
+ const argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];
40
+ const parameterNames = ['registry', 'pool', 'basePriceInfoObject', 'quotePriceInfoObject'];
41
+ return (tx: Transaction) =>
42
+ tx.moveCall({
43
+ package: packageAddress,
44
+ module: 'pool_proxy_upgraded',
45
+ function: 'update_current_price',
46
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
47
+ typeArguments: options.typeArguments,
48
+ });
49
+ }
50
+ export interface PlaceLimitOrderV2Arguments {
51
+ registry: RawTransactionArgument<string>;
52
+ marginManager: RawTransactionArgument<string>;
53
+ pool: RawTransactionArgument<string>;
54
+ baseMarginPool: RawTransactionArgument<string>;
55
+ quoteMarginPool: RawTransactionArgument<string>;
56
+ baseOracle: RawTransactionArgument<string>;
57
+ quoteOracle: RawTransactionArgument<string>;
58
+ clientOrderId: RawTransactionArgument<number | bigint>;
59
+ orderType: RawTransactionArgument<number>;
60
+ selfMatchingOption: RawTransactionArgument<number>;
61
+ price: RawTransactionArgument<number | bigint>;
62
+ quantity: RawTransactionArgument<number | bigint>;
63
+ isBid: RawTransactionArgument<boolean>;
64
+ payWithDeep: RawTransactionArgument<boolean>;
65
+ expireTimestamp: RawTransactionArgument<number | bigint>;
66
+ }
67
+ export interface PlaceLimitOrderV2Options {
68
+ package?: string;
69
+ arguments:
70
+ | PlaceLimitOrderV2Arguments
71
+ | [
72
+ registry: RawTransactionArgument<string>,
73
+ marginManager: RawTransactionArgument<string>,
74
+ pool: RawTransactionArgument<string>,
75
+ baseMarginPool: RawTransactionArgument<string>,
76
+ quoteMarginPool: RawTransactionArgument<string>,
77
+ baseOracle: RawTransactionArgument<string>,
78
+ quoteOracle: RawTransactionArgument<string>,
79
+ clientOrderId: RawTransactionArgument<number | bigint>,
80
+ orderType: RawTransactionArgument<number>,
81
+ selfMatchingOption: RawTransactionArgument<number>,
82
+ price: RawTransactionArgument<number | bigint>,
83
+ quantity: RawTransactionArgument<number | bigint>,
84
+ isBid: RawTransactionArgument<boolean>,
85
+ payWithDeep: RawTransactionArgument<boolean>,
86
+ expireTimestamp: RawTransactionArgument<number | bigint>,
87
+ ];
88
+ typeArguments: [string, string];
89
+ }
90
+ /** Twin: `pool_proxy::place_limit_order_v2`. Edit both. */
91
+ export function placeLimitOrderV2(options: PlaceLimitOrderV2Options) {
92
+ const packageAddress = options.package ?? '@deepbook/margin';
93
+ const argumentsTypes = [
94
+ null,
95
+ null,
96
+ null,
97
+ null,
98
+ null,
99
+ null,
100
+ null,
101
+ 'u64',
102
+ 'u8',
103
+ 'u8',
104
+ 'u64',
105
+ 'u64',
106
+ 'bool',
107
+ 'bool',
108
+ 'u64',
109
+ '0x2::clock::Clock',
110
+ ] satisfies (string | null)[];
111
+ const parameterNames = [
112
+ 'registry',
113
+ 'marginManager',
114
+ 'pool',
115
+ 'baseMarginPool',
116
+ 'quoteMarginPool',
117
+ 'baseOracle',
118
+ 'quoteOracle',
119
+ 'clientOrderId',
120
+ 'orderType',
121
+ 'selfMatchingOption',
122
+ 'price',
123
+ 'quantity',
124
+ 'isBid',
125
+ 'payWithDeep',
126
+ 'expireTimestamp',
127
+ ];
128
+ return (tx: Transaction) =>
129
+ tx.moveCall({
130
+ package: packageAddress,
131
+ module: 'pool_proxy_upgraded',
132
+ function: 'place_limit_order_v2',
133
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
134
+ typeArguments: options.typeArguments,
135
+ });
136
+ }
137
+ export interface PlaceMarketOrderV2Arguments {
138
+ registry: RawTransactionArgument<string>;
139
+ marginManager: RawTransactionArgument<string>;
140
+ pool: RawTransactionArgument<string>;
141
+ baseMarginPool: RawTransactionArgument<string>;
142
+ quoteMarginPool: RawTransactionArgument<string>;
143
+ baseOracle: RawTransactionArgument<string>;
144
+ quoteOracle: RawTransactionArgument<string>;
145
+ clientOrderId: RawTransactionArgument<number | bigint>;
146
+ selfMatchingOption: RawTransactionArgument<number>;
147
+ quantity: RawTransactionArgument<number | bigint>;
148
+ isBid: RawTransactionArgument<boolean>;
149
+ payWithDeep: RawTransactionArgument<boolean>;
150
+ }
151
+ export interface PlaceMarketOrderV2Options {
152
+ package?: string;
153
+ arguments:
154
+ | PlaceMarketOrderV2Arguments
155
+ | [
156
+ registry: RawTransactionArgument<string>,
157
+ marginManager: RawTransactionArgument<string>,
158
+ pool: RawTransactionArgument<string>,
159
+ baseMarginPool: RawTransactionArgument<string>,
160
+ quoteMarginPool: RawTransactionArgument<string>,
161
+ baseOracle: RawTransactionArgument<string>,
162
+ quoteOracle: RawTransactionArgument<string>,
163
+ clientOrderId: RawTransactionArgument<number | bigint>,
164
+ selfMatchingOption: RawTransactionArgument<number>,
165
+ quantity: RawTransactionArgument<number | bigint>,
166
+ isBid: RawTransactionArgument<boolean>,
167
+ payWithDeep: RawTransactionArgument<boolean>,
168
+ ];
169
+ typeArguments: [string, string];
170
+ }
171
+ /** Twin: `pool_proxy::place_market_order_v2`. Edit both. */
172
+ export function placeMarketOrderV2(options: PlaceMarketOrderV2Options) {
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
+ ] satisfies (string | null)[];
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: Transaction) =>
204
+ tx.moveCall({
205
+ package: packageAddress,
206
+ module: 'pool_proxy_upgraded',
207
+ function: 'place_market_order_v2',
208
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
209
+ typeArguments: options.typeArguments,
210
+ });
211
+ }
212
+ export interface PlaceReduceOnlyLimitOrderV2Arguments {
213
+ registry: RawTransactionArgument<string>;
214
+ marginManager: RawTransactionArgument<string>;
215
+ pool: RawTransactionArgument<string>;
216
+ baseMarginPool: RawTransactionArgument<string>;
217
+ quoteMarginPool: RawTransactionArgument<string>;
218
+ baseOracle: RawTransactionArgument<string>;
219
+ quoteOracle: RawTransactionArgument<string>;
220
+ clientOrderId: RawTransactionArgument<number | bigint>;
221
+ orderType: RawTransactionArgument<number>;
222
+ selfMatchingOption: RawTransactionArgument<number>;
223
+ price: RawTransactionArgument<number | bigint>;
224
+ quantity: RawTransactionArgument<number | bigint>;
225
+ isBid: RawTransactionArgument<boolean>;
226
+ payWithDeep: RawTransactionArgument<boolean>;
227
+ expireTimestamp: RawTransactionArgument<number | bigint>;
228
+ }
229
+ export interface PlaceReduceOnlyLimitOrderV2Options {
230
+ package?: string;
231
+ arguments:
232
+ | PlaceReduceOnlyLimitOrderV2Arguments
233
+ | [
234
+ registry: RawTransactionArgument<string>,
235
+ marginManager: RawTransactionArgument<string>,
236
+ pool: RawTransactionArgument<string>,
237
+ baseMarginPool: RawTransactionArgument<string>,
238
+ quoteMarginPool: RawTransactionArgument<string>,
239
+ baseOracle: RawTransactionArgument<string>,
240
+ quoteOracle: RawTransactionArgument<string>,
241
+ clientOrderId: RawTransactionArgument<number | bigint>,
242
+ orderType: RawTransactionArgument<number>,
243
+ selfMatchingOption: RawTransactionArgument<number>,
244
+ price: RawTransactionArgument<number | bigint>,
245
+ quantity: RawTransactionArgument<number | bigint>,
246
+ isBid: RawTransactionArgument<boolean>,
247
+ payWithDeep: RawTransactionArgument<boolean>,
248
+ expireTimestamp: RawTransactionArgument<number | bigint>,
249
+ ];
250
+ typeArguments: [string, string];
251
+ }
252
+ /** Twin: `pool_proxy::place_reduce_only_limit_order_v2`. Edit both. */
253
+ export function placeReduceOnlyLimitOrderV2(options: PlaceReduceOnlyLimitOrderV2Options) {
254
+ const packageAddress = options.package ?? '@deepbook/margin';
255
+ const argumentsTypes = [
256
+ null,
257
+ null,
258
+ null,
259
+ null,
260
+ null,
261
+ null,
262
+ null,
263
+ 'u64',
264
+ 'u8',
265
+ 'u8',
266
+ 'u64',
267
+ 'u64',
268
+ 'bool',
269
+ 'bool',
270
+ 'u64',
271
+ '0x2::clock::Clock',
272
+ ] satisfies (string | null)[];
273
+ const parameterNames = [
274
+ 'registry',
275
+ 'marginManager',
276
+ 'pool',
277
+ 'baseMarginPool',
278
+ 'quoteMarginPool',
279
+ 'baseOracle',
280
+ 'quoteOracle',
281
+ 'clientOrderId',
282
+ 'orderType',
283
+ 'selfMatchingOption',
284
+ 'price',
285
+ 'quantity',
286
+ 'isBid',
287
+ 'payWithDeep',
288
+ 'expireTimestamp',
289
+ ];
290
+ return (tx: Transaction) =>
291
+ tx.moveCall({
292
+ package: packageAddress,
293
+ module: 'pool_proxy_upgraded',
294
+ function: 'place_reduce_only_limit_order_v2',
295
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
296
+ typeArguments: options.typeArguments,
297
+ });
298
+ }
299
+ export interface PlaceReduceOnlyMarketOrderV2Arguments {
300
+ registry: RawTransactionArgument<string>;
301
+ marginManager: RawTransactionArgument<string>;
302
+ pool: RawTransactionArgument<string>;
303
+ baseMarginPool: RawTransactionArgument<string>;
304
+ quoteMarginPool: RawTransactionArgument<string>;
305
+ baseOracle: RawTransactionArgument<string>;
306
+ quoteOracle: RawTransactionArgument<string>;
307
+ clientOrderId: RawTransactionArgument<number | bigint>;
308
+ selfMatchingOption: RawTransactionArgument<number>;
309
+ quantity: RawTransactionArgument<number | bigint>;
310
+ isBid: RawTransactionArgument<boolean>;
311
+ payWithDeep: RawTransactionArgument<boolean>;
312
+ }
313
+ export interface PlaceReduceOnlyMarketOrderV2Options {
314
+ package?: string;
315
+ arguments:
316
+ | PlaceReduceOnlyMarketOrderV2Arguments
317
+ | [
318
+ registry: RawTransactionArgument<string>,
319
+ marginManager: RawTransactionArgument<string>,
320
+ pool: RawTransactionArgument<string>,
321
+ baseMarginPool: RawTransactionArgument<string>,
322
+ quoteMarginPool: RawTransactionArgument<string>,
323
+ baseOracle: RawTransactionArgument<string>,
324
+ quoteOracle: RawTransactionArgument<string>,
325
+ clientOrderId: RawTransactionArgument<number | bigint>,
326
+ selfMatchingOption: RawTransactionArgument<number>,
327
+ quantity: RawTransactionArgument<number | bigint>,
328
+ isBid: RawTransactionArgument<boolean>,
329
+ payWithDeep: RawTransactionArgument<boolean>,
330
+ ];
331
+ typeArguments: [string, string];
332
+ }
333
+ /** Twin: `pool_proxy::place_reduce_only_market_order_v2`. Edit both. */
334
+ export function placeReduceOnlyMarketOrderV2(options: PlaceReduceOnlyMarketOrderV2Options) {
335
+ const packageAddress = options.package ?? '@deepbook/margin';
336
+ const argumentsTypes = [
337
+ null,
338
+ null,
339
+ null,
340
+ null,
341
+ null,
342
+ null,
343
+ null,
344
+ 'u64',
345
+ 'u8',
346
+ 'u64',
347
+ 'bool',
348
+ 'bool',
349
+ '0x2::clock::Clock',
350
+ ] satisfies (string | null)[];
351
+ const parameterNames = [
352
+ 'registry',
353
+ 'marginManager',
354
+ 'pool',
355
+ 'baseMarginPool',
356
+ 'quoteMarginPool',
357
+ 'baseOracle',
358
+ 'quoteOracle',
359
+ 'clientOrderId',
360
+ 'selfMatchingOption',
361
+ 'quantity',
362
+ 'isBid',
363
+ 'payWithDeep',
364
+ ];
365
+ return (tx: Transaction) =>
366
+ tx.moveCall({
367
+ package: packageAddress,
368
+ module: 'pool_proxy_upgraded',
369
+ function: 'place_reduce_only_market_order_v2',
370
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
371
+ typeArguments: options.typeArguments,
372
+ });
373
+ }
374
+ export interface PlaceReduceOnlyMarketOrderAndRepayLoanArguments {
375
+ registry: RawTransactionArgument<string>;
376
+ marginManager: RawTransactionArgument<string>;
377
+ pool: RawTransactionArgument<string>;
378
+ baseMarginPool: RawTransactionArgument<string>;
379
+ quoteMarginPool: RawTransactionArgument<string>;
380
+ baseOracle: RawTransactionArgument<string>;
381
+ quoteOracle: RawTransactionArgument<string>;
382
+ clientOrderId: RawTransactionArgument<number | bigint>;
383
+ selfMatchingOption: RawTransactionArgument<number>;
384
+ quantity: RawTransactionArgument<number | bigint>;
385
+ isBid: RawTransactionArgument<boolean>;
386
+ payWithDeep: RawTransactionArgument<boolean>;
387
+ }
388
+ export interface PlaceReduceOnlyMarketOrderAndRepayLoanOptions {
389
+ package?: string;
390
+ arguments:
391
+ | PlaceReduceOnlyMarketOrderAndRepayLoanArguments
392
+ | [
393
+ registry: RawTransactionArgument<string>,
394
+ marginManager: RawTransactionArgument<string>,
395
+ pool: RawTransactionArgument<string>,
396
+ baseMarginPool: RawTransactionArgument<string>,
397
+ quoteMarginPool: RawTransactionArgument<string>,
398
+ baseOracle: RawTransactionArgument<string>,
399
+ quoteOracle: RawTransactionArgument<string>,
400
+ clientOrderId: RawTransactionArgument<number | bigint>,
401
+ selfMatchingOption: RawTransactionArgument<number>,
402
+ quantity: RawTransactionArgument<number | bigint>,
403
+ isBid: RawTransactionArgument<boolean>,
404
+ payWithDeep: RawTransactionArgument<boolean>,
405
+ ];
406
+ typeArguments: [string, string];
407
+ }
408
+ /** Twin: `pool_proxy::place_reduce_only_market_order_and_repay_loan`. Edit both. */
409
+ export function placeReduceOnlyMarketOrderAndRepayLoan(
410
+ options: PlaceReduceOnlyMarketOrderAndRepayLoanOptions,
411
+ ) {
412
+ const packageAddress = options.package ?? '@deepbook/margin';
413
+ const argumentsTypes = [
414
+ null,
415
+ null,
416
+ null,
417
+ null,
418
+ null,
419
+ null,
420
+ null,
421
+ 'u64',
422
+ 'u8',
423
+ 'u64',
424
+ 'bool',
425
+ 'bool',
426
+ '0x2::clock::Clock',
427
+ ] satisfies (string | null)[];
428
+ const parameterNames = [
429
+ 'registry',
430
+ 'marginManager',
431
+ 'pool',
432
+ 'baseMarginPool',
433
+ 'quoteMarginPool',
434
+ 'baseOracle',
435
+ 'quoteOracle',
436
+ 'clientOrderId',
437
+ 'selfMatchingOption',
438
+ 'quantity',
439
+ 'isBid',
440
+ 'payWithDeep',
441
+ ];
442
+ return (tx: Transaction) =>
443
+ tx.moveCall({
444
+ package: packageAddress,
445
+ module: 'pool_proxy_upgraded',
446
+ function: 'place_reduce_only_market_order_and_repay_loan',
447
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
448
+ typeArguments: options.typeArguments,
449
+ });
450
+ }
451
+ export interface PlaceReduceOnlyLimitOrderAndRepayLoanArguments {
452
+ registry: RawTransactionArgument<string>;
453
+ marginManager: RawTransactionArgument<string>;
454
+ pool: RawTransactionArgument<string>;
455
+ baseMarginPool: RawTransactionArgument<string>;
456
+ quoteMarginPool: RawTransactionArgument<string>;
457
+ baseOracle: RawTransactionArgument<string>;
458
+ quoteOracle: RawTransactionArgument<string>;
459
+ clientOrderId: RawTransactionArgument<number | bigint>;
460
+ orderType: RawTransactionArgument<number>;
461
+ selfMatchingOption: RawTransactionArgument<number>;
462
+ price: RawTransactionArgument<number | bigint>;
463
+ quantity: RawTransactionArgument<number | bigint>;
464
+ isBid: RawTransactionArgument<boolean>;
465
+ payWithDeep: RawTransactionArgument<boolean>;
466
+ expireTimestamp: RawTransactionArgument<number | bigint>;
467
+ }
468
+ export interface PlaceReduceOnlyLimitOrderAndRepayLoanOptions {
469
+ package?: string;
470
+ arguments:
471
+ | PlaceReduceOnlyLimitOrderAndRepayLoanArguments
472
+ | [
473
+ registry: RawTransactionArgument<string>,
474
+ marginManager: RawTransactionArgument<string>,
475
+ pool: RawTransactionArgument<string>,
476
+ baseMarginPool: RawTransactionArgument<string>,
477
+ quoteMarginPool: RawTransactionArgument<string>,
478
+ baseOracle: RawTransactionArgument<string>,
479
+ quoteOracle: RawTransactionArgument<string>,
480
+ clientOrderId: RawTransactionArgument<number | bigint>,
481
+ orderType: RawTransactionArgument<number>,
482
+ selfMatchingOption: RawTransactionArgument<number>,
483
+ price: RawTransactionArgument<number | bigint>,
484
+ quantity: RawTransactionArgument<number | bigint>,
485
+ isBid: RawTransactionArgument<boolean>,
486
+ payWithDeep: RawTransactionArgument<boolean>,
487
+ expireTimestamp: RawTransactionArgument<number | bigint>,
488
+ ];
489
+ typeArguments: [string, string];
490
+ }
491
+ /** Twin: `pool_proxy::place_reduce_only_limit_order_and_repay_loan`. Edit both. */
492
+ export function placeReduceOnlyLimitOrderAndRepayLoan(
493
+ options: PlaceReduceOnlyLimitOrderAndRepayLoanOptions,
494
+ ) {
495
+ const packageAddress = options.package ?? '@deepbook/margin';
496
+ const argumentsTypes = [
497
+ null,
498
+ null,
499
+ null,
500
+ null,
501
+ null,
502
+ null,
503
+ null,
504
+ 'u64',
505
+ 'u8',
506
+ 'u8',
507
+ 'u64',
508
+ 'u64',
509
+ 'bool',
510
+ 'bool',
511
+ 'u64',
512
+ '0x2::clock::Clock',
513
+ ] satisfies (string | null)[];
514
+ const parameterNames = [
515
+ 'registry',
516
+ 'marginManager',
517
+ 'pool',
518
+ 'baseMarginPool',
519
+ 'quoteMarginPool',
520
+ 'baseOracle',
521
+ 'quoteOracle',
522
+ 'clientOrderId',
523
+ 'orderType',
524
+ 'selfMatchingOption',
525
+ 'price',
526
+ 'quantity',
527
+ 'isBid',
528
+ 'payWithDeep',
529
+ 'expireTimestamp',
530
+ ];
531
+ return (tx: Transaction) =>
532
+ tx.moveCall({
533
+ package: packageAddress,
534
+ module: 'pool_proxy_upgraded',
535
+ function: 'place_reduce_only_limit_order_and_repay_loan',
536
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
537
+ typeArguments: options.typeArguments,
538
+ });
539
+ }
540
+ export interface PlaceMarketOrderAndRepayLoanArguments {
541
+ registry: RawTransactionArgument<string>;
542
+ marginManager: RawTransactionArgument<string>;
543
+ pool: RawTransactionArgument<string>;
544
+ baseMarginPool: RawTransactionArgument<string>;
545
+ quoteMarginPool: RawTransactionArgument<string>;
546
+ baseOracle: RawTransactionArgument<string>;
547
+ quoteOracle: RawTransactionArgument<string>;
548
+ clientOrderId: RawTransactionArgument<number | bigint>;
549
+ selfMatchingOption: RawTransactionArgument<number>;
550
+ quantity: RawTransactionArgument<number | bigint>;
551
+ isBid: RawTransactionArgument<boolean>;
552
+ payWithDeep: RawTransactionArgument<boolean>;
553
+ }
554
+ export interface PlaceMarketOrderAndRepayLoanOptions {
555
+ package?: string;
556
+ arguments:
557
+ | PlaceMarketOrderAndRepayLoanArguments
558
+ | [
559
+ registry: RawTransactionArgument<string>,
560
+ marginManager: RawTransactionArgument<string>,
561
+ pool: RawTransactionArgument<string>,
562
+ baseMarginPool: RawTransactionArgument<string>,
563
+ quoteMarginPool: RawTransactionArgument<string>,
564
+ baseOracle: RawTransactionArgument<string>,
565
+ quoteOracle: RawTransactionArgument<string>,
566
+ clientOrderId: RawTransactionArgument<number | bigint>,
567
+ selfMatchingOption: RawTransactionArgument<number>,
568
+ quantity: RawTransactionArgument<number | bigint>,
569
+ isBid: RawTransactionArgument<boolean>,
570
+ payWithDeep: RawTransactionArgument<boolean>,
571
+ ];
572
+ typeArguments: [string, string];
573
+ }
574
+ /** Twin: `pool_proxy::place_market_order_and_repay_loan`. Edit both. */
575
+ export function placeMarketOrderAndRepayLoan(options: PlaceMarketOrderAndRepayLoanOptions) {
576
+ const packageAddress = options.package ?? '@deepbook/margin';
577
+ const argumentsTypes = [
578
+ null,
579
+ null,
580
+ null,
581
+ null,
582
+ null,
583
+ null,
584
+ null,
585
+ 'u64',
586
+ 'u8',
587
+ 'u64',
588
+ 'bool',
589
+ 'bool',
590
+ '0x2::clock::Clock',
591
+ ] satisfies (string | null)[];
592
+ const parameterNames = [
593
+ 'registry',
594
+ 'marginManager',
595
+ 'pool',
596
+ 'baseMarginPool',
597
+ 'quoteMarginPool',
598
+ 'baseOracle',
599
+ 'quoteOracle',
600
+ 'clientOrderId',
601
+ 'selfMatchingOption',
602
+ 'quantity',
603
+ 'isBid',
604
+ 'payWithDeep',
605
+ ];
606
+ return (tx: Transaction) =>
607
+ tx.moveCall({
608
+ package: packageAddress,
609
+ module: 'pool_proxy_upgraded',
610
+ function: 'place_market_order_and_repay_loan',
611
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
612
+ typeArguments: options.typeArguments,
613
+ });
614
+ }