zo-sdk 0.0.5 → 0.0.6

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 (48) hide show
  1. package/dist/{api.d.cts → api.d.ts} +5 -6
  2. package/dist/api.js +397 -0
  3. package/dist/api.js.map +1 -0
  4. package/dist/consts/{index.d.mts → index.d.ts} +2 -3
  5. package/dist/consts/{index.cjs → index.js} +17 -15
  6. package/dist/consts/index.js.map +1 -0
  7. package/dist/{data.d.cts → data.d.ts} +4 -5
  8. package/dist/{data.cjs → data.js} +155 -246
  9. package/dist/data.js.map +1 -0
  10. package/dist/index.d.ts +5 -0
  11. package/dist/{index.cjs → index.js} +6 -5
  12. package/dist/index.js.map +1 -0
  13. package/dist/{oracle.d.cts → oracle.d.ts} +6 -7
  14. package/dist/{oracle.cjs → oracle.js} +8 -51
  15. package/dist/oracle.js.map +1 -0
  16. package/dist/{utils.d.cts → utils.d.ts} +4 -5
  17. package/dist/{utils.cjs → utils.js} +3 -3
  18. package/dist/utils.js.map +1 -0
  19. package/package.json +29 -31
  20. package/src/consts/index.ts +19 -19
  21. package/src/utils.ts +5 -6
  22. package/tsconfig.json +9 -19
  23. package/dist/api.cjs +0 -466
  24. package/dist/api.d.cts.map +0 -1
  25. package/dist/api.d.mts +0 -26
  26. package/dist/api.d.mts.map +0 -1
  27. package/dist/api.mjs +0 -462
  28. package/dist/consts/index.d.cts +0 -66
  29. package/dist/consts/index.d.cts.map +0 -1
  30. package/dist/consts/index.d.mts.map +0 -1
  31. package/dist/consts/index.mjs +0 -94
  32. package/dist/data.d.cts.map +0 -1
  33. package/dist/data.d.mts +0 -221
  34. package/dist/data.d.mts.map +0 -1
  35. package/dist/data.mjs +0 -840
  36. package/dist/index.d.cts +0 -6
  37. package/dist/index.d.cts.map +0 -1
  38. package/dist/index.d.mts +0 -6
  39. package/dist/index.d.mts.map +0 -1
  40. package/dist/index.mjs +0 -5
  41. package/dist/oracle.d.cts.map +0 -1
  42. package/dist/oracle.d.mts +0 -24
  43. package/dist/oracle.d.mts.map +0 -1
  44. package/dist/oracle.mjs +0 -173
  45. package/dist/utils.d.cts.map +0 -1
  46. package/dist/utils.d.mts +0 -46
  47. package/dist/utils.d.mts.map +0 -1
  48. package/dist/utils.mjs +0 -129
package/dist/api.cjs DELETED
@@ -1,466 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _API_instances, _API_processCoins, _API_processSlippage;
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.API = void 0;
10
- const transactions_1 = require("@mysten/sui/transactions");
11
- const utils_1 = require("@mysten/sui/utils");
12
- const consts_1 = require("./consts/index.cjs");
13
- const data_1 = require("./data.cjs");
14
- const utils_2 = require("./utils.cjs");
15
- class API extends data_1.DataAPI {
16
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
17
- constructor(network, provider, apiEndpoint, connectionURL) {
18
- super(network, provider, apiEndpoint, connectionURL);
19
- _API_instances.add(this);
20
- _API_processCoins.set(this, (tx, coin, coinObjects) => {
21
- if (coin === 'sui') {
22
- return tx.gas;
23
- }
24
- if (coinObjects.length > 1) {
25
- tx.mergeCoins(tx.object(coinObjects[0]), coinObjects.slice(1).map(coinObject => tx.object(coinObject)));
26
- }
27
- return tx.object(coinObjects[0]);
28
- });
29
- Object.defineProperty(this, "deposit", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: async (coin, coinObjects, amount, minAmountOut = 0) => {
34
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
35
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, coin, coinObjects);
36
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
37
- const { vaultsValuation, symbolsValuation, } = this.valuate(tx);
38
- tx.moveCall({
39
- target: `${this.consts.zoCore.package}::market::deposit`,
40
- typeArguments: [
41
- `${this.consts.zoCore.package}::zlp::ZLP`,
42
- this.consts.coins[coin].module,
43
- ],
44
- arguments: [
45
- tx.object(this.consts.zoCore.market),
46
- tx.object(this.consts.zoCore.rebaseFeeModel),
47
- depositObject,
48
- tx.pure.u64(minAmountOut),
49
- vaultsValuation,
50
- symbolsValuation,
51
- ],
52
- });
53
- return tx;
54
- }
55
- });
56
- Object.defineProperty(this, "withdraw", {
57
- enumerable: true,
58
- configurable: true,
59
- writable: true,
60
- value: async (coin, zlpCoinObjects, amount, minAmountOut = 0) => {
61
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
62
- const zlpCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, 'zlp', zlpCoinObjects);
63
- const [withdrawObject] = tx.splitCoins(zlpCoinObject, [tx.pure.u64(amount)]);
64
- const { vaultsValuation, symbolsValuation, } = this.valuate(tx);
65
- tx.moveCall({
66
- target: `${this.consts.zoCore.package}::market::withdraw`,
67
- typeArguments: [
68
- `${this.consts.zoCore.package}::zlp::ZLP`,
69
- this.consts.coins[coin].module,
70
- ],
71
- arguments: [
72
- tx.object(this.consts.zoCore.market),
73
- tx.object(this.consts.zoCore.rebaseFeeModel),
74
- withdrawObject,
75
- tx.pure.u64(minAmountOut),
76
- vaultsValuation,
77
- symbolsValuation,
78
- ],
79
- });
80
- return tx;
81
- }
82
- });
83
- Object.defineProperty(this, "openPosition", {
84
- enumerable: true,
85
- configurable: true,
86
- writable: true,
87
- value: async (collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, slippage = 0.003, isLimitOrder = false, isIocOrder = false, relayerFee = BigInt(1), referralAddress = '', sender = '') => {
88
- let tx = new transactions_1.Transaction();
89
- if (referralAddress && !await this.hasReferral(sender || '')) {
90
- tx = await this.addReferral(referralAddress, tx);
91
- }
92
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
93
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
94
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(collateralAmount)]);
95
- const feeObject = tx.splitCoins(tx.gas, [tx.pure.u64(relayerFee)]);
96
- const symbol = (0, utils_2.joinSymbol)(long ? 'long' : 'short', indexToken);
97
- const adjustPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, indexPrice, long, isLimitOrder ? 0 : slippage);
98
- const adjustCollateralPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, collateralPrice, false, 0.5);
99
- let allowTrade = consts_1.ALLOW_TRADE_MUST_TRADE;
100
- if (isLimitOrder) {
101
- allowTrade = isIocOrder ? consts_1.ALLOW_TRADE_NO_TRADE : consts_1.ALLOW_TRADE_CAN_TRADE;
102
- }
103
- tx.moveCall({
104
- target: `${this.consts.zoCore.package}::market::open_position`,
105
- typeArguments: [
106
- `${this.consts.zoCore.package}::zlp::ZLP`,
107
- this.consts.coins[collateralToken].module,
108
- this.consts.coins[indexToken].module,
109
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
110
- this.consts.coins.sui.module,
111
- ],
112
- arguments: [
113
- tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
114
- tx.object(this.consts.zoCore.market),
115
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
116
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
117
- tx.object(this.consts.zoCore.symbols[symbol].positionConfig),
118
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
119
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
120
- depositObject,
121
- feeObject,
122
- tx.pure.u8(allowTrade),
123
- tx.pure.u64(size),
124
- tx.pure.u64(reserveAmount),
125
- tx.pure.u256(adjustCollateralPrice),
126
- tx.pure.u256(adjustPrice),
127
- ],
128
- });
129
- return tx;
130
- }
131
- });
132
- Object.defineProperty(this, "pledgeInPosition", {
133
- enumerable: true,
134
- configurable: true,
135
- writable: true,
136
- value: async (pcpId, collateralToken, indexToken, amount, coinObjects, long) => {
137
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
138
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
139
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
140
- tx.moveCall({
141
- target: `${this.consts.zoCore.package}::market::pledge_in_position`,
142
- typeArguments: [
143
- `${this.consts.zoCore.package}::zlp::ZLP`,
144
- this.consts.coins[collateralToken].module,
145
- this.consts.coins[indexToken].module,
146
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
147
- ],
148
- arguments: [
149
- tx.object(this.consts.zoCore.market),
150
- tx.object(pcpId),
151
- depositObject,
152
- ],
153
- });
154
- return tx;
155
- }
156
- });
157
- Object.defineProperty(this, "redeemFromPosition", {
158
- enumerable: true,
159
- configurable: true,
160
- writable: true,
161
- value: async (pcpId, collateralToken, indexToken, amount, long) => {
162
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
163
- const symbol = (0, utils_2.joinSymbol)(long ? 'long' : 'short', indexToken);
164
- tx.moveCall({
165
- target: `${this.consts.zoCore.package}::market::redeem_from_position`,
166
- typeArguments: [
167
- `${this.consts.zoCore.package}::zlp::ZLP`,
168
- this.consts.coins[collateralToken].module,
169
- this.consts.coins[indexToken].module,
170
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
171
- ],
172
- arguments: [
173
- tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
174
- tx.object(this.consts.zoCore.market),
175
- tx.object(pcpId),
176
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
177
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
178
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
179
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
180
- tx.pure.u64(amount),
181
- ],
182
- });
183
- return tx;
184
- }
185
- });
186
- Object.defineProperty(this, "decreasePosition", {
187
- enumerable: true,
188
- configurable: true,
189
- writable: true,
190
- value: async (pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, slippage = 0.003, relayerFee = BigInt(1)) => {
191
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
192
- const symbol = (0, utils_2.joinSymbol)(long ? 'long' : 'short', indexToken);
193
- const feeObject = tx.splitCoins(tx.gas, [tx.pure.u64(relayerFee)]);
194
- const adjustPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, indexPrice, !long, isTriggerOrder ? 0 : slippage);
195
- const adjustCollateralPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, collateralPrice, false, 0.5);
196
- let allowTrade = consts_1.ALLOW_TRADE_MUST_TRADE;
197
- if (isTriggerOrder) {
198
- allowTrade = isIocOrder || !isTakeProfitOrder ? consts_1.ALLOW_TRADE_NO_TRADE : consts_1.ALLOW_TRADE_CAN_TRADE;
199
- }
200
- else {
201
- isTakeProfitOrder = true;
202
- }
203
- /* console.log('isTriggerOrder:', isTriggerOrder)
204
- console.log('isIocOrder:', isIocOrder)
205
- console.log('isTakeProfitOrder:', isTakeProfitOrder)
206
- console.log('adjustPrice:', adjustPrice)
207
- console.log('allowTrade:', allowTrade)
208
- console.log('isTriggerOrder:', isTriggerOrder)
209
- console.log('isTakeProfitOrder:', isTakeProfitOrder) */
210
- tx.moveCall({
211
- target: `${this.consts.zoCore.package}::market::decrease_position`,
212
- typeArguments: [
213
- `${this.consts.zoCore.package}::zlp::ZLP`,
214
- this.consts.coins[collateralToken].module,
215
- this.consts.coins[indexToken].module,
216
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
217
- this.consts.coins.sui.module,
218
- ],
219
- arguments: [
220
- tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
221
- tx.object(this.consts.zoCore.market),
222
- tx.object(pcpId),
223
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
224
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
225
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
226
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
227
- feeObject,
228
- tx.pure.u8(allowTrade),
229
- tx.pure.bool(isTakeProfitOrder),
230
- tx.pure.u64(amount),
231
- tx.pure.u256(adjustCollateralPrice),
232
- tx.pure.u256(adjustPrice),
233
- ],
234
- });
235
- return tx;
236
- }
237
- });
238
- Object.defineProperty(this, "cancelOrder", {
239
- enumerable: true,
240
- configurable: true,
241
- writable: true,
242
- value: (orderCapId, collateralToken, indexToken, long, type, isV11Order = false) => {
243
- const tx = new transactions_1.Transaction();
244
- let functionName = '';
245
- switch (type) {
246
- case 'OPEN_POSITION': {
247
- functionName = isV11Order ? 'clear_open_position_order' : 'clear_open_position_order';
248
- break;
249
- }
250
- case 'DECREASE_POSITION': {
251
- functionName = isV11Order ? 'clear_decrease_position_order' : 'clear_decrease_position_order';
252
- break;
253
- }
254
- default: {
255
- throw new Error('invalid order type');
256
- }
257
- }
258
- tx.moveCall({
259
- target: `${this.consts.zoCore.package}::market::${functionName}`,
260
- typeArguments: [
261
- `${this.consts.zoCore.package}::zlp::ZLP`,
262
- this.consts.coins[collateralToken].module,
263
- this.consts.coins[indexToken].module,
264
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
265
- this.consts.coins.sui.module,
266
- ],
267
- arguments: [
268
- tx.object(this.consts.zoCore.market),
269
- tx.object(orderCapId),
270
- ],
271
- });
272
- return tx;
273
- }
274
- });
275
- Object.defineProperty(this, "swap", {
276
- enumerable: true,
277
- configurable: true,
278
- writable: true,
279
- value: async (fromToken, toToken, fromAmount, fromCoinObjects) => {
280
- const tx = await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults));
281
- const fromCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, fromToken, fromCoinObjects);
282
- const [fromDepositObject] = tx.splitCoins(fromCoinObject, [tx.pure.u64(fromAmount)]);
283
- const vaultsValuation = this.valuateVaults(tx);
284
- tx.moveCall({
285
- target: `${this.consts.zoCore.package}::market::swap`,
286
- typeArguments: [
287
- `${this.consts.zoCore.package}::zlp::ZLP`,
288
- this.consts.coins[fromToken].module,
289
- this.consts.coins[toToken].module,
290
- ],
291
- arguments: [
292
- tx.object(this.consts.zoCore.market),
293
- tx.object(this.consts.zoCore.rebaseFeeModel),
294
- fromDepositObject,
295
- // FIXME: minAmountOut
296
- tx.pure.u64(0),
297
- vaultsValuation,
298
- ],
299
- });
300
- return tx;
301
- }
302
- });
303
- Object.defineProperty(this, "clearClosedPosition", {
304
- enumerable: true,
305
- configurable: true,
306
- writable: true,
307
- value: (pcpId, collateralToken, indexToken, long, tx) => {
308
- tx.moveCall({
309
- target: `${this.consts.zoCore.package}::market::clear_closed_position`,
310
- typeArguments: [
311
- `${this.consts.zoCore.package}::zlp::ZLP`,
312
- this.consts.coins[collateralToken].module,
313
- this.consts.coins[indexToken].module,
314
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
315
- ],
316
- arguments: [
317
- tx.object(this.consts.zoCore.market),
318
- tx.object(pcpId),
319
- ],
320
- });
321
- }
322
- });
323
- Object.defineProperty(this, "clearOpenPositionOrder", {
324
- enumerable: true,
325
- configurable: true,
326
- writable: true,
327
- value: (orderCapId, collateralToken, indexToken, long, tx, isV11Order = false) => {
328
- const funcName = isV11Order ? 'clear_open_position_order' : 'clear_open_position_order';
329
- tx.moveCall({
330
- target: `${this.consts.zoCore.package}::market::${funcName}`,
331
- typeArguments: [
332
- `${this.consts.zoCore.package}::zlp::ZLP`,
333
- this.consts.coins[collateralToken].module,
334
- this.consts.coins[indexToken].module,
335
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
336
- this.consts.coins.sui.module,
337
- ],
338
- arguments: [
339
- tx.object(this.consts.zoCore.market),
340
- tx.object(orderCapId),
341
- ],
342
- });
343
- }
344
- });
345
- Object.defineProperty(this, "clearDecreasePositionOrder", {
346
- enumerable: true,
347
- configurable: true,
348
- writable: true,
349
- value: (orderCapId, collateralToken, indexToken, long, tx, isV11Order = false) => {
350
- const funcName = isV11Order ? 'clear_decrease_position_order' : 'clear_decrease_position_order';
351
- tx.moveCall({
352
- target: `${this.consts.zoCore.package}::market::${funcName}`,
353
- typeArguments: [
354
- `${this.consts.zoCore.package}::zlp::ZLP`,
355
- this.consts.coins[collateralToken].module,
356
- this.consts.coins[indexToken].module,
357
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
358
- this.consts.coins.sui.module,
359
- ],
360
- arguments: [
361
- tx.object(this.consts.zoCore.market),
362
- tx.object(orderCapId),
363
- ],
364
- });
365
- }
366
- });
367
- Object.defineProperty(this, "stake", {
368
- enumerable: true,
369
- configurable: true,
370
- writable: true,
371
- value: (coinObjects, amount, pool, tx) => {
372
- if (!tx) {
373
- tx = new transactions_1.Transaction();
374
- }
375
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, 'zlp', coinObjects);
376
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
377
- tx.moveCall({
378
- target: `${this.consts.zoStaking.package}::pool::deposit`,
379
- typeArguments: [
380
- `${this.consts.zoCore.package}::zlp::ZLP`,
381
- this.consts.coins.sui.module,
382
- ],
383
- arguments: [
384
- tx.object(pool),
385
- tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
386
- depositObject,
387
- ],
388
- });
389
- return tx;
390
- }
391
- });
392
- Object.defineProperty(this, "unstake", {
393
- enumerable: true,
394
- configurable: true,
395
- writable: true,
396
- value: (credentials, amount, pool, tx) => {
397
- if (!tx) {
398
- tx = new transactions_1.Transaction();
399
- }
400
- for (const credential of credentials) {
401
- // eslint-disable-next-line unicorn/prefer-math-min-max
402
- const withdrawAmount = amount < credential.amount ? amount : credential.amount;
403
- amount -= withdrawAmount;
404
- tx.moveCall({
405
- target: `0xdb353cb79a88d5ee83b7c0ca0249662a1facab17ba62879080ea3d61b9d21112::pool::withdraw`,
406
- typeArguments: [
407
- `${this.consts.zoCore.package}::zlp::ZLP`,
408
- this.consts.coins.sui.module,
409
- ],
410
- arguments: [
411
- tx.object(pool),
412
- tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
413
- tx.object(credential.id),
414
- tx.pure.u64(withdrawAmount),
415
- ],
416
- });
417
- if (credential.amount === BigInt(0)) {
418
- tx.moveCall({
419
- target: `${this.consts.zoStaking.package}::pool::clear_empty_credential`,
420
- typeArguments: [
421
- `${this.consts.zoCore.package}::zlp::ZLP`,
422
- this.consts.coins.sui.module,
423
- ],
424
- arguments: [
425
- tx.object(credential.id),
426
- ],
427
- });
428
- }
429
- }
430
- return tx;
431
- }
432
- });
433
- Object.defineProperty(this, "addReferral", {
434
- enumerable: true,
435
- configurable: true,
436
- writable: true,
437
- value: (referrer, tx) => {
438
- if (!tx) {
439
- tx = new transactions_1.Transaction();
440
- }
441
- tx.moveCall({
442
- target: `${this.consts.zoCore.package}::market::add_new_referral`,
443
- typeArguments: [
444
- `${this.consts.zoCore.package}::zlp::ZLP`,
445
- ],
446
- arguments: [
447
- tx.object(this.consts.zoCore.market),
448
- tx.object(referrer),
449
- ],
450
- });
451
- return tx;
452
- }
453
- });
454
- }
455
- static getInstance(network, provider, apiEndpoint, connectionURL) {
456
- if (!API.instance) {
457
- API.instance = new API(network, provider, apiEndpoint, connectionURL);
458
- }
459
- return API.instance;
460
- }
461
- }
462
- exports.API = API;
463
- _API_processCoins = new WeakMap(), _API_instances = new WeakSet(), _API_processSlippage = function _API_processSlippage(indexPrice, long, slippage) {
464
- const raw = long ? (indexPrice * (1 + slippage)) : (indexPrice * (1 - slippage));
465
- return BigInt(Math.round(raw * 1e18));
466
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.cts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.d.mts DELETED
@@ -1,26 +0,0 @@
1
- import type { SuiClient } from "@mysten/sui/client";
2
- import { Transaction } from "@mysten/sui/transactions";
3
- import type { Network } from "./consts/index.mjs";
4
- import type { ICredential } from "./data.mjs";
5
- import { DataAPI } from "./data.mjs";
6
- export declare class API extends DataAPI {
7
- #private;
8
- private static instance;
9
- constructor(network: Network, provider: SuiClient | null, apiEndpoint: string, connectionURL: string);
10
- static getInstance(network: Network, provider: SuiClient | null, apiEndpoint: string, connectionURL: string): API;
11
- deposit: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number) => Promise<Transaction>;
12
- withdraw: (coin: string, zlpCoinObjects: string[], amount: number, minAmountOut?: number) => Promise<Transaction>;
13
- openPosition: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, slippage?: number, isLimitOrder?: boolean, isIocOrder?: boolean, relayerFee?: bigint, referralAddress?: string, sender?: string) => Promise<Transaction>;
14
- pledgeInPosition: (pcpId: string, collateralToken: string, indexToken: string, amount: number, coinObjects: string[], long: boolean) => Promise<Transaction>;
15
- redeemFromPosition: (pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean) => Promise<Transaction>;
16
- decreasePosition: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, slippage?: number, relayerFee?: bigint) => Promise<Transaction>;
17
- cancelOrder: (orderCapId: string, collateralToken: string, indexToken: string, long: boolean, type: string, isV11Order?: boolean) => Transaction;
18
- swap: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[]) => Promise<Transaction>;
19
- clearClosedPosition: (pcpId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction) => void;
20
- clearOpenPositionOrder: (orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean) => void;
21
- clearDecreasePositionOrder: (orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean) => void;
22
- stake: (coinObjects: string[], amount: bigint, pool: string, tx?: Transaction | undefined) => Transaction;
23
- unstake: (credentials: ICredential[], amount: bigint, pool: string, tx?: Transaction | undefined) => Transaction;
24
- addReferral: (referrer: string, tx?: Transaction | undefined) => Transaction;
25
- }
26
- //# sourceMappingURL=api.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.mts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}