@clonegod/ttd-sol-common 1.0.62 → 1.0.64

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.
@@ -67,6 +67,10 @@ class AppConfig extends events_1.EventEmitter {
67
67
  const refresh_trade_runtime = (is_sussess, event) => __awaiter(this, void 0, void 0, function* () {
68
68
  (0, dist_1.log_info)(`subscribe_config_change_event, callback`, { is_sussess, event });
69
69
  if (event.event_type === dist_1.REDIS_EVENT_TYPE_CONFIG_CHANGE.GROUP_CONFIG_CHANGE) {
70
+ if (!this.trade_runtime) {
71
+ (0, dist_1.log_warn)(`refresh_trade_runtime, skip...`);
72
+ return;
73
+ }
70
74
  this.trade_runtime = yield this.arb_cache.create_trade_runtime(this.trade_runtime.chain_id, this.trade_runtime.group.id, this.trade_runtime.dex_id, this.trade_runtime.pair_name);
71
75
  }
72
76
  });
@@ -1,4 +1,5 @@
1
1
  import { PriceMessageType, QuoteTimeInfoType, StandardPoolInfoType } from '@clonegod/ttd-common';
2
2
  import { AppConfig } from '../appconfig';
3
+ export declare const get_quote_token_decimals: (pool_info: StandardPoolInfoType) => number;
3
4
  export declare function to_price_message(appConfig: AppConfig, quote_amount_usd: number, tx_price: number, quote_ask_price: number, quote_bid_price: number, pool_info: StandardPoolInfoType, time: QuoteTimeInfoType): Promise<PriceMessageType>;
4
5
  export declare function normalize_pair_name(priceMessage: PriceMessageType): void;
@@ -12,12 +12,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.normalize_pair_name = exports.to_price_message = void 0;
15
+ exports.normalize_pair_name = exports.to_price_message = exports.get_quote_token_decimals = void 0;
16
16
  const decimal_js_1 = __importDefault(require("decimal.js"));
17
17
  const uuid_1 = require("uuid");
18
18
  const dist_1 = require("@clonegod/ttd-common/dist");
19
+ const get_quote_token_decimals = (pool_info) => {
20
+ let decimals = 9;
21
+ let { tokenA, tokenB, quote_token } = pool_info;
22
+ if (tokenA.symbol === quote_token) {
23
+ decimals = tokenA.decimals;
24
+ }
25
+ if (tokenB.symbol === quote_token) {
26
+ decimals = tokenB.decimals;
27
+ }
28
+ return decimals;
29
+ };
30
+ exports.get_quote_token_decimals = get_quote_token_decimals;
19
31
  function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price, quote_bid_price, pool_info, time) {
20
32
  return __awaiter(this, void 0, void 0, function* () {
33
+ let quote_token_decimals = (0, exports.get_quote_token_decimals)(pool_info);
21
34
  let { pool_address, tokenA, tokenB } = pool_info;
22
35
  let { dex_id, pool_name, fee_rate, is_reverse_token } = yield appConfig.arb_cache.get_one_pool_info(pool_address);
23
36
  let _dex_id = dex_id;
@@ -26,8 +39,8 @@ function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price
26
39
  let unique_orderbook_id = (0, dist_1.format_unique_orderbook_id)(chain_id, _dex_id, pool_address, fee_rate);
27
40
  time.price_time = new Date().getTime();
28
41
  let fee_rate_bps = fee_rate / 100100;
29
- let ask_price = getAskPrice(new decimal_js_1.default(quote_ask_price), fee_rate_bps * 0);
30
- let bid_price = getBidPrice(new decimal_js_1.default(quote_bid_price), fee_rate_bps * 0);
42
+ let ask_price = getAskPrice(new decimal_js_1.default(quote_ask_price), fee_rate_bps * 0, quote_token_decimals);
43
+ let bid_price = getBidPrice(new decimal_js_1.default(quote_bid_price), fee_rate_bps * 0, quote_token_decimals);
31
44
  let price_message = {
32
45
  chain_id,
33
46
  dex_id,
@@ -54,7 +67,7 @@ function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price
54
67
  name: tokenB.name,
55
68
  enable: true,
56
69
  },
57
- tx_price: tx_price === null || tx_price === void 0 ? void 0 : tx_price.toFixed(8),
70
+ tx_price: tx_price === null || tx_price === void 0 ? void 0 : tx_price.toFixed(quote_token_decimals),
58
71
  quote_amount_usd,
59
72
  ask: {
60
73
  price: ask_price,
@@ -71,11 +84,11 @@ function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price
71
84
  });
72
85
  }
73
86
  exports.to_price_message = to_price_message;
74
- const getAskPrice = (price, feeRate) => {
75
- return price.mul(1 + feeRate).toFixed(8);
87
+ const getAskPrice = (price, feeRate, quote_token_decimals) => {
88
+ return price.mul(1 + feeRate).toFixed(quote_token_decimals);
76
89
  };
77
- const getBidPrice = (price, feeRate) => {
78
- return price.mul(1 - feeRate).toFixed(8);
90
+ const getBidPrice = (price, feeRate, quote_token_decimals) => {
91
+ return price.mul(1 - feeRate).toFixed(quote_token_decimals);
79
92
  };
80
93
  function normalize_pair_name(priceMessage) {
81
94
  let { pool_name, is_reverse_token } = priceMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clonegod/ttd-sol-common",
3
- "version": "1.0.62",
3
+ "version": "1.0.64",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "types/index.d.ts",