@lodestar/validator 1.44.0-dev.7418ddd9f7 → 1.44.0-dev.762dd5f186
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/lib/services/block.d.ts.map +1 -1
- package/lib/services/block.js +3 -3
- package/lib/services/block.js.map +1 -1
- package/lib/services/blockDuties.d.ts +10 -8
- package/lib/services/blockDuties.d.ts.map +1 -1
- package/lib/services/blockDuties.js +31 -25
- package/lib/services/blockDuties.js.map +1 -1
- package/lib/services/ptc.d.ts.map +1 -1
- package/lib/services/ptc.js +13 -1
- package/lib/services/ptc.js.map +1 -1
- package/lib/util/params.js +4 -0
- package/lib/util/params.js.map +1 -1
- package/package.json +12 -12
- package/src/services/block.ts +4 -3
- package/src/services/blockDuties.ts +31 -25
- package/src/services/ptc.ts +14 -3
- package/src/util/params.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAe,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAkBnD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AACF;;GAEG;AACH,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,aAAa,EAAE,kBAAkB,EAChB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,EAAE,iBAAiB,EAIzC;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAa7B;YAGY,qBAAqB;YAwFrB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAe,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAkBnD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AACF;;GAEG;AACH,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,aAAa,EAAE,kBAAkB,EAChB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,EAAE,iBAAiB,EAIzC;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAa7B;YAGY,qBAAqB;YAwFrB,0BAA0B;IA+GxC,OAAO,CAAC,mBAAmB,CAmBzB;IAEF,OAAO,CAAC,mBAAmB,CAmCzB;CACH"}
|
package/lib/services/block.js
CHANGED
|
@@ -146,9 +146,9 @@ export class BlockProposingService {
|
|
|
146
146
|
// Step 2: Sign and publish the beacon block
|
|
147
147
|
const signedBlock = await this.validatorStore.signBlock(pubkey, block, slot, this.logger);
|
|
148
148
|
const { broadcastValidation } = this.opts;
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
//
|
|
149
|
+
// Publish the block first so it propagates as soon as possible. This reduces the chance other nodes
|
|
150
|
+
// see the payload envelope before the block over gossip and have to queue it. There's also plenty of
|
|
151
|
+
// time left in the slot to propagate the payload, so publishing it in parallel is unnecessary.
|
|
152
152
|
(await this.api.beacon
|
|
153
153
|
.publishBlockV2({
|
|
154
154
|
signedBlockContents: { signedBlock },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/services/block.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,29 +59,31 @@ export declare class BlockDutiesService {
|
|
|
59
59
|
getProposersAtEpoch(epoch: Epoch): BlockDutyAtEpoch | undefined;
|
|
60
60
|
removeDutiesForKey(pubkey: PubkeyHex): void;
|
|
61
61
|
/**
|
|
62
|
-
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-
|
|
63
|
-
* deterministic 1-epoch lookahead lets us also pre-fetch `epoch + 1`;
|
|
64
|
-
* epoch's dep_root only stabilizes at the boundary and is handled by
|
|
62
|
+
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-Gloas the
|
|
63
|
+
* deterministic 1-epoch lookahead (consumed via v2) lets us also pre-fetch `epoch + 1`;
|
|
64
|
+
* pre-Gloas the next epoch's dep_root only stabilizes at the boundary and is handled by
|
|
65
|
+
* `runEverySlotTask`.
|
|
65
66
|
*
|
|
66
67
|
* Mid-epoch refreshes (e.g. reorgs) are driven by `onNewHead` instead of polling every slot.
|
|
67
68
|
*/
|
|
68
69
|
private runEveryEpochTask;
|
|
69
70
|
/**
|
|
70
71
|
* Slot-tick handler. Notifies block production for cached proposers in this slot, and on
|
|
71
|
-
* the last slot of a pre-
|
|
72
|
+
* the last slot of a pre-Gloas epoch schedules the boundary fetch for `nextEpoch` duties.
|
|
72
73
|
* Reorg detection is handled by `onNewHead`, so this task does not re-poll on every slot.
|
|
73
74
|
*/
|
|
74
75
|
private runEverySlotTask;
|
|
75
76
|
/**
|
|
76
77
|
* SSE head-event handler. The beacon-API `head` event carries attester-duty dep_roots,
|
|
77
|
-
* which coincide with the proposer dep_roots
|
|
78
|
+
* which coincide with the proposer dep_roots the VC caches. The offset depends on the
|
|
79
|
+
* proposer-duties endpoint the VC uses, which is gated on Gloas (v1 before, v2 after):
|
|
78
80
|
*
|
|
79
|
-
* Pre-
|
|
81
|
+
* Pre-Gloas (v1 proposer dep_root(E) = block@startSlot(E) - 1):
|
|
80
82
|
* currentDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
81
|
-
* (next-epoch proposer dep_root is not exposed; pre-
|
|
83
|
+
* (next-epoch proposer dep_root is not exposed; pre-Gloas falls back to the
|
|
82
84
|
* `runEverySlotTask` boundary poll.)
|
|
83
85
|
*
|
|
84
|
-
* Post-
|
|
86
|
+
* Post-Gloas (v2 proposer dep_root(E) = block@startSlot(E - 1) - 1, EIP-7917):
|
|
85
87
|
* previousDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
86
88
|
* currentDutyDependentRoot ≡ proposer_dep_root(nextEpoch)
|
|
87
89
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockDuties.d.ts","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"blockDuties.d.ts","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAuBnD,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;CAAC,CAAC;AAC/F,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAE5E,qBAAa,kBAAkB;IAsB3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3B1B,6DAA6D;IAC7D,OAAO,CAAC,uBAAuB,CAAqC;IACpE;yEACqE;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAC1D;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAAS;IAExC,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC/C,kBAAkB,EAAE,kBAAkB,EACrB,OAAO,EAAE,OAAO,GAAG,IAAI,EAWzC;IAED;;;OAGG;IACH,0BAA0B,CAAC,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAEjF;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAc/C;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAE9D;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAM1C;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAuBvB;IAEF;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAqBtB;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,SAAS,CAcf;YAEY,uBAAuB;YAuBvB,iCAAiC;IAa/C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,sBAAsB;YA8BhB,mBAAmB;IA2CjC,uDAAuD;IACvD,OAAO,CAAC,cAAc;CAOvB"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isForkPostGloas } from "@lodestar/params";
|
|
2
2
|
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
3
3
|
import { sleep, toPubkeyHex } from "@lodestar/utils";
|
|
4
4
|
/**
|
|
5
|
-
* Pre-
|
|
6
|
-
*
|
|
5
|
+
* Pre-Gloas: poll next-epoch proposer duties ~1s before the boundary. The deterministic 1-epoch
|
|
6
|
+
* lookahead (EIP-7917) is available post-Fulu, but consuming it requires `getProposerDutiesV2`,
|
|
7
|
+
* which was added to beacon-APIs only after Fulu shipped. To avoid depending on an endpoint not
|
|
8
|
+
* all clients implement yet, the VC keeps using v1 + this boundary poll until Gloas; only then
|
|
9
|
+
* does it switch to the lookahead-based pre-fetch in `runEveryEpoch`.
|
|
7
10
|
*
|
|
8
11
|
* Historical context: starting Jul 2023 we poll 1s before the next epoch because
|
|
9
12
|
* `PrepareNextSlotScheduler` (BN-side) usually finishes the upcoming-epoch transition in ~3s,
|
|
@@ -104,9 +107,10 @@ export class BlockDutiesService {
|
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
/**
|
|
107
|
-
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-
|
|
108
|
-
* deterministic 1-epoch lookahead lets us also pre-fetch `epoch + 1`;
|
|
109
|
-
* epoch's dep_root only stabilizes at the boundary and is handled by
|
|
110
|
+
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-Gloas the
|
|
111
|
+
* deterministic 1-epoch lookahead (consumed via v2) lets us also pre-fetch `epoch + 1`;
|
|
112
|
+
* pre-Gloas the next epoch's dep_root only stabilizes at the boundary and is handled by
|
|
113
|
+
* `runEverySlotTask`.
|
|
110
114
|
*
|
|
111
115
|
* Mid-epoch refreshes (e.g. reorgs) are driven by `onNewHead` instead of polling every slot.
|
|
112
116
|
*/
|
|
@@ -123,7 +127,7 @@ export class BlockDutiesService {
|
|
|
123
127
|
}
|
|
124
128
|
await this.pollBeaconProposers(epoch);
|
|
125
129
|
const nextEpoch = epoch + 1;
|
|
126
|
-
if (
|
|
130
|
+
if (isForkPostGloas(this.config.getForkName(computeStartSlotAtEpoch(nextEpoch)))) {
|
|
127
131
|
await this.pollBeaconProposers(nextEpoch);
|
|
128
132
|
}
|
|
129
133
|
}
|
|
@@ -136,7 +140,7 @@ export class BlockDutiesService {
|
|
|
136
140
|
};
|
|
137
141
|
/**
|
|
138
142
|
* Slot-tick handler. Notifies block production for cached proposers in this slot, and on
|
|
139
|
-
* the last slot of a pre-
|
|
143
|
+
* the last slot of a pre-Gloas epoch schedules the boundary fetch for `nextEpoch` duties.
|
|
140
144
|
* Reorg detection is handled by `onNewHead`, so this task does not re-poll on every slot.
|
|
141
145
|
*/
|
|
142
146
|
runEverySlotTask = async (slot, signal) => {
|
|
@@ -147,10 +151,10 @@ export class BlockDutiesService {
|
|
|
147
151
|
this.notifyProposersForSlot(slot);
|
|
148
152
|
const nextEpoch = computeEpochAtSlot(slot) + 1;
|
|
149
153
|
const isLastSlotOfEpoch = computeStartSlotAtEpoch(nextEpoch) === slot + 1;
|
|
150
|
-
if (isLastSlotOfEpoch && !
|
|
151
|
-
// Pre-
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
+
if (isLastSlotOfEpoch && !isForkPostGloas(this.config.getForkName(slot + 1))) {
|
|
155
|
+
// Pre-Gloas the VC uses v1 and does not pre-fetch the next epoch on the epoch tick, so
|
|
156
|
+
// fetch it ~1s before the boundary instead. Pre-Fulu this is required (0-epoch lookahead);
|
|
157
|
+
// for Fulu the lookahead exists but the v2 path is deferred to Gloas (see top of file).
|
|
154
158
|
this.pollBeaconProposersBeforeBoundary(slot, nextEpoch, signal).catch((e) => {
|
|
155
159
|
this.logger.error("Error on pollBeaconProposersBeforeBoundary", { nextEpoch }, e);
|
|
156
160
|
});
|
|
@@ -162,14 +166,15 @@ export class BlockDutiesService {
|
|
|
162
166
|
};
|
|
163
167
|
/**
|
|
164
168
|
* SSE head-event handler. The beacon-API `head` event carries attester-duty dep_roots,
|
|
165
|
-
* which coincide with the proposer dep_roots
|
|
169
|
+
* which coincide with the proposer dep_roots the VC caches. The offset depends on the
|
|
170
|
+
* proposer-duties endpoint the VC uses, which is gated on Gloas (v1 before, v2 after):
|
|
166
171
|
*
|
|
167
|
-
* Pre-
|
|
172
|
+
* Pre-Gloas (v1 proposer dep_root(E) = block@startSlot(E) - 1):
|
|
168
173
|
* currentDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
169
|
-
* (next-epoch proposer dep_root is not exposed; pre-
|
|
174
|
+
* (next-epoch proposer dep_root is not exposed; pre-Gloas falls back to the
|
|
170
175
|
* `runEverySlotTask` boundary poll.)
|
|
171
176
|
*
|
|
172
|
-
* Post-
|
|
177
|
+
* Post-Gloas (v2 proposer dep_root(E) = block@startSlot(E - 1) - 1, EIP-7917):
|
|
173
178
|
* previousDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
174
179
|
* currentDutyDependentRoot ≡ proposer_dep_root(nextEpoch)
|
|
175
180
|
*
|
|
@@ -178,8 +183,8 @@ export class BlockDutiesService {
|
|
|
178
183
|
*/
|
|
179
184
|
onNewHead = async ({ slot, previousDutyDependentRoot, currentDutyDependentRoot, }) => {
|
|
180
185
|
const currentEpoch = computeEpochAtSlot(slot);
|
|
181
|
-
const
|
|
182
|
-
if (
|
|
186
|
+
const isPostGloas = isForkPostGloas(this.config.getForkName(slot));
|
|
187
|
+
if (isPostGloas) {
|
|
183
188
|
await this.refetchIfDepRootChanged(currentEpoch, previousDutyDependentRoot);
|
|
184
189
|
await this.refetchIfDepRootChanged(currentEpoch + 1, currentDutyDependentRoot);
|
|
185
190
|
}
|
|
@@ -200,11 +205,11 @@ export class BlockDutiesService {
|
|
|
200
205
|
await this.pollBeaconProposers(epoch);
|
|
201
206
|
}
|
|
202
207
|
/**
|
|
203
|
-
* Pre-
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
+
* Pre-Gloas boundary fetch. Without a pre-fetched next epoch, a proposal for the first slot
|
|
209
|
+
* of the new epoch otherwise goes through the slow path every time: the proposal can only
|
|
210
|
+
* happen *after* we download and process the new duties from the BN. Polling ~1s before the
|
|
211
|
+
* boundary, while `PrepareNextSlotScheduler` is finishing the upcoming-epoch transition, lets
|
|
212
|
+
* us land on a hot BN cache and avoid the miss.
|
|
208
213
|
*
|
|
209
214
|
* See https://github.com/ChainSafe/lodestar/issues/5792.
|
|
210
215
|
*/
|
|
@@ -262,8 +267,9 @@ export class BlockDutiesService {
|
|
|
262
267
|
if (!this.validatorStore.hasSomeValidators()) {
|
|
263
268
|
return;
|
|
264
269
|
}
|
|
265
|
-
//
|
|
266
|
-
|
|
270
|
+
// Use v2 only post-Gloas: it exposes the post-Fulu deterministic proposer dependent root,
|
|
271
|
+
// but was added to beacon-APIs after Fulu shipped, so we defer to it until Gloas (see top).
|
|
272
|
+
const res = isForkPostGloas(this.config.getForkName(computeStartSlotAtEpoch(epoch)))
|
|
267
273
|
? await this.api.validator.getProposerDutiesV2({ epoch })
|
|
268
274
|
: await this.api.validator.getProposerDuties({ epoch });
|
|
269
275
|
const proposerDuties = res.value();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockDuties.js","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"blockDuties.js","sourceRoot":"","sources":["../../src/services/blockDuties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptc.d.ts","sourceRoot":"","sources":["../../src/services/ptc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"ptc.d.ts","sourceRoot":"","sources":["../../src/services/ptc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAyB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAEjD,YACmB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,qBAAqB,EAC/C,gBAAgB,EAAE,kBAAkB,EACpC,oBAAoB,EAAE,oBAAoB,EACzB,OAAO,EAAE,OAAO,GAAG,IAAI,EAczC;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED,OAAO,CAAC,WAAW,CAgCjB;YAEY,6BAA6B;YAQ7B,iCAAiC;CAkDhD"}
|
package/lib/services/ptc.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HttpStatusCode } from "@lodestar/api";
|
|
1
2
|
import { isForkPostGloas } from "@lodestar/params";
|
|
2
3
|
import { prettyBytes, sleep, toRootHex } from "@lodestar/utils";
|
|
3
4
|
import { PtcDutiesService } from "./ptcDuties.js";
|
|
@@ -44,6 +45,11 @@ export class PtcService {
|
|
|
44
45
|
this.metrics?.ptcStepCallProducePayloadAttestation.observe(this.clock.secFromSlot(slot) - payloadAttestationDueMs / 1000);
|
|
45
46
|
try {
|
|
46
47
|
const payloadAttestationData = await this.producePayloadAttestationData(slot);
|
|
48
|
+
// If no beacon block was seen for the assigned slot, do not submit a payload attestation
|
|
49
|
+
if (payloadAttestationData === null) {
|
|
50
|
+
this.logger.debug("Skipping payload attestation, no beacon block seen for slot", { slot });
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
47
53
|
await this.signAndPublishPayloadAttestations(slot, payloadAttestationData, duties);
|
|
48
54
|
}
|
|
49
55
|
catch (e) {
|
|
@@ -51,7 +57,11 @@ export class PtcService {
|
|
|
51
57
|
}
|
|
52
58
|
};
|
|
53
59
|
async producePayloadAttestationData(slot) {
|
|
54
|
-
|
|
60
|
+
const res = await this.api.validator.producePayloadAttestationData({ slot });
|
|
61
|
+
if (!res.ok && res.status === HttpStatusCode.NOT_FOUND) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return res.value();
|
|
55
65
|
}
|
|
56
66
|
async signAndPublishPayloadAttestations(slot, payloadAttestationData, duties) {
|
|
57
67
|
const payloadAttestationMessages = [];
|
|
@@ -75,6 +85,8 @@ export class PtcService {
|
|
|
75
85
|
this.logger.info("Published payload attestation messages", {
|
|
76
86
|
slot,
|
|
77
87
|
beaconBlockRoot: prettyBytes(beaconBlockRootHex),
|
|
88
|
+
payloadPresent: payloadAttestationData.payloadPresent,
|
|
89
|
+
blobDataAvailable: payloadAttestationData.blobDataAvailable,
|
|
78
90
|
count: payloadAttestationMessages.length,
|
|
79
91
|
});
|
|
80
92
|
this.metrics?.publishedPayloadAttestations.inc(payloadAttestationMessages.length);
|
package/lib/services/ptc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptc.js","sourceRoot":"","sources":["../../src/services/ptc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ptc.js","sourceRoot":"","sources":["../../src/services/ptc.ts"],"names":[],"mappings":"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"}
|
package/lib/util/params.js
CHANGED
|
@@ -279,10 +279,14 @@ function getSpecCriticalParams(localConfig) {
|
|
|
279
279
|
PAYLOAD_DUE_BPS: gloasForkRelevant,
|
|
280
280
|
PTC_SIZE: gloasForkRelevant,
|
|
281
281
|
MAX_PAYLOAD_ATTESTATIONS: gloasForkRelevant,
|
|
282
|
+
MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD: gloasForkRelevant,
|
|
283
|
+
MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD: gloasForkRelevant,
|
|
282
284
|
BUILDER_REGISTRY_LIMIT: gloasForkRelevant,
|
|
283
285
|
BUILDER_PENDING_WITHDRAWALS_LIMIT: gloasForkRelevant,
|
|
284
286
|
MAX_BUILDERS_PER_WITHDRAWALS_SWEEP: gloasForkRelevant,
|
|
285
287
|
MIN_BUILDER_WITHDRAWABILITY_DELAY: gloasForkRelevant,
|
|
288
|
+
// FastConfirmationRule
|
|
289
|
+
CONFIRMATION_BYZANTINE_THRESHOLD: false,
|
|
286
290
|
CHURN_LIMIT_QUOTIENT_GLOAS: gloasForkRelevant,
|
|
287
291
|
CONSOLIDATION_CHURN_LIMIT_QUOTIENT: gloasForkRelevant,
|
|
288
292
|
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS: gloasForkRelevant,
|
package/lib/util/params.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/util/params.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,iBAAiB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAe,YAAY,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE1E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;AAIjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,gBAA0B,EAAQ;IAC5F,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,aAAa,GAAG;QACpB,GAAG,iBAAiB,CAAC,WAAW,CAAC;QACjC,GAAG,YAAY,CAAC,YAAY,CAAC;KAC9B,CAAC;IAEF,oGAAoG;IACpG,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE1D,wDAAwD;IACxD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAoC,EAAE,CAAC;QACjF;QACE,6BAA6B;QAC7B,CAAC,cAAc,CAAC,GAAG,CAAC;YACpB,wDAAwD;YACxD,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS;YAChC,+GAA+G;YAC/G,mGAAmG;YACnG,0HAA0H;YAC1H,EAAE;YACF,8GAA8G;YAC9G,2GAA2G;YAC3G,6CAA6C;YAC7C,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,EACnC,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACxG,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAE5G,IAAI,iBAAiB,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,mCAAmC,iBAAiB,CAAC,MAAM,OAAO,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE3G,4BAA4B;gBAC5B,SAAS;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAE1C,KAAK,MAAM,QAAQ,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAmC,EAAE,CAAC;oBAC1F,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAElD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,QAAQ,qBAAqB,UAAU,OAAO,WAAW,EAAE,CAAC,CAAC;oBAClG,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,SAAS;QACX,CAAC;QAED,yFAAyF;QACzF,4FAA4F;QAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACtE,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,qBAAqB,UAAU,OAAO,WAAW,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,mBAAmB,CAAC,0CAA0C,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;AAAA,CACF;AAED,SAAS,qBAAqB,CAAC,WAAwB,EAA2C;IAChG,MAAM,kBAAkB,GAAG,WAAW,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpE,MAAM,qBAAqB,GAAG,WAAW,CAAC,oBAAoB,GAAG,QAAQ,CAAC;IAC1E,MAAM,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAClE,MAAM,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACtE,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,GAAG,QAAQ,CAAC;IAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAElE,OAAO;QACL,WAAW;QACX,WAAW;QAEX,WAAW,EAAE,KAAK,EAAE,mDAAmD;QACvE,WAAW,EAAE,KAAK,EAAE,iCAAiC;QAErD,gEAAgE;QAChE,yBAAyB,EAAE,KAAK;QAChC,mBAAmB,EAAE,KAAK;QAC1B,oCAAoC,EAAE,KAAK;QAE3C,UAAU;QACV,kCAAkC,EAAE,IAAI;QACxC,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,IAAI;QAEnB,UAAU;QACV,SAAS;QACT,mBAAmB,EAAE,kBAAkB;QACvC,iBAAiB,EAAE,kBAAkB;QACrC,YAAY;QACZ,sBAAsB,EAAE,qBAAqB;QAC7C,oBAAoB,EAAE,qBAAqB;QAC3C,UAAU;QACV,oBAAoB,EAAE,mBAAmB;QACzC,kBAAkB,EAAE,mBAAmB;QACvC,QAAQ;QACR,kBAAkB,EAAE,iBAAiB;QACrC,gBAAgB,EAAE,iBAAiB;QACnC,UAAU;QACV,oBAAoB,EAAE,mBAAmB;QACzC,kBAAkB,EAAE,mBAAmB;QACvC,OAAO;QACP,iBAAiB,EAAE,gBAAgB;QACnC,eAAe,EAAE,gBAAgB;QACjC,QAAQ;QACR,kBAAkB,EAAE,iBAAiB;QACrC,gBAAgB,EAAE,iBAAiB;QAEnC,kBAAkB;QAClB,gBAAgB,EAAE,KAAK,EAAE,aAAa;QACtC,gBAAgB,EAAE,IAAI;QACtB,sBAAsB,EAAE,KAAK,EAAE,SAAS;QACxC,mCAAmC,EAAE,IAAI;QACzC,sBAAsB,EAAE,IAAI;QAC5B,oBAAoB,EAAE,IAAI;QAC1B,yBAAyB,EAAE,IAAI;QAC/B,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,IAAI;QACvB,SAAS;QACT,oBAAoB,EAAE,kBAAkB;QACxC,oBAAoB,EAAE,kBAAkB;QAExC,kBAAkB;QAClB,qBAAqB,EAAE,IAAI;QAC3B,8BAA8B,EAAE,IAAI;QACpC,gBAAgB,EAAE,IAAI;QACtB,yBAAyB,EAAE,IAAI;QAC/B,oCAAoC,EAAE,iBAAiB;QACvD,oBAAoB,EAAE,IAAI;QAE1B,cAAc;QACd,oBAAoB,EAAE,KAAK,EAAE,iFAAiF;QAC9G,2BAA2B,EAAE,KAAK,EAAE,8DAA8D;QAClG,6BAA6B,EAAE,KAAK,EAAE,8DAA8D;QACpG,mCAAmC,EAAE,KAAK,EAAE,8DAA8D;QAE1G,mBAAmB;QACnB,gBAAgB,EAAE,KAAK,EAAE,eAAe;QACxC,kBAAkB,EAAE,KAAK,EAAE,eAAe;QAC1C,wBAAwB,EAAE,IAAI;QAE9B,6DAA6D;QAC7D,gBAAgB,EAAE,KAAK;QACvB,8BAA8B,EAAE,KAAK;QACrC,kCAAkC,EAAE,KAAK;QACzC,8BAA8B,EAAE,KAAK;QACrC,6BAA6B,EAAE,KAAK;QACpC,2BAA2B,EAAE,KAAK;QAClC,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;QAC/B,6BAA6B,EAAE,KAAK;QACpC,qCAAqC,EAAE,KAAK;QAC5C,4CAA4C,EAAE,KAAK;QACnD,yBAAyB,EAAE,KAAK;QAChC,iCAAiC,EAAE,KAAK;QACxC,gCAAgC,EAAE,KAAK;QACvC,yBAAyB,EAAE,KAAK;QAChC,iCAAiC,EAAE,KAAK;QACxC,gCAAgC,EAAE,KAAK;QACvC,oBAAoB,EAAE,KAAK;QAE3B,iBAAiB;QACjB,iBAAiB;QAEjB,uBAAuB,EAAE,IAAI;QAC7B,qBAAqB,EAAE,IAAI;QAC3B,4BAA4B,EAAE,IAAI;QAElC,mBAAmB,EAAE,IAAI;QAEzB,mBAAmB,EAAE,IAAI;QACzB,8BAA8B,EAAE,IAAI;QACpC,4BAA4B,EAAE,IAAI;QAElC,cAAc;QACd,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,2BAA2B,EAAE,IAAI;QAEjC,kBAAkB;QAClB,+BAA+B,EAAE,IAAI;QACrC,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,IAAI;QACxB,6BAA6B,EAAE,IAAI;QACnC,yBAAyB,EAAE,IAAI;QAC/B,gCAAgC,EAAE,IAAI;QAEtC,uBAAuB;QACvB,4BAA4B,EAAE,IAAI;QAClC,2BAA2B,EAAE,IAAI;QACjC,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,IAAI;QAE9B,+BAA+B;QAC/B,kBAAkB,EAAE,IAAI;QACxB,6BAA6B,EAAE,IAAI;QACnC,wBAAwB,EAAE,IAAI;QAC9B,2BAA2B,EAAE,IAAI;QACjC,6BAA6B,EAAE,IAAI;QACnC,gCAAgC,EAAE,IAAI;QAEtC,2BAA2B;QAC3B,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,IAAI;QAC5B,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,IAAI;QAEzB,iBAAiB;QACjB,iBAAiB;QAEjB,mBAAmB,EAAE,kBAAkB;QACvC,gCAAgC,EAAE,kBAAkB;QACpD,kCAAkC,EAAE,kBAAkB;QACtD,oCAAoC,EAAE,kBAAkB;QACxD,uCAAuC,EAAE,kBAAkB;QAC3D,+BAA+B,EAAE,KAAK,EAAE,iCAAiC;QACzE,cAAc,EAAE,KAAK,EAAE,iCAAiC;QAExD,oBAAoB;QACpB,iBAAiB;QAEjB,qCAAqC,EAAE,qBAAqB;QAC5D,uCAAuC,EAAE,qBAAqB;QAC9D,0CAA0C,EAAE,qBAAqB;QACjE,yBAAyB,EAAE,qBAAqB;QAChD,4BAA4B,EAAE,qBAAqB;QACnD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAE3C,kBAAkB;QAClB,iBAAiB;QACjB,4BAA4B,EAAE,mBAAmB;QACjD,2BAA2B,EAAE,mBAAmB;QAChD,oCAAoC,EAAE,mBAAmB;QAEzD,gBAAgB;QAChB,iBAAiB;QACjB,uBAAuB,EAAE,iBAAiB;QAC1C,8BAA8B,EAAE,iBAAiB;QACjD,oCAAoC,EAAE,iBAAiB;QACvD,mBAAmB,EAAE,iBAAiB;QAEtC,UAAU;QACV,gCAAgC,EAAE,mBAAmB;QACrD,mCAAmC,EAAE,mBAAmB;QACxD,8BAA8B,EAAE,mBAAmB;QACnD,wBAAwB,EAAE,mBAAmB;QAC7C,0CAA0C,EAAE,mBAAmB;QAC/D,8BAA8B,EAAE,mBAAmB;QACnD,6BAA6B,EAAE,mBAAmB;QAClD,qCAAqC,EAAE,mBAAmB;QAC1D,sBAAsB,EAAE,mBAAmB;QAC3C,sBAAsB,EAAE,mBAAmB;QAC3C,iCAAiC,EAAE,mBAAmB;QACtD,4BAA4B,EAAE,mBAAmB;QACjD,sCAAsC,EAAE,mBAAmB;QAC3D,qCAAqC,EAAE,mBAAmB;QAC1D,yCAAyC,EAAE,mBAAmB;QAC9D,iCAAiC,EAAE,mBAAmB;QACtD,2BAA2B,EAAE,mBAAmB;QAEhD,OAAO;QACP,iBAAiB;QACjB,kBAAkB,EAAE,gBAAgB;QACpC,uBAAuB,EAAE,gBAAgB;QACzC,2BAA2B,EAAE,gBAAgB;QAC7C,qCAAqC,EAAE,gBAAgB;QACvD,iBAAiB,EAAE,gBAAgB;QACnC,wBAAwB,EAAE,gBAAgB;QAC1C,gBAAgB,EAAE,gBAAgB;QAClC,mBAAmB,EAAE,gBAAgB;QACrC,6BAA6B,EAAE,gBAAgB;QAC/C,oCAAoC,EAAE,gBAAgB;QACtD,aAAa,EAAE,gBAAgB;QAE/B,QAAQ;QACR,yBAAyB,EAAE,iBAAiB;QAC5C,uBAAuB,EAAE,iBAAiB;QAC1C,0BAA0B,EAAE,iBAAiB;QAC7C,0BAA0B,EAAE,iBAAiB;QAC7C,2BAA2B,EAAE,iBAAiB;QAC9C,eAAe,EAAE,iBAAiB;QAClC,QAAQ,EAAE,iBAAiB;QAC3B,wBAAwB,EAAE,iBAAiB;QAC3C,sBAAsB,EAAE,iBAAiB;QACzC,iCAAiC,EAAE,iBAAiB;QACpD,kCAAkC,EAAE,iBAAiB;QACrD,iCAAiC,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/util/params.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodestar/validator",
|
|
3
|
-
"version": "1.44.0-dev.
|
|
3
|
+
"version": "1.44.0-dev.762dd5f186",
|
|
4
4
|
"description": "A Typescript implementation of the validator client",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,21 +50,21 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@chainsafe/blst": "^2.2.0",
|
|
52
52
|
"@chainsafe/ssz": "^1.4.0",
|
|
53
|
-
"@lodestar/api": "^1.44.0-dev.
|
|
54
|
-
"@lodestar/config": "^1.44.0-dev.
|
|
55
|
-
"@lodestar/db": "^1.44.0-dev.
|
|
56
|
-
"@lodestar/params": "^1.44.0-dev.
|
|
57
|
-
"@lodestar/state-transition": "^1.44.0-dev.
|
|
58
|
-
"@lodestar/types": "^1.44.0-dev.
|
|
59
|
-
"@lodestar/utils": "^1.44.0-dev.
|
|
53
|
+
"@lodestar/api": "^1.44.0-dev.762dd5f186",
|
|
54
|
+
"@lodestar/config": "^1.44.0-dev.762dd5f186",
|
|
55
|
+
"@lodestar/db": "^1.44.0-dev.762dd5f186",
|
|
56
|
+
"@lodestar/params": "^1.44.0-dev.762dd5f186",
|
|
57
|
+
"@lodestar/state-transition": "^1.44.0-dev.762dd5f186",
|
|
58
|
+
"@lodestar/types": "^1.44.0-dev.762dd5f186",
|
|
59
|
+
"@lodestar/utils": "^1.44.0-dev.762dd5f186",
|
|
60
60
|
"strict-event-emitter-types": "^2.0.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@lodestar/logger": "^1.44.0-dev.
|
|
64
|
-
"@lodestar/spec-test-util": "^1.44.0-dev.
|
|
65
|
-
"@lodestar/test-utils": "^1.44.0-dev.
|
|
63
|
+
"@lodestar/logger": "^1.44.0-dev.762dd5f186",
|
|
64
|
+
"@lodestar/spec-test-util": "^1.44.0-dev.762dd5f186",
|
|
65
|
+
"@lodestar/test-utils": "^1.44.0-dev.762dd5f186",
|
|
66
66
|
"@vekexasia/bigint-buffer2": "^1.1.1",
|
|
67
67
|
"rimraf": "^4.4.1"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "41dfce7e2fd3c7a5a92733aca66dde85a4c2ab26"
|
|
70
70
|
}
|
package/src/services/block.ts
CHANGED
|
@@ -212,9 +212,10 @@ export class BlockProposingService {
|
|
|
212
212
|
const signedBlock = await this.validatorStore.signBlock(pubkey, block, slot, this.logger);
|
|
213
213
|
|
|
214
214
|
const {broadcastValidation} = this.opts;
|
|
215
|
-
|
|
216
|
-
//
|
|
217
|
-
//
|
|
215
|
+
|
|
216
|
+
// Publish the block first so it propagates as soon as possible. This reduces the chance other nodes
|
|
217
|
+
// see the payload envelope before the block over gossip and have to queue it. There's also plenty of
|
|
218
|
+
// time left in the slot to propagate the payload, so publishing it in parallel is unnecessary.
|
|
218
219
|
(
|
|
219
220
|
await this.api.beacon
|
|
220
221
|
.publishBlockV2({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ApiClient, routes} from "@lodestar/api";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
-
import {
|
|
3
|
+
import {isForkPostGloas} from "@lodestar/params";
|
|
4
4
|
import {computeEpochAtSlot, computeStartSlotAtEpoch} from "@lodestar/state-transition";
|
|
5
5
|
import {BLSPubkey, Epoch, RootHex, Slot} from "@lodestar/types";
|
|
6
6
|
import {sleep, toPubkeyHex} from "@lodestar/utils";
|
|
@@ -11,8 +11,11 @@ import {ChainHeaderTracker, HeadEventData} from "./chainHeaderTracker.js";
|
|
|
11
11
|
import {ValidatorStore} from "./validatorStore.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Pre-
|
|
15
|
-
*
|
|
14
|
+
* Pre-Gloas: poll next-epoch proposer duties ~1s before the boundary. The deterministic 1-epoch
|
|
15
|
+
* lookahead (EIP-7917) is available post-Fulu, but consuming it requires `getProposerDutiesV2`,
|
|
16
|
+
* which was added to beacon-APIs only after Fulu shipped. To avoid depending on an endpoint not
|
|
17
|
+
* all clients implement yet, the VC keeps using v1 + this boundary poll until Gloas; only then
|
|
18
|
+
* does it switch to the lookahead-based pre-fetch in `runEveryEpoch`.
|
|
16
19
|
*
|
|
17
20
|
* Historical context: starting Jul 2023 we poll 1s before the next epoch because
|
|
18
21
|
* `PrepareNextSlotScheduler` (BN-side) usually finishes the upcoming-epoch transition in ~3s,
|
|
@@ -123,9 +126,10 @@ export class BlockDutiesService {
|
|
|
123
126
|
}
|
|
124
127
|
|
|
125
128
|
/**
|
|
126
|
-
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-
|
|
127
|
-
* deterministic 1-epoch lookahead lets us also pre-fetch `epoch + 1`;
|
|
128
|
-
* epoch's dep_root only stabilizes at the boundary and is handled by
|
|
129
|
+
* Baseline per-epoch fetch. Fires at epoch boundaries (and once at startup). Post-Gloas the
|
|
130
|
+
* deterministic 1-epoch lookahead (consumed via v2) lets us also pre-fetch `epoch + 1`;
|
|
131
|
+
* pre-Gloas the next epoch's dep_root only stabilizes at the boundary and is handled by
|
|
132
|
+
* `runEverySlotTask`.
|
|
129
133
|
*
|
|
130
134
|
* Mid-epoch refreshes (e.g. reorgs) are driven by `onNewHead` instead of polling every slot.
|
|
131
135
|
*/
|
|
@@ -144,7 +148,7 @@ export class BlockDutiesService {
|
|
|
144
148
|
await this.pollBeaconProposers(epoch);
|
|
145
149
|
|
|
146
150
|
const nextEpoch = epoch + 1;
|
|
147
|
-
if (
|
|
151
|
+
if (isForkPostGloas(this.config.getForkName(computeStartSlotAtEpoch(nextEpoch)))) {
|
|
148
152
|
await this.pollBeaconProposers(nextEpoch);
|
|
149
153
|
}
|
|
150
154
|
} catch (e) {
|
|
@@ -156,7 +160,7 @@ export class BlockDutiesService {
|
|
|
156
160
|
|
|
157
161
|
/**
|
|
158
162
|
* Slot-tick handler. Notifies block production for cached proposers in this slot, and on
|
|
159
|
-
* the last slot of a pre-
|
|
163
|
+
* the last slot of a pre-Gloas epoch schedules the boundary fetch for `nextEpoch` duties.
|
|
160
164
|
* Reorg detection is handled by `onNewHead`, so this task does not re-poll on every slot.
|
|
161
165
|
*/
|
|
162
166
|
private runEverySlotTask = async (slot: Slot, signal: AbortSignal): Promise<void> => {
|
|
@@ -169,10 +173,10 @@ export class BlockDutiesService {
|
|
|
169
173
|
|
|
170
174
|
const nextEpoch = computeEpochAtSlot(slot) + 1;
|
|
171
175
|
const isLastSlotOfEpoch = computeStartSlotAtEpoch(nextEpoch) === slot + 1;
|
|
172
|
-
if (isLastSlotOfEpoch && !
|
|
173
|
-
// Pre-
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
+
if (isLastSlotOfEpoch && !isForkPostGloas(this.config.getForkName(slot + 1))) {
|
|
177
|
+
// Pre-Gloas the VC uses v1 and does not pre-fetch the next epoch on the epoch tick, so
|
|
178
|
+
// fetch it ~1s before the boundary instead. Pre-Fulu this is required (0-epoch lookahead);
|
|
179
|
+
// for Fulu the lookahead exists but the v2 path is deferred to Gloas (see top of file).
|
|
176
180
|
this.pollBeaconProposersBeforeBoundary(slot, nextEpoch, signal).catch((e) => {
|
|
177
181
|
this.logger.error("Error on pollBeaconProposersBeforeBoundary", {nextEpoch}, e);
|
|
178
182
|
});
|
|
@@ -184,14 +188,15 @@ export class BlockDutiesService {
|
|
|
184
188
|
|
|
185
189
|
/**
|
|
186
190
|
* SSE head-event handler. The beacon-API `head` event carries attester-duty dep_roots,
|
|
187
|
-
* which coincide with the proposer dep_roots
|
|
191
|
+
* which coincide with the proposer dep_roots the VC caches. The offset depends on the
|
|
192
|
+
* proposer-duties endpoint the VC uses, which is gated on Gloas (v1 before, v2 after):
|
|
188
193
|
*
|
|
189
|
-
* Pre-
|
|
194
|
+
* Pre-Gloas (v1 proposer dep_root(E) = block@startSlot(E) - 1):
|
|
190
195
|
* currentDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
191
|
-
* (next-epoch proposer dep_root is not exposed; pre-
|
|
196
|
+
* (next-epoch proposer dep_root is not exposed; pre-Gloas falls back to the
|
|
192
197
|
* `runEverySlotTask` boundary poll.)
|
|
193
198
|
*
|
|
194
|
-
* Post-
|
|
199
|
+
* Post-Gloas (v2 proposer dep_root(E) = block@startSlot(E - 1) - 1, EIP-7917):
|
|
195
200
|
* previousDutyDependentRoot ≡ proposer_dep_root(currentEpoch)
|
|
196
201
|
* currentDutyDependentRoot ≡ proposer_dep_root(nextEpoch)
|
|
197
202
|
*
|
|
@@ -204,9 +209,9 @@ export class BlockDutiesService {
|
|
|
204
209
|
currentDutyDependentRoot,
|
|
205
210
|
}: HeadEventData): Promise<void> => {
|
|
206
211
|
const currentEpoch = computeEpochAtSlot(slot);
|
|
207
|
-
const
|
|
212
|
+
const isPostGloas = isForkPostGloas(this.config.getForkName(slot));
|
|
208
213
|
|
|
209
|
-
if (
|
|
214
|
+
if (isPostGloas) {
|
|
210
215
|
await this.refetchIfDepRootChanged(currentEpoch, previousDutyDependentRoot);
|
|
211
216
|
await this.refetchIfDepRootChanged(currentEpoch + 1, currentDutyDependentRoot);
|
|
212
217
|
} else {
|
|
@@ -229,11 +234,11 @@ export class BlockDutiesService {
|
|
|
229
234
|
}
|
|
230
235
|
|
|
231
236
|
/**
|
|
232
|
-
* Pre-
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
+
* Pre-Gloas boundary fetch. Without a pre-fetched next epoch, a proposal for the first slot
|
|
238
|
+
* of the new epoch otherwise goes through the slow path every time: the proposal can only
|
|
239
|
+
* happen *after* we download and process the new duties from the BN. Polling ~1s before the
|
|
240
|
+
* boundary, while `PrepareNextSlotScheduler` is finishing the upcoming-epoch transition, lets
|
|
241
|
+
* us land on a hot BN cache and avoid the miss.
|
|
237
242
|
*
|
|
238
243
|
* See https://github.com/ChainSafe/lodestar/issues/5792.
|
|
239
244
|
*/
|
|
@@ -303,8 +308,9 @@ export class BlockDutiesService {
|
|
|
303
308
|
return;
|
|
304
309
|
}
|
|
305
310
|
|
|
306
|
-
//
|
|
307
|
-
|
|
311
|
+
// Use v2 only post-Gloas: it exposes the post-Fulu deterministic proposer dependent root,
|
|
312
|
+
// but was added to beacon-APIs after Fulu shipped, so we defer to it until Gloas (see top).
|
|
313
|
+
const res = isForkPostGloas(this.config.getForkName(computeStartSlotAtEpoch(epoch)))
|
|
308
314
|
? await this.api.validator.getProposerDutiesV2({epoch})
|
|
309
315
|
: await this.api.validator.getProposerDuties({epoch});
|
|
310
316
|
const proposerDuties = res.value();
|
package/src/services/ptc.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ApiClient, routes} from "@lodestar/api";
|
|
1
|
+
import {ApiClient, HttpStatusCode, routes} from "@lodestar/api";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
3
|
import {isForkPostGloas} from "@lodestar/params";
|
|
4
4
|
import {Slot, gloas} from "@lodestar/types";
|
|
@@ -70,14 +70,23 @@ export class PtcService {
|
|
|
70
70
|
|
|
71
71
|
try {
|
|
72
72
|
const payloadAttestationData = await this.producePayloadAttestationData(slot);
|
|
73
|
+
// If no beacon block was seen for the assigned slot, do not submit a payload attestation
|
|
74
|
+
if (payloadAttestationData === null) {
|
|
75
|
+
this.logger.debug("Skipping payload attestation, no beacon block seen for slot", {slot});
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
73
78
|
await this.signAndPublishPayloadAttestations(slot, payloadAttestationData, duties);
|
|
74
79
|
} catch (e) {
|
|
75
80
|
this.logger.error("Error on PTC routine", {slot}, e as Error);
|
|
76
81
|
}
|
|
77
82
|
};
|
|
78
83
|
|
|
79
|
-
private async producePayloadAttestationData(slot: Slot): Promise<gloas.PayloadAttestationData> {
|
|
80
|
-
|
|
84
|
+
private async producePayloadAttestationData(slot: Slot): Promise<gloas.PayloadAttestationData | null> {
|
|
85
|
+
const res = await this.api.validator.producePayloadAttestationData({slot});
|
|
86
|
+
if (!res.ok && res.status === HttpStatusCode.NOT_FOUND) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return res.value();
|
|
81
90
|
}
|
|
82
91
|
|
|
83
92
|
private async signAndPublishPayloadAttestations(
|
|
@@ -119,6 +128,8 @@ export class PtcService {
|
|
|
119
128
|
this.logger.info("Published payload attestation messages", {
|
|
120
129
|
slot,
|
|
121
130
|
beaconBlockRoot: prettyBytes(beaconBlockRootHex),
|
|
131
|
+
payloadPresent: payloadAttestationData.payloadPresent,
|
|
132
|
+
blobDataAvailable: payloadAttestationData.blobDataAvailable,
|
|
122
133
|
count: payloadAttestationMessages.length,
|
|
123
134
|
});
|
|
124
135
|
this.metrics?.publishedPayloadAttestations.inc(payloadAttestationMessages.length);
|
package/src/util/params.ts
CHANGED
|
@@ -324,10 +324,16 @@ function getSpecCriticalParams(localConfig: ChainConfig): Record<keyof ConfigWit
|
|
|
324
324
|
PAYLOAD_DUE_BPS: gloasForkRelevant,
|
|
325
325
|
PTC_SIZE: gloasForkRelevant,
|
|
326
326
|
MAX_PAYLOAD_ATTESTATIONS: gloasForkRelevant,
|
|
327
|
+
MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD: gloasForkRelevant,
|
|
328
|
+
MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD: gloasForkRelevant,
|
|
327
329
|
BUILDER_REGISTRY_LIMIT: gloasForkRelevant,
|
|
328
330
|
BUILDER_PENDING_WITHDRAWALS_LIMIT: gloasForkRelevant,
|
|
329
331
|
MAX_BUILDERS_PER_WITHDRAWALS_SWEEP: gloasForkRelevant,
|
|
330
332
|
MIN_BUILDER_WITHDRAWABILITY_DELAY: gloasForkRelevant,
|
|
333
|
+
|
|
334
|
+
// FastConfirmationRule
|
|
335
|
+
CONFIRMATION_BYZANTINE_THRESHOLD: false,
|
|
336
|
+
|
|
331
337
|
CHURN_LIMIT_QUOTIENT_GLOAS: gloasForkRelevant,
|
|
332
338
|
CONSOLIDATION_CHURN_LIMIT_QUOTIENT: gloasForkRelevant,
|
|
333
339
|
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS: gloasForkRelevant,
|