@tapforce/pod-bridge-sdk 1.1.3 → 1.1.5

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.
@@ -37,7 +37,6 @@ export declare class PodBridgeTrackerClient {
37
37
  /**
38
38
  * Batch check claim status for multiple deposits
39
39
  * @param deposits Array of deposits to check
40
- * @param fromBlock Starting block to query claims from
41
40
  */
42
41
  private updateClaimStatus;
43
42
  /**
@@ -91,8 +91,8 @@ class PodBridgeTrackerClient {
91
91
  }
92
92
  }
93
93
  }
94
- // Check claim status
95
- await this.updateClaimStatus(deposits, startBlock);
94
+ // Check claim status (queries POD chain, not bridged)
95
+ await this.updateClaimStatus(deposits);
96
96
  return deposits.sort((a, b) => b.timestamp - a.timestamp);
97
97
  }
98
98
  /**
@@ -167,8 +167,8 @@ class PodBridgeTrackerClient {
167
167
  }
168
168
  }
169
169
  }
170
- // Check claim status
171
- await this.updateClaimStatus(deposits, startBlock);
170
+ // Check claim status (queries POD chain, not bridged)
171
+ await this.updateClaimStatus(deposits);
172
172
  return deposits.sort((a, b) => b.timestamp - a.timestamp);
173
173
  }
174
174
  /**
@@ -224,41 +224,41 @@ class PodBridgeTrackerClient {
224
224
  /**
225
225
  * Batch check claim status for multiple deposits
226
226
  * @param deposits Array of deposits to check
227
- * @param fromBlock Starting block to query claims from
228
227
  */
229
- async updateClaimStatus(deposits, fromBlock) {
230
- var _a;
228
+ async updateClaimStatus(deposits) {
231
229
  if (deposits.length === 0) {
232
230
  return;
233
231
  }
234
232
  console.log('updateClaimStatus');
235
233
  try {
236
- const startBlock = (_a = fromBlock !== null && fromBlock !== void 0 ? fromBlock : this.config.pod.deploymentBlock) !== null && _a !== void 0 ? _a : 0;
237
- const currentBlock = await this.podProvider.getBlockNumber();
238
- const BLOCK_BATCH_SIZE = 10000;
234
+ // Get unique recipient addresses from deposits
235
+ const uniqueRecipients = [...new Set(deposits.map(d => d.to))];
236
+ console.log('Querying claims for recipients:', uniqueRecipients);
237
+ // Get claim events from destination chain (POD) filtered by recipient addresses
238
+ // Note: POD uses timestamps instead of traditional blocks
239
239
  const allClaimLogs = [];
240
240
  const allClaimNativeLogs = [];
241
- // Get claim events from destination chain in batches
242
- const claimFilter = this.podBridge.filters.Claim();
243
- const claimNativeFilter = this.podBridge.filters.ClaimNative();
244
- for (let start = startBlock; start <= currentBlock; start += BLOCK_BATCH_SIZE) {
245
- const end = Math.min(start + BLOCK_BATCH_SIZE - 1, currentBlock);
246
- console.log('updateClaimStatus', start, end);
241
+ // Query claims for each unique recipient
242
+ for (const recipient of uniqueRecipients) {
243
+ const claimFilter = this.podBridge.filters.Claim(null, // id - any
244
+ null, // claimer - any
245
+ recipient // to - filter by recipient
246
+ );
247
+ const claimNativeFilter = this.podBridge.filters.ClaimNative(null, // id - any
248
+ null, // claimer - any
249
+ recipient // to - filter by recipient
250
+ );
247
251
  const [claimLogs, claimNativeLogs] = await Promise.all([
248
- this.podBridge.queryFilter(claimFilter, start, end),
249
- this.podBridge.queryFilter(claimNativeFilter, start, end)
252
+ this.podBridge.queryFilter(claimFilter),
253
+ this.podBridge.queryFilter(claimNativeFilter)
250
254
  ]);
251
- console.log('claimLogs', claimLogs);
252
- console.log('claimNativeLogs', claimNativeLogs);
253
255
  allClaimLogs.push(...claimLogs);
254
256
  allClaimNativeLogs.push(...claimNativeLogs);
255
- // Add small delay to avoid rate limiting
256
- if (start + BLOCK_BATCH_SIZE <= currentBlock) {
257
- await new Promise(resolve => setTimeout(resolve, 100));
258
- }
259
257
  }
260
258
  const claimLogs = allClaimLogs;
261
259
  const claimNativeLogs = allClaimNativeLogs;
260
+ console.log('claimLogs', claimLogs);
261
+ console.log('claimNativeLogs', claimNativeLogs);
262
262
  // Create a map of claimed request IDs
263
263
  const claimedMap = new Map();
264
264
  for (const log of [...claimLogs, ...claimNativeLogs]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapforce/pod-bridge-sdk",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "SDK for interacting with Bridges between pod and other chains",
5
5
  "keywords": [
6
6
  "pod",