ponder 0.14.1 → 0.14.2-typedarray-fix-decode-log-20251017153033

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ponder
2
2
 
3
+ ## 0.14.2-typedarray-fix-decode-log-20251017153033
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2130](https://github.com/ponder-sh/ponder/pull/2130) [`72042b0`](https://github.com/ponder-sh/ponder/commit/72042b0651ccde44998a73ec2ee1d6722b2391ba) Thanks [@typedarray](https://github.com/typedarray)! - Reduced the number of "Unable to decode..." logs produced when event logs and traces match the provided selector but cannot be decoded by the provided ABI item.
8
+
3
9
  ## 0.14.1
4
10
 
5
11
  ### Patch Changes
@@ -366,119 +366,126 @@ export const splitEvents = (events) => {
366
366
  };
367
367
  export const decodeEvents = (common, sources, rawEvents) => {
368
368
  const events = [];
369
+ const logDecodeFailureSelectors = new Set();
370
+ let logDecodeFailureCount = 0;
371
+ let logDecodeSuccessCount = 0;
372
+ const traceDecodeFailureSelectors = new Set();
373
+ let traceDecodeFailureCount = 0;
374
+ let traceDecodeSuccessCount = 0;
369
375
  for (const event of rawEvents) {
370
376
  const source = sources[event.sourceIndex];
371
377
  switch (source.type) {
372
378
  case "contract": {
373
379
  switch (source.filter.type) {
374
380
  case "log": {
381
+ const selector = event.log.topics[0];
382
+ if (selector === undefined) {
383
+ break;
384
+ }
385
+ const abiItem = source.abiEvents.bySelector[selector];
386
+ if (abiItem === undefined) {
387
+ break;
388
+ }
389
+ const { safeName, item } = abiItem;
390
+ let args;
375
391
  try {
376
- if (event.log.topics[0] === undefined ||
377
- source.abiEvents.bySelector[event.log.topics[0]] === undefined) {
378
- throw new Error();
379
- }
380
- const { safeName, item } = source.abiEvents.bySelector[event.log.topics[0]];
381
- const args = decodeEventLog({
392
+ args = decodeEventLog({
382
393
  abiItem: item,
383
394
  data: event.log.data,
384
395
  topics: event.log.topics,
385
396
  });
386
- events.push({
387
- type: "log",
388
- chainId: event.chainId,
389
- checkpoint: event.checkpoint,
390
- name: `${source.name}:${safeName}`,
391
- event: {
392
- id: event.checkpoint,
393
- args,
394
- log: event.log,
395
- block: event.block,
396
- transaction: event.transaction,
397
- transactionReceipt: event.transactionReceipt,
398
- },
399
- });
397
+ logDecodeSuccessCount++;
400
398
  }
401
399
  catch (err) {
402
- const blockNumber = event?.block?.number ?? "unknown";
403
- if (source.filter.address === undefined) {
400
+ logDecodeFailureCount++;
401
+ if (!logDecodeFailureSelectors.has(selector)) {
402
+ logDecodeFailureSelectors.add(selector);
404
403
  common.logger.debug({
405
- msg: "Unable to decode log, skipping it",
406
- block_number: blockNumber,
407
- log_index: event.log?.logIndex,
408
- data: event.log?.data,
409
- topics: JSON.stringify(event.log?.topics),
410
- });
411
- }
412
- else {
413
- common.logger.warn({
414
- msg: "Unable to decode log, skipping it",
415
- block_number: blockNumber,
404
+ msg: "Failed to decode matched event log using provided ABI item",
405
+ chain: source.chain.name,
406
+ chain_id: source.chain.id,
407
+ event: safeName,
408
+ block_number: event?.block?.number ?? "unknown",
416
409
  log_index: event.log?.logIndex,
417
410
  data: event.log?.data,
418
411
  topics: JSON.stringify(event.log?.topics),
419
412
  });
420
413
  }
414
+ break;
421
415
  }
416
+ events.push({
417
+ type: "log",
418
+ chainId: event.chainId,
419
+ checkpoint: event.checkpoint,
420
+ name: `${source.name}:${safeName}`,
421
+ event: {
422
+ id: event.checkpoint,
423
+ args,
424
+ log: event.log,
425
+ block: event.block,
426
+ transaction: event.transaction,
427
+ transactionReceipt: event.transactionReceipt,
428
+ },
429
+ });
422
430
  break;
423
431
  }
424
432
  case "trace": {
433
+ const selector = event
434
+ .trace.input.slice(0, 10)
435
+ .toLowerCase();
436
+ const abiItem = source.abiFunctions.bySelector[selector];
437
+ if (abiItem === undefined) {
438
+ break;
439
+ }
440
+ const { item, safeName } = abiItem;
441
+ let decodedData;
442
+ let decodedResult;
425
443
  try {
426
- const selector = event
427
- .trace.input.slice(0, 10)
428
- .toLowerCase();
429
- if (source.abiFunctions.bySelector[selector] === undefined) {
430
- throw new Error();
431
- }
432
- const { item, safeName } = source.abiFunctions.bySelector[selector];
433
- const { args, functionName } = decodeFunctionData({
444
+ decodedData = decodeFunctionData({
434
445
  abi: [item],
435
446
  data: event.trace.input,
436
447
  });
437
- const result = decodeFunctionResult({
448
+ decodedResult = decodeFunctionResult({
438
449
  abi: [item],
439
450
  data: event.trace.output ?? "0x",
440
- functionName,
441
- });
442
- events.push({
443
- type: "trace",
444
- chainId: event.chainId,
445
- checkpoint: event.checkpoint,
446
- // NOTE: `safename` includes ()
447
- name: `${source.name}.${safeName}`,
448
- event: {
449
- id: event.checkpoint,
450
- args,
451
- result,
452
- trace: event.trace,
453
- block: event.block,
454
- transaction: event.transaction,
455
- transactionReceipt: event.transactionReceipt,
456
- },
451
+ functionName: decodedData.functionName,
457
452
  });
453
+ traceDecodeSuccessCount++;
458
454
  }
459
455
  catch (err) {
460
- const blockNumber = event?.block?.number ?? "unknown";
461
- if (source.filter.toAddress === undefined) {
456
+ traceDecodeFailureCount++;
457
+ if (!traceDecodeFailureSelectors.has(selector)) {
458
+ traceDecodeFailureSelectors.add(selector);
462
459
  common.logger.debug({
463
- msg: "Unable to decode trace, skipping it",
464
- block_number: blockNumber,
465
- transaction_index: event.transaction?.transactionIndex,
466
- trace_index: event.trace?.traceIndex,
467
- input: event.trace?.input,
468
- output: event.trace?.output,
469
- });
470
- }
471
- else {
472
- common.logger.warn({
473
- msg: "Unable to decode trace, skipping it",
474
- block_number: blockNumber,
460
+ msg: "Failed to decode matched call trace using provided ABI item",
461
+ chain: source.chain.name,
462
+ chain_id: source.chain.id,
463
+ function: safeName,
464
+ block_number: event?.block?.number ?? "unknown",
475
465
  transaction_index: event.transaction?.transactionIndex,
476
466
  trace_index: event.trace?.traceIndex,
477
467
  input: event.trace?.input,
478
468
  output: event.trace?.output,
479
469
  });
480
470
  }
471
+ break;
481
472
  }
473
+ events.push({
474
+ type: "trace",
475
+ chainId: event.chainId,
476
+ checkpoint: event.checkpoint,
477
+ // NOTE: `safename` includes ()
478
+ name: `${source.name}.${safeName}`,
479
+ event: {
480
+ id: event.checkpoint,
481
+ args: decodedData.args,
482
+ result: decodedResult,
483
+ trace: event.trace,
484
+ block: event.block,
485
+ transaction: event.transaction,
486
+ transactionReceipt: event.transactionReceipt,
487
+ },
488
+ });
482
489
  break;
483
490
  }
484
491
  default:
@@ -546,6 +553,20 @@ export const decodeEvents = (common, sources, rawEvents) => {
546
553
  never(source);
547
554
  }
548
555
  }
556
+ if (logDecodeFailureCount > 0) {
557
+ common.logger.debug({
558
+ msg: "Failed to decode matched event logs",
559
+ failure_count: logDecodeFailureCount,
560
+ success_count: logDecodeSuccessCount,
561
+ });
562
+ }
563
+ if (traceDecodeFailureCount > 0) {
564
+ common.logger.debug({
565
+ msg: "Failed to decode matched call traces",
566
+ failure_count: traceDecodeFailureCount,
567
+ success_count: traceDecodeSuccessCount,
568
+ });
569
+ }
549
570
  return events;
550
571
  };
551
572
  export const syncBlockToInternal = ({ block, }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAEV,KAAK,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAE1B,QAAQ,EACR,MAAM,EACN,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,KAAK,OAAO,EAOb,MAAM,MAAM,CAAC;AAWd;;GAEG;AACH,eAAO,MAAM,WAAW;aAUb,MAAM,EAAE;YACT,aAAa,EAAE;UACjB,WAAW,EAAE;kBACL,mBAAmB,EAAE;yBACd,0BAA0B,EAAE;YACzC,aAAa,EAAE;oBACP,IAAI,SAAS,EAAE,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;aAC3C,MAAM;gBAmahB,CAAC;AAEF,eAAO,MAAM,WAAW,WACd,KAAK,EAAE;YACJ,KAAK,EAAE;aAAW,MAAM;gBAAc,MAAM;GAuBxD,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,MAAM,WACL,MAAM,EAAE,aACN,QAAQ,EAAE,KACpB,KAAK,EAwNP,CAAC;AAEF,eAAO,MAAM,mBAAmB;WAEpB,SAAS,GAAG,eAAe;MAAK,aAsB1C,CAAC;AAEH,eAAO,MAAM,iBAAiB;SAAoB,OAAO;MAAK,WAQ5D,CAAC;AAEH,eAAO,MAAM,yBAAyB;iBAGvB,eAAe;MAC1B,mBAiDF,CAAC;AAEH,eAAO,MAAM,gCAAgC;wBAGvB,sBAAsB;MACxC,0BA4BF,CAAC;AAEH,eAAO,MAAM,mBAAmB;WAKvB,SAAS;WACT,KAAK,SAAS,EAAE,QAAQ,CAAC;iBACnB,KAAK,eAAe,EAAE,kBAAkB,CAAC;MACpD,aAeF,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/runtime/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAEV,KAAK,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAE1B,QAAQ,EACR,MAAM,EACN,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,KAAK,OAAO,EAOb,MAAM,MAAM,CAAC;AAWd;;GAEG;AACH,eAAO,MAAM,WAAW;aAUb,MAAM,EAAE;YACT,aAAa,EAAE;UACjB,WAAW,EAAE;kBACL,mBAAmB,EAAE;yBACd,0BAA0B,EAAE;YACzC,aAAa,EAAE;oBACP,IAAI,SAAS,EAAE,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;aAC3C,MAAM;gBAmahB,CAAC;AAEF,eAAO,MAAM,WAAW,WACd,KAAK,EAAE;YACJ,KAAK,EAAE;aAAW,MAAM;gBAAc,MAAM;GAuBxD,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,MAAM,WACL,MAAM,EAAE,aACN,QAAQ,EAAE,KACpB,KAAK,EAgPP,CAAC;AAEF,eAAO,MAAM,mBAAmB;WAEpB,SAAS,GAAG,eAAe;MAAK,aAsB1C,CAAC;AAEH,eAAO,MAAM,iBAAiB;SAAoB,OAAO;MAAK,WAQ5D,CAAC;AAEH,eAAO,MAAM,yBAAyB;iBAGvB,eAAe;MAC1B,mBAiDF,CAAC;AAEH,eAAO,MAAM,gCAAgC;wBAGvB,sBAAsB;MACxC,0BA4BF,CAAC;AAEH,eAAO,MAAM,mBAAmB;WAKvB,SAAS;WACT,KAAK,SAAS,EAAE,QAAQ,CAAC;iBACnB,KAAK,eAAe,EAAE,kBAAkB,CAAC;MACpD,aAeF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ponder",
3
- "version": "0.14.1",
3
+ "version": "0.14.2-typedarray-fix-decode-log-20251017153033",
4
4
  "description": "An open-source framework for crypto application backends",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -99,7 +99,7 @@
99
99
  "rimraf": "^5.0.5",
100
100
  "tsx": "^4.19.2",
101
101
  "vitest": "^1.0.2",
102
- "@ponder/client": "0.14.1"
102
+ "@ponder/client": "0.14.2-typedarray-fix-decode-log-20251017153033"
103
103
  },
104
104
  "engines": {
105
105
  "node": ">=18.14"
@@ -530,6 +530,14 @@ export const decodeEvents = (
530
530
  ): Event[] => {
531
531
  const events: Event[] = [];
532
532
 
533
+ const logDecodeFailureSelectors = new Set<Hex>();
534
+ let logDecodeFailureCount = 0;
535
+ let logDecodeSuccessCount = 0;
536
+
537
+ const traceDecodeFailureSelectors = new Set<Hex>();
538
+ let traceDecodeFailureCount = 0;
539
+ let traceDecodeSuccessCount = 0;
540
+
533
541
  for (const event of rawEvents) {
534
542
  const source = sources[event.sourceIndex]!;
535
543
 
@@ -537,128 +545,128 @@ export const decodeEvents = (
537
545
  case "contract": {
538
546
  switch (source.filter.type) {
539
547
  case "log": {
540
- try {
541
- if (
542
- event.log!.topics[0] === undefined ||
543
- source.abiEvents.bySelector[event.log!.topics[0]] === undefined
544
- ) {
545
- throw new Error();
546
- }
548
+ const selector = event.log!.topics[0];
549
+ if (selector === undefined) {
550
+ break;
551
+ }
552
+
553
+ const abiItem = source.abiEvents.bySelector[selector];
554
+ if (abiItem === undefined) {
555
+ break;
556
+ }
547
557
 
548
- const { safeName, item } =
549
- source.abiEvents.bySelector[event.log!.topics[0]]!;
558
+ const { safeName, item } = abiItem;
550
559
 
551
- const args = decodeEventLog({
560
+ let args: any;
561
+ try {
562
+ args = decodeEventLog({
552
563
  abiItem: item,
553
564
  data: event.log!.data,
554
565
  topics: event.log!.topics,
555
566
  });
556
-
557
- events.push({
558
- type: "log",
559
- chainId: event.chainId,
560
- checkpoint: event.checkpoint,
561
-
562
- name: `${source.name}:${safeName}`,
563
-
564
- event: {
565
- id: event.checkpoint,
566
- args,
567
- log: event.log!,
568
- block: event.block as Block,
569
- transaction: event.transaction! as Transaction,
570
- transactionReceipt:
571
- event.transactionReceipt as TransactionReceipt,
572
- },
573
- });
567
+ logDecodeSuccessCount++;
574
568
  } catch (err) {
575
- const blockNumber = event?.block?.number ?? "unknown";
576
- if (source.filter.address === undefined) {
569
+ logDecodeFailureCount++;
570
+ if (!logDecodeFailureSelectors.has(selector)) {
571
+ logDecodeFailureSelectors.add(selector);
577
572
  common.logger.debug({
578
- msg: "Unable to decode log, skipping it",
579
- block_number: blockNumber,
580
- log_index: event.log?.logIndex,
581
- data: event.log?.data,
582
- topics: JSON.stringify(event.log?.topics),
583
- });
584
- } else {
585
- common.logger.warn({
586
- msg: "Unable to decode log, skipping it",
587
- block_number: blockNumber,
573
+ msg: "Failed to decode matched event log using provided ABI item",
574
+ chain: source.chain.name,
575
+ chain_id: source.chain.id,
576
+ event: safeName,
577
+ block_number: event?.block?.number ?? "unknown",
588
578
  log_index: event.log?.logIndex,
589
579
  data: event.log?.data,
590
580
  topics: JSON.stringify(event.log?.topics),
591
581
  });
592
582
  }
583
+ break;
593
584
  }
585
+
586
+ events.push({
587
+ type: "log",
588
+ chainId: event.chainId,
589
+ checkpoint: event.checkpoint,
590
+
591
+ name: `${source.name}:${safeName}`,
592
+
593
+ event: {
594
+ id: event.checkpoint,
595
+ args,
596
+ log: event.log!,
597
+ block: event.block as Block,
598
+ transaction: event.transaction! as Transaction,
599
+ transactionReceipt:
600
+ event.transactionReceipt as TransactionReceipt,
601
+ },
602
+ });
594
603
  break;
595
604
  }
596
605
 
597
606
  case "trace": {
598
- try {
599
- const selector = event
600
- .trace!.input.slice(0, 10)
601
- .toLowerCase() as Hex;
602
-
603
- if (source.abiFunctions.bySelector[selector] === undefined) {
604
- throw new Error();
605
- }
607
+ const selector = event
608
+ .trace!.input.slice(0, 10)
609
+ .toLowerCase() as Hex;
610
+ const abiItem = source.abiFunctions.bySelector[selector];
611
+ if (abiItem === undefined) {
612
+ break;
613
+ }
606
614
 
607
- const { item, safeName } =
608
- source.abiFunctions.bySelector[selector]!;
615
+ const { item, safeName } = abiItem;
609
616
 
610
- const { args, functionName } = decodeFunctionData({
617
+ let decodedData: { args: readonly unknown[]; functionName: string };
618
+ let decodedResult: readonly unknown[];
619
+ try {
620
+ decodedData = decodeFunctionData({
611
621
  abi: [item],
612
622
  data: event.trace!.input,
613
623
  });
614
624
 
615
- const result = decodeFunctionResult({
625
+ decodedResult = decodeFunctionResult({
616
626
  abi: [item],
617
627
  data: event.trace!.output ?? "0x",
618
- functionName,
619
- });
620
-
621
- events.push({
622
- type: "trace",
623
- chainId: event.chainId,
624
- checkpoint: event.checkpoint,
625
-
626
- // NOTE: `safename` includes ()
627
- name: `${source.name}.${safeName}`,
628
-
629
- event: {
630
- id: event.checkpoint,
631
- args,
632
- result,
633
- trace: event.trace! as Trace,
634
- block: event.block as Block,
635
- transaction: event.transaction! as Transaction,
636
- transactionReceipt:
637
- event.transactionReceipt as TransactionReceipt,
638
- },
628
+ functionName: decodedData.functionName,
639
629
  });
630
+ traceDecodeSuccessCount++;
640
631
  } catch (err) {
641
- const blockNumber = event?.block?.number ?? "unknown";
642
- if (source.filter.toAddress === undefined) {
632
+ traceDecodeFailureCount++;
633
+ if (!traceDecodeFailureSelectors.has(selector)) {
634
+ traceDecodeFailureSelectors.add(selector);
643
635
  common.logger.debug({
644
- msg: "Unable to decode trace, skipping it",
645
- block_number: blockNumber,
646
- transaction_index: event.transaction?.transactionIndex,
647
- trace_index: event.trace?.traceIndex,
648
- input: event.trace?.input,
649
- output: event.trace?.output,
650
- });
651
- } else {
652
- common.logger.warn({
653
- msg: "Unable to decode trace, skipping it",
654
- block_number: blockNumber,
636
+ msg: "Failed to decode matched call trace using provided ABI item",
637
+ chain: source.chain.name,
638
+ chain_id: source.chain.id,
639
+ function: safeName,
640
+ block_number: event?.block?.number ?? "unknown",
655
641
  transaction_index: event.transaction?.transactionIndex,
656
642
  trace_index: event.trace?.traceIndex,
657
643
  input: event.trace?.input,
658
644
  output: event.trace?.output,
659
645
  });
660
646
  }
647
+ break;
661
648
  }
649
+
650
+ events.push({
651
+ type: "trace",
652
+ chainId: event.chainId,
653
+ checkpoint: event.checkpoint,
654
+
655
+ // NOTE: `safename` includes ()
656
+ name: `${source.name}.${safeName}`,
657
+
658
+ event: {
659
+ id: event.checkpoint,
660
+ args: decodedData.args,
661
+ result: decodedResult,
662
+ trace: event.trace! as Trace,
663
+ block: event.block as Block,
664
+ transaction: event.transaction! as Transaction,
665
+ transactionReceipt:
666
+ event.transactionReceipt as TransactionReceipt,
667
+ },
668
+ });
669
+
662
670
  break;
663
671
  }
664
672
 
@@ -742,6 +750,22 @@ export const decodeEvents = (
742
750
  }
743
751
  }
744
752
 
753
+ if (logDecodeFailureCount > 0) {
754
+ common.logger.debug({
755
+ msg: "Failed to decode matched event logs",
756
+ failure_count: logDecodeFailureCount,
757
+ success_count: logDecodeSuccessCount,
758
+ });
759
+ }
760
+
761
+ if (traceDecodeFailureCount > 0) {
762
+ common.logger.debug({
763
+ msg: "Failed to decode matched call traces",
764
+ failure_count: traceDecodeFailureCount,
765
+ success_count: traceDecodeSuccessCount,
766
+ });
767
+ }
768
+
745
769
  return events;
746
770
  };
747
771