@clonegod/ttd-core 2.0.26 → 2.0.28

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.
@@ -11,4 +11,5 @@ export declare class ArbEventPublisher {
11
11
  publish_order_event(group_id: string, pair: string, dex_id: DEX_ID, message: RedisOrderEventMessageType): Promise<void>;
12
12
  publish_wallet_raw_tx_event(group_id: string, wallet: string, message: any): Promise<void>;
13
13
  publish_tx_result_event(group_id: string, pair: string, message: TradeResponseType): Promise<void>;
14
+ publish_new_block_event(chain_id: string, message: any): Promise<void>;
14
15
  }
@@ -73,5 +73,16 @@ class ArbEventPublisher {
73
73
  });
74
74
  });
75
75
  }
76
+ publish_new_block_event(chain_id, message) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const channel = (0, index_1.get_new_block_channel_name)(chain_id);
79
+ yield this.redis_cmd.publish(channel, JSON.stringify(message));
80
+ (0, index_1.log_debug)(`publish_new_block_event, success`, {
81
+ channel,
82
+ chain_id,
83
+ block_number: message.block_number
84
+ });
85
+ });
86
+ }
76
87
  }
77
88
  exports.ArbEventPublisher = ArbEventPublisher;
@@ -14,4 +14,5 @@ export declare class ArbEventSubscriber {
14
14
  subscribe_order_event(group_id: string, pair: string, dex_id: DEX_ID, callback: Function): Promise<void>;
15
15
  subscribe_wallet_raw_tx_result(group_id: string, wallet: string, callback: Function): Promise<void>;
16
16
  subscribe_tx_result(group_id: string, pair: string, callback: Function): Promise<void>;
17
+ subscribe_new_block(chain_id: string, callback: Function): Promise<void>;
17
18
  }
@@ -162,5 +162,16 @@ class ArbEventSubscriber {
162
162
  (0, index_1.log_info)(`subscribe_tx_result, success`, { channel });
163
163
  });
164
164
  }
165
+ subscribe_new_block(chain_id, callback) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ const channel = (0, index_1.get_new_block_channel_name)(chain_id);
168
+ const listener = (message, _channel) => {
169
+ (0, index_1.log_info)('subscribe_new_block => on event', { channel, message });
170
+ callback(message);
171
+ };
172
+ yield this.redis_cmd.subscribe(channel, listener);
173
+ (0, index_1.log_info)(`subscribe_new_block, success`, { channel });
174
+ });
175
+ }
165
176
  }
166
177
  exports.ArbEventSubscriber = ArbEventSubscriber;
package/dist/index.d.ts CHANGED
@@ -100,6 +100,7 @@ export declare const get_quote_channel_name: (chain_id: string) => string;
100
100
  export declare const get_order_channel_name: (group_id: string, pair: string, dex_id: DEX_ID) => string;
101
101
  export declare const get_wallet_raw_tx_channel_name: (group_id: string, wallet: string) => string;
102
102
  export declare const get_tx_result_channel_name: (group_id: string, pair: string) => string;
103
+ export declare const get_new_block_channel_name: (chain_id: string) => string;
103
104
  export declare enum REDIS_EVENT_CHANNEL {
104
105
  CONFIG_CHANGE = "CONFIG_CHANGE",
105
106
  QUOTE = "QUOTE",
@@ -107,7 +108,8 @@ export declare enum REDIS_EVENT_CHANNEL {
107
108
  ORDER_RESULT = "ORDER_RESULT",
108
109
  TX_RAW_DATA = "TX_RAW_DATA",
109
110
  TX_RESULT = "TX_RESULT",
110
- TRADE_INSTANCE_STATUS = "TRADE_INSTANCE_STATUS"
111
+ TRADE_INSTANCE_STATUS = "TRADE_INSTANCE_STATUS",
112
+ NEW_BLOCK = "NEW_BLOCK"
111
113
  }
112
114
  export declare enum REDIS_EVENT_TYPE_CONFIG_CHANGE {
113
115
  TOKEN_CONFIG_CHANGE = "TOKEN_CONFIG_CHANGE",
package/dist/index.js CHANGED
@@ -48,8 +48,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
48
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.DATE_TIME_FORMAT_NO_WHITESPACE = exports.DATE_TIME_FORMAT_DEFAULT = exports.to_json_str = exports.DecimalUtil = exports.generateRandomNumber = exports.LOG = exports._active_log_level = exports.LOG_LEVEL = exports.REDIS_EVENT_TYPE_TRADE_INSTANCE_CHANGE = exports.REDIS_EVENT_TYPE_ORDER = exports.REDIS_EVENT_TYPE_QUOTE = exports.REDIS_EVENT_TYPE_CONFIG_CHANGE = exports.REDIS_EVENT_CHANNEL = exports.get_tx_result_channel_name = exports.get_wallet_raw_tx_channel_name = exports.get_order_channel_name = exports.get_quote_channel_name = exports.get_config_channel_name = exports.get_cache_key = exports.getArbEventSubscriber = exports.getArbEventPublisher = exports.getArbCache = exports.getRedisCommamd = exports.getLoadingCache = exports.getRedisCache = exports.format_order_lock_key = exports.format_unique_order_msg_id = exports.parse_unique_orderbook_id = exports.format_unique_orderbook_id = exports.format_symbol_name = exports.LOCAL_EVENT_NAME = exports.CACHE_KEY_TYPE = exports.OnChainDataSubscribeType = exports.TradeErrorCodeType = exports.SystemErrorCodeType = exports.TRADE_TYPE = exports.GROUP_ID = exports.DEX_ID = exports.CHAIN_ID = exports.STREAMING_TRANSACTION_CONFIRMED = exports.TRANSACTION_STATE_FAILED = exports.TRANSACTION_STATE_SUCCESS = exports.TRANSACTION_STATE_PROCESSING = exports.QUOTE_AMOUNT_USD_MAX = exports.QUOTE_AMOUNT_USD_MIN = exports.REGEX_HEX_PREFIX = exports.PROCESSING = exports.NOT_FOUND = exports.SUCCESS = exports.FAILED = void 0;
52
- exports.execute_bash = exports.inspect_arb_local_cache = exports.save_trade_execution_logs = exports.parse_trade_cmdline_args = exports.get_input_out_token_fix = exports.get_input_out_token = exports.calc_amount_in_token = exports.estimate_amount_in_token = exports.failed = exports.success = exports.home_dir = exports.postJSON = exports.deep_merge_object = exports.isArray = exports.isTrue = exports.deep_clone = exports.uuid = void 0;
51
+ exports.DATE_TIME_FORMAT_DEFAULT = exports.to_json_str = exports.DecimalUtil = exports.generateRandomNumber = exports.LOG = exports._active_log_level = exports.LOG_LEVEL = exports.REDIS_EVENT_TYPE_TRADE_INSTANCE_CHANGE = exports.REDIS_EVENT_TYPE_ORDER = exports.REDIS_EVENT_TYPE_QUOTE = exports.REDIS_EVENT_TYPE_CONFIG_CHANGE = exports.REDIS_EVENT_CHANNEL = exports.get_new_block_channel_name = exports.get_tx_result_channel_name = exports.get_wallet_raw_tx_channel_name = exports.get_order_channel_name = exports.get_quote_channel_name = exports.get_config_channel_name = exports.get_cache_key = exports.getArbEventSubscriber = exports.getArbEventPublisher = exports.getArbCache = exports.getRedisCommamd = exports.getLoadingCache = exports.getRedisCache = exports.format_order_lock_key = exports.format_unique_order_msg_id = exports.parse_unique_orderbook_id = exports.format_unique_orderbook_id = exports.format_symbol_name = exports.LOCAL_EVENT_NAME = exports.CACHE_KEY_TYPE = exports.OnChainDataSubscribeType = exports.TradeErrorCodeType = exports.SystemErrorCodeType = exports.TRADE_TYPE = exports.GROUP_ID = exports.DEX_ID = exports.CHAIN_ID = exports.STREAMING_TRANSACTION_CONFIRMED = exports.TRANSACTION_STATE_FAILED = exports.TRANSACTION_STATE_SUCCESS = exports.TRANSACTION_STATE_PROCESSING = exports.QUOTE_AMOUNT_USD_MAX = exports.QUOTE_AMOUNT_USD_MIN = exports.REGEX_HEX_PREFIX = exports.PROCESSING = exports.NOT_FOUND = exports.SUCCESS = exports.FAILED = void 0;
52
+ exports.execute_bash = exports.inspect_arb_local_cache = exports.save_trade_execution_logs = exports.parse_trade_cmdline_args = exports.get_input_out_token_fix = exports.get_input_out_token = exports.calc_amount_in_token = exports.estimate_amount_in_token = exports.failed = exports.success = exports.home_dir = exports.postJSON = exports.deep_merge_object = exports.isArray = exports.isTrue = exports.deep_clone = exports.uuid = exports.DATE_TIME_FORMAT_NO_WHITESPACE = void 0;
53
53
  exports._caller = _caller;
54
54
  exports.log_trace = log_trace;
55
55
  exports.log_debug = log_debug;
@@ -174,7 +174,7 @@ var LOCAL_EVENT_NAME;
174
174
  LOCAL_EVENT_NAME["EVENT_WALLET_TRANSACTION_NEW_TXID"] = "EVENT_WALLET_TRANSACTION_NEW_TXID";
175
175
  })(LOCAL_EVENT_NAME || (exports.LOCAL_EVENT_NAME = LOCAL_EVENT_NAME = {}));
176
176
  const format_symbol_name = (symbol) => {
177
- return symbol.replace('USDC', 'USDT')
177
+ return symbol.replace('USDC', 'USDT').replace('USD1', 'USDT')
178
178
  .replace('WTRX', 'TRX')
179
179
  .replace('$', '')
180
180
  .replace('WSOL', 'SOL')
@@ -263,6 +263,10 @@ const get_tx_result_channel_name = (group_id, pair) => {
263
263
  return `${REDIS_EVENT_CHANNEL.TX_RESULT}_${group_id}_${pair}`.toUpperCase();
264
264
  };
265
265
  exports.get_tx_result_channel_name = get_tx_result_channel_name;
266
+ const get_new_block_channel_name = (chain_id) => {
267
+ return `${REDIS_EVENT_CHANNEL.NEW_BLOCK}_${chain_id}`.toUpperCase();
268
+ };
269
+ exports.get_new_block_channel_name = get_new_block_channel_name;
266
270
  var REDIS_EVENT_CHANNEL;
267
271
  (function (REDIS_EVENT_CHANNEL) {
268
272
  REDIS_EVENT_CHANNEL["CONFIG_CHANGE"] = "CONFIG_CHANGE";
@@ -272,6 +276,7 @@ var REDIS_EVENT_CHANNEL;
272
276
  REDIS_EVENT_CHANNEL["TX_RAW_DATA"] = "TX_RAW_DATA";
273
277
  REDIS_EVENT_CHANNEL["TX_RESULT"] = "TX_RESULT";
274
278
  REDIS_EVENT_CHANNEL["TRADE_INSTANCE_STATUS"] = "TRADE_INSTANCE_STATUS";
279
+ REDIS_EVENT_CHANNEL["NEW_BLOCK"] = "NEW_BLOCK";
275
280
  })(REDIS_EVENT_CHANNEL || (exports.REDIS_EVENT_CHANNEL = REDIS_EVENT_CHANNEL = {}));
276
281
  var REDIS_EVENT_TYPE_CONFIG_CHANGE;
277
282
  (function (REDIS_EVENT_TYPE_CONFIG_CHANGE) {
@@ -33,7 +33,7 @@ exports.get_quote_token_decimals = get_quote_token_decimals;
33
33
  function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price, quote_bid_price, pool_info, time, slot) {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
35
  let { pool_address, tokenA, tokenB } = pool_info;
36
- let { dex_id, pool_name, fee_rate, is_reverse_token, pair } = yield appConfig.arb_cache.get_one_pool_info(pool_address);
36
+ let { dex_id, pool_name, fee_rate, is_reverse_token } = yield appConfig.arb_cache.get_one_pool_info(pool_address);
37
37
  let _dex_id = dex_id;
38
38
  let price_id = (0, uuid_1.v4)().replace(/-/gi, '');
39
39
  let chain_id = appConfig.env_args.chain_id;
@@ -49,7 +49,7 @@ function to_price_message(appConfig, quote_amount_usd, tx_price, quote_ask_price
49
49
  pool_id: pool_address,
50
50
  pool_name,
51
51
  fee_rate,
52
- pair,
52
+ pair: pool_name,
53
53
  unique_orderbook_id,
54
54
  is_reverse_token,
55
55
  tokenA: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clonegod/ttd-core",
3
- "version": "2.0.26",
3
+ "version": "2.0.28",
4
4
  "description": "Common types and utilities for trading systems - use `npm run push` to publish",
5
5
  "main": "dist/index.js",
6
6
  "types": "types/index.d.ts",
package/types/index.d.ts CHANGED
@@ -652,6 +652,7 @@ export declare class ArbEventPublisher {
652
652
  publish_order_event(group_id: string, pair: string, dex_id: DEX_ID, message: RedisOrderEventMessageType): Promise<void>;
653
653
  publish_wallet_raw_tx_event(group_id: string, wallet: string, message: any): Promise<void>;
654
654
  publish_tx_result_event(group_id: string, pair: string, message: TradeResponseType): Promise<void>;
655
+ publish_new_block_event(chain_id: string, message: any): Promise<void>;
655
656
  }
656
657
 
657
658
  export declare class ArbEventSubscriber {
@@ -668,6 +669,7 @@ export declare class ArbEventSubscriber {
668
669
  subscribe_order_event(group_id: string, pair: string, dex_id: DEX_ID, callback: Function): Promise<void>;
669
670
  subscribe_wallet_raw_tx_result(group_id: string, wallet: string, callback: Function): Promise<void>;
670
671
  subscribe_tx_result(group_id: string, pair: string, callback: Function): Promise<void>;
672
+ subscribe_new_block(chain_id: string, callback: Function): Promise<void>;
671
673
  }
672
674
 
673
675
  export declare class LoadingCache {