zo-sdk 0.0.5 → 0.0.7

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 +18 -28
  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.mjs DELETED
@@ -1,462 +0,0 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- 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");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _API_instances, _API_processCoins, _API_processSlippage;
7
- import { Transaction } from "@mysten/sui/transactions";
8
- import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
9
- import { ALLOW_TRADE_CAN_TRADE, ALLOW_TRADE_MUST_TRADE, ALLOW_TRADE_NO_TRADE } from "./consts/index.mjs";
10
- import { DataAPI } from "./data.mjs";
11
- import { joinSymbol } from "./utils.mjs";
12
- export class API extends DataAPI {
13
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
14
- constructor(network, provider, apiEndpoint, connectionURL) {
15
- super(network, provider, apiEndpoint, connectionURL);
16
- _API_instances.add(this);
17
- _API_processCoins.set(this, (tx, coin, coinObjects) => {
18
- if (coin === 'sui') {
19
- return tx.gas;
20
- }
21
- if (coinObjects.length > 1) {
22
- tx.mergeCoins(tx.object(coinObjects[0]), coinObjects.slice(1).map(coinObject => tx.object(coinObject)));
23
- }
24
- return tx.object(coinObjects[0]);
25
- });
26
- Object.defineProperty(this, "deposit", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: async (coin, coinObjects, amount, minAmountOut = 0) => {
31
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
32
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, coin, coinObjects);
33
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
34
- const { vaultsValuation, symbolsValuation, } = this.valuate(tx);
35
- tx.moveCall({
36
- target: `${this.consts.zoCore.package}::market::deposit`,
37
- typeArguments: [
38
- `${this.consts.zoCore.package}::zlp::ZLP`,
39
- this.consts.coins[coin].module,
40
- ],
41
- arguments: [
42
- tx.object(this.consts.zoCore.market),
43
- tx.object(this.consts.zoCore.rebaseFeeModel),
44
- depositObject,
45
- tx.pure.u64(minAmountOut),
46
- vaultsValuation,
47
- symbolsValuation,
48
- ],
49
- });
50
- return tx;
51
- }
52
- });
53
- Object.defineProperty(this, "withdraw", {
54
- enumerable: true,
55
- configurable: true,
56
- writable: true,
57
- value: async (coin, zlpCoinObjects, amount, minAmountOut = 0) => {
58
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
59
- const zlpCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, 'zlp', zlpCoinObjects);
60
- const [withdrawObject] = tx.splitCoins(zlpCoinObject, [tx.pure.u64(amount)]);
61
- const { vaultsValuation, symbolsValuation, } = this.valuate(tx);
62
- tx.moveCall({
63
- target: `${this.consts.zoCore.package}::market::withdraw`,
64
- typeArguments: [
65
- `${this.consts.zoCore.package}::zlp::ZLP`,
66
- this.consts.coins[coin].module,
67
- ],
68
- arguments: [
69
- tx.object(this.consts.zoCore.market),
70
- tx.object(this.consts.zoCore.rebaseFeeModel),
71
- withdrawObject,
72
- tx.pure.u64(minAmountOut),
73
- vaultsValuation,
74
- symbolsValuation,
75
- ],
76
- });
77
- return tx;
78
- }
79
- });
80
- Object.defineProperty(this, "openPosition", {
81
- enumerable: true,
82
- configurable: true,
83
- writable: true,
84
- value: async (collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, slippage = 0.003, isLimitOrder = false, isIocOrder = false, relayerFee = BigInt(1), referralAddress = '', sender = '') => {
85
- let tx = new Transaction();
86
- if (referralAddress && !await this.hasReferral(sender || '')) {
87
- tx = await this.addReferral(referralAddress, tx);
88
- }
89
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
90
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
91
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(collateralAmount)]);
92
- const feeObject = tx.splitCoins(tx.gas, [tx.pure.u64(relayerFee)]);
93
- const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
94
- const adjustPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, indexPrice, long, isLimitOrder ? 0 : slippage);
95
- const adjustCollateralPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, collateralPrice, false, 0.5);
96
- let allowTrade = ALLOW_TRADE_MUST_TRADE;
97
- if (isLimitOrder) {
98
- allowTrade = isIocOrder ? ALLOW_TRADE_NO_TRADE : ALLOW_TRADE_CAN_TRADE;
99
- }
100
- tx.moveCall({
101
- target: `${this.consts.zoCore.package}::market::open_position`,
102
- typeArguments: [
103
- `${this.consts.zoCore.package}::zlp::ZLP`,
104
- this.consts.coins[collateralToken].module,
105
- this.consts.coins[indexToken].module,
106
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
107
- this.consts.coins.sui.module,
108
- ],
109
- arguments: [
110
- tx.object(SUI_CLOCK_OBJECT_ID),
111
- tx.object(this.consts.zoCore.market),
112
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
113
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
114
- tx.object(this.consts.zoCore.symbols[symbol].positionConfig),
115
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
116
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
117
- depositObject,
118
- feeObject,
119
- tx.pure.u8(allowTrade),
120
- tx.pure.u64(size),
121
- tx.pure.u64(reserveAmount),
122
- tx.pure.u256(adjustCollateralPrice),
123
- tx.pure.u256(adjustPrice),
124
- ],
125
- });
126
- return tx;
127
- }
128
- });
129
- Object.defineProperty(this, "pledgeInPosition", {
130
- enumerable: true,
131
- configurable: true,
132
- writable: true,
133
- value: async (pcpId, collateralToken, indexToken, amount, coinObjects, long) => {
134
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
135
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, collateralToken, coinObjects);
136
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
137
- tx.moveCall({
138
- target: `${this.consts.zoCore.package}::market::pledge_in_position`,
139
- typeArguments: [
140
- `${this.consts.zoCore.package}::zlp::ZLP`,
141
- this.consts.coins[collateralToken].module,
142
- this.consts.coins[indexToken].module,
143
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
144
- ],
145
- arguments: [
146
- tx.object(this.consts.zoCore.market),
147
- tx.object(pcpId),
148
- depositObject,
149
- ],
150
- });
151
- return tx;
152
- }
153
- });
154
- Object.defineProperty(this, "redeemFromPosition", {
155
- enumerable: true,
156
- configurable: true,
157
- writable: true,
158
- value: async (pcpId, collateralToken, indexToken, amount, long) => {
159
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
160
- const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
161
- tx.moveCall({
162
- target: `${this.consts.zoCore.package}::market::redeem_from_position`,
163
- typeArguments: [
164
- `${this.consts.zoCore.package}::zlp::ZLP`,
165
- this.consts.coins[collateralToken].module,
166
- this.consts.coins[indexToken].module,
167
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
168
- ],
169
- arguments: [
170
- tx.object(SUI_CLOCK_OBJECT_ID),
171
- tx.object(this.consts.zoCore.market),
172
- tx.object(pcpId),
173
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
174
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
175
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
176
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
177
- tx.pure.u64(amount),
178
- ],
179
- });
180
- return tx;
181
- }
182
- });
183
- Object.defineProperty(this, "decreasePosition", {
184
- enumerable: true,
185
- configurable: true,
186
- writable: true,
187
- value: async (pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, slippage = 0.003, relayerFee = BigInt(1)) => {
188
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
189
- const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
190
- const feeObject = tx.splitCoins(tx.gas, [tx.pure.u64(relayerFee)]);
191
- const adjustPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, indexPrice, !long, isTriggerOrder ? 0 : slippage);
192
- const adjustCollateralPrice = __classPrivateFieldGet(this, _API_instances, "m", _API_processSlippage).call(this, collateralPrice, false, 0.5);
193
- let allowTrade = ALLOW_TRADE_MUST_TRADE;
194
- if (isTriggerOrder) {
195
- allowTrade = isIocOrder || !isTakeProfitOrder ? ALLOW_TRADE_NO_TRADE : ALLOW_TRADE_CAN_TRADE;
196
- }
197
- else {
198
- isTakeProfitOrder = true;
199
- }
200
- /* console.log('isTriggerOrder:', isTriggerOrder)
201
- console.log('isIocOrder:', isIocOrder)
202
- console.log('isTakeProfitOrder:', isTakeProfitOrder)
203
- console.log('adjustPrice:', adjustPrice)
204
- console.log('allowTrade:', allowTrade)
205
- console.log('isTriggerOrder:', isTriggerOrder)
206
- console.log('isTakeProfitOrder:', isTakeProfitOrder) */
207
- tx.moveCall({
208
- target: `${this.consts.zoCore.package}::market::decrease_position`,
209
- typeArguments: [
210
- `${this.consts.zoCore.package}::zlp::ZLP`,
211
- this.consts.coins[collateralToken].module,
212
- this.consts.coins[indexToken].module,
213
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
214
- this.consts.coins.sui.module,
215
- ],
216
- arguments: [
217
- tx.object(SUI_CLOCK_OBJECT_ID),
218
- tx.object(this.consts.zoCore.market),
219
- tx.object(pcpId),
220
- tx.object(this.consts.zoCore.vaults[collateralToken].reservingFeeModel),
221
- tx.object(this.consts.zoCore.symbols[symbol].fundingFeeModel),
222
- tx.object(this.consts.pythFeeder.feeder[collateralToken]),
223
- tx.object(this.consts.pythFeeder.feeder[indexToken]),
224
- feeObject,
225
- tx.pure.u8(allowTrade),
226
- tx.pure.bool(isTakeProfitOrder),
227
- tx.pure.u64(amount),
228
- tx.pure.u256(adjustCollateralPrice),
229
- tx.pure.u256(adjustPrice),
230
- ],
231
- });
232
- return tx;
233
- }
234
- });
235
- Object.defineProperty(this, "cancelOrder", {
236
- enumerable: true,
237
- configurable: true,
238
- writable: true,
239
- value: (orderCapId, collateralToken, indexToken, long, type, isV11Order = false) => {
240
- const tx = new Transaction();
241
- let functionName = '';
242
- switch (type) {
243
- case 'OPEN_POSITION': {
244
- functionName = isV11Order ? 'clear_open_position_order' : 'clear_open_position_order';
245
- break;
246
- }
247
- case 'DECREASE_POSITION': {
248
- functionName = isV11Order ? 'clear_decrease_position_order' : 'clear_decrease_position_order';
249
- break;
250
- }
251
- default: {
252
- throw new Error('invalid order type');
253
- }
254
- }
255
- tx.moveCall({
256
- target: `${this.consts.zoCore.package}::market::${functionName}`,
257
- typeArguments: [
258
- `${this.consts.zoCore.package}::zlp::ZLP`,
259
- this.consts.coins[collateralToken].module,
260
- this.consts.coins[indexToken].module,
261
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
262
- this.consts.coins.sui.module,
263
- ],
264
- arguments: [
265
- tx.object(this.consts.zoCore.market),
266
- tx.object(orderCapId),
267
- ],
268
- });
269
- return tx;
270
- }
271
- });
272
- Object.defineProperty(this, "swap", {
273
- enumerable: true,
274
- configurable: true,
275
- writable: true,
276
- value: async (fromToken, toToken, fromAmount, fromCoinObjects) => {
277
- const tx = await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults));
278
- const fromCoinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, fromToken, fromCoinObjects);
279
- const [fromDepositObject] = tx.splitCoins(fromCoinObject, [tx.pure.u64(fromAmount)]);
280
- const vaultsValuation = this.valuateVaults(tx);
281
- tx.moveCall({
282
- target: `${this.consts.zoCore.package}::market::swap`,
283
- typeArguments: [
284
- `${this.consts.zoCore.package}::zlp::ZLP`,
285
- this.consts.coins[fromToken].module,
286
- this.consts.coins[toToken].module,
287
- ],
288
- arguments: [
289
- tx.object(this.consts.zoCore.market),
290
- tx.object(this.consts.zoCore.rebaseFeeModel),
291
- fromDepositObject,
292
- // FIXME: minAmountOut
293
- tx.pure.u64(0),
294
- vaultsValuation,
295
- ],
296
- });
297
- return tx;
298
- }
299
- });
300
- Object.defineProperty(this, "clearClosedPosition", {
301
- enumerable: true,
302
- configurable: true,
303
- writable: true,
304
- value: (pcpId, collateralToken, indexToken, long, tx) => {
305
- tx.moveCall({
306
- target: `${this.consts.zoCore.package}::market::clear_closed_position`,
307
- typeArguments: [
308
- `${this.consts.zoCore.package}::zlp::ZLP`,
309
- this.consts.coins[collateralToken].module,
310
- this.consts.coins[indexToken].module,
311
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
312
- ],
313
- arguments: [
314
- tx.object(this.consts.zoCore.market),
315
- tx.object(pcpId),
316
- ],
317
- });
318
- }
319
- });
320
- Object.defineProperty(this, "clearOpenPositionOrder", {
321
- enumerable: true,
322
- configurable: true,
323
- writable: true,
324
- value: (orderCapId, collateralToken, indexToken, long, tx, isV11Order = false) => {
325
- const funcName = isV11Order ? 'clear_open_position_order' : 'clear_open_position_order';
326
- tx.moveCall({
327
- target: `${this.consts.zoCore.package}::market::${funcName}`,
328
- typeArguments: [
329
- `${this.consts.zoCore.package}::zlp::ZLP`,
330
- this.consts.coins[collateralToken].module,
331
- this.consts.coins[indexToken].module,
332
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
333
- this.consts.coins.sui.module,
334
- ],
335
- arguments: [
336
- tx.object(this.consts.zoCore.market),
337
- tx.object(orderCapId),
338
- ],
339
- });
340
- }
341
- });
342
- Object.defineProperty(this, "clearDecreasePositionOrder", {
343
- enumerable: true,
344
- configurable: true,
345
- writable: true,
346
- value: (orderCapId, collateralToken, indexToken, long, tx, isV11Order = false) => {
347
- const funcName = isV11Order ? 'clear_decrease_position_order' : 'clear_decrease_position_order';
348
- tx.moveCall({
349
- target: `${this.consts.zoCore.package}::market::${funcName}`,
350
- typeArguments: [
351
- `${this.consts.zoCore.package}::zlp::ZLP`,
352
- this.consts.coins[collateralToken].module,
353
- this.consts.coins[indexToken].module,
354
- `${this.consts.zoCore.package}::market::${long ? 'LONG' : 'SHORT'}`,
355
- this.consts.coins.sui.module,
356
- ],
357
- arguments: [
358
- tx.object(this.consts.zoCore.market),
359
- tx.object(orderCapId),
360
- ],
361
- });
362
- }
363
- });
364
- Object.defineProperty(this, "stake", {
365
- enumerable: true,
366
- configurable: true,
367
- writable: true,
368
- value: (coinObjects, amount, pool, tx) => {
369
- if (!tx) {
370
- tx = new Transaction();
371
- }
372
- const coinObject = __classPrivateFieldGet(this, _API_processCoins, "f").call(this, tx, 'zlp', coinObjects);
373
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
374
- tx.moveCall({
375
- target: `${this.consts.zoStaking.package}::pool::deposit`,
376
- typeArguments: [
377
- `${this.consts.zoCore.package}::zlp::ZLP`,
378
- this.consts.coins.sui.module,
379
- ],
380
- arguments: [
381
- tx.object(pool),
382
- tx.object(SUI_CLOCK_OBJECT_ID),
383
- depositObject,
384
- ],
385
- });
386
- return tx;
387
- }
388
- });
389
- Object.defineProperty(this, "unstake", {
390
- enumerable: true,
391
- configurable: true,
392
- writable: true,
393
- value: (credentials, amount, pool, tx) => {
394
- if (!tx) {
395
- tx = new Transaction();
396
- }
397
- for (const credential of credentials) {
398
- // eslint-disable-next-line unicorn/prefer-math-min-max
399
- const withdrawAmount = amount < credential.amount ? amount : credential.amount;
400
- amount -= withdrawAmount;
401
- tx.moveCall({
402
- target: `0xdb353cb79a88d5ee83b7c0ca0249662a1facab17ba62879080ea3d61b9d21112::pool::withdraw`,
403
- typeArguments: [
404
- `${this.consts.zoCore.package}::zlp::ZLP`,
405
- this.consts.coins.sui.module,
406
- ],
407
- arguments: [
408
- tx.object(pool),
409
- tx.object(SUI_CLOCK_OBJECT_ID),
410
- tx.object(credential.id),
411
- tx.pure.u64(withdrawAmount),
412
- ],
413
- });
414
- if (credential.amount === BigInt(0)) {
415
- tx.moveCall({
416
- target: `${this.consts.zoStaking.package}::pool::clear_empty_credential`,
417
- typeArguments: [
418
- `${this.consts.zoCore.package}::zlp::ZLP`,
419
- this.consts.coins.sui.module,
420
- ],
421
- arguments: [
422
- tx.object(credential.id),
423
- ],
424
- });
425
- }
426
- }
427
- return tx;
428
- }
429
- });
430
- Object.defineProperty(this, "addReferral", {
431
- enumerable: true,
432
- configurable: true,
433
- writable: true,
434
- value: (referrer, tx) => {
435
- if (!tx) {
436
- tx = new Transaction();
437
- }
438
- tx.moveCall({
439
- target: `${this.consts.zoCore.package}::market::add_new_referral`,
440
- typeArguments: [
441
- `${this.consts.zoCore.package}::zlp::ZLP`,
442
- ],
443
- arguments: [
444
- tx.object(this.consts.zoCore.market),
445
- tx.object(referrer),
446
- ],
447
- });
448
- return tx;
449
- }
450
- });
451
- }
452
- static getInstance(network, provider, apiEndpoint, connectionURL) {
453
- if (!API.instance) {
454
- API.instance = new API(network, provider, apiEndpoint, connectionURL);
455
- }
456
- return API.instance;
457
- }
458
- }
459
- _API_processCoins = new WeakMap(), _API_instances = new WeakSet(), _API_processSlippage = function _API_processSlippage(indexPrice, long, slippage) {
460
- const raw = long ? (indexPrice * (1 + slippage)) : (indexPrice * (1 - slippage));
461
- return BigInt(Math.round(raw * 1e18));
462
- };
@@ -1,66 +0,0 @@
1
- interface IVault {
2
- weight: string;
3
- reservingFeeModel: string;
4
- }
5
- interface ISymbol {
6
- supportedCollaterals: string[];
7
- fundingFeeModel: string;
8
- positionConfig: string;
9
- }
10
- interface ICoin {
11
- decimals: number;
12
- module: string;
13
- metadata: string;
14
- treasury: string | null;
15
- }
16
- type IVersionedContract = string;
17
- type IFeeder = Record<string, IVersionedContract>;
18
- export interface IConsts {
19
- zoCore: {
20
- package: string;
21
- upgradeCap: string;
22
- adminCap: string;
23
- market: IVersionedContract;
24
- zlpMetadata: IVersionedContract;
25
- rebaseFeeModel: IVersionedContract;
26
- vaultsParent: string;
27
- symbolsParent: string;
28
- positionsParent: string;
29
- vaults: Record<string, IVault>;
30
- symbols: Record<string, ISymbol>;
31
- referralsParent: string;
32
- ordersParent: string;
33
- };
34
- pythFeeder: {
35
- package: string;
36
- state: IVersionedContract;
37
- wormhole: {
38
- package: string;
39
- state: IVersionedContract;
40
- };
41
- feeder: IFeeder;
42
- };
43
- coins: Record<string, ICoin>;
44
- zoStaking: {
45
- package: string;
46
- upgradeCap: string;
47
- adminCap: string;
48
- pool: string;
49
- };
50
- }
51
- export declare enum Network {
52
- MAINNET = "mainnet",
53
- TESTNET = "testnet",
54
- DEVNET = "devnet"
55
- }
56
- export declare function getConsts(network: Network): IConsts;
57
- export declare const ZLP_TOKEN_DECIMALS = 6;
58
- export declare const SECONDS_PER_EIGHT_HOUR: number;
59
- export declare function getPythFeederToPriceId(network: Network): Record<string, string>;
60
- export declare function getPriceIdToPythFeeder(network: Network): Record<string, string>;
61
- export declare function getPythFeederToId(network: Network): Record<string, string>;
62
- export declare const ALLOW_TRADE_NO_TRADE = 0;
63
- export declare const ALLOW_TRADE_CAN_TRADE = 1;
64
- export declare const ALLOW_TRADE_MUST_TRADE = 2;
65
- export {};
66
- //# sourceMappingURL=index.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/consts/index.ts"],"names":[],"mappings":"AAQA,UAAU,MAAM;IACd,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,UAAU,OAAO;IACf,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,KAAK,kBAAkB,GAAG,MAAM,CAAA;AAEhC,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAEjD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,kBAAkB,CAAA;QAC1B,WAAW,EAAE,kBAAkB,CAAA;QAC/B,cAAc,EAAE,kBAAkB,CAAA;QAClC,YAAY,EAAE,MAAM,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAA;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,kBAAkB,CAAA;QACzB,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,kBAAkB,CAAA;SAC1B,CAAA;QACD,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAyBD,oBAAY,OAAO;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAYnD;AAED,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC,eAAO,MAAM,sBAAsB,QAAc,CAAA;AAEjD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB/E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU1E;AAED,eAAO,MAAM,oBAAoB,IAAI,CAAA;AACrC,eAAO,MAAM,qBAAqB,IAAI,CAAA;AACtC,eAAO,MAAM,sBAAsB,IAAI,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/consts/index.ts"],"names":[],"mappings":"AAQA,UAAU,MAAM;IACd,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,UAAU,OAAO;IACf,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,KAAK,kBAAkB,GAAG,MAAM,CAAA;AAEhC,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAEjD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,kBAAkB,CAAA;QAC1B,WAAW,EAAE,kBAAkB,CAAA;QAC/B,cAAc,EAAE,kBAAkB,CAAA;QAClC,YAAY,EAAE,MAAM,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAA;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,kBAAkB,CAAA;QACzB,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,kBAAkB,CAAA;SAC1B,CAAA;QACD,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAyBD,oBAAY,OAAO;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAYnD;AAED,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC,eAAO,MAAM,sBAAsB,QAAc,CAAA;AAEjD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB/E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU1E;AAED,eAAO,MAAM,oBAAoB,IAAI,CAAA;AACrC,eAAO,MAAM,qBAAqB,IAAI,CAAA;AACtC,eAAO,MAAM,sBAAsB,IAAI,CAAA"}
@@ -1,94 +0,0 @@
1
- import { reverseKeyValue } from "../utils.mjs";
2
- import mainnetJson from "./deployments-mainnet.json" with { type: "json" };
3
- import testnetJson from "./deployments-testnet.json" with { type: "json" };
4
- import PriceIdToObjectIdMainnet from "./price_id_to_object_id.mainnet.json" with { type: "json" };
5
- import PriceIdToObjectIdTestnet from "./price_id_to_object_id.testnet.json" with { type: "json" };
6
- import mainnetStakingJson from "./staking/deployments-mainnet.json" with { type: "json" };
7
- import testnetStakingJson from "./staking/deployments-testnet.json" with { type: "json" };
8
- function toCamelCase(str) {
9
- return str.replaceAll(/_([a-z])/g, (_, letter) => letter.toUpperCase());
10
- }
11
- function parse(obj) {
12
- if (typeof obj !== 'object' || obj === null) {
13
- return obj;
14
- }
15
- if (Array.isArray(obj)) {
16
- return obj.map(item => parse(item));
17
- }
18
- const newObj = {};
19
- for (const key in obj) {
20
- if (Object.hasOwn(obj, key)) {
21
- const camelCaseKey = toCamelCase(key);
22
- newObj[camelCaseKey] = parse(obj[key]);
23
- }
24
- }
25
- return newObj;
26
- }
27
- export var Network;
28
- (function (Network) {
29
- Network["MAINNET"] = "mainnet";
30
- Network["TESTNET"] = "testnet";
31
- Network["DEVNET"] = "devnet";
32
- })(Network || (Network = {}));
33
- function throwNetworkError(network) {
34
- throw new Error(`Unknown network: ${network}`);
35
- }
36
- export function getConsts(network) {
37
- switch (network) {
38
- case Network.TESTNET: {
39
- return { ...parse(testnetJson), ...parse(testnetStakingJson) };
40
- }
41
- case Network.MAINNET: {
42
- return { ...parse(mainnetJson), ...parse(mainnetStakingJson) };
43
- }
44
- default: {
45
- return throwNetworkError(network);
46
- }
47
- }
48
- }
49
- export const ZLP_TOKEN_DECIMALS = 6;
50
- export const SECONDS_PER_EIGHT_HOUR = 8 * 60 * 60;
51
- export function getPythFeederToPriceId(network) {
52
- switch (network) {
53
- case Network.TESTNET: {
54
- return reverseKeyValue(PriceIdToObjectIdTestnet);
55
- }
56
- case Network.MAINNET: {
57
- return reverseKeyValue(PriceIdToObjectIdMainnet);
58
- }
59
- default: {
60
- return throwNetworkError(network);
61
- }
62
- }
63
- }
64
- export function getPriceIdToPythFeeder(network) {
65
- let priceIdToFeeder = {};
66
- switch (network) {
67
- case Network.TESTNET: {
68
- priceIdToFeeder = PriceIdToObjectIdTestnet;
69
- break;
70
- }
71
- case Network.MAINNET: {
72
- priceIdToFeeder = PriceIdToObjectIdMainnet;
73
- break;
74
- }
75
- default: {
76
- throw new Error(`Unknown network: ${network}`);
77
- }
78
- }
79
- return priceIdToFeeder;
80
- }
81
- export function getPythFeederToId(network) {
82
- const feederToId = {};
83
- const consts = getConsts(network);
84
- for (const key in consts.pythFeeder.feeder) {
85
- if (Object.hasOwn(consts.pythFeeder.feeder, key)) {
86
- const contract = consts.pythFeeder.feeder[key];
87
- feederToId[contract] = key;
88
- }
89
- }
90
- return feederToId;
91
- }
92
- export const ALLOW_TRADE_NO_TRADE = 0;
93
- export const ALLOW_TRADE_CAN_TRADE = 1;
94
- export const ALLOW_TRADE_MUST_TRADE = 2;
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.d.cts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}