@bronlabs/intents-sdk 1.0.69 → 1.0.70

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.
@@ -5,7 +5,7 @@ export class EvmNetwork {
5
5
  this.nativeAssetDecimals = 18;
6
6
  this.retryDelay = 15000;
7
7
  this.rpcUrl = rpcUrl;
8
- this.provider = new ethers.JsonRpcProvider(rpcUrl);
8
+ this.provider = new ethers.JsonRpcProvider(rpcUrl, undefined, { staticNetwork: true });
9
9
  this.confirmations = confirmations;
10
10
  }
11
11
  async getDecimals(tokenAddress) {
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/networks/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/networks/evm.ts"],"names":[],"mappings":"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"}
@@ -12,17 +12,31 @@ export interface OrderStatusChangedEvent {
12
12
  type EventProcessor = (event: OrderStatusChangedEvent) => Promise<void>;
13
13
  export declare class OrderIndexer {
14
14
  private readonly config;
15
- private readonly provider;
15
+ private readonly httpProvider;
16
+ private wsProvider;
16
17
  private readonly orderEngine;
17
18
  private readonly eventQueue;
18
19
  private readonly processors;
19
20
  private isRunning;
20
21
  private lastProcessedBlock;
22
+ private readonly rpcTimeoutMs;
23
+ private targetBlock;
24
+ private isProcessingQueue;
25
+ private isWorkerRunning;
26
+ private reconnectTimeout;
27
+ private healthCheckInterval;
21
28
  constructor(config: IntentsConfig);
22
29
  addProcessor(processor: EventProcessor): void;
23
30
  start(): Promise<void>;
24
31
  stop(): Promise<void>;
25
- private startIndexingLoop;
32
+ private processHistoricalEvents;
33
+ private startWebSocketListener;
34
+ private monitorWebSocketHealth;
35
+ private reconnectWebSocket;
36
+ private startCatchupWorker;
37
+ private catchupWorkerLoop;
38
+ private withTimeout;
39
+ private processBlockRange;
26
40
  private processEventQueue;
27
41
  }
28
42
  export {};
@@ -9,12 +9,19 @@ export class OrderIndexer {
9
9
  if (config.rpcAuthToken) {
10
10
  req.setHeader('x-api-key', config.rpcAuthToken);
11
11
  }
12
- this.provider = new ethers.JsonRpcProvider(req);
13
- this.orderEngine = initOrderEngine(config.orderEngineAddress, this.provider);
12
+ this.httpProvider = new ethers.JsonRpcProvider(req, undefined, { staticNetwork: true });
13
+ this.wsProvider = null;
14
+ this.orderEngine = initOrderEngine(config.orderEngineAddress, this.httpProvider);
14
15
  this.eventQueue = new EventQueue();
15
16
  this.processors = [];
16
17
  this.isRunning = false;
17
18
  this.lastProcessedBlock = 0;
19
+ this.targetBlock = 0;
20
+ this.isProcessingQueue = false;
21
+ this.isWorkerRunning = false;
22
+ this.reconnectTimeout = null;
23
+ this.rpcTimeoutMs = 15_000;
24
+ this.healthCheckInterval = null;
18
25
  }
19
26
  addProcessor(processor) {
20
27
  this.processors.push(processor);
@@ -25,9 +32,11 @@ export class OrderIndexer {
25
32
  return;
26
33
  }
27
34
  this.isRunning = true;
28
- log.info(`Starting indexer from block ${this.lastProcessedBlock}`);
35
+ log.info(`Starting indexer from offset ${this.config.startBlockOffset}`);
29
36
  try {
30
- await this.startIndexingLoop();
37
+ await this.processHistoricalEvents();
38
+ await this.startWebSocketListener();
39
+ this.startCatchupWorker();
31
40
  }
32
41
  catch (error) {
33
42
  log.error('Error starting indexer:', error);
@@ -41,90 +50,223 @@ export class OrderIndexer {
41
50
  }
42
51
  log.info('Stopping indexer...');
43
52
  this.isRunning = false;
53
+ if (this.reconnectTimeout) {
54
+ clearTimeout(this.reconnectTimeout);
55
+ this.reconnectTimeout = null;
56
+ }
57
+ if (this.healthCheckInterval) {
58
+ clearInterval(this.healthCheckInterval);
59
+ this.healthCheckInterval = null;
60
+ }
61
+ if (this.wsProvider) {
62
+ void this.wsProvider.removeAllListeners();
63
+ void this.wsProvider.destroy();
64
+ this.wsProvider = null;
65
+ }
44
66
  const maxWaitTime = 30000;
45
67
  const startTime = Date.now();
46
- while (!this.eventQueue.isEmpty() && (Date.now() - startTime) < maxWaitTime) {
47
- log.info(`Waiting for ${this.eventQueue.size()} events to be processed before stopping`);
48
- await this.processEventQueue();
68
+ while ((this.isWorkerRunning || !this.eventQueue.isEmpty()) && (Date.now() - startTime) < maxWaitTime) {
69
+ log.info(`Waiting for worker and ${this.eventQueue.size()} events to complete before stopping`);
49
70
  await sleep(1000);
50
71
  }
51
- if (!this.eventQueue.isEmpty()) {
52
- log.warn(`Stopping indexer with ${this.eventQueue.size()} unprocessed events after timeout`);
72
+ if (this.isWorkerRunning || !this.eventQueue.isEmpty()) {
73
+ log.warn(`Stopping indexer with worker still running or ${this.eventQueue.size()} unprocessed events after timeout`);
53
74
  }
54
75
  log.info('Indexer stopped');
55
76
  }
56
- async startIndexingLoop() {
57
- if (!this.isRunning)
58
- return;
77
+ async processHistoricalEvents() {
78
+ const currentBlock = await this.withTimeout(this.httpProvider.getBlockNumber(), 'httpProvider.getBlockNumber');
79
+ if (!this.lastProcessedBlock) {
80
+ this.lastProcessedBlock = currentBlock - this.config.startBlockOffset;
81
+ }
82
+ if (currentBlock > this.lastProcessedBlock) {
83
+ log.info(`Processing historical events from ${this.lastProcessedBlock + 1} to ${currentBlock}`);
84
+ this.targetBlock = currentBlock;
85
+ await this.processBlockRange(this.lastProcessedBlock + 1, currentBlock);
86
+ }
87
+ else {
88
+ this.targetBlock = this.lastProcessedBlock;
89
+ }
90
+ }
91
+ async startWebSocketListener() {
92
+ const wsUrl = this.config.rpcUrl.replace(/^https?:\/\//, 'wss://');
59
93
  try {
60
- const currentBlock = await this.provider.getBlockNumber();
61
- if (!this.lastProcessedBlock) {
62
- this.lastProcessedBlock = currentBlock - this.config.startBlockOffset;
63
- }
64
- if (currentBlock > this.lastProcessedBlock) {
65
- // Fetch historical events in chunks to avoid RPC limitations
66
- const chunkSize = 500;
67
- for (let fromBlock = this.lastProcessedBlock + 1; fromBlock <= currentBlock; fromBlock += chunkSize) {
68
- const toBlock = Math.min(fromBlock + chunkSize - 1, currentBlock);
69
- const events = await this.orderEngine.queryFilter(this.orderEngine.filters.OrderStatusChanged(), fromBlock, toBlock);
70
- for (const event of events) {
71
- const { args: { orderId, status } } = this.orderEngine.interface.parseLog({
72
- topics: event.topics,
73
- data: event.data
74
- });
75
- this.eventQueue.add({
76
- type: 'OrderStatusChanged',
77
- data: {
78
- orderId,
79
- status: BigInt(status)
80
- },
81
- event: event,
82
- retries: 0
83
- });
84
- }
85
- this.lastProcessedBlock = toBlock;
86
- if (this.isRunning) {
87
- await this.processEventQueue();
88
- }
94
+ this.wsProvider = new ethers.WebSocketProvider(wsUrl, undefined, { staticNetwork: true });
95
+ void this.wsProvider.on('block', (blockNumber) => {
96
+ if (!this.isRunning)
97
+ return;
98
+ if (blockNumber > this.targetBlock) {
99
+ this.targetBlock = blockNumber;
100
+ log.debug(`New target block: ${blockNumber}, current: ${this.lastProcessedBlock}`);
89
101
  }
90
- }
102
+ this.startCatchupWorker();
103
+ });
104
+ this.monitorWebSocketHealth();
105
+ log.info('WebSocket listener started');
91
106
  }
92
107
  catch (error) {
93
- log.error('Error in indexing loop: ', error);
108
+ log.error('Error starting WebSocket:', error);
109
+ this.reconnectWebSocket();
94
110
  }
95
- // Schedule next iteration
96
- if (this.isRunning) {
97
- setTimeout(() => this.startIndexingLoop(), this.config.pollingInterval);
111
+ }
112
+ monitorWebSocketHealth() {
113
+ this.healthCheckInterval = setInterval(async () => {
114
+ if (!this.isRunning) {
115
+ if (this.healthCheckInterval) {
116
+ clearInterval(this.healthCheckInterval);
117
+ this.healthCheckInterval = null;
118
+ }
119
+ return;
120
+ }
121
+ if (!this.wsProvider) {
122
+ if (this.healthCheckInterval) {
123
+ clearInterval(this.healthCheckInterval);
124
+ this.healthCheckInterval = null;
125
+ }
126
+ this.reconnectWebSocket();
127
+ return;
128
+ }
129
+ try {
130
+ await this.withTimeout(this.wsProvider.getBlockNumber(), 'wsProvider.getBlockNumber');
131
+ }
132
+ catch (error) {
133
+ log.error('WebSocket health check failed:', error);
134
+ if (this.healthCheckInterval) {
135
+ clearInterval(this.healthCheckInterval);
136
+ this.healthCheckInterval = null;
137
+ }
138
+ this.reconnectWebSocket();
139
+ }
140
+ }, 30000);
141
+ }
142
+ reconnectWebSocket() {
143
+ if (!this.isRunning || this.reconnectTimeout)
144
+ return;
145
+ if (this.healthCheckInterval) {
146
+ clearInterval(this.healthCheckInterval);
147
+ this.healthCheckInterval = null;
98
148
  }
149
+ if (this.wsProvider) {
150
+ void this.wsProvider.removeAllListeners();
151
+ void this.wsProvider.destroy();
152
+ this.wsProvider = null;
153
+ }
154
+ log.info('Reconnecting WebSocket in 5 seconds...');
155
+ this.reconnectTimeout = setTimeout(async () => {
156
+ this.reconnectTimeout = null;
157
+ if (this.isRunning) {
158
+ try {
159
+ await this.startWebSocketListener();
160
+ this.startCatchupWorker();
161
+ }
162
+ catch (error) {
163
+ log.error('Error reconnecting WebSocket:', error);
164
+ this.reconnectWebSocket();
165
+ }
166
+ }
167
+ }, 5000);
99
168
  }
100
- async processEventQueue() {
101
- if (this.eventQueue.isEmpty() || this.processors.length === 0)
169
+ startCatchupWorker() {
170
+ if (this.isWorkerRunning)
102
171
  return;
103
- while (!this.eventQueue.isEmpty()) {
104
- const event = this.eventQueue.peek();
105
- if (!event)
106
- continue;
172
+ this.isWorkerRunning = true;
173
+ this.catchupWorkerLoop().catch(error => {
174
+ log.error('Catchup worker error:', error);
175
+ this.isWorkerRunning = false;
176
+ this.reconnectWebSocket();
177
+ });
178
+ }
179
+ async catchupWorkerLoop() {
180
+ while (this.isRunning) {
181
+ if (this.targetBlock > this.lastProcessedBlock) {
182
+ try {
183
+ await this.processBlockRange(this.lastProcessedBlock + 1, this.targetBlock);
184
+ }
185
+ catch (error) {
186
+ log.error('Error in catchup worker:', error);
187
+ await sleep(5000);
188
+ }
189
+ }
190
+ else {
191
+ await sleep(300);
192
+ }
193
+ }
194
+ this.isWorkerRunning = false;
195
+ log.info('Catchup worker stopped');
196
+ }
197
+ async withTimeout(promise, label) {
198
+ return await Promise.race([
199
+ promise,
200
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`RPC timeout in ${label} after ${this.rpcTimeoutMs}ms`)), this.rpcTimeoutMs))
201
+ ]);
202
+ }
203
+ async processBlockRange(fromBlock, toBlock) {
204
+ const chunkSize = 500;
205
+ for (let from = fromBlock; from <= toBlock; from += chunkSize) {
206
+ if (!this.isRunning)
207
+ break;
208
+ const to = Math.min(from + chunkSize - 1, toBlock);
107
209
  try {
108
- // Process the event with all registered processors
109
- for (const processor of this.processors) {
110
- await processor(event);
210
+ const events = await this.withTimeout(this.orderEngine.queryFilter(this.orderEngine.filters.OrderStatusChanged(), from, to), `orderEngine.queryFilter ${from}-${to}`);
211
+ for (const event of events) {
212
+ const { args: { orderId, status } } = this.orderEngine.interface.parseLog({
213
+ topics: event.topics,
214
+ data: event.data
215
+ });
216
+ this.eventQueue.add({
217
+ type: 'OrderStatusChanged',
218
+ data: {
219
+ orderId,
220
+ status: BigInt(status)
221
+ },
222
+ event: event,
223
+ retries: 0
224
+ });
225
+ }
226
+ this.lastProcessedBlock = to;
227
+ if (this.isRunning && !this.eventQueue.isEmpty()) {
228
+ await this.processEventQueue();
111
229
  }
112
- this.eventQueue.remove();
113
230
  }
114
231
  catch (error) {
115
- log.error(`Error processing event:`, error);
116
- // Retry logic
117
- if (event.retries < this.config.maxRetries) {
118
- event.retries++;
119
- log.info(`Retrying event processing (${event.retries}/${this.config.maxRetries})`);
120
- await sleep(this.config.retryDelay);
232
+ log.error(`Error processing block range ${from}-${to}:`, error);
233
+ throw error;
234
+ }
235
+ }
236
+ }
237
+ async processEventQueue() {
238
+ if (this.isProcessingQueue || this.eventQueue.isEmpty() || this.processors.length === 0) {
239
+ return;
240
+ }
241
+ this.isProcessingQueue = true;
242
+ try {
243
+ while (!this.eventQueue.isEmpty()) {
244
+ const event = this.eventQueue.peek();
245
+ if (!event)
246
+ continue;
247
+ try {
248
+ for (const processor of this.processors) {
249
+ await processor(event);
250
+ }
251
+ this.eventQueue.remove();
121
252
  }
122
- else {
123
- log.error(`Max retries reached for event, removing from queue:`, event);
124
- this.eventQueue.remove(); // Could add dead letter queue here for manual inspection
253
+ catch (error) {
254
+ log.error(`Error processing event:`, error);
255
+ if (event.retries < this.config.maxRetries) {
256
+ event.retries++;
257
+ log.info(`Retrying event processing (${event.retries}/${this.config.maxRetries})`);
258
+ await sleep(this.config.retryDelay);
259
+ }
260
+ else {
261
+ log.error(`Max retries reached for event, removing from queue:`, event);
262
+ this.eventQueue.remove();
263
+ }
125
264
  }
126
265
  }
127
266
  }
267
+ finally {
268
+ this.isProcessingQueue = false;
269
+ }
128
270
  }
129
271
  }
130
272
  //# sourceMappingURL=orderIndexer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderIndexer.js","sourceRoot":"","sources":["../src/orderIndexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orderIndexer.js","sourceRoot":"","sources":["../src/orderIndexer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bronlabs/intents-sdk",
3
- "version": "1.0.69",
3
+ "version": "1.0.70",
4
4
  "description": "SDK for Intents DeFi smart contracts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",