@clonegod/ttd-sol-common 2.0.67 → 2.0.68
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/appconfig/SolanaQuoteAppConfig.d.ts +9 -0
- package/dist/appconfig/SolanaQuoteAppConfig.js +29 -0
- package/dist/appconfig/SolanaTradeAppConfig.d.ts +13 -0
- package/dist/{config → appconfig}/SolanaTradeAppConfig.js +25 -0
- package/dist/appconfig/ensure_core_env.d.ts +1 -0
- package/dist/appconfig/ensure_core_env.js +18 -0
- package/dist/appconfig/index.d.ts +5 -0
- package/dist/appconfig/index.js +21 -0
- package/dist/appconfig/sol_dex_env_args.d.ts +5 -0
- package/dist/appconfig/sol_dex_env_args.js +29 -0
- package/dist/appconfig/sol_env_args.d.ts +17 -0
- package/dist/appconfig/sol_env_args.js +37 -0
- package/dist/common/get_wallet_token_account.js +13 -16
- package/dist/grpc/grpc_provider_registry.d.ts +14 -0
- package/dist/grpc/grpc_provider_registry.js +70 -0
- package/dist/grpc/index.d.ts +1 -0
- package/dist/grpc/index.js +17 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/quote/abstract_dex_quote.d.ts +68 -0
- package/dist/quote/abstract_dex_quote.js +208 -0
- package/dist/quote/chain_ops.d.ts +18 -0
- package/dist/quote/chain_ops.js +66 -0
- package/dist/quote/depth/clmm_depth_calculator.d.ts +42 -0
- package/dist/quote/depth/clmm_depth_calculator.js +173 -0
- package/dist/quote/depth/index.d.ts +20 -0
- package/dist/quote/depth/index.js +100 -0
- package/dist/quote/index.d.ts +9 -0
- package/dist/quote/index.js +9 -0
- package/dist/quote/pool_event.d.ts +20 -0
- package/dist/quote/pool_event.js +22 -0
- package/dist/quote/pool_subscription_registry.d.ts +4 -0
- package/dist/quote/pool_subscription_registry.js +62 -0
- package/dist/quote/quote_amount.d.ts +4 -0
- package/dist/quote/quote_amount.js +24 -0
- package/dist/quote/quote_trace.d.ts +16 -0
- package/dist/quote/quote_trace.js +40 -0
- package/dist/quote/tick/clmm_tick_math.d.ts +5 -0
- package/dist/quote/tick/clmm_tick_math.js +61 -0
- package/dist/quote/tick/index.d.ts +1 -0
- package/dist/{config → quote/tick}/index.js +1 -1
- package/dist/quote/verify/index.d.ts +1 -0
- package/dist/quote/verify/index.js +17 -0
- package/dist/quote/verify/quote_price_verify.d.ts +30 -0
- package/dist/quote/verify/quote_price_verify.js +247 -0
- package/dist/trade/index.d.ts +0 -1
- package/dist/trade/index.js +0 -1
- package/dist/trade/tx_builder.d.ts +1 -1
- package/dist/trade/tx_result_parse.js +1 -0
- package/dist/types/index.d.ts +9 -1
- package/dist/types/index.js +2 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/trade_direction.d.ts +14 -0
- package/dist/utils/trade_direction.js +23 -0
- package/package.json +4 -4
- package/src/appconfig/SolanaQuoteAppConfig.ts +55 -0
- package/src/appconfig/SolanaTradeAppConfig.ts +117 -0
- package/src/appconfig/ensure_core_env.ts +28 -0
- package/src/appconfig/index.ts +5 -0
- package/src/appconfig/sol_dex_env_args.ts +52 -0
- package/src/appconfig/sol_env_args.ts +79 -0
- package/src/common/get_wallet_token_account.ts +27 -33
- package/src/grpc/grpc_provider_registry.ts +103 -0
- package/src/grpc/index.ts +1 -0
- package/src/index.ts +3 -0
- package/src/quote/abstract_dex_quote.ts +337 -0
- package/src/quote/chain_ops.ts +91 -0
- package/src/quote/depth/clmm_depth_calculator.ts +321 -0
- package/src/quote/depth/index.ts +167 -0
- package/src/quote/index.ts +9 -0
- package/src/quote/pool_event.ts +82 -0
- package/src/quote/pool_subscription_registry.ts +81 -0
- package/src/quote/quote_amount.ts +37 -0
- package/src/quote/quote_trace.ts +56 -0
- package/src/quote/tick/clmm_tick_math.ts +77 -0
- package/src/quote/tick/index.ts +1 -0
- package/src/quote/verify/index.ts +1 -0
- package/src/quote/verify/quote_price_verify.ts +508 -0
- package/src/trade/index.ts +0 -1
- package/src/trade/tx_builder.ts +1 -1
- package/src/trade/tx_result_parse.ts +1 -0
- package/src/types/index.ts +20 -2
- package/src/utils/index.ts +1 -0
- package/src/utils/trade_direction.ts +68 -0
- package/dist/config/SolanaTradeAppConfig.d.ts +0 -10
- package/dist/config/index.d.ts +0 -1
- package/dist/trade/SolanaTradeAppConfig.d.ts +0 -8
- package/dist/trade/SolanaTradeAppConfig.js +0 -26
- package/src/config/SolanaTradeAppConfig.ts +0 -70
- package/src/config/index.ts +0 -2
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolanaTradeAppConfig = void 0;
|
|
4
|
-
const dist_1 = require("@clonegod/ttd-core/dist");
|
|
5
|
-
class SolanaTradeAppConfig extends dist_1.AbstractTradeAppConfig {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.subscribe_wallet_raw_txn_event();
|
|
9
|
-
}
|
|
10
|
-
subscribe_wallet_raw_txn_event() {
|
|
11
|
-
const transactionHandler = async (messageStr) => {
|
|
12
|
-
let messageObj = messageStr;
|
|
13
|
-
if (typeof messageStr === 'string') {
|
|
14
|
-
messageObj = JSON.parse(messageStr);
|
|
15
|
-
}
|
|
16
|
-
const tx_id = messageObj.transaction.signature;
|
|
17
|
-
(0, dist_1.log_info)(`Received transaction result via WebSocket: ${tx_id}`);
|
|
18
|
-
this.emit(dist_1.LOCAL_EVENT_NAME.EVENT_WALLET_TRANSACTION + '#' + tx_id, messageObj);
|
|
19
|
-
};
|
|
20
|
-
const ws_port = process.env.STREAM_WS_TRADE_PORT || 10002;
|
|
21
|
-
const ws = new dist_1.WebSocketClient(`ws://localhost:${ws_port}`);
|
|
22
|
-
ws.onMessage(transactionHandler);
|
|
23
|
-
ws.connect();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.SolanaTradeAppConfig = SolanaTradeAppConfig;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { AbstractTradeAppConfig, LOCAL_EVENT_NAME, log_info, WebSocketClient } from "@clonegod/ttd-core/dist";
|
|
2
|
-
import { Connection, Keypair } from "@solana/web3.js";
|
|
3
|
-
|
|
4
|
-
export class SolanaTradeAppConfig extends AbstractTradeAppConfig {
|
|
5
|
-
|
|
6
|
-
// 子类需要设置的属性
|
|
7
|
-
public connection: Connection;
|
|
8
|
-
public keypair: Keypair;
|
|
9
|
-
|
|
10
|
-
// WebSocket 客户端实例,用于订阅交易结果
|
|
11
|
-
private ws_client: WebSocketClient | null = null;
|
|
12
|
-
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
async init() {
|
|
18
|
-
await super.init();
|
|
19
|
-
this.subscribe_wallet_raw_txn_event();
|
|
20
|
-
log_info('SolanaTradeAppConfig init ...');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// 订阅 Wallet 在链上发生的tx data
|
|
24
|
-
subscribe_wallet_raw_txn_event(): void {
|
|
25
|
-
// 检查是否已经订阅
|
|
26
|
-
if(this.is_already_subscribe_wallet_raw_txn) {
|
|
27
|
-
// 如果已订阅,检查连接状态
|
|
28
|
-
if(this.ws_client && this.ws_client.isConnected()) {
|
|
29
|
-
return;
|
|
30
|
-
} else {
|
|
31
|
-
// 连接已断开,需要重新连接
|
|
32
|
-
log_info('subscribe_wallet_raw_txn_event was subscribed but connection lost, reconnecting...');
|
|
33
|
-
if(this.ws_client) {
|
|
34
|
-
this.ws_client.disconnect();
|
|
35
|
-
this.ws_client = null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
this.is_already_subscribe_wallet_raw_txn = true;
|
|
40
|
-
|
|
41
|
-
// 定义处理函数,便于后续移除
|
|
42
|
-
const transactionHandler = async (messageStr: any) => {
|
|
43
|
-
let messageObj = messageStr
|
|
44
|
-
if(typeof messageStr === 'string') {
|
|
45
|
-
messageObj = JSON.parse(messageStr)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// console.dir(messge, { depth: null });
|
|
49
|
-
const tx_id = messageObj.transaction.signature;
|
|
50
|
-
log_info(`Received transaction result via WebSocket: ${tx_id}`);
|
|
51
|
-
|
|
52
|
-
this.emit(LOCAL_EVENT_NAME.EVENT_WALLET_TRANSACTION + '#' + tx_id, messageObj);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const ws_port = process.env.STREAM_WS_TRADE_PORT || 10002;
|
|
56
|
-
const ws_url = `ws://127.0.0.1:${ws_port}`;
|
|
57
|
-
this.ws_client = new WebSocketClient(ws_url)
|
|
58
|
-
this.ws_client.onMessage(transactionHandler);
|
|
59
|
-
this.ws_client.connect();
|
|
60
|
-
|
|
61
|
-
log_info(`subscribe_wallet_raw_txn_event, WebSocket connecting to ${ws_url}`);
|
|
62
|
-
|
|
63
|
-
// 不断开连接
|
|
64
|
-
// setTimeout(() => { ws.disconnect(); }, 6000);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
package/src/config/index.ts
DELETED