@clonegod/ttd-sui-common 1.0.7 → 1.0.9

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 (60) hide show
  1. package/dist/checkpoint_185049558.json +13761 -0
  2. package/dist/checkpoint_185049559.json +7487 -0
  3. package/dist/checkpoint_185093245_decoded.json +4887 -0
  4. package/dist/checkpoint_185093247_decoded.json +2680 -0
  5. package/dist/checkpoint_185093253_decoded.json +3115 -0
  6. package/dist/checkpoint_185094135_decoded.json +4755 -0
  7. package/dist/checkpoint_185094138_decoded.json +3603 -0
  8. package/dist/checkpoint_185094140_decoded.json +6755 -0
  9. package/dist/checkpoint_185096247_decoded.json +7230 -0
  10. package/dist/constants/index.d.ts +0 -0
  11. package/dist/constants/index.js +0 -0
  12. package/dist/grpc/grpc-connection.js +7 -1
  13. package/dist/grpc/subscription-service.js +11 -2
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +1 -0
  16. package/dist/test/test_checkpoint.d.ts +1 -0
  17. package/dist/test/test_checkpoint.js +78 -0
  18. package/dist/test/test_checkpoint_with_schema.d.ts +1 -0
  19. package/dist/test/test_checkpoint_with_schema.js +250 -0
  20. package/dist/test/test_dynamic_bcs.d.ts +1 -0
  21. package/dist/test/test_dynamic_bcs.js +82 -0
  22. package/dist/test/test_github_extractor.d.ts +1 -0
  23. package/dist/test/test_github_extractor.js +69 -0
  24. package/dist/test/test_grpc.js +0 -11
  25. package/dist/test/test_hybrid_bcs.d.ts +1 -0
  26. package/dist/test/test_hybrid_bcs.js +98 -0
  27. package/dist/test/test_schema_database.d.ts +1 -0
  28. package/dist/test/test_schema_database.js +91 -0
  29. package/dist/test/test_simple_schema.d.ts +1 -0
  30. package/dist/test/test_simple_schema.js +78 -0
  31. package/dist/type/index.d.ts +15 -34
  32. package/dist/utils/checkpoint.d.ts +7 -0
  33. package/dist/utils/checkpoint.js +26 -0
  34. package/dist/utils/checkpoint_parse.d.ts +0 -26
  35. package/dist/utils/checkpoint_parse.js +0 -277
  36. package/dist/utils/dex_event_parser.d.ts +34 -0
  37. package/dist/utils/dex_event_parser.js +132 -0
  38. package/dist/utils/dex_schema_database.d.ts +206 -0
  39. package/dist/utils/dex_schema_database.js +169 -0
  40. package/dist/utils/dynamic_bcs_parser.d.ts +21 -0
  41. package/dist/utils/dynamic_bcs_parser.js +166 -0
  42. package/dist/utils/github_schema_extractor.d.ts +20 -0
  43. package/dist/utils/github_schema_extractor.js +153 -0
  44. package/dist/utils/hybrid_bcs_parser.d.ts +22 -0
  45. package/dist/utils/hybrid_bcs_parser.js +194 -0
  46. package/dist/utils/index.d.ts +1 -1
  47. package/dist/utils/index.js +1 -1
  48. package/dist/utils/simple_schema_parser.d.ts +76 -0
  49. package/dist/utils/simple_schema_parser.js +193 -0
  50. package/package.json +2 -2
  51. package/dist/parsed_swap_transactions_2025-08-30T12-11-48-744Z.json +0 -19215
  52. package/dist/parsed_swap_transactions_2025-08-30T12-51-39-586Z.json +0 -19309
  53. package/dist/parsed_swap_transactions_2025-08-30T13-58-34-579Z.json +0 -19005
  54. package/dist/swap_transactions_2025-08-30T12-05-49-140Z.json +0 -1384
  55. package/dist/swap_transactions_2025-08-30T12-05-51-529Z.json +0 -2907
  56. package/dist/swap_transactions_2025-08-30T12-05-54-042Z.json +0 -13392
  57. package/dist/swap_transactions_2025-08-30T12-05-56-880Z.json +0 -16210
  58. package/dist/swap_transactions_2025-08-30T12-05-59-588Z.json +0 -17993
  59. package/dist/swap_transactions_2025-08-30T12-05-59-597Z.json +0 -17993
  60. package/dist/transaction_28FaeTYoctpP1VdWCuyPxNEBeaMm3ebj27kdF5umi9YL.json +0 -4754
@@ -0,0 +1,34 @@
1
+ export interface DexEventInfo {
2
+ txIndex: number;
3
+ eventIndex: number;
4
+ dexName: string;
5
+ packageId: string;
6
+ eventType: string;
7
+ eventName: string;
8
+ module: string;
9
+ sender: string;
10
+ hasContent: boolean;
11
+ contents?: any;
12
+ }
13
+ export interface DexEventStats {
14
+ totalEvents: number;
15
+ dexStats: {
16
+ [dex: string]: number;
17
+ };
18
+ eventTypeStats: {
19
+ [eventType: string]: number;
20
+ };
21
+ }
22
+ export declare class DexEventParser {
23
+ private static readonly DEX_PACKAGES;
24
+ static parseCheckpointEvents(transactions: any[]): DexEventInfo[];
25
+ private static extractEventsFromTransaction;
26
+ private static parseSingleEvent;
27
+ private static extractPackageId;
28
+ private static extractPackageFromEventType;
29
+ private static getDexName;
30
+ private static extractEventName;
31
+ static generateStats(events: DexEventInfo[]): DexEventStats;
32
+ static printStats(events: DexEventInfo[], checkpointId: string): void;
33
+ static printEventDetails(events: DexEventInfo[]): void;
34
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DexEventParser = void 0;
4
+ class DexEventParser {
5
+ static parseCheckpointEvents(transactions) {
6
+ const dexEvents = [];
7
+ transactions.forEach((transaction, txIndex) => {
8
+ const events = this.extractEventsFromTransaction(transaction, txIndex);
9
+ dexEvents.push(...events);
10
+ });
11
+ return dexEvents;
12
+ }
13
+ static extractEventsFromTransaction(transaction, txIndex) {
14
+ const events = [];
15
+ if (transaction.events && transaction.events.events) {
16
+ transaction.events.events.forEach((event, eventIndex) => {
17
+ const eventInfo = this.parseSingleEvent(event, txIndex, eventIndex);
18
+ if (eventInfo) {
19
+ events.push(eventInfo);
20
+ }
21
+ });
22
+ }
23
+ return events;
24
+ }
25
+ static parseSingleEvent(event, txIndex, eventIndex) {
26
+ try {
27
+ const packageId = this.extractPackageId(event);
28
+ const dexName = this.getDexName(packageId);
29
+ const eventName = this.extractEventName(event.event_type);
30
+ const module = event.module || 'Unknown';
31
+ const sender = event.sender || 'Unknown';
32
+ return {
33
+ txIndex: txIndex,
34
+ eventIndex: eventIndex,
35
+ dexName: dexName,
36
+ packageId: packageId,
37
+ eventType: event.event_type || 'Unknown',
38
+ eventName: eventName,
39
+ module: module,
40
+ sender: sender,
41
+ hasContent: !!(event.contents && event.contents.value),
42
+ contents: event.contents
43
+ };
44
+ }
45
+ catch (error) {
46
+ console.error('解析事件失败:', error);
47
+ return null;
48
+ }
49
+ }
50
+ static extractPackageId(event) {
51
+ if (event.package_id) {
52
+ return event.package_id;
53
+ }
54
+ if (event.event_type) {
55
+ return this.extractPackageFromEventType(event.event_type);
56
+ }
57
+ return 'unknown';
58
+ }
59
+ static extractPackageFromEventType(eventType) {
60
+ if (!eventType)
61
+ return 'unknown';
62
+ const parts = eventType.split('::');
63
+ if (parts.length >= 1 && parts[0].startsWith('0x')) {
64
+ return parts[0];
65
+ }
66
+ return 'unknown';
67
+ }
68
+ static getDexName(packageId) {
69
+ return this.DEX_PACKAGES[packageId] || 'Unknown DEX';
70
+ }
71
+ static extractEventName(eventType) {
72
+ if (!eventType)
73
+ return 'Unknown';
74
+ const parts = eventType.split('::');
75
+ return parts[parts.length - 1] || 'Unknown';
76
+ }
77
+ static generateStats(events) {
78
+ const dexStats = {};
79
+ const eventTypeStats = {};
80
+ events.forEach(event => {
81
+ dexStats[event.dexName] = (dexStats[event.dexName] || 0) + 1;
82
+ eventTypeStats[event.eventName] = (eventTypeStats[event.eventName] || 0) + 1;
83
+ });
84
+ return {
85
+ totalEvents: events.length,
86
+ dexStats: dexStats,
87
+ eventTypeStats: eventTypeStats
88
+ };
89
+ }
90
+ static printStats(events, checkpointId) {
91
+ const stats = this.generateStats(events);
92
+ console.log(`\n=== Checkpoint ${checkpointId} DEX 事件统计 ===`);
93
+ console.log(`总事件数: ${stats.totalEvents}`);
94
+ if (stats.totalEvents > 0) {
95
+ console.log('\n=== DEX 统计 ===');
96
+ Object.entries(stats.dexStats).forEach(([dex, count]) => {
97
+ console.log(`${dex}: ${count} 个事件`);
98
+ });
99
+ console.log('\n=== 事件类型统计 ===');
100
+ Object.entries(stats.eventTypeStats).forEach(([eventType, count]) => {
101
+ console.log(`${eventType}: ${count} 个事件`);
102
+ });
103
+ }
104
+ }
105
+ static printEventDetails(events) {
106
+ if (events.length === 0) {
107
+ console.log('没有找到 DEX 事件');
108
+ return;
109
+ }
110
+ console.log('\n=== DEX 事件详情 ===');
111
+ events.forEach((event, index) => {
112
+ console.log(`事件 ${index + 1}:`);
113
+ console.log(` 交易索引: ${event.txIndex}`);
114
+ console.log(` 事件索引: ${event.eventIndex}`);
115
+ console.log(` DEX: ${event.dexName}`);
116
+ console.log(` 包地址: ${event.packageId}`);
117
+ console.log(` 模块: ${event.module}`);
118
+ console.log(` 事件名称: ${event.eventName}`);
119
+ console.log(` 发送者: ${event.sender}`);
120
+ console.log(` 有内容数据: ${event.hasContent}`);
121
+ });
122
+ }
123
+ }
124
+ exports.DexEventParser = DexEventParser;
125
+ DexEventParser.DEX_PACKAGES = {
126
+ '0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb': 'Cetus',
127
+ '0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860': 'Momentum CLMM',
128
+ '0x3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267': 'Turbos Finance',
129
+ '0xf1962ddb76a7f9968b4e597278d3cc717a00620cc421b00e3429c5c071eba26a': 'Turbos Finance',
130
+ '0x53134eb544c5a0b5085e99efaf7eab13b28ad123de35d61f941f8c8c40b72033': 'Tradeport',
131
+ '0x67b34b728c4e28e704dcfecf7c5cf55c7fc593b6c65c20d1836d97c209c1928a': 'Unknown DEX'
132
+ };
@@ -0,0 +1,206 @@
1
+ export declare const DEX_SCHEMA_DATABASE: {
2
+ '0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860': {
3
+ name: string;
4
+ source: string;
5
+ events: {
6
+ SwapEvent: {
7
+ pool_id: string;
8
+ token_in: string;
9
+ token_out: string;
10
+ amount_in: string;
11
+ amount_out: string;
12
+ fee: string;
13
+ };
14
+ RepayFlashSwapEvent: {
15
+ pool_id: string;
16
+ token_borrowed: string;
17
+ amount_borrowed: string;
18
+ token_repaid: string;
19
+ amount_repaid: string;
20
+ fee: string;
21
+ };
22
+ AddLiquidityEvent: {
23
+ pool_id: string;
24
+ liquidity: string;
25
+ amount_a: string;
26
+ amount_b: string;
27
+ };
28
+ RemoveLiquidityEvent: {
29
+ pool_id: string;
30
+ liquidity: string;
31
+ amount_a: string;
32
+ amount_b: string;
33
+ };
34
+ };
35
+ };
36
+ '0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb': {
37
+ name: string;
38
+ source: string;
39
+ events: {
40
+ SwapEvent: {
41
+ pool_id: string;
42
+ token_in: string;
43
+ token_out: string;
44
+ amount_in: string;
45
+ amount_out: string;
46
+ fee: string;
47
+ };
48
+ AddLiquidityEvent: {
49
+ pool_id: string;
50
+ liquidity: string;
51
+ amount_a: string;
52
+ amount_b: string;
53
+ };
54
+ RemoveLiquidityEvent: {
55
+ pool_id: string;
56
+ liquidity: string;
57
+ amount_a: string;
58
+ amount_b: string;
59
+ };
60
+ };
61
+ };
62
+ '0x5c45d10c26c5fb53f332c6be5c8c6b6b8b9e6b6b8b9e6b6b8b9e6b6b8b9e6b6b': {
63
+ name: string;
64
+ source: string;
65
+ events: {
66
+ SwapEvent: {
67
+ pool_id: string;
68
+ token_in: string;
69
+ token_out: string;
70
+ amount_in: string;
71
+ amount_out: string;
72
+ fee: string;
73
+ };
74
+ };
75
+ };
76
+ '0xcaf6ba059d539a97646d47f0b9ddf843e138d215e2a12ca1f4585d386f7aec3a': {
77
+ name: string;
78
+ source: string;
79
+ events: {
80
+ OrderPlaced: {
81
+ order_id: string;
82
+ user: string;
83
+ amount: string;
84
+ price: string;
85
+ side: string;
86
+ };
87
+ OrderInfo: {
88
+ order_id: string;
89
+ user: string;
90
+ amount: string;
91
+ price: string;
92
+ side: string;
93
+ status: string;
94
+ };
95
+ };
96
+ };
97
+ };
98
+ export declare class DexSchemaDatabase {
99
+ getDexInfo(packageId: string): any;
100
+ getEventSchema(packageId: string, eventName: string): any;
101
+ isSupported(packageId: string): boolean;
102
+ getSupportedPackages(): string[];
103
+ getAllDexInfo(): {
104
+ '0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860': {
105
+ name: string;
106
+ source: string;
107
+ events: {
108
+ SwapEvent: {
109
+ pool_id: string;
110
+ token_in: string;
111
+ token_out: string;
112
+ amount_in: string;
113
+ amount_out: string;
114
+ fee: string;
115
+ };
116
+ RepayFlashSwapEvent: {
117
+ pool_id: string;
118
+ token_borrowed: string;
119
+ amount_borrowed: string;
120
+ token_repaid: string;
121
+ amount_repaid: string;
122
+ fee: string;
123
+ };
124
+ AddLiquidityEvent: {
125
+ pool_id: string;
126
+ liquidity: string;
127
+ amount_a: string;
128
+ amount_b: string;
129
+ };
130
+ RemoveLiquidityEvent: {
131
+ pool_id: string;
132
+ liquidity: string;
133
+ amount_a: string;
134
+ amount_b: string;
135
+ };
136
+ };
137
+ };
138
+ '0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb': {
139
+ name: string;
140
+ source: string;
141
+ events: {
142
+ SwapEvent: {
143
+ pool_id: string;
144
+ token_in: string;
145
+ token_out: string;
146
+ amount_in: string;
147
+ amount_out: string;
148
+ fee: string;
149
+ };
150
+ AddLiquidityEvent: {
151
+ pool_id: string;
152
+ liquidity: string;
153
+ amount_a: string;
154
+ amount_b: string;
155
+ };
156
+ RemoveLiquidityEvent: {
157
+ pool_id: string;
158
+ liquidity: string;
159
+ amount_a: string;
160
+ amount_b: string;
161
+ };
162
+ };
163
+ };
164
+ '0x5c45d10c26c5fb53f332c6be5c8c6b6b8b9e6b6b8b9e6b6b8b9e6b6b8b9e6b6b': {
165
+ name: string;
166
+ source: string;
167
+ events: {
168
+ SwapEvent: {
169
+ pool_id: string;
170
+ token_in: string;
171
+ token_out: string;
172
+ amount_in: string;
173
+ amount_out: string;
174
+ fee: string;
175
+ };
176
+ };
177
+ };
178
+ '0xcaf6ba059d539a97646d47f0b9ddf843e138d215e2a12ca1f4585d386f7aec3a': {
179
+ name: string;
180
+ source: string;
181
+ events: {
182
+ OrderPlaced: {
183
+ order_id: string;
184
+ user: string;
185
+ amount: string;
186
+ price: string;
187
+ side: string;
188
+ };
189
+ OrderInfo: {
190
+ order_id: string;
191
+ user: string;
192
+ amount: string;
193
+ price: string;
194
+ side: string;
195
+ status: string;
196
+ };
197
+ };
198
+ };
199
+ };
200
+ addDexSchema(packageId: string, name: string, source: string, events: any): void;
201
+ addEventSchema(packageId: string, eventName: string, schema: any): void;
202
+ generateTypeScriptCode(): string;
203
+ exportToJSON(): string;
204
+ importFromJSON(json: string): void;
205
+ }
206
+ export declare const createSchemaDatabase: () => DexSchemaDatabase;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSchemaDatabase = exports.DexSchemaDatabase = exports.DEX_SCHEMA_DATABASE = void 0;
4
+ exports.DEX_SCHEMA_DATABASE = {
5
+ '0x70285592c97965e811e0c6f98dccc3a9c2b4ad854b3594faab9597ada267b860': {
6
+ name: 'Momentum CLMM',
7
+ source: 'https://github.com/mmt-finance/clmm-sdk',
8
+ events: {
9
+ 'SwapEvent': {
10
+ pool_id: 'address',
11
+ token_in: 'address',
12
+ token_out: 'address',
13
+ amount_in: 'u64',
14
+ amount_out: 'u64',
15
+ fee: 'u64'
16
+ },
17
+ 'RepayFlashSwapEvent': {
18
+ pool_id: 'address',
19
+ token_borrowed: 'address',
20
+ amount_borrowed: 'u64',
21
+ token_repaid: 'address',
22
+ amount_repaid: 'u64',
23
+ fee: 'u64'
24
+ },
25
+ 'AddLiquidityEvent': {
26
+ pool_id: 'address',
27
+ liquidity: 'u128',
28
+ amount_a: 'u64',
29
+ amount_b: 'u64'
30
+ },
31
+ 'RemoveLiquidityEvent': {
32
+ pool_id: 'address',
33
+ liquidity: 'u128',
34
+ amount_a: 'u64',
35
+ amount_b: 'u64'
36
+ }
37
+ }
38
+ },
39
+ '0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb': {
40
+ name: 'Cetus CLMM',
41
+ source: 'https://github.com/CetusProtocol/cetus-clmm',
42
+ events: {
43
+ 'SwapEvent': {
44
+ pool_id: 'address',
45
+ token_in: 'address',
46
+ token_out: 'address',
47
+ amount_in: 'u64',
48
+ amount_out: 'u64',
49
+ fee: 'u64'
50
+ },
51
+ 'AddLiquidityEvent': {
52
+ pool_id: 'address',
53
+ liquidity: 'u128',
54
+ amount_a: 'u64',
55
+ amount_b: 'u64'
56
+ },
57
+ 'RemoveLiquidityEvent': {
58
+ pool_id: 'address',
59
+ liquidity: 'u128',
60
+ amount_a: 'u64',
61
+ amount_b: 'u64'
62
+ }
63
+ }
64
+ },
65
+ '0x5c45d10c26c5fb53f332c6be5c8c6b6b8b9e6b6b8b9e6b6b8b9e6b6b8b9e6b6b': {
66
+ name: 'Turbos Finance',
67
+ source: 'https://github.com/turbos-finance',
68
+ events: {
69
+ 'SwapEvent': {
70
+ pool_id: 'address',
71
+ token_in: 'address',
72
+ token_out: 'address',
73
+ amount_in: 'u64',
74
+ amount_out: 'u64',
75
+ fee: 'u64'
76
+ }
77
+ }
78
+ },
79
+ '0xcaf6ba059d539a97646d47f0b9ddf843e138d215e2a12ca1f4585d386f7aec3a': {
80
+ name: 'Order Book DEX',
81
+ source: 'discovered from checkpoint',
82
+ events: {
83
+ 'OrderPlaced': {
84
+ order_id: 'address',
85
+ user: 'address',
86
+ amount: 'u64',
87
+ price: 'u64',
88
+ side: 'u8'
89
+ },
90
+ 'OrderInfo': {
91
+ order_id: 'address',
92
+ user: 'address',
93
+ amount: 'u64',
94
+ price: 'u64',
95
+ side: 'u8',
96
+ status: 'u8'
97
+ }
98
+ }
99
+ }
100
+ };
101
+ class DexSchemaDatabase {
102
+ getDexInfo(packageId) {
103
+ return exports.DEX_SCHEMA_DATABASE[packageId];
104
+ }
105
+ getEventSchema(packageId, eventName) {
106
+ var _a;
107
+ const dexInfo = this.getDexInfo(packageId);
108
+ return ((_a = dexInfo === null || dexInfo === void 0 ? void 0 : dexInfo.events) === null || _a === void 0 ? void 0 : _a[eventName]) || null;
109
+ }
110
+ isSupported(packageId) {
111
+ return !!exports.DEX_SCHEMA_DATABASE[packageId];
112
+ }
113
+ getSupportedPackages() {
114
+ return Object.keys(exports.DEX_SCHEMA_DATABASE);
115
+ }
116
+ getAllDexInfo() {
117
+ return exports.DEX_SCHEMA_DATABASE;
118
+ }
119
+ addDexSchema(packageId, name, source, events) {
120
+ exports.DEX_SCHEMA_DATABASE[packageId] = {
121
+ name,
122
+ source,
123
+ events
124
+ };
125
+ }
126
+ addEventSchema(packageId, eventName, schema) {
127
+ if (!exports.DEX_SCHEMA_DATABASE[packageId]) {
128
+ console.warn(`DEX ${packageId} 不存在,请先添加 DEX 信息`);
129
+ return;
130
+ }
131
+ if (!exports.DEX_SCHEMA_DATABASE[packageId].events) {
132
+ exports.DEX_SCHEMA_DATABASE[packageId].events = {};
133
+ }
134
+ exports.DEX_SCHEMA_DATABASE[packageId].events[eventName] = schema;
135
+ }
136
+ generateTypeScriptCode() {
137
+ let code = '// 自动生成的 DEX Schema 数据库\n';
138
+ code += 'export const DEX_SCHEMA_DATABASE = {\n';
139
+ for (const [packageId, dexInfo] of Object.entries(exports.DEX_SCHEMA_DATABASE)) {
140
+ code += ` '${packageId}': {\n`;
141
+ code += ` name: '${dexInfo.name}',\n`;
142
+ code += ` source: '${dexInfo.source}',\n`;
143
+ code += ` events: {\n`;
144
+ for (const [eventName, fields] of Object.entries(dexInfo.events)) {
145
+ code += ` '${eventName}': {\n`;
146
+ for (const [fieldName, fieldType] of Object.entries(fields)) {
147
+ code += ` ${fieldName}: '${fieldType}',\n`;
148
+ }
149
+ code += ` },\n`;
150
+ }
151
+ code += ` }\n`;
152
+ code += ` },\n`;
153
+ }
154
+ code += '};\n';
155
+ return code;
156
+ }
157
+ exportToJSON() {
158
+ return JSON.stringify(exports.DEX_SCHEMA_DATABASE, null, 2);
159
+ }
160
+ importFromJSON(json) {
161
+ const data = JSON.parse(json);
162
+ Object.assign(exports.DEX_SCHEMA_DATABASE, data);
163
+ }
164
+ }
165
+ exports.DexSchemaDatabase = DexSchemaDatabase;
166
+ const createSchemaDatabase = () => {
167
+ return new DexSchemaDatabase();
168
+ };
169
+ exports.createSchemaDatabase = createSchemaDatabase;
@@ -0,0 +1,21 @@
1
+ import { SuiClient } from '@mysten/sui/client';
2
+ export declare class DynamicBCSParser {
3
+ private schemaCache;
4
+ private suiClient;
5
+ constructor(suiClient: SuiClient);
6
+ parseEvent(event: any): Promise<{
7
+ [x: string]: unknown;
8
+ }>;
9
+ private extractEventInfo;
10
+ private getSchemas;
11
+ private fetchSchemasFromChain;
12
+ private extractSchemaFromPackage;
13
+ private parseStructToBCSSchema;
14
+ private mapMoveTypeToBCS;
15
+ private decodeWithSchema;
16
+ clearCache(): void;
17
+ getCacheStats(): {
18
+ cachedPackages: number;
19
+ packages: string[];
20
+ };
21
+ }