@mysten/deepbook-v3 1.5.8 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/dist/client.d.mts +5 -0
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +7 -0
- package/dist/client.mjs.map +1 -1
- package/dist/contracts/deepbook/account.d.mts +18 -18
- package/dist/contracts/deepbook/account.d.mts.map +1 -1
- package/dist/contracts/deepbook/balance_manager.mjs +413 -0
- package/dist/contracts/deepbook/balance_manager.mjs.map +1 -0
- package/dist/contracts/deepbook/big_vector.mjs +43 -0
- package/dist/contracts/deepbook/big_vector.mjs.map +1 -0
- package/dist/contracts/deepbook/book.mjs +29 -0
- package/dist/contracts/deepbook/book.mjs.map +1 -0
- package/dist/contracts/deepbook/deep_price.d.mts +3 -3
- package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
- package/dist/contracts/deepbook/deep_price.mjs +1 -1
- package/dist/contracts/deepbook/deps/std/type_name.mjs +17 -0
- package/dist/contracts/deepbook/deps/std/type_name.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/bag.mjs +43 -0
- package/dist/contracts/deepbook/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/balance.mjs +21 -0
- package/dist/contracts/deepbook/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/table.mjs +38 -0
- package/dist/contracts/deepbook/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/sui/versioned.mjs +19 -0
- package/dist/contracts/deepbook/deps/sui/versioned.mjs.map +1 -0
- package/dist/contracts/deepbook/governance.mjs +49 -0
- package/dist/contracts/deepbook/governance.mjs.map +1 -0
- package/dist/contracts/deepbook/history.mjs +56 -0
- package/dist/contracts/deepbook/history.mjs.map +1 -0
- package/dist/contracts/deepbook/order.d.mts +12 -12
- package/dist/contracts/deepbook/pool.mjs +1739 -0
- package/dist/contracts/deepbook/pool.mjs.map +1 -0
- package/dist/contracts/deepbook/registry.mjs +295 -0
- package/dist/contracts/deepbook/registry.mjs.map +1 -0
- package/dist/contracts/deepbook/state.mjs +89 -0
- package/dist/contracts/deepbook/state.mjs.map +1 -0
- package/dist/contracts/deepbook/trade_params.mjs +21 -0
- package/dist/contracts/deepbook/trade_params.mjs.map +1 -0
- package/dist/contracts/deepbook/vault.mjs +42 -0
- package/dist/contracts/deepbook/vault.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs +53 -0
- package/dist/contracts/deepbook_margin/deps/deepbook/balance_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/std/type_name.mjs +17 -0
- package/dist/contracts/deepbook_margin/deps/std/type_name.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/bag.mjs +43 -0
- package/dist/contracts/deepbook_margin/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/balance.mjs +21 -0
- package/dist/contracts/deepbook_margin/deps/sui/balance.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/table.mjs +38 -0
- package/dist/contracts/deepbook_margin/deps/sui/table.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs +37 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_map.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs +26 -0
- package/dist/contracts/deepbook_margin/deps/sui/vec_set.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs +19 -0
- package/dist/contracts/deepbook_margin/deps/sui/versioned.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_manager.mjs +989 -0
- package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_pool.mjs +550 -0
- package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_registry.mjs +786 -0
- package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/margin_state.mjs +30 -0
- package/dist/contracts/deepbook_margin/margin_state.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/oracle.mjs +82 -0
- package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/pool_proxy.mjs +644 -0
- package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/position_manager.mjs +32 -0
- package/dist/contracts/deepbook_margin/position_manager.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/protocol_config.mjs +122 -0
- package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/protocol_fees.mjs +58 -0
- package/dist/contracts/deepbook_margin/protocol_fees.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/rate_limiter.mjs +26 -0
- package/dist/contracts/deepbook_margin/rate_limiter.mjs.map +1 -0
- package/dist/contracts/deepbook_margin/tpsl.mjs +171 -0
- package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/deps/sui/bag.mjs +43 -0
- package/dist/contracts/margin_liquidation/deps/sui/bag.mjs.map +1 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs +179 -0
- package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -0
- package/dist/contracts/utils/index.d.mts +1 -1
- package/dist/contracts/utils/index.mjs +92 -3
- package/dist/contracts/utils/index.mjs.map +1 -1
- package/dist/queries/registryQueries.mjs +13 -0
- package/dist/queries/registryQueries.mjs.map +1 -1
- package/dist/transactions/balanceManager.d.mts.map +1 -1
- package/dist/transactions/balanceManager.mjs +119 -100
- package/dist/transactions/balanceManager.mjs.map +1 -1
- package/dist/transactions/deepbook.d.mts.map +1 -1
- package/dist/transactions/deepbook.mjs +464 -439
- package/dist/transactions/deepbook.mjs.map +1 -1
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
- package/dist/transactions/deepbookAdmin.mjs +151 -135
- package/dist/transactions/deepbookAdmin.mjs.map +1 -1
- package/dist/transactions/flashLoans.d.mts.map +1 -1
- package/dist/transactions/flashLoans.mjs +29 -22
- package/dist/transactions/flashLoans.mjs.map +1 -1
- package/dist/transactions/governance.d.mts.map +1 -1
- package/dist/transactions/governance.mjs +34 -33
- package/dist/transactions/governance.mjs.map +1 -1
- package/dist/transactions/marginAdmin.d.mts +17 -7
- package/dist/transactions/marginAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.mjs +186 -169
- package/dist/transactions/marginAdmin.mjs.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginLiquidations.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.mjs +53 -54
- package/dist/transactions/marginLiquidations.mjs.map +1 -1
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginMaintainer.d.mts.map +1 -1
- package/dist/transactions/marginMaintainer.mjs +83 -83
- package/dist/transactions/marginMaintainer.mjs.map +1 -1
- package/dist/transactions/marginManager.d.mts +32 -32
- package/dist/transactions/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginManager.mjs +330 -317
- package/dist/transactions/marginManager.mjs.map +1 -1
- package/dist/transactions/marginPool.d.mts +18 -18
- package/dist/transactions/marginPool.d.mts.map +1 -1
- package/dist/transactions/marginPool.mjs +93 -89
- package/dist/transactions/marginPool.mjs.map +1 -1
- package/dist/transactions/marginRegistry.d.mts +22 -15
- package/dist/transactions/marginRegistry.d.mts.map +1 -1
- package/dist/transactions/marginRegistry.mjs +101 -68
- package/dist/transactions/marginRegistry.mjs.map +1 -1
- package/dist/transactions/marginTPSL.d.mts +27 -9
- package/dist/transactions/marginTPSL.d.mts.map +1 -1
- package/dist/transactions/marginTPSL.mjs +108 -82
- package/dist/transactions/marginTPSL.mjs.map +1 -1
- package/dist/transactions/poolProxy.d.mts +37 -5
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/transactions/poolProxy.mjs +269 -189
- package/dist/transactions/poolProxy.mjs.map +1 -1
- package/dist/utils/constants.mjs +4 -4
- package/dist/utils/constants.mjs.map +1 -1
- package/package.json +3 -3
- package/src/client.ts +8 -0
- package/src/contracts/deepbook/balance_manager.ts +46 -5
- package/src/contracts/deepbook/constants.ts +13 -0
- package/src/contracts/deepbook/pool.ts +133 -0
- package/src/contracts/deepbook/registry.ts +136 -1
- package/src/contracts/deepbook_margin/deps/deepbook/balance_manager.ts +49 -0
- package/src/contracts/deepbook_margin/deps/std/type_name.ts +24 -0
- package/src/contracts/deepbook_margin/deps/sui/bag.ts +41 -0
- package/src/contracts/deepbook_margin/deps/sui/balance.ts +19 -0
- package/src/contracts/deepbook_margin/deps/sui/table.ts +36 -0
- package/src/contracts/deepbook_margin/deps/sui/vec_map.ts +33 -0
- package/src/contracts/deepbook_margin/deps/sui/vec_set.ts +22 -0
- package/src/contracts/deepbook_margin/deps/sui/versioned.ts +13 -0
- package/src/contracts/deepbook_margin/margin_constants.ts +329 -0
- package/src/contracts/deepbook_margin/margin_manager.ts +1772 -0
- package/src/contracts/deepbook_margin/margin_pool.ts +1129 -0
- package/src/contracts/deepbook_margin/margin_registry.ts +1207 -0
- package/src/contracts/deepbook_margin/margin_state.ts +26 -0
- package/src/contracts/deepbook_margin/oracle.ts +99 -0
- package/src/contracts/deepbook_margin/pool_proxy.ts +1298 -0
- package/src/contracts/deepbook_margin/position_manager.ts +28 -0
- package/src/contracts/deepbook_margin/protocol_config.ts +163 -0
- package/src/contracts/deepbook_margin/protocol_fees.ts +153 -0
- package/src/contracts/deepbook_margin/rate_limiter.ts +80 -0
- package/src/contracts/deepbook_margin/tpsl.ts +559 -0
- package/src/contracts/margin_liquidation/deps/sui/bag.ts +41 -0
- package/src/contracts/margin_liquidation/liquidation_vault.ts +401 -0
- package/src/queries/registryQueries.ts +15 -0
- package/src/transactions/balanceManager.ts +140 -90
- package/src/transactions/deepbook.ts +586 -494
- package/src/transactions/deepbookAdmin.ts +154 -146
- package/src/transactions/flashLoans.ts +29 -20
- package/src/transactions/governance.ts +50 -37
- package/src/transactions/marginAdmin.ts +247 -188
- package/src/transactions/marginLiquidations.ts +70 -55
- package/src/transactions/marginMaintainer.ts +106 -88
- package/src/transactions/marginManager.ts +414 -348
- package/src/transactions/marginPool.ts +140 -103
- package/src/transactions/marginRegistry.ts +103 -70
- package/src/transactions/marginTPSL.ts +151 -87
- package/src/transactions/poolProxy.ts +384 -205
- package/src/utils/constants.ts +4 -4
|
@@ -11,6 +11,8 @@ import type {
|
|
|
11
11
|
import { OrderType, SelfMatchingOptions } from '../types/index.js';
|
|
12
12
|
import { MAX_TIMESTAMP, FLOAT_SCALAR } from '../utils/config.js';
|
|
13
13
|
import { convertQuantity, convertPrice } from '../utils/conversion.js';
|
|
14
|
+
import * as marginManagerMoveCalls from '../contracts/deepbook_margin/margin_manager.js';
|
|
15
|
+
import * as tpslMoveCalls from '../contracts/deepbook_margin/tpsl.js';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* MarginTPSLContract class for managing Take Profit / Stop Loss operations.
|
|
@@ -46,10 +48,12 @@ export class MarginTPSLContract {
|
|
|
46
48
|
quoteCoin.scalar,
|
|
47
49
|
baseCoin.scalar,
|
|
48
50
|
);
|
|
49
|
-
return tx.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
return tx.add(
|
|
52
|
+
tpslMoveCalls.newCondition({
|
|
53
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
54
|
+
arguments: { triggerBelowPrice, triggerPrice: inputPrice },
|
|
55
|
+
}),
|
|
56
|
+
);
|
|
53
57
|
};
|
|
54
58
|
|
|
55
59
|
/**
|
|
@@ -75,19 +79,21 @@ export class MarginTPSLContract {
|
|
|
75
79
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
76
80
|
const inputPrice = convertPrice(price, FLOAT_SCALAR, quoteCoin.scalar, baseCoin.scalar);
|
|
77
81
|
const inputQuantity = convertQuantity(quantity, baseCoin.scalar);
|
|
78
|
-
return tx.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
82
|
+
return tx.add(
|
|
83
|
+
tpslMoveCalls.newPendingLimitOrder({
|
|
84
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
85
|
+
arguments: {
|
|
86
|
+
clientOrderId: BigInt(clientOrderId),
|
|
87
|
+
orderType,
|
|
88
|
+
selfMatchingOption,
|
|
89
|
+
price: inputPrice,
|
|
90
|
+
quantity: inputQuantity,
|
|
91
|
+
isBid,
|
|
92
|
+
payWithDeep,
|
|
93
|
+
expireTimestamp,
|
|
94
|
+
},
|
|
95
|
+
}),
|
|
96
|
+
);
|
|
91
97
|
};
|
|
92
98
|
|
|
93
99
|
/**
|
|
@@ -108,16 +114,18 @@ export class MarginTPSLContract {
|
|
|
108
114
|
const pool = this.#config.getPool(poolKey);
|
|
109
115
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
110
116
|
const inputQuantity = convertQuantity(quantity, baseCoin.scalar);
|
|
111
|
-
return tx.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
117
|
+
return tx.add(
|
|
118
|
+
tpslMoveCalls.newPendingMarketOrder({
|
|
119
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
120
|
+
arguments: {
|
|
121
|
+
clientOrderId: BigInt(clientOrderId),
|
|
122
|
+
selfMatchingOption,
|
|
123
|
+
quantity: inputQuantity,
|
|
124
|
+
isBid,
|
|
125
|
+
payWithDeep,
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
);
|
|
121
129
|
};
|
|
122
130
|
|
|
123
131
|
// === Public Functions ===
|
|
@@ -144,21 +152,22 @@ export class MarginTPSLContract {
|
|
|
144
152
|
? this.newPendingLimitOrder(manager.poolKey, pendingOrder as PendingLimitOrderParams)(tx)
|
|
145
153
|
: this.newPendingMarketOrder(manager.poolKey, pendingOrder as PendingMarketOrderParams)(tx);
|
|
146
154
|
|
|
147
|
-
tx.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
tx.add(
|
|
156
|
+
marginManagerMoveCalls.addConditionalOrder({
|
|
157
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
158
|
+
arguments: {
|
|
159
|
+
self: manager.address,
|
|
160
|
+
pool: pool.address,
|
|
161
|
+
basePriceInfoObject: baseCoin.priceInfoObjectId!,
|
|
162
|
+
quotePriceInfoObject: quoteCoin.priceInfoObjectId!,
|
|
163
|
+
registry: this.#config.MARGIN_REGISTRY_ID,
|
|
164
|
+
conditionalOrderId: BigInt(conditionalOrderId),
|
|
165
|
+
condition,
|
|
166
|
+
pendingOrder: pending,
|
|
167
|
+
},
|
|
168
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
169
|
+
}),
|
|
170
|
+
);
|
|
162
171
|
};
|
|
163
172
|
|
|
164
173
|
/**
|
|
@@ -171,11 +180,13 @@ export class MarginTPSLContract {
|
|
|
171
180
|
const pool = this.#config.getPool(manager.poolKey);
|
|
172
181
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
173
182
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
174
|
-
tx.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
tx.add(
|
|
184
|
+
marginManagerMoveCalls.cancelAllConditionalOrders({
|
|
185
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
186
|
+
arguments: { self: manager.address },
|
|
187
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
188
|
+
}),
|
|
189
|
+
);
|
|
179
190
|
};
|
|
180
191
|
|
|
181
192
|
/**
|
|
@@ -190,11 +201,13 @@ export class MarginTPSLContract {
|
|
|
190
201
|
const pool = this.#config.getPool(manager.poolKey);
|
|
191
202
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
192
203
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
193
|
-
tx.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
204
|
+
tx.add(
|
|
205
|
+
marginManagerMoveCalls.cancelConditionalOrder({
|
|
206
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
207
|
+
arguments: { self: manager.address, conditionalOrderId: BigInt(conditionalOrderId) },
|
|
208
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
209
|
+
}),
|
|
210
|
+
);
|
|
198
211
|
};
|
|
199
212
|
|
|
200
213
|
/**
|
|
@@ -215,21 +228,64 @@ export class MarginTPSLContract {
|
|
|
215
228
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
216
229
|
const baseMarginPool = this.#config.getMarginPool(pool.baseCoin);
|
|
217
230
|
const quoteMarginPool = this.#config.getMarginPool(pool.quoteCoin);
|
|
218
|
-
return tx.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
231
|
+
return tx.add(
|
|
232
|
+
marginManagerMoveCalls.executeConditionalOrdersV2({
|
|
233
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
234
|
+
arguments: {
|
|
235
|
+
self: managerAddress,
|
|
236
|
+
pool: pool.address,
|
|
237
|
+
baseMarginPool: baseMarginPool.address,
|
|
238
|
+
quoteMarginPool: quoteMarginPool.address,
|
|
239
|
+
basePriceInfoObject: baseCoin.priceInfoObjectId!,
|
|
240
|
+
quotePriceInfoObject: quoteCoin.priceInfoObjectId!,
|
|
241
|
+
registry: this.#config.MARGIN_REGISTRY_ID,
|
|
242
|
+
maxOrdersToExecute,
|
|
243
|
+
},
|
|
244
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
245
|
+
}),
|
|
246
|
+
);
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* @description Execute conditional orders, deleveraging on each market-type
|
|
251
|
+
* fill. Permissionless, with the same trigger and cancellation handling as
|
|
252
|
+
* {@link executeConditionalOrders}, but the market proceeds are repaid into
|
|
253
|
+
* the loan before the risk check, and the gate is the *net* post-repay
|
|
254
|
+
* `risk_ratio` being at least the pre-fill ratio.
|
|
255
|
+
*
|
|
256
|
+
* This is what lets a stop-loss fire in the `liquidation..min_borrow` danger
|
|
257
|
+
* band: a swap alone only lowers the oracle-valued ratio (so the v2
|
|
258
|
+
* borrow-floor gate rejects it), while repaying actually improves it. If a
|
|
259
|
+
* single triggered fill would worsen net solvency the whole txn aborts — no
|
|
260
|
+
* partial-state landing.
|
|
261
|
+
* @param {string} managerAddress The address of the margin manager
|
|
262
|
+
* @param {string} poolKey The key to identify the pool (e.g., 'SUI_USDC')
|
|
263
|
+
* @param {number} maxOrdersToExecute Maximum number of orders to execute in this call
|
|
264
|
+
* @returns A function that takes a Transaction object
|
|
265
|
+
*/
|
|
266
|
+
executeConditionalOrdersV3 =
|
|
267
|
+
(managerAddress: string, poolKey: string, maxOrdersToExecute: number) => (tx: Transaction) => {
|
|
268
|
+
const pool = this.#config.getPool(poolKey);
|
|
269
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
270
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
271
|
+
const baseMarginPool = this.#config.getMarginPool(pool.baseCoin);
|
|
272
|
+
const quoteMarginPool = this.#config.getMarginPool(pool.quoteCoin);
|
|
273
|
+
return tx.add(
|
|
274
|
+
marginManagerMoveCalls.executeConditionalOrdersV3({
|
|
275
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
276
|
+
arguments: {
|
|
277
|
+
self: managerAddress,
|
|
278
|
+
pool: pool.address,
|
|
279
|
+
baseMarginPool: baseMarginPool.address,
|
|
280
|
+
quoteMarginPool: quoteMarginPool.address,
|
|
281
|
+
basePriceInfoObject: baseCoin.priceInfoObjectId!,
|
|
282
|
+
quotePriceInfoObject: quoteCoin.priceInfoObjectId!,
|
|
283
|
+
registry: this.#config.MARGIN_REGISTRY_ID,
|
|
284
|
+
maxOrdersToExecute,
|
|
285
|
+
},
|
|
286
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
287
|
+
}),
|
|
288
|
+
);
|
|
233
289
|
};
|
|
234
290
|
|
|
235
291
|
// === Read-Only Functions ===
|
|
@@ -244,11 +300,13 @@ export class MarginTPSLContract {
|
|
|
244
300
|
const pool = this.#config.getPool(poolKey);
|
|
245
301
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
246
302
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
247
|
-
return tx.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
303
|
+
return tx.add(
|
|
304
|
+
marginManagerMoveCalls.conditionalOrderIds({
|
|
305
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
306
|
+
arguments: { self: marginManagerId },
|
|
307
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
308
|
+
}),
|
|
309
|
+
);
|
|
252
310
|
};
|
|
253
311
|
|
|
254
312
|
/**
|
|
@@ -263,11 +321,13 @@ export class MarginTPSLContract {
|
|
|
263
321
|
const pool = this.#config.getPool(poolKey);
|
|
264
322
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
265
323
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
266
|
-
return tx.
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
324
|
+
return tx.add(
|
|
325
|
+
marginManagerMoveCalls.conditionalOrder({
|
|
326
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
327
|
+
arguments: { self: marginManagerId, conditionalOrderId: BigInt(conditionalOrderId) },
|
|
328
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
329
|
+
}),
|
|
330
|
+
);
|
|
271
331
|
};
|
|
272
332
|
|
|
273
333
|
/**
|
|
@@ -281,11 +341,13 @@ export class MarginTPSLContract {
|
|
|
281
341
|
const pool = this.#config.getPool(poolKey);
|
|
282
342
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
283
343
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
284
|
-
return tx.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
344
|
+
return tx.add(
|
|
345
|
+
marginManagerMoveCalls.lowestTriggerAbovePrice({
|
|
346
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
347
|
+
arguments: { self: marginManagerId },
|
|
348
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
349
|
+
}),
|
|
350
|
+
);
|
|
289
351
|
};
|
|
290
352
|
|
|
291
353
|
/**
|
|
@@ -299,10 +361,12 @@ export class MarginTPSLContract {
|
|
|
299
361
|
const pool = this.#config.getPool(poolKey);
|
|
300
362
|
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
301
363
|
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
302
|
-
return tx.
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
364
|
+
return tx.add(
|
|
365
|
+
marginManagerMoveCalls.highestTriggerBelowPrice({
|
|
366
|
+
package: this.#config.MARGIN_PACKAGE_ID,
|
|
367
|
+
arguments: { self: marginManagerId },
|
|
368
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
369
|
+
}),
|
|
370
|
+
);
|
|
307
371
|
};
|
|
308
372
|
}
|