zo-sdk 0.1.8 → 0.1.9
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/dist/abstract/BaseAPI.cjs +10 -0
- package/dist/abstract/BaseAPI.cjs.map +1 -1
- package/dist/abstract/BaseAPI.d.cts +10 -3
- package/dist/abstract/BaseAPI.d.cts.map +1 -1
- package/dist/abstract/BaseAPI.d.mts +10 -3
- package/dist/abstract/BaseAPI.d.mts.map +1 -1
- package/dist/abstract/BaseAPI.mjs +10 -0
- package/dist/abstract/BaseAPI.mjs.map +1 -1
- package/dist/implementations/SLPAPI.cjs +110 -38
- package/dist/implementations/SLPAPI.cjs.map +1 -1
- package/dist/implementations/SLPAPI.d.cts +9 -9
- package/dist/implementations/SLPAPI.d.cts.map +1 -1
- package/dist/implementations/SLPAPI.d.mts +9 -9
- package/dist/implementations/SLPAPI.d.mts.map +1 -1
- package/dist/implementations/SLPAPI.mjs +110 -38
- package/dist/implementations/SLPAPI.mjs.map +1 -1
- package/dist/implementations/USDZAPI.cjs +102 -40
- package/dist/implementations/USDZAPI.cjs.map +1 -1
- package/dist/implementations/USDZAPI.d.cts +9 -9
- package/dist/implementations/USDZAPI.d.cts.map +1 -1
- package/dist/implementations/USDZAPI.d.mts +9 -9
- package/dist/implementations/USDZAPI.d.mts.map +1 -1
- package/dist/implementations/USDZAPI.mjs +102 -40
- package/dist/implementations/USDZAPI.mjs.map +1 -1
- package/dist/implementations/ZLPAPI.cjs +100 -38
- package/dist/implementations/ZLPAPI.cjs.map +1 -1
- package/dist/implementations/ZLPAPI.d.cts +9 -9
- package/dist/implementations/ZLPAPI.d.cts.map +1 -1
- package/dist/implementations/ZLPAPI.d.mts +9 -9
- package/dist/implementations/ZLPAPI.d.mts.map +1 -1
- package/dist/implementations/ZLPAPI.mjs +100 -38
- package/dist/implementations/ZLPAPI.mjs.map +1 -1
- package/dist/interfaces/base.d.cts +4 -4
- package/dist/interfaces/base.d.cts.map +1 -1
- package/dist/interfaces/base.d.mts +4 -4
- package/dist/interfaces/base.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/abstract/BaseAPI.ts +17 -3
- package/src/implementations/SLPAPI.ts +169 -33
- package/src/implementations/USDZAPI.ts +174 -36
- package/src/implementations/ZLPAPI.ts +172 -31
- package/src/interfaces/base.ts +8 -3
|
@@ -45,7 +45,7 @@ export declare class ZLPAPI extends BaseAPI implements IZLPAPI {
|
|
|
45
45
|
/**
|
|
46
46
|
* Deposits collateral into ZLP vault
|
|
47
47
|
*/
|
|
48
|
-
deposit(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]
|
|
48
|
+
deposit(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
49
49
|
/**
|
|
50
50
|
* Withdraws collateral from ZLP vault
|
|
51
51
|
*/
|
|
@@ -54,11 +54,11 @@ export declare class ZLPAPI extends BaseAPI implements IZLPAPI {
|
|
|
54
54
|
/**
|
|
55
55
|
* Opens a new position in ZLP
|
|
56
56
|
*/
|
|
57
|
-
openPosition(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string): Promise<Transaction>;
|
|
57
|
+
openPosition(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
58
58
|
/**
|
|
59
59
|
* Decreases an existing position in ZLP
|
|
60
60
|
*/
|
|
61
|
-
decreasePosition(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[]): Promise<Transaction>;
|
|
61
|
+
decreasePosition(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
62
62
|
decreaseMultiPositions(positions: Array<{
|
|
63
63
|
pcpId: string;
|
|
64
64
|
collateralToken: string;
|
|
@@ -74,9 +74,9 @@ export declare class ZLPAPI extends BaseAPI implements IZLPAPI {
|
|
|
74
74
|
collateralSlippage?: number;
|
|
75
75
|
relayerFee?: bigint;
|
|
76
76
|
coinObjects?: string[];
|
|
77
|
-
}>, tx?: Transaction): Promise<Transaction>;
|
|
78
|
-
openPositionWithSCard(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string): Promise<Transaction>;
|
|
79
|
-
decreasePositionWithSCard(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[]): Promise<Transaction>;
|
|
77
|
+
}>, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
78
|
+
openPositionWithSCard(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
79
|
+
decreasePositionWithSCard(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
80
80
|
decreaseMultiPositionsWithSCard(positions: Array<{
|
|
81
81
|
pcpId: string;
|
|
82
82
|
collateralToken: string;
|
|
@@ -92,12 +92,12 @@ export declare class ZLPAPI extends BaseAPI implements IZLPAPI {
|
|
|
92
92
|
collateralSlippage?: number;
|
|
93
93
|
relayerFee?: bigint;
|
|
94
94
|
coinObjects?: string[];
|
|
95
|
-
}>, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, tx?: Transaction): Promise<Transaction>;
|
|
95
|
+
}>, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
96
96
|
/**
|
|
97
97
|
* Pledges in position (ZLP-specific functionality)
|
|
98
98
|
*/
|
|
99
|
-
pledgeInPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, coinObjects: string[], long: boolean): Promise<Transaction>;
|
|
100
|
-
redeemFromPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean): Promise<Transaction>;
|
|
99
|
+
pledgeInPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, coinObjects: string[], long: boolean, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
100
|
+
redeemFromPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
|
|
101
101
|
cancelOrder(orderCapId: string, collateralToken: string, indexToken: string, long: boolean, type: string, isV11Order?: boolean): Transaction;
|
|
102
102
|
cancelMultiOrders(orders: Array<{
|
|
103
103
|
orderCapId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZLPAPI.d.mts","sourceRoot":"","sources":["../../src/implementations/ZLPAPI.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ZLPAPI.d.mts","sourceRoot":"","sources":["../../src/implementations/ZLPAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ export class ZLPAPI extends BaseAPI {
|
|
|
98
98
|
/**
|
|
99
99
|
* Deposits collateral into ZLP vault
|
|
100
100
|
*/
|
|
101
|
-
async deposit(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate
|
|
101
|
+
async deposit(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
102
102
|
let tx = new Transaction();
|
|
103
103
|
// Add referral if needed
|
|
104
104
|
if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
|
|
@@ -111,7 +111,7 @@ export class ZLPAPI extends BaseAPI {
|
|
|
111
111
|
const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
112
112
|
tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
|
|
113
113
|
// Process deposit coins
|
|
114
|
-
const depositObject =
|
|
114
|
+
const depositObject = coin === 'sui'
|
|
115
115
|
? tx.splitCoins(suiCoinObject, [tx.pure.u64(amount)])[0]
|
|
116
116
|
: tx.splitCoins(this.processCoins(tx, coin, coinObjects, true), [tx.pure.u64(amount)])[0];
|
|
117
117
|
const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
|
|
@@ -209,17 +209,11 @@ export class ZLPAPI extends BaseAPI {
|
|
|
209
209
|
/**
|
|
210
210
|
* Opens a new position in ZLP
|
|
211
211
|
*/
|
|
212
|
-
async openPosition(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender) {
|
|
212
|
+
async openPosition(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
213
213
|
let tx = new Transaction();
|
|
214
214
|
if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
|
|
215
215
|
tx = await this.addReferral(referralAddress, tx);
|
|
216
216
|
}
|
|
217
|
-
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
218
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects);
|
|
219
|
-
const [depositObject, feeObject] = tx.splitCoins(coinObject, [
|
|
220
|
-
tx.pure.u64(collateralAmount),
|
|
221
|
-
tx.pure.u64(relayerFee),
|
|
222
|
-
]);
|
|
223
217
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
224
218
|
const adjustPrice = this.processSlippage(indexPrice, long, isLimitOrder ? 0 : pricesSlippage);
|
|
225
219
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
@@ -227,6 +221,17 @@ export class ZLPAPI extends BaseAPI {
|
|
|
227
221
|
if (isLimitOrder) {
|
|
228
222
|
allowTrade = isIocOrder ? ALLOW_TRADE_NO_TRADE : ALLOW_TRADE_CAN_TRADE;
|
|
229
223
|
}
|
|
224
|
+
// Handle oracle initialization and coin processing
|
|
225
|
+
let suiCoinObject;
|
|
226
|
+
if (sponsoredTx) {
|
|
227
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
228
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
232
|
+
}
|
|
233
|
+
// Process coin splitting
|
|
234
|
+
const [depositObject, feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(collateralAmount), tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
230
235
|
tx.moveCall({
|
|
231
236
|
target: `${this.consts.zoCore.package}::market::open_position`,
|
|
232
237
|
typeArguments: [
|
|
@@ -258,14 +263,12 @@ export class ZLPAPI extends BaseAPI {
|
|
|
258
263
|
/**
|
|
259
264
|
* Decreases an existing position in ZLP
|
|
260
265
|
*/
|
|
261
|
-
async decreasePosition(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects) {
|
|
266
|
+
async decreasePosition(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
262
267
|
if (!coinObjects) {
|
|
263
268
|
throw new Error(`${this.constructor.name}: coinObjects is required`);
|
|
264
269
|
}
|
|
265
|
-
|
|
270
|
+
let tx = new Transaction();
|
|
266
271
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
267
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects || []);
|
|
268
|
-
const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee)]);
|
|
269
272
|
const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : pricesSlippage);
|
|
270
273
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
271
274
|
let allowTrade = ALLOW_TRADE_MUST_TRADE;
|
|
@@ -275,6 +278,17 @@ export class ZLPAPI extends BaseAPI {
|
|
|
275
278
|
else {
|
|
276
279
|
isTakeProfitOrder = true;
|
|
277
280
|
}
|
|
281
|
+
// Handle oracle initialization and coin processing
|
|
282
|
+
let suiCoinObject;
|
|
283
|
+
if (sponsoredTx) {
|
|
284
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
285
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
289
|
+
}
|
|
290
|
+
// Process coin splitting
|
|
291
|
+
const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
278
292
|
tx.moveCall({
|
|
279
293
|
target: `${this.consts.zoCore.package}::market::decrease_position`,
|
|
280
294
|
typeArguments: [
|
|
@@ -302,17 +316,23 @@ export class ZLPAPI extends BaseAPI {
|
|
|
302
316
|
});
|
|
303
317
|
return tx;
|
|
304
318
|
}
|
|
305
|
-
async decreaseMultiPositions(positions, tx) {
|
|
319
|
+
async decreaseMultiPositions(positions, tx, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
306
320
|
if (!tx) {
|
|
307
321
|
tx = new Transaction();
|
|
308
322
|
}
|
|
309
|
-
|
|
323
|
+
// Handle oracle initialization and coin processing
|
|
324
|
+
let suiCoinObject;
|
|
325
|
+
if (sponsoredTx) {
|
|
326
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
327
|
+
tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, suiCoinObject);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
|
|
331
|
+
}
|
|
310
332
|
for (const position of positions) {
|
|
311
333
|
const { pcpId, collateralToken, coinObjects = [], indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), } = position;
|
|
312
334
|
let innerIsTakeProfitOrder = isTakeProfitOrder;
|
|
313
335
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
314
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects);
|
|
315
|
-
const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee)]);
|
|
316
336
|
const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : pricesSlippage);
|
|
317
337
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
318
338
|
let allowTrade = ALLOW_TRADE_MUST_TRADE;
|
|
@@ -322,6 +342,8 @@ export class ZLPAPI extends BaseAPI {
|
|
|
322
342
|
else {
|
|
323
343
|
innerIsTakeProfitOrder = true;
|
|
324
344
|
}
|
|
345
|
+
// Process coin splitting
|
|
346
|
+
const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
325
347
|
tx.moveCall({
|
|
326
348
|
target: `${this.consts.zoCore.package}::market::decrease_position`,
|
|
327
349
|
typeArguments: [
|
|
@@ -350,17 +372,11 @@ export class ZLPAPI extends BaseAPI {
|
|
|
350
372
|
}
|
|
351
373
|
return tx;
|
|
352
374
|
}
|
|
353
|
-
async openPositionWithSCard(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender) {
|
|
375
|
+
async openPositionWithSCard(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
354
376
|
let tx = new Transaction();
|
|
355
377
|
if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
|
|
356
378
|
tx = await this.addReferral(referralAddress, tx);
|
|
357
379
|
}
|
|
358
|
-
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
359
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects);
|
|
360
|
-
const [depositObject, feeObject] = tx.splitCoins(coinObject, [
|
|
361
|
-
tx.pure.u64(collateralAmount),
|
|
362
|
-
tx.pure.u64(relayerFee),
|
|
363
|
-
]);
|
|
364
380
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
365
381
|
const adjustPrice = this.processSlippage(indexPrice, long, isLimitOrder ? 0 : pricesSlippage);
|
|
366
382
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
@@ -377,6 +393,17 @@ export class ZLPAPI extends BaseAPI {
|
|
|
377
393
|
itemType: `0xe7e651e4974fe367aa2837712d68081efb299c470242a15e2b9c26ea326159ec::card::SudoCard`,
|
|
378
394
|
itemId: scard,
|
|
379
395
|
});
|
|
396
|
+
// Handle oracle initialization and coin processing
|
|
397
|
+
let suiCoinObject;
|
|
398
|
+
if (sponsoredTx) {
|
|
399
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
400
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
404
|
+
}
|
|
405
|
+
// Process coin splitting
|
|
406
|
+
const [depositObject, feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(collateralAmount), tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
380
407
|
tx.moveCall({
|
|
381
408
|
target: `${this.consts.zoCore.package}::market::open_position_with_scard`,
|
|
382
409
|
typeArguments: [
|
|
@@ -413,11 +440,11 @@ export class ZLPAPI extends BaseAPI {
|
|
|
413
440
|
.finalize();
|
|
414
441
|
return tx;
|
|
415
442
|
}
|
|
416
|
-
async decreasePositionWithSCard(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects) {
|
|
443
|
+
async decreasePositionWithSCard(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
417
444
|
if (!coinObjects) {
|
|
418
445
|
throw new Error(`${this.constructor.name}: coinObjects is required`);
|
|
419
446
|
}
|
|
420
|
-
|
|
447
|
+
let tx = new Transaction();
|
|
421
448
|
const kioskTx = new KioskTransaction({
|
|
422
449
|
transaction: tx,
|
|
423
450
|
kioskClient,
|
|
@@ -428,8 +455,6 @@ export class ZLPAPI extends BaseAPI {
|
|
|
428
455
|
itemId: scard,
|
|
429
456
|
});
|
|
430
457
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
431
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects || []);
|
|
432
|
-
const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee)]);
|
|
433
458
|
const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : pricesSlippage);
|
|
434
459
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
435
460
|
let allowTrade = ALLOW_TRADE_MUST_TRADE;
|
|
@@ -439,6 +464,17 @@ export class ZLPAPI extends BaseAPI {
|
|
|
439
464
|
else {
|
|
440
465
|
isTakeProfitOrder = true;
|
|
441
466
|
}
|
|
467
|
+
// Handle oracle initialization and coin processing
|
|
468
|
+
let suiCoinObject;
|
|
469
|
+
if (sponsoredTx) {
|
|
470
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
471
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
475
|
+
}
|
|
476
|
+
// Process coin splitting
|
|
477
|
+
const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
442
478
|
tx.moveCall({
|
|
443
479
|
target: `${this.consts.zoCore.package}::market::decrease_position_with_scard`,
|
|
444
480
|
typeArguments: [
|
|
@@ -474,11 +510,19 @@ export class ZLPAPI extends BaseAPI {
|
|
|
474
510
|
.finalize();
|
|
475
511
|
return tx;
|
|
476
512
|
}
|
|
477
|
-
async decreaseMultiPositionsWithSCard(positions, kioskClient, kioskCap, scard, tx) {
|
|
513
|
+
async decreaseMultiPositionsWithSCard(positions, kioskClient, kioskCap, scard, tx, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
478
514
|
if (!tx) {
|
|
479
515
|
tx = new Transaction();
|
|
480
516
|
}
|
|
481
|
-
|
|
517
|
+
// Handle oracle initialization and coin processing
|
|
518
|
+
let suiCoinObject;
|
|
519
|
+
if (sponsoredTx) {
|
|
520
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
521
|
+
tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, suiCoinObject);
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
|
|
525
|
+
}
|
|
482
526
|
const kioskTx = new KioskTransaction({
|
|
483
527
|
transaction: tx,
|
|
484
528
|
kioskClient,
|
|
@@ -492,8 +536,6 @@ export class ZLPAPI extends BaseAPI {
|
|
|
492
536
|
const { pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects = [], } = position;
|
|
493
537
|
let innerIsTakeProfitOrder = isTakeProfitOrder;
|
|
494
538
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
495
|
-
const coinObject = this.processCoins(tx, collateralToken, coinObjects || []);
|
|
496
|
-
const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee || BigInt(0.5))]);
|
|
497
539
|
const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : pricesSlippage);
|
|
498
540
|
const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
|
|
499
541
|
let allowTrade = ALLOW_TRADE_MUST_TRADE;
|
|
@@ -503,6 +545,8 @@ export class ZLPAPI extends BaseAPI {
|
|
|
503
545
|
else {
|
|
504
546
|
innerIsTakeProfitOrder = true;
|
|
505
547
|
}
|
|
548
|
+
// Process coin splitting
|
|
549
|
+
const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
|
|
506
550
|
tx.moveCall({
|
|
507
551
|
target: `${this.consts.zoCore.package}::market::decrease_position_with_scard`,
|
|
508
552
|
typeArguments: [
|
|
@@ -542,10 +586,19 @@ export class ZLPAPI extends BaseAPI {
|
|
|
542
586
|
/**
|
|
543
587
|
* Pledges in position (ZLP-specific functionality)
|
|
544
588
|
*/
|
|
545
|
-
async pledgeInPosition(pcpId, collateralToken, indexToken, amount, coinObjects, long) {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
589
|
+
async pledgeInPosition(pcpId, collateralToken, indexToken, amount, coinObjects, long, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
590
|
+
let tx = new Transaction();
|
|
591
|
+
// Handle oracle initialization and coin processing
|
|
592
|
+
let suiCoinObject;
|
|
593
|
+
if (sponsoredTx) {
|
|
594
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
595
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
599
|
+
}
|
|
600
|
+
// Process coin splitting
|
|
601
|
+
const [depositObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(amount)], sponsoredTx, suiCoinObject);
|
|
549
602
|
tx.moveCall({
|
|
550
603
|
target: `${this.consts.zoCore.package}::market::pledge_in_position`,
|
|
551
604
|
typeArguments: [
|
|
@@ -558,8 +611,17 @@ export class ZLPAPI extends BaseAPI {
|
|
|
558
611
|
});
|
|
559
612
|
return tx;
|
|
560
613
|
}
|
|
561
|
-
async redeemFromPosition(pcpId, collateralToken, indexToken, amount, long) {
|
|
562
|
-
|
|
614
|
+
async redeemFromPosition(pcpId, collateralToken, indexToken, amount, long, sponsoredTx, suiCoinObjectsForPythUpdate) {
|
|
615
|
+
let tx = new Transaction();
|
|
616
|
+
// Handle oracle initialization and coin processing
|
|
617
|
+
let suiCoinObject;
|
|
618
|
+
if (sponsoredTx) {
|
|
619
|
+
suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
|
|
620
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
tx = await this.initOracleTxb([collateralToken, indexToken], tx);
|
|
624
|
+
}
|
|
563
625
|
const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
|
|
564
626
|
tx.moveCall({
|
|
565
627
|
target: `${this.consts.zoCore.package}::market::redeem_from_position`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZLPAPI.mjs","sourceRoot":"","sources":["../../src/implementations/ZLPAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ZLPAPI.mjs","sourceRoot":"","sources":["../../src/implementations/ZLPAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -225,13 +225,13 @@ export interface IBaseDataAPI {
|
|
|
225
225
|
validateCache: () => void;
|
|
226
226
|
}
|
|
227
227
|
export interface IBaseAPI {
|
|
228
|
-
deposit: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]
|
|
228
|
+
deposit: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<Transaction>;
|
|
229
229
|
withdraw: (coin: string, lpCoinObjects: string[], amount: number, minAmountOut?: number, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<Transaction>;
|
|
230
230
|
swap: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[]) => Promise<Transaction>;
|
|
231
231
|
stake: (lpCoinObjects: string[], amount: bigint, pool: string, tx?: Transaction) => Transaction;
|
|
232
232
|
unstake: (credentials: IBaseCredential[], amount: bigint, pool: string, tx?: Transaction) => Transaction;
|
|
233
|
-
openPosition: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string) => Promise<Transaction>;
|
|
234
|
-
decreasePosition: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[]) => Promise<Transaction>;
|
|
233
|
+
openPosition: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<Transaction>;
|
|
234
|
+
decreasePosition: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<Transaction>;
|
|
235
235
|
decreaseMultiPositions: (positions: Array<{
|
|
236
236
|
pcpId: string;
|
|
237
237
|
collateralToken: string;
|
|
@@ -262,7 +262,7 @@ export interface IBaseAPI {
|
|
|
262
262
|
clearClosedPosition: (pcpId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction) => void;
|
|
263
263
|
clearOpenPositionOrder: (orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean) => void;
|
|
264
264
|
clearDecreasePositionOrder: (orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean) => void;
|
|
265
|
-
openPositionWithSCard: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string) => Promise<Transaction>;
|
|
265
|
+
openPositionWithSCard: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]) => Promise<Transaction>;
|
|
266
266
|
decreasePositionWithSCard: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[]) => Promise<Transaction>;
|
|
267
267
|
decreaseMultiPositionsWithSCard: (positions: Array<{
|
|
268
268
|
pcpId: string;
|