@deriverse/kit 1.0.30 → 1.0.32

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/index.d.ts CHANGED
@@ -8,7 +8,13 @@ export * from './logs_models';
8
8
  * @param price Current market price
9
9
  * @returns Price step
10
10
  */
11
- export declare function getPriceStep(price: number): number;
11
+ export declare function getSpotPriceStep(price: number): number;
12
+ /**
13
+ * Get price step between orderbook lines depending on curent price
14
+ * @param price Current market price
15
+ * @returns Price step
16
+ */
17
+ export declare function getPerpPriceStep(price: number): number;
12
18
  /**
13
19
  * Main class to operate with Deriverse
14
20
  * @property {number} originalClientId Deriverse main client ID
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
23
  });
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Engine = exports.getPriceStep = void 0;
26
+ exports.Engine = exports.getPerpPriceStep = exports.getSpotPriceStep = void 0;
27
27
  const kit_1 = require("@solana/kit");
28
28
  const system_1 = require("@solana-program/system");
29
29
  const bs58_1 = require("bs58");
@@ -48,7 +48,7 @@ const nullOrder = 0xFFFF;
48
48
  * @param price Current market price
49
49
  * @returns Price step
50
50
  */
51
- function getPriceStep(price) {
51
+ function getSpotPriceStep(price) {
52
52
  if (price <= 0.00001) {
53
53
  return 0.000000001;
54
54
  }
@@ -161,7 +161,126 @@ function getPriceStep(price) {
161
161
  return 1000;
162
162
  }
163
163
  }
164
- exports.getPriceStep = getPriceStep;
164
+ exports.getSpotPriceStep = getSpotPriceStep;
165
+ /**
166
+ * Get price step between orderbook lines depending on curent price
167
+ * @param price Current market price
168
+ * @returns Price step
169
+ */
170
+ function getPerpPriceStep(price) {
171
+ if (price <= 0.00005) {
172
+ return 0.000000001;
173
+ }
174
+ else if (price <= 0.0001) {
175
+ return 0.000000002;
176
+ }
177
+ else if (price <= 0.0002) {
178
+ return 0.000000005;
179
+ }
180
+ else if (price <= 0.0005) {
181
+ return 0.00000001;
182
+ }
183
+ else if (price <= 0.001) {
184
+ return 0.00000002;
185
+ }
186
+ else if (price <= 0.002) {
187
+ return 0.00000005;
188
+ }
189
+ else if (price <= 0.005) {
190
+ return 0.0000001;
191
+ }
192
+ else if (price <= 0.01) {
193
+ return 0.0000002;
194
+ }
195
+ else if (price <= 0.02) {
196
+ return 0.0000005;
197
+ }
198
+ else if (price <= 0.05) {
199
+ return 0.000001;
200
+ }
201
+ else if (price <= 0.1) {
202
+ return 0.000002;
203
+ }
204
+ else if (price <= 0.2) {
205
+ return 0.000005;
206
+ }
207
+ else if (price <= 0.5) {
208
+ return 0.00001;
209
+ }
210
+ else if (price <= 1) {
211
+ return 0.00002;
212
+ }
213
+ else if (price <= 2) {
214
+ return 0.00005;
215
+ }
216
+ else if (price <= 5) {
217
+ return 0.0001;
218
+ }
219
+ else if (price <= 10) {
220
+ return 0.0002;
221
+ }
222
+ else if (price <= 20) {
223
+ return 0.0005;
224
+ }
225
+ else if (price <= 50) {
226
+ return 0.001;
227
+ }
228
+ else if (price <= 100) {
229
+ return 0.002;
230
+ }
231
+ else if (price <= 200) {
232
+ return 0.005;
233
+ }
234
+ else if (price <= 500) {
235
+ return 0.01;
236
+ }
237
+ else if (price <= 1000) {
238
+ return 0.02;
239
+ }
240
+ else if (price <= 2000) {
241
+ return 0.05;
242
+ }
243
+ else if (price <= 5000) {
244
+ return 0.1;
245
+ }
246
+ else if (price <= 10000) {
247
+ return 0.2;
248
+ }
249
+ else if (price <= 20000) {
250
+ return 0.5;
251
+ }
252
+ else if (price <= 50000) {
253
+ return 1;
254
+ }
255
+ else if (price <= 100000) {
256
+ return 2;
257
+ }
258
+ else if (price <= 200000) {
259
+ return 5;
260
+ }
261
+ else if (price <= 500000) {
262
+ return 10;
263
+ }
264
+ else if (price <= 1000000) {
265
+ return 20;
266
+ }
267
+ else if (price <= 2000000) {
268
+ return 50;
269
+ }
270
+ else if (price <= 5000000) {
271
+ return 100;
272
+ }
273
+ else if (price <= 10000000) {
274
+ return 200;
275
+ }
276
+ else if (price <= 20000000) {
277
+ return 500;
278
+ }
279
+ else {
280
+ return 1000;
281
+ }
282
+ }
283
+ exports.getPerpPriceStep = getPerpPriceStep;
165
284
  function findAssociatedTokenAddress(owner, tokenProgramId, mint) {
166
285
  return __awaiter(this, void 0, void 0, function* () {
167
286
  const address = (yield (0, kit_1.getProgramDerivedAddress)({
@@ -388,6 +507,22 @@ class Engine {
388
507
  }
389
508
  break;
390
509
  }
510
+ case logs_models_1.LogType.moveSpot: {
511
+ if (buffer.length == logs_models_1.MoveSpotAvailFundsReportModel.LENGTH) {
512
+ let report = logs_models_1.MoveSpotAvailFundsReportModel.fromBuffer(buffer);
513
+ if (this.uiNumbers) {
514
+ const instrInfo = this.instruments.get(report.instrId);
515
+ if (instrInfo) {
516
+ assetTokenDec = this.tokenDec(instrInfo.header.assetTokenId);
517
+ crncyTokenDec = this.tokenDec(instrInfo.header.crncyTokenId);
518
+ report.qty /= assetTokenDec;
519
+ report.crncy /= crncyTokenDec;
520
+ }
521
+ }
522
+ logs.push(report);
523
+ }
524
+ break;
525
+ }
391
526
  case logs_models_1.LogType.earnings: {
392
527
  if (buffer.length == logs_models_1.EarningsReportModel.LENGTH) {
393
528
  let report = logs_models_1.EarningsReportModel.fromBuffer(buffer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deriverse/kit",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",