@lodestar/beacon-node 1.50.0-dev.335476095e → 1.50.0-dev.3b56ef3d94

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AA0BvC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAqJnG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AA0BvC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA0JnG"}
@@ -2,7 +2,7 @@ import { ExecutionStatus, PayloadStatus } from "@lodestar/fork-choice";
2
2
  import { ZERO_HASH_HEX, isForkPostDeneb, isForkPostFulu } from "@lodestar/params";
3
3
  import { computeTimeAtSlot } from "@lodestar/state-transition";
4
4
  import { sszTypesFor } from "@lodestar/types";
5
- import { toRootHex } from "@lodestar/utils";
5
+ import { fromHex, toRootHex } from "@lodestar/utils";
6
6
  import { getBlobKzgCommitments } from "../../../util/dataColumns.js";
7
7
  import { isOptimisticBlock } from "../../../util/forkChoice.js";
8
8
  import { getStateSlotFromBytes } from "../../../util/multifork.js";
@@ -62,45 +62,49 @@ export function getDebugApi({ chain, config, sync, }) {
62
62
  },
63
63
  async getDebugForkChoiceV2() {
64
64
  const { forkChoice } = chain;
65
+ const nodes = forkChoice.getAllNodes();
66
+ const head = forkChoice.getHead();
65
67
  return {
66
68
  data: {
67
69
  justifiedCheckpoint: forkChoice.getJustifiedCheckpoint(),
68
70
  finalizedCheckpoint: forkChoice.getFinalizedCheckpoint(),
69
- forkChoiceNodes: forkChoice.getAllNodes().map((node) => {
70
- // Payload-specific fields apply only to a revealed Gloas payload = the FULL variant of a
71
- // Gloas block
72
- const ptc = node.payloadStatus === PayloadStatus.FULL ? forkChoice.getPTCVoteCounts(node.blockRoot) : null;
71
+ forkChoiceNodes: nodes.map((node) => {
72
+ const parent = node.parent === undefined ? undefined : nodes[node.parent];
73
+ const ptc = forkChoice.getPTCVoteCounts(node.blockRoot);
73
74
  return {
74
- payloadStatus: toPayloadStatusName(node.payloadStatus),
75
75
  slot: node.slot,
76
76
  blockRoot: node.blockRoot,
77
- parentRoot: node.parentRoot,
77
+ payloadStatus: toPayloadStatusName(node.payloadStatus),
78
+ parentRoot: node.parentBlockHash !== null && node.payloadStatus !== PayloadStatus.PENDING
79
+ ? node.blockRoot
80
+ : node.parentRoot,
81
+ parentPayloadStatus: parent === undefined ? null : toPayloadStatusName(parent.payloadStatus),
82
+ justifiedCheckpoint: { epoch: node.justifiedEpoch, root: fromHex(node.justifiedRoot) },
83
+ finalizedCheckpoint: { epoch: node.finalizedEpoch, root: fromHex(node.finalizedRoot) },
78
84
  weight: node.weight,
79
85
  validity: toForkChoiceValidity(node.executionStatus),
80
86
  executionBlockHash: node.executionPayloadBlockHash ?? ZERO_HASH_HEX,
87
+ payloadAttesterCount: ptc?.attesterCount ?? 0,
88
+ payloadAvailabilityYesCount: ptc?.payloadPresentCount ?? 0,
89
+ payloadDataAvailabilityYesCount: ptc?.dataAvailableCount ?? 0,
81
90
  extraData: {
82
91
  executionOptimistic: isOptimisticBlock(node),
92
+ gasLimit: node.payloadStatus === PayloadStatus.FULL && node.executionStatus !== ExecutionStatus.PreMerge
93
+ ? node.executionPayloadGasLimit
94
+ : null,
83
95
  timestamp: computeTimeAtSlot(config, node.slot, chain.genesisTime),
84
96
  target: node.targetRoot,
85
- justifiedEpoch: node.justifiedEpoch,
86
- finalizedEpoch: node.finalizedEpoch,
87
97
  unrealizedJustifiedEpoch: node.unrealizedJustifiedEpoch,
88
98
  unrealizedFinalizedEpoch: node.unrealizedFinalizedEpoch,
89
- payloadAttesterCount: ptc?.attesterCount ?? null,
90
- payloadAvailabilityYesCount: ptc?.payloadPresentCount ?? null,
91
- payloadDataAvailabilityYesCount: ptc?.dataAvailableCount ?? null,
92
- gasLimit: node.payloadStatus === PayloadStatus.FULL && "executionPayloadGasLimit" in node
93
- ? node.executionPayloadGasLimit
94
- : null,
95
99
  },
96
100
  };
97
101
  }),
98
102
  extraData: {
99
- unrealizedJustifiedCheckpoint: forkChoice.getUnrealizedJustifiedCheckpoint(),
100
- unrealizedFinalizedCheckpoint: forkChoice.getUnrealizedFinalizedCheckpoint(),
103
+ head: { blockRoot: head.blockRoot, payloadStatus: toPayloadStatusName(head.payloadStatus) },
101
104
  proposerBoostRoot: forkChoice.getProposerBoostRoot(),
102
105
  previousProposerBoostRoot: forkChoice.getPreviousProposerBoostRoot(),
103
- headRoot: forkChoice.getHeadRoot(),
106
+ unrealizedJustifiedCheckpoint: forkChoice.getUnrealizedJustifiedCheckpoint(),
107
+ unrealizedFinalizedCheckpoint: forkChoice.getUnrealizedFinalizedCheckpoint(),
104
108
  },
105
109
  },
106
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAgB,aAAa,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAA6E,WAAW,EAAC,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAE9C,SAAS,oBAAoB,CAAC,MAAuB;IACnD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,eAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,eAAe,CAAC,OAAO;YAC1B,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe,CAAC,OAAO,CAAC;QAC7B,KAAK,eAAe,CAAC,QAAQ;YAC3B,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAqB;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,OAAO,CAAC;QACjB,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAI,GACiD;IACrD,OAAO;QACL,KAAK,CAAC,oBAAoB;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC;iBAC9C,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,OAAO;gBACL,IAAI,EAAE;oBACJ,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE;oBAC9D,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE;oBAC9D,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC7D,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;wBACpD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,IAAI,aAAa;qBACpE,CAAC,CAAC;iBACJ;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,oBAAoB;YACxB,MAAM,EAAC,UAAU,EAAC,GAAG,KAAK,CAAC;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO;gBACL,IAAI,EAAE;oBACJ,mBAAmB,EAAE,UAAU,CAAC,sBAAsB,EAAE;oBACxD,mBAAmB,EAAE,UAAU,CAAC,sBAAsB,EAAE;oBACxD,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACxD,OAAO;4BACL,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC;4BACtD,UAAU,EACR,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,OAAO;gCAC3E,CAAC,CAAC,IAAI,CAAC,SAAS;gCAChB,CAAC,CAAC,IAAI,CAAC,UAAU;4BACrB,mBAAmB,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC;4BAC5F,mBAAmB,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC;4BACpF,mBAAmB,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC;4BACpF,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;4BACpD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,IAAI,aAAa;4BACnE,oBAAoB,EAAE,GAAG,EAAE,aAAa,IAAI,CAAC;4BAC7C,2BAA2B,EAAE,GAAG,EAAE,mBAAmB,IAAI,CAAC;4BAC1D,+BAA+B,EAAE,GAAG,EAAE,kBAAkB,IAAI,CAAC;4BAC7D,SAAS,EAAE;gCACT,mBAAmB,EAAE,iBAAiB,CAAC,IAAI,CAAC;gCAC5C,QAAQ,EACN,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ;oCAC5F,CAAC,CAAC,IAAI,CAAC,wBAAwB;oCAC/B,CAAC,CAAC,IAAI;gCACV,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;gCAClE,MAAM,EAAE,IAAI,CAAC,UAAU;gCACvB,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gCACvD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;6BACxD;yBACF,CAAC;oBACJ,CAAC,CAAC;oBACF,SAAS,EAAE;wBACT,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC;wBACzF,iBAAiB,EAAE,UAAU,CAAC,oBAAoB,EAAE;wBACpD,yBAAyB,EAAE,UAAU,CAAC,4BAA4B,EAAE;wBACpE,6BAA6B,EAAE,UAAU,CAAC,gCAAgC,EAAE;wBAC5E,6BAA6B,EAAE,UAAU,CAAC,gCAAgC,EAAE;qBAC7E;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1D,0EAA0E;gBAC1E,sBAAsB,EAAE,CAAC;gBACzB,GAAG,IAAI;gBACP,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBAC/D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC5C,CAAC,CAAC,CAAC;YACJ,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAC,OAAO,EAAC,EAAE,OAAO;YACjC,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACtG,IAAI,IAAY,EAAE,IAA8B,CAAC;YACjD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAClB,IAAI,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpE,CAAC;YACD,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACjC,mBAAmB;oBACnB,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,0BAA0B,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC;YACjD,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAEzD,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE5E,IAAI,kBAAuC,CAAC;YAE5C,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAyC,CAAC,CAAC,MAAM;gBAC/E,CAAC,CAAC,CAAC,CAAC;YAEN,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC1C,kBAAkB,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEjG,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,KAAK,CACT,+CAA+C,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,SAAS,CAAC,SAAS,CAAC,UAAU,SAAS,EAAE,CACpH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,OAAO;oBACZ,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACjE,CAAC,CAAC,kBAAkB,CAAuB;gBAC7C,IAAI,EAAE;oBACJ,mBAAmB;oBACnB,SAAS;oBACT,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.50.0-dev.335476095e",
14
+ "version": "1.50.0-dev.3b56ef3d94",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -127,17 +127,17 @@
127
127
  "@libp2p/prometheus-metrics": "^5.0.28",
128
128
  "@libp2p/tcp": "^11.0.27",
129
129
  "@libp2p/utils": "^7.4.0",
130
- "@lodestar/api": "^1.50.0-dev.335476095e",
131
- "@lodestar/config": "^1.50.0-dev.335476095e",
132
- "@lodestar/db": "^1.50.0-dev.335476095e",
133
- "@lodestar/fork-choice": "^1.50.0-dev.335476095e",
134
- "@lodestar/logger": "^1.50.0-dev.335476095e",
135
- "@lodestar/params": "^1.50.0-dev.335476095e",
136
- "@lodestar/reqresp": "^1.50.0-dev.335476095e",
137
- "@lodestar/state-transition": "^1.50.0-dev.335476095e",
138
- "@lodestar/types": "^1.50.0-dev.335476095e",
139
- "@lodestar/utils": "^1.50.0-dev.335476095e",
140
- "@lodestar/validator": "^1.50.0-dev.335476095e",
130
+ "@lodestar/api": "^1.50.0-dev.3b56ef3d94",
131
+ "@lodestar/config": "^1.50.0-dev.3b56ef3d94",
132
+ "@lodestar/db": "^1.50.0-dev.3b56ef3d94",
133
+ "@lodestar/fork-choice": "^1.50.0-dev.3b56ef3d94",
134
+ "@lodestar/logger": "^1.50.0-dev.3b56ef3d94",
135
+ "@lodestar/params": "^1.50.0-dev.3b56ef3d94",
136
+ "@lodestar/reqresp": "^1.50.0-dev.3b56ef3d94",
137
+ "@lodestar/state-transition": "^1.50.0-dev.3b56ef3d94",
138
+ "@lodestar/types": "^1.50.0-dev.3b56ef3d94",
139
+ "@lodestar/utils": "^1.50.0-dev.3b56ef3d94",
140
+ "@lodestar/validator": "^1.50.0-dev.3b56ef3d94",
141
141
  "@multiformats/multiaddr": "^13.0.1",
142
142
  "datastore-core": "^12.0.1",
143
143
  "datastore-level": "^13.0.1",
@@ -158,8 +158,8 @@
158
158
  "devDependencies": {
159
159
  "@libp2p/interface-internal": "^3.1.12",
160
160
  "@libp2p/logger": "^6.2.13",
161
- "@lodestar/spec-test-util": "^1.50.0-dev.335476095e",
162
- "@lodestar/test-utils": "^1.50.0-dev.335476095e",
161
+ "@lodestar/spec-test-util": "^1.50.0-dev.3b56ef3d94",
162
+ "@lodestar/test-utils": "^1.50.0-dev.3b56ef3d94",
163
163
  "@types/js-yaml": "^4.0.5",
164
164
  "@types/qs": "^6.9.7",
165
165
  "@types/tmp": "^0.2.3",
@@ -174,5 +174,5 @@
174
174
  "beacon",
175
175
  "blockchain"
176
176
  ],
177
- "gitHead": "82c72320078957dc87d01c9856895d376ef4a492"
177
+ "gitHead": "6e51021c7a99bb5fa9787d9a4c3cb71d6b937e2b"
178
178
  }
@@ -4,7 +4,7 @@ import {ExecutionStatus, PayloadStatus} from "@lodestar/fork-choice";
4
4
  import {ForkPostDeneb, ZERO_HASH_HEX, isForkPostDeneb, isForkPostFulu} from "@lodestar/params";
5
5
  import {computeTimeAtSlot} from "@lodestar/state-transition";
6
6
  import {BeaconState, DataColumnSidecar, DataColumnSidecars, type SignedBeaconBlock, sszTypesFor} from "@lodestar/types";
7
- import {toRootHex} from "@lodestar/utils";
7
+ import {fromHex, toRootHex} from "@lodestar/utils";
8
8
  import {getBlobKzgCommitments} from "../../../util/dataColumns.js";
9
9
  import {isOptimisticBlock} from "../../../util/forkChoice.js";
10
10
  import {getStateSlotFromBytes} from "../../../util/multifork.js";
@@ -74,46 +74,51 @@ export function getDebugApi({
74
74
 
75
75
  async getDebugForkChoiceV2() {
76
76
  const {forkChoice} = chain;
77
+ const nodes = forkChoice.getAllNodes();
78
+ const head = forkChoice.getHead();
77
79
  return {
78
80
  data: {
79
81
  justifiedCheckpoint: forkChoice.getJustifiedCheckpoint(),
80
82
  finalizedCheckpoint: forkChoice.getFinalizedCheckpoint(),
81
- forkChoiceNodes: forkChoice.getAllNodes().map((node) => {
82
- // Payload-specific fields apply only to a revealed Gloas payload = the FULL variant of a
83
- // Gloas block
84
- const ptc = node.payloadStatus === PayloadStatus.FULL ? forkChoice.getPTCVoteCounts(node.blockRoot) : null;
83
+ forkChoiceNodes: nodes.map((node) => {
84
+ const parent = node.parent === undefined ? undefined : nodes[node.parent];
85
+ const ptc = forkChoice.getPTCVoteCounts(node.blockRoot);
85
86
  return {
86
- payloadStatus: toPayloadStatusName(node.payloadStatus),
87
87
  slot: node.slot,
88
88
  blockRoot: node.blockRoot,
89
- parentRoot: node.parentRoot,
89
+ payloadStatus: toPayloadStatusName(node.payloadStatus),
90
+ parentRoot:
91
+ node.parentBlockHash !== null && node.payloadStatus !== PayloadStatus.PENDING
92
+ ? node.blockRoot
93
+ : node.parentRoot,
94
+ parentPayloadStatus: parent === undefined ? null : toPayloadStatusName(parent.payloadStatus),
95
+ justifiedCheckpoint: {epoch: node.justifiedEpoch, root: fromHex(node.justifiedRoot)},
96
+ finalizedCheckpoint: {epoch: node.finalizedEpoch, root: fromHex(node.finalizedRoot)},
90
97
  weight: node.weight,
91
98
  validity: toForkChoiceValidity(node.executionStatus),
92
99
  executionBlockHash: node.executionPayloadBlockHash ?? ZERO_HASH_HEX,
100
+ payloadAttesterCount: ptc?.attesterCount ?? 0,
101
+ payloadAvailabilityYesCount: ptc?.payloadPresentCount ?? 0,
102
+ payloadDataAvailabilityYesCount: ptc?.dataAvailableCount ?? 0,
93
103
  extraData: {
94
104
  executionOptimistic: isOptimisticBlock(node),
105
+ gasLimit:
106
+ node.payloadStatus === PayloadStatus.FULL && node.executionStatus !== ExecutionStatus.PreMerge
107
+ ? node.executionPayloadGasLimit
108
+ : null,
95
109
  timestamp: computeTimeAtSlot(config, node.slot, chain.genesisTime),
96
110
  target: node.targetRoot,
97
- justifiedEpoch: node.justifiedEpoch,
98
- finalizedEpoch: node.finalizedEpoch,
99
111
  unrealizedJustifiedEpoch: node.unrealizedJustifiedEpoch,
100
112
  unrealizedFinalizedEpoch: node.unrealizedFinalizedEpoch,
101
- payloadAttesterCount: ptc?.attesterCount ?? null,
102
- payloadAvailabilityYesCount: ptc?.payloadPresentCount ?? null,
103
- payloadDataAvailabilityYesCount: ptc?.dataAvailableCount ?? null,
104
- gasLimit:
105
- node.payloadStatus === PayloadStatus.FULL && "executionPayloadGasLimit" in node
106
- ? node.executionPayloadGasLimit
107
- : null,
108
113
  },
109
114
  };
110
115
  }),
111
116
  extraData: {
112
- unrealizedJustifiedCheckpoint: forkChoice.getUnrealizedJustifiedCheckpoint(),
113
- unrealizedFinalizedCheckpoint: forkChoice.getUnrealizedFinalizedCheckpoint(),
117
+ head: {blockRoot: head.blockRoot, payloadStatus: toPayloadStatusName(head.payloadStatus)},
114
118
  proposerBoostRoot: forkChoice.getProposerBoostRoot(),
115
119
  previousProposerBoostRoot: forkChoice.getPreviousProposerBoostRoot(),
116
- headRoot: forkChoice.getHeadRoot(),
120
+ unrealizedJustifiedCheckpoint: forkChoice.getUnrealizedJustifiedCheckpoint(),
121
+ unrealizedFinalizedCheckpoint: forkChoice.getUnrealizedFinalizedCheckpoint(),
117
122
  },
118
123
  },
119
124
  };