@lodestar/validator 1.47.0-dev.d2f4b96574 → 1.47.0-dev.d79d81f994
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 +43 -5
- package/lib/services/block.js.map +1 -1
- package/lib/services/builderPreferences.d.ts +27 -0
- package/lib/services/builderPreferences.d.ts.map +1 -0
- package/lib/services/builderPreferences.js +127 -0
- package/lib/services/builderPreferences.js.map +1 -0
- package/lib/services/externalSignerSync.js +1 -1
- package/lib/services/externalSignerSync.js.map +1 -1
- package/lib/services/prepareBeaconProposer.d.ts.map +1 -1
- package/lib/services/prepareBeaconProposer.js +6 -3
- package/lib/services/prepareBeaconProposer.js.map +1 -1
- package/lib/services/proposerPreferences.d.ts +2 -2
- package/lib/services/proposerPreferences.d.ts.map +1 -1
- package/lib/services/proposerPreferences.js +16 -4
- package/lib/services/proposerPreferences.js.map +1 -1
- package/lib/services/validatorStore.d.ts +46 -3
- package/lib/services/validatorStore.d.ts.map +1 -1
- package/lib/services/validatorStore.js +228 -34
- package/lib/services/validatorStore.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/util/externalSignerClient.d.ts +5 -1
- package/lib/util/externalSignerClient.d.ts.map +1 -1
- package/lib/util/externalSignerClient.js +4 -0
- package/lib/util/externalSignerClient.js.map +1 -1
- package/lib/validator.d.ts +1 -1
- package/lib/validator.d.ts.map +1 -1
- package/lib/validator.js +16 -3
- package/lib/validator.js.map +1 -1
- package/package.json +14 -14
- package/src/services/block.ts +47 -5
- package/src/services/builderPreferences.ts +142 -0
- package/src/services/externalSignerSync.ts +1 -1
- package/src/services/prepareBeaconProposer.ts +6 -3
- package/src/services/proposerPreferences.ts +17 -4
- package/src/services/validatorStore.ts +307 -42
- package/src/types.ts +1 -1
- package/src/util/externalSignerClient.ts +7 -1
- package/src/validator.ts +31 -4
package/lib/validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,cAAc,EAA0B,MAAM,EAAC,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,YAAY,EACZ,eAAe,EAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAQ,YAAY,EAAE,MAAM,EAAqC,MAAM,4BAA4B,CAAC;AAC3G,OAAO,EAAC,SAAS,EAAE,MAAM,EAAM,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
|
package/lib/validator.js
CHANGED
|
@@ -2,12 +2,13 @@ import { defaultInit, getClient } from "@lodestar/api";
|
|
|
2
2
|
import { NotEqualParamsError, assertEqualParams, createBeaconConfig, } from "@lodestar/config";
|
|
3
3
|
import { Clock, computeEpochAtSlot, getCurrentSlot } from "@lodestar/state-transition";
|
|
4
4
|
import { ssz } from "@lodestar/types";
|
|
5
|
-
import { toPrintableUrl, toRootHex } from "@lodestar/utils";
|
|
5
|
+
import { prettyGweiToEth, toPrintableUrl, toRootHex } from "@lodestar/utils";
|
|
6
6
|
import { waitForGenesis } from "./genesis.js";
|
|
7
7
|
import { MetaDataRepository } from "./repositories/metaDataRepository.js";
|
|
8
8
|
import { AttestationService } from "./services/attestation.js";
|
|
9
9
|
import { BlockProposingService } from "./services/block.js";
|
|
10
10
|
import { BlockDutiesService } from "./services/blockDuties.js";
|
|
11
|
+
import { BuilderPreferencesService } from "./services/builderPreferences.js";
|
|
11
12
|
import { ChainHeaderTracker } from "./services/chainHeaderTracker.js";
|
|
12
13
|
import { DoppelgangerService } from "./services/doppelgangerService.js";
|
|
13
14
|
import { ValidatorEventEmitter } from "./services/emitter.js";
|
|
@@ -18,7 +19,7 @@ import { ProposerPreferencesService } from "./services/proposerPreferences.js";
|
|
|
18
19
|
import { PtcService } from "./services/ptc.js";
|
|
19
20
|
import { SyncCommitteeService } from "./services/syncCommittee.js";
|
|
20
21
|
import { SyncingStatusTracker } from "./services/syncingStatusTracker.js";
|
|
21
|
-
import { ValidatorStore, defaultOptions } from "./services/validatorStore.js";
|
|
22
|
+
import { ValidatorStore, defaultOptions, getBuilderBoostFactor, getDefaultBuilderSelection, } from "./services/validatorStore.js";
|
|
22
23
|
import { getLoggerVc } from "./util/index.js";
|
|
23
24
|
// TODO: Extend the timeout, and let it be customizable
|
|
24
25
|
/// The global timeout for HTTP requests to the beacon node.
|
|
@@ -157,6 +158,7 @@ export class Validator {
|
|
|
157
158
|
distributedAggregationSelection: opts.distributed,
|
|
158
159
|
});
|
|
159
160
|
new ProposerPreferencesService(config, loggerVc, api, clock, validatorStore, blockDutiesService, metrics);
|
|
161
|
+
new BuilderPreferencesService(config, loggerVc, api, clock, validatorStore, blockDutiesService, metrics);
|
|
160
162
|
return new Validator({
|
|
161
163
|
opts,
|
|
162
164
|
genesis,
|
|
@@ -205,7 +207,8 @@ export class Validator {
|
|
|
205
207
|
await assertEqualGenesis(opts, genesis);
|
|
206
208
|
logger.info("Verified connected beacon node and validator have the same genesisValidatorRoot");
|
|
207
209
|
const { broadcastValidation = defaultOptions.broadcastValidation, valProposerConfig } = opts;
|
|
208
|
-
const
|
|
210
|
+
const gloasScheduled = config.GLOAS_FORK_EPOCH !== Infinity;
|
|
211
|
+
const defaultBuilderSelection = valProposerConfig?.defaultConfig.builder?.selection ?? getDefaultBuilderSelection(gloasScheduled);
|
|
209
212
|
const strictFeeRecipientCheck = valProposerConfig?.defaultConfig.strictFeeRecipientCheck ?? false;
|
|
210
213
|
const suggestedFeeRecipient = valProposerConfig?.defaultConfig.feeRecipient ?? defaultOptions.suggestedFeeRecipient;
|
|
211
214
|
logger.info("Initializing validator", {
|
|
@@ -215,6 +218,16 @@ export class Validator {
|
|
|
215
218
|
strictFeeRecipientCheck,
|
|
216
219
|
});
|
|
217
220
|
metrics?.defaultConfiguration.set({ builderSelection: defaultBuilderSelection, broadcastValidation }, 1);
|
|
221
|
+
if (gloasScheduled) {
|
|
222
|
+
const defaultBuilderConfig = valProposerConfig?.defaultConfig.builder;
|
|
223
|
+
const defaultBuilders = defaultBuilderConfig?.builders ?? [];
|
|
224
|
+
logger.info("Builder config", {
|
|
225
|
+
builders: defaultBuilders.map((entry) => toPrintableUrl(entry.url)).join(",") || "p2p only",
|
|
226
|
+
boostFactor: getBuilderBoostFactor(defaultBuilderSelection, defaultBuilderConfig?.boostFactor ?? defaultOptions.builderBoostFactor),
|
|
227
|
+
minBid: prettyGweiToEth(defaultBuilderConfig?.minBid ?? defaultOptions.builderMinBid),
|
|
228
|
+
maxExecutionPayment: prettyGweiToEth(defaultBuilderConfig?.maxExecutionPayment ?? defaultOptions.builderMaxExecutionPayment),
|
|
229
|
+
});
|
|
230
|
+
}
|
|
218
231
|
// Instantiates block and attestation services and runs them once the chain has been started.
|
|
219
232
|
return Validator.init(opts, genesis, metrics);
|
|
220
233
|
}
|
package/lib/validator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.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.47.0-dev.
|
|
3
|
+
"version": "1.47.0-dev.d79d81f994",
|
|
4
4
|
"description": "A Typescript implementation of the validator client",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,23 +48,23 @@
|
|
|
48
48
|
"blockchain"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@chainsafe/
|
|
52
|
-
"@chainsafe/ssz": "^1.6.
|
|
53
|
-
"@lodestar/api": "^1.47.0-dev.
|
|
54
|
-
"@lodestar/config": "^1.47.0-dev.
|
|
55
|
-
"@lodestar/db": "^1.47.0-dev.
|
|
56
|
-
"@lodestar/params": "^1.47.0-dev.
|
|
57
|
-
"@lodestar/state-transition": "^1.47.0-dev.
|
|
58
|
-
"@lodestar/types": "^1.47.0-dev.
|
|
59
|
-
"@lodestar/utils": "^1.47.0-dev.
|
|
51
|
+
"@chainsafe/lodestar-z": "catalog:",
|
|
52
|
+
"@chainsafe/ssz": "^1.6.3",
|
|
53
|
+
"@lodestar/api": "^1.47.0-dev.d79d81f994",
|
|
54
|
+
"@lodestar/config": "^1.47.0-dev.d79d81f994",
|
|
55
|
+
"@lodestar/db": "^1.47.0-dev.d79d81f994",
|
|
56
|
+
"@lodestar/params": "^1.47.0-dev.d79d81f994",
|
|
57
|
+
"@lodestar/state-transition": "^1.47.0-dev.d79d81f994",
|
|
58
|
+
"@lodestar/types": "^1.47.0-dev.d79d81f994",
|
|
59
|
+
"@lodestar/utils": "^1.47.0-dev.d79d81f994",
|
|
60
60
|
"strict-event-emitter-types": "^2.0.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@lodestar/logger": "^1.47.0-dev.
|
|
64
|
-
"@lodestar/spec-test-util": "^1.47.0-dev.
|
|
65
|
-
"@lodestar/test-utils": "^1.47.0-dev.
|
|
63
|
+
"@lodestar/logger": "^1.47.0-dev.d79d81f994",
|
|
64
|
+
"@lodestar/spec-test-util": "^1.47.0-dev.d79d81f994",
|
|
65
|
+
"@lodestar/test-utils": "^1.47.0-dev.d79d81f994",
|
|
66
66
|
"@vekexasia/bigint-buffer2": "^1.1.1",
|
|
67
67
|
"rimraf": "^4.4.1"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "a24de7c608b912e980422a572b34ada1eec7c023"
|
|
70
70
|
}
|
package/src/services/block.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
Slot,
|
|
15
15
|
isBlindedSignedBeaconBlock,
|
|
16
16
|
} from "@lodestar/types";
|
|
17
|
-
import {extendError, prettyBytes, prettyWeiToEth, toPubkeyHex, toRootHex} from "@lodestar/utils";
|
|
17
|
+
import {extendError, prettyBytes, prettyGweiToEth, prettyWeiToEth, toPubkeyHex, toRootHex} from "@lodestar/utils";
|
|
18
18
|
import {Metrics} from "../metrics.js";
|
|
19
19
|
import {PubkeyHex} from "../types.js";
|
|
20
20
|
import {LoggerVc} from "../util/index.js";
|
|
@@ -106,7 +106,7 @@ export class BlockProposingService {
|
|
|
106
106
|
|
|
107
107
|
const strictFeeRecipientCheck = this.validatorStore.strictFeeRecipientCheck(pubkeyHex);
|
|
108
108
|
const {selection: builderSelection, boostFactor: builderBoostFactor} =
|
|
109
|
-
this.validatorStore.getBuilderSelectionParams(pubkeyHex);
|
|
109
|
+
this.validatorStore.getBuilderSelectionParams(pubkeyHex, slot);
|
|
110
110
|
const feeRecipient = this.validatorStore.getFeeRecipient(pubkeyHex);
|
|
111
111
|
const blindedLocal = this.opts.blindedLocal;
|
|
112
112
|
|
|
@@ -190,13 +190,49 @@ export class BlockProposingService {
|
|
|
190
190
|
const randaoReveal = await this.validatorStore.signRandao(pubkey, slot);
|
|
191
191
|
const graffiti = this.validatorStore.getGraffiti(pubkeyHex);
|
|
192
192
|
const feeRecipient = this.validatorStore.getFeeRecipient(pubkeyHex);
|
|
193
|
+
const strictFeeRecipientCheck = this.validatorStore.strictFeeRecipientCheck(pubkeyHex);
|
|
193
194
|
const {broadcastValidation, payloadLocal} = this.opts;
|
|
194
195
|
const {selection: builderSelection, boostFactor: builderBoostFactor} =
|
|
195
196
|
this.validatorStore.getBuilderSelectionParams(pubkeyHex, slot);
|
|
197
|
+
const builderMinBid = this.validatorStore.getBuilderMinBid(pubkeyHex);
|
|
198
|
+
const builderEntries = this.validatorStore.getResolvedBuilderEntries(pubkeyHex, builderBoostFactor);
|
|
196
199
|
|
|
197
|
-
this.logger.debug("Producing block", {
|
|
200
|
+
this.logger.debug("Producing block", {
|
|
201
|
+
...debugLogCtx,
|
|
202
|
+
feeRecipient,
|
|
203
|
+
strictFeeRecipientCheck,
|
|
204
|
+
payloadLocal,
|
|
205
|
+
builderSelection,
|
|
206
|
+
builderBoostFactor,
|
|
207
|
+
builderMinBid: prettyGweiToEth(builderMinBid),
|
|
208
|
+
builderUrls: builderEntries.map((entry) => entry.url).join(","),
|
|
209
|
+
});
|
|
198
210
|
this.metrics?.proposerStepCallProduceBlock.observe(this.clock.secFromSlot(slot));
|
|
199
211
|
|
|
212
|
+
// One entry per resolved builder, authenticated by a request auth signed over the entry's
|
|
213
|
+
// auth data. The auth is usually pre-signed when preferences are submitted ahead of the
|
|
214
|
+
// proposal. An entry whose auth cannot be signed is skipped so it never fails the proposal.
|
|
215
|
+
const builders: routes.validator.BuilderEntry[] = (
|
|
216
|
+
await Promise.all(
|
|
217
|
+
builderEntries.map(async (entry) => {
|
|
218
|
+
try {
|
|
219
|
+
const auth = await this.validatorStore.getBuilderRequestAuth(pubkey, entry.authData, slot, slot);
|
|
220
|
+
return {
|
|
221
|
+
url: new TextEncoder().encode(entry.url),
|
|
222
|
+
auth,
|
|
223
|
+
builderPubkeys: entry.builderPubkeys,
|
|
224
|
+
maxExecutionPayment: entry.maxExecutionPayment,
|
|
225
|
+
minBid: entry.minBid,
|
|
226
|
+
builderBoostFactor: entry.builderBoostFactor,
|
|
227
|
+
};
|
|
228
|
+
} catch (e) {
|
|
229
|
+
this.logger.warn("Failed to sign builder request auth", {...logCtx, builderUrl: entry.url}, e as Error);
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
})
|
|
233
|
+
)
|
|
234
|
+
).filter((entry) => entry !== null);
|
|
235
|
+
|
|
200
236
|
// Step 1: Produce beacon block with execution payload bid
|
|
201
237
|
const blockRes = await this.api.validator
|
|
202
238
|
.produceBlockV4({
|
|
@@ -204,9 +240,13 @@ export class BlockProposingService {
|
|
|
204
240
|
randaoReveal,
|
|
205
241
|
graffiti,
|
|
206
242
|
feeRecipient,
|
|
243
|
+
strictFeeRecipientCheck,
|
|
207
244
|
includePayload: !payloadLocal,
|
|
208
|
-
|
|
209
|
-
|
|
245
|
+
builderConfig: {
|
|
246
|
+
minBid: builderMinBid,
|
|
247
|
+
builderBoostFactor,
|
|
248
|
+
builders,
|
|
249
|
+
},
|
|
210
250
|
})
|
|
211
251
|
.catch((e: Error) => {
|
|
212
252
|
this.metrics?.blockProposingErrors.inc({error: "produce"});
|
|
@@ -242,6 +282,8 @@ export class BlockProposingService {
|
|
|
242
282
|
.publishBlockV2({
|
|
243
283
|
signedBlockContents: {signedBlock},
|
|
244
284
|
broadcastValidation,
|
|
285
|
+
// Echo the winning builder url so any beacon node can forward the block to the builder
|
|
286
|
+
builderUrl: blockMeta.builderUrl,
|
|
245
287
|
})
|
|
246
288
|
.catch((e: Error) => {
|
|
247
289
|
this.metrics?.blockProposingErrors.inc({error: "publish"});
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import {ApiClient, routes} from "@lodestar/api";
|
|
2
|
+
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
+
import {SLOTS_PER_EPOCH, isForkPostGloas} from "@lodestar/params";
|
|
4
|
+
import {IClock, computeEpochAtSlot} from "@lodestar/state-transition";
|
|
5
|
+
import {Epoch, RootHex, Slot} from "@lodestar/types";
|
|
6
|
+
import {toPubkeyHex} from "@lodestar/utils";
|
|
7
|
+
import {Metrics} from "../metrics.js";
|
|
8
|
+
import {LoggerVc} from "../util/index.js";
|
|
9
|
+
import {BlockDutiesService} from "./blockDuties.js";
|
|
10
|
+
import {ValidatorStore} from "./validatorStore.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Submit a proposer's builder preferences this many slots before the proposal slot.
|
|
14
|
+
* Same pacing as `ProposerPreferencesService`, builders must have the preferences
|
|
15
|
+
* before the bid request arrives at proposal time.
|
|
16
|
+
*/
|
|
17
|
+
const SUBMIT_BEFORE_PROPOSAL_SLOTS = Math.floor(SLOTS_PER_EPOCH / 4);
|
|
18
|
+
|
|
19
|
+
/** Per-epoch tracking of preferences already submitted under the current dependent_root. */
|
|
20
|
+
type SubmittedAtEpoch = {dependentRoot: RootHex; slots: Set<Slot>};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Signs and submits builder preferences for any local validator that will propose within the
|
|
24
|
+
* next `SUBMIT_BEFORE_PROPOSAL_SLOTS` and has external builders configured. Signing the request
|
|
25
|
+
* auths here also pre-fills the auth cache used at proposal time.
|
|
26
|
+
*
|
|
27
|
+
* The beacon node submits each entry to the builder at the entry's url. Re-submits automatically
|
|
28
|
+
* when the proposer dependent root for an epoch shifts (e.g. after a reorg) since the proposer
|
|
29
|
+
* for a slot may have changed.
|
|
30
|
+
*/
|
|
31
|
+
export class BuilderPreferencesService {
|
|
32
|
+
private readonly submitted = new Map<Epoch, SubmittedAtEpoch>();
|
|
33
|
+
|
|
34
|
+
constructor(
|
|
35
|
+
private readonly config: ChainForkConfig,
|
|
36
|
+
private readonly logger: LoggerVc,
|
|
37
|
+
private readonly api: ApiClient,
|
|
38
|
+
clock: IClock,
|
|
39
|
+
private readonly validatorStore: ValidatorStore,
|
|
40
|
+
private readonly blockDutiesService: BlockDutiesService,
|
|
41
|
+
_metrics: Metrics | null
|
|
42
|
+
) {
|
|
43
|
+
clock.runEverySlot(this.runBuilderPreferencesTask);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
private runBuilderPreferencesTask = async (slot: Slot): Promise<void> => {
|
|
47
|
+
// Start running once the submission window (`slot + SUBMIT_BEFORE_PROPOSAL_SLOTS`) reaches
|
|
48
|
+
// Gloas, i.e. already in the epoch before the fork. This allows builders to prepare and
|
|
49
|
+
// submit bids for the first Gloas slots.
|
|
50
|
+
if (!isForkPostGloas(this.config.getForkName(slot + SUBMIT_BEFORE_PROPOSAL_SLOTS))) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const currentEpoch = computeEpochAtSlot(slot);
|
|
55
|
+
const entries: routes.validator.BuilderPreferencesEntry[] = [];
|
|
56
|
+
// Track which `(submission, slot)` pairs are pending an API submission so we can mark
|
|
57
|
+
// them only after the network call succeeds. Marking before would silently drop a
|
|
58
|
+
// preference on transient API failure (no retry until dependent_root shifts).
|
|
59
|
+
const pending: {submission: SubmittedAtEpoch; slot: Slot}[] = [];
|
|
60
|
+
|
|
61
|
+
for (const epoch of [currentEpoch, currentEpoch + 1]) {
|
|
62
|
+
const dutiesAtEpoch = this.blockDutiesService.getProposersAtEpoch(epoch);
|
|
63
|
+
if (!dutiesAtEpoch) continue;
|
|
64
|
+
|
|
65
|
+
// Reset submission tracking if the dependent root for this epoch has shifted
|
|
66
|
+
// (e.g. due to a reorg). The proposer for a slot may have changed.
|
|
67
|
+
let submission = this.submitted.get(epoch);
|
|
68
|
+
if (submission === undefined || submission.dependentRoot !== dutiesAtEpoch.dependentRoot) {
|
|
69
|
+
if (submission !== undefined) {
|
|
70
|
+
this.logger.info("Proposer-shuffling dependent root shifted; resubmitting builder preferences", {
|
|
71
|
+
epoch,
|
|
72
|
+
priorDependentRoot: submission.dependentRoot,
|
|
73
|
+
dependentRoot: dutiesAtEpoch.dependentRoot,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
submission = {dependentRoot: dutiesAtEpoch.dependentRoot, slots: new Set()};
|
|
77
|
+
this.submitted.set(epoch, submission);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
for (const duty of dutiesAtEpoch.data) {
|
|
81
|
+
if (duty.slot <= slot) continue;
|
|
82
|
+
if (duty.slot > slot + SUBMIT_BEFORE_PROPOSAL_SLOTS) continue;
|
|
83
|
+
if (!isForkPostGloas(this.config.getForkName(duty.slot))) continue;
|
|
84
|
+
if (submission.slots.has(duty.slot)) continue;
|
|
85
|
+
|
|
86
|
+
const pubkeyHex = toPubkeyHex(duty.pubkey);
|
|
87
|
+
const {selection} = this.validatorStore.getBuilderSelectionParams(pubkeyHex, duty.slot);
|
|
88
|
+
if (selection === routes.validator.BuilderSelection.ExecutionOnly) continue;
|
|
89
|
+
|
|
90
|
+
const builderEntries = this.validatorStore.getResolvedBuilderEntries(pubkeyHex);
|
|
91
|
+
if (builderEntries.length === 0) continue;
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
// Collect entries per duty and only add them to the batch if signing
|
|
95
|
+
// succeeded for all builders, else the duty is retried on the next tick
|
|
96
|
+
const dutyEntries: routes.validator.BuilderPreferencesEntry[] = [];
|
|
97
|
+
for (const entry of builderEntries) {
|
|
98
|
+
const auth = await this.validatorStore.getBuilderRequestAuth(duty.pubkey, entry.authData, duty.slot, slot);
|
|
99
|
+
dutyEntries.push({
|
|
100
|
+
proposerPubkey: duty.pubkey,
|
|
101
|
+
url: new TextEncoder().encode(entry.url),
|
|
102
|
+
auth,
|
|
103
|
+
maxExecutionPayment: entry.maxExecutionPayment,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
entries.push(...dutyEntries);
|
|
107
|
+
pending.push({submission, slot: duty.slot});
|
|
108
|
+
} catch (e) {
|
|
109
|
+
this.logger.error(
|
|
110
|
+
"Error signing builder preferences",
|
|
111
|
+
{slot: duty.slot, validatorIndex: duty.validatorIndex},
|
|
112
|
+
e as Error
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Prune tracking for past epochs
|
|
119
|
+
for (const epoch of this.submitted.keys()) {
|
|
120
|
+
if (epoch < currentEpoch) {
|
|
121
|
+
this.submitted.delete(epoch);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (entries.length === 0) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
try {
|
|
130
|
+
(await this.api.validator.submitBuilderPreferences({builderPreferences: entries})).assertOk();
|
|
131
|
+
// Only mark as submitted after the API call succeeds; a thrown error, including per-entry
|
|
132
|
+
// failures reported by index, leaves all slots eligible for retry on the next tick.
|
|
133
|
+
// Re-submitting preferences a builder already accepted is harmless.
|
|
134
|
+
for (const {submission, slot: submittedSlot} of pending) {
|
|
135
|
+
submission.slots.add(submittedSlot);
|
|
136
|
+
}
|
|
137
|
+
this.logger.debug("Submitted builder preferences", {count: entries.length});
|
|
138
|
+
} catch (e) {
|
|
139
|
+
this.logger.warn("Error submitting builder preferences", {count: entries.length}, e as Error);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {ApiClient, routes} from "@lodestar/api";
|
|
2
2
|
import {BeaconConfig} from "@lodestar/config";
|
|
3
|
-
import {GENESIS_EPOCH, SLOTS_PER_EPOCH} from "@lodestar/params";
|
|
3
|
+
import {ForkSeq, GENESIS_EPOCH, SLOTS_PER_EPOCH} from "@lodestar/params";
|
|
4
4
|
import {IClock} from "@lodestar/state-transition";
|
|
5
5
|
import {Epoch, bellatrix} from "@lodestar/types";
|
|
6
6
|
import {Metrics} from "../metrics.js";
|
|
@@ -80,6 +80,9 @@ export function pollBuilderValidatorRegistration(
|
|
|
80
80
|
if (epoch < config.BELLATRIX_FORK_EPOCH - 1) return;
|
|
81
81
|
const slot = epoch * SLOTS_PER_EPOCH;
|
|
82
82
|
|
|
83
|
+
// Validator registrations are pre-gloas only, replaced by builder preferences
|
|
84
|
+
if (config.getForkSeq(slot) >= ForkSeq.gloas) return;
|
|
85
|
+
|
|
83
86
|
// registerValidator is not as time sensitive as attesting.
|
|
84
87
|
// Poll indices first, then call api.validator.registerValidator once
|
|
85
88
|
await validatorStore.pollValidatorIndices().catch((e: Error) => {
|
|
@@ -91,7 +94,7 @@ export function pollBuilderValidatorRegistration(
|
|
|
91
94
|
.filter(
|
|
92
95
|
(pubkeyHex): pubkeyHex is string =>
|
|
93
96
|
pubkeyHex !== undefined &&
|
|
94
|
-
validatorStore.getBuilderSelectionParams(pubkeyHex).selection !==
|
|
97
|
+
validatorStore.getBuilderSelectionParams(pubkeyHex, slot).selection !==
|
|
95
98
|
routes.validator.BuilderSelection.ExecutionOnly
|
|
96
99
|
);
|
|
97
100
|
|
|
@@ -103,7 +106,7 @@ export function pollBuilderValidatorRegistration(
|
|
|
103
106
|
const registrations = await Promise.all(
|
|
104
107
|
pubkeyHexes.map((pubkeyHex): Promise<bellatrix.SignedValidatorRegistrationV1> => {
|
|
105
108
|
const feeRecipient = validatorStore.getFeeRecipient(pubkeyHex);
|
|
106
|
-
const gasLimit = validatorStore.getGasLimit(pubkeyHex);
|
|
109
|
+
const gasLimit = validatorStore.getGasLimit(pubkeyHex, slot, logger);
|
|
107
110
|
return validatorStore.getValidatorRegistration(pubkeyHex, {feeRecipient, gasLimit}, slot);
|
|
108
111
|
})
|
|
109
112
|
);
|
|
@@ -36,6 +36,7 @@ type SubmittedAtEpoch = {dependentRoot: RootHex; slots: Set<Slot>};
|
|
|
36
36
|
*/
|
|
37
37
|
export class ProposerPreferencesService {
|
|
38
38
|
private readonly submitted = new Map<Epoch, SubmittedAtEpoch>();
|
|
39
|
+
private activeScheduledGasLimit: number | undefined;
|
|
39
40
|
|
|
40
41
|
constructor(
|
|
41
42
|
private readonly config: ChainForkConfig,
|
|
@@ -47,7 +48,7 @@ export class ProposerPreferencesService {
|
|
|
47
48
|
_metrics: Metrics | null
|
|
48
49
|
) {
|
|
49
50
|
clock.runEverySlot(this.runProposerPreferencesTask);
|
|
50
|
-
clock.runEveryEpoch(this.
|
|
51
|
+
clock.runEveryEpoch(this.runEveryEpochTask);
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
private runProposerPreferencesTask = async (slot: Slot): Promise<void> => {
|
|
@@ -98,7 +99,7 @@ export class ProposerPreferencesService {
|
|
|
98
99
|
duty,
|
|
99
100
|
dependentRootBytes,
|
|
100
101
|
this.validatorStore.getFeeRecipient(pubkeyHex),
|
|
101
|
-
this.validatorStore.getGasLimit(pubkeyHex),
|
|
102
|
+
this.validatorStore.getGasLimit(pubkeyHex, duty.slot, this.logger),
|
|
102
103
|
slot
|
|
103
104
|
);
|
|
104
105
|
batch.push(signed);
|
|
@@ -130,8 +131,20 @@ export class ProposerPreferencesService {
|
|
|
130
131
|
}
|
|
131
132
|
};
|
|
132
133
|
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
private runEveryEpochTask = async (epoch: Epoch): Promise<void> => {
|
|
135
|
+
const scheduledGasLimit = this.config.getScheduledGasLimit(epoch);
|
|
136
|
+
if (scheduledGasLimit !== undefined && scheduledGasLimit !== this.activeScheduledGasLimit) {
|
|
137
|
+
const configuredDefaultGasLimit = this.validatorStore.getConfiguredDefaultGasLimit();
|
|
138
|
+
this.logger.info("Gas limit schedule active", {
|
|
139
|
+
epoch,
|
|
140
|
+
recommendedGasLimit: scheduledGasLimit,
|
|
141
|
+
effectiveDefaultGasLimit: configuredDefaultGasLimit ?? scheduledGasLimit,
|
|
142
|
+
defaultGasLimitSource: configuredDefaultGasLimit === undefined ? "schedule" : "operator",
|
|
143
|
+
});
|
|
144
|
+
this.activeScheduledGasLimit = scheduledGasLimit;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Drop tracking for past epochs; only currentEpoch and currentEpoch + 1 are ever processed.
|
|
135
148
|
for (const trackedEpoch of this.submitted.keys()) {
|
|
136
149
|
if (trackedEpoch < epoch) {
|
|
137
150
|
this.submitted.delete(trackedEpoch);
|