ponder 0.8.20 → 0.8.22

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.
@@ -3887,6 +3887,8 @@ function prettyPrint(args) {
3887
3887
  const trimmedValue = typeof value === "string" && value.length > 80 ? value.slice(0, 80).concat("...") : value;
3888
3888
  return [key, trimmedValue];
3889
3889
  }).filter(Boolean);
3890
+ if (entries.length === 0)
3891
+ return " (empty object)";
3890
3892
  const maxLength = entries.reduce(
3891
3893
  (acc, [key]) => Math.max(acc, key.length),
3892
3894
  0
@@ -6227,47 +6229,24 @@ var executeSetup = async (indexingService, { event }) => {
6227
6229
  } catch (_error) {
6228
6230
  if (indexingService.isKilled)
6229
6231
  return { status: "killed" };
6230
- const error = _error;
6231
- const decodedCheckpoint = decodeCheckpoint(event.checkpoint);
6232
+ const error = _error instanceof Error ? _error : new Error(String(_error));
6232
6233
  addStackTrace(error, common.options);
6233
- common.metrics.ponder_indexing_has_error.set(1);
6234
+ if (error instanceof BaseError) {
6235
+ error.meta.push(toErrorMeta(event));
6236
+ } else {
6237
+ error.meta = [toErrorMeta(event)];
6238
+ }
6239
+ const decodedCheckpoint = decodeCheckpoint(event.checkpoint);
6234
6240
  common.logger.error({
6235
6241
  service: "indexing",
6236
6242
  msg: `Error while processing '${event.name}' event in '${networkByChainId[event.chainId].name}' block ${decodedCheckpoint.blockNumber}`,
6237
6243
  error
6238
6244
  });
6245
+ common.metrics.ponder_indexing_has_error.set(1);
6239
6246
  return { status: "error", error };
6240
6247
  }
6241
6248
  return { status: "success" };
6242
6249
  };
6243
- var toErrorMeta = (event) => {
6244
- switch (event.type) {
6245
- case "log":
6246
- case "trace": {
6247
- return `Event arguments:
6248
- ${prettyPrint(event.event.args)}`;
6249
- }
6250
- case "transfer": {
6251
- return `Event arguments:
6252
- ${prettyPrint(event.event.transfer)}`;
6253
- }
6254
- case "block": {
6255
- return `Block:
6256
- ${prettyPrint({
6257
- hash: event.event.block.hash,
6258
- number: event.event.block.number,
6259
- timestamp: event.event.block.timestamp
6260
- })}`;
6261
- }
6262
- case "transaction": {
6263
- return `Transaction:
6264
- ${prettyPrint({
6265
- hash: event.event.transaction.hash,
6266
- block: event.event.block.number
6267
- })}`;
6268
- }
6269
- }
6270
- };
6271
6250
  var executeEvent = async (indexingService, { event }) => {
6272
6251
  const {
6273
6252
  common,
@@ -6297,13 +6276,14 @@ var executeEvent = async (indexingService, { event }) => {
6297
6276
  } catch (_error) {
6298
6277
  if (indexingService.isKilled)
6299
6278
  return { status: "killed" };
6300
- const error = _error;
6301
- const decodedCheckpoint = decodeCheckpoint(event.checkpoint);
6279
+ const error = _error instanceof Error ? _error : new Error(String(_error));
6302
6280
  addStackTrace(error, common.options);
6303
- error.meta = Array.isArray(error.meta) ? error.meta : [];
6304
- if (error.meta.length === 0) {
6281
+ if (error instanceof BaseError) {
6305
6282
  error.meta.push(toErrorMeta(event));
6283
+ } else {
6284
+ error.meta = [toErrorMeta(event)];
6306
6285
  }
6286
+ const decodedCheckpoint = decodeCheckpoint(event.checkpoint);
6307
6287
  common.logger.error({
6308
6288
  service: "indexing",
6309
6289
  msg: `Error while processing '${event.name}' event in '${networkByChainId[event.chainId].name}' block ${decodedCheckpoint.blockNumber}`,
@@ -6314,6 +6294,75 @@ var executeEvent = async (indexingService, { event }) => {
6314
6294
  }
6315
6295
  return { status: "success" };
6316
6296
  };
6297
+ var blockText = (block) => `Block:
6298
+ ${prettyPrint({
6299
+ hash: block.hash,
6300
+ number: block.number,
6301
+ timestamp: block.timestamp
6302
+ })}`;
6303
+ var transactionText = (transaction) => `Transaction:
6304
+ ${prettyPrint({
6305
+ hash: transaction.hash,
6306
+ from: transaction.from,
6307
+ to: transaction.to
6308
+ })}`;
6309
+ var logText = (log) => `Log:
6310
+ ${prettyPrint({
6311
+ index: log.logIndex,
6312
+ address: log.address
6313
+ })}`;
6314
+ var traceText = (trace) => `Trace:
6315
+ ${prettyPrint({
6316
+ traceIndex: trace.traceIndex,
6317
+ from: trace.from,
6318
+ to: trace.to
6319
+ })}`;
6320
+ var toErrorMeta = (event) => {
6321
+ switch (event.type) {
6322
+ case "setup": {
6323
+ return `Block:
6324
+ ${prettyPrint({
6325
+ number: event.block
6326
+ })}`;
6327
+ }
6328
+ case "log": {
6329
+ return [
6330
+ `Event arguments:
6331
+ ${prettyPrint(event.event.args)}`,
6332
+ logText(event.event.log),
6333
+ transactionText(event.event.transaction),
6334
+ blockText(event.event.block)
6335
+ ].join("\n");
6336
+ }
6337
+ case "trace": {
6338
+ return [
6339
+ `Call trace arguments:
6340
+ ${prettyPrint(event.event.args)}`,
6341
+ traceText(event.event.trace),
6342
+ transactionText(event.event.transaction),
6343
+ blockText(event.event.block)
6344
+ ].join("\n");
6345
+ }
6346
+ case "transfer": {
6347
+ return [
6348
+ `Transfer arguments:
6349
+ ${prettyPrint(event.event.transfer)}`,
6350
+ traceText(event.event.trace),
6351
+ transactionText(event.event.transaction),
6352
+ blockText(event.event.block)
6353
+ ].join("\n");
6354
+ }
6355
+ case "block": {
6356
+ return blockText(event.event.block);
6357
+ }
6358
+ case "transaction": {
6359
+ return [
6360
+ transactionText(event.event.transaction),
6361
+ blockText(event.event.block)
6362
+ ].join("\n");
6363
+ }
6364
+ }
6365
+ };
6317
6366
 
6318
6367
  // src/indexing/index.ts
6319
6368
  var methods = {
@@ -6771,8 +6820,8 @@ function encodeTrace({
6771
6820
  input: trace.input,
6772
6821
  functionSelector: trace.input.slice(0, 10),
6773
6822
  output: trace.output ?? null,
6774
- revertReason: trace.revertReason ?? null,
6775
- error: trace.error ?? null,
6823
+ revertReason: trace.revertReason ? trace.revertReason.replace(/\0/g, "") : null,
6824
+ error: trace.error ? trace.error.replace(/\0/g, "") : null,
6776
6825
  value: trace.value ? hexToBigInt(trace.value) : null,
6777
6826
  index: trace.index,
6778
6827
  subcalls: trace.subcalls,