@lodestar/beacon-node 1.49.0-dev.ae6cc426f1 → 1.49.0-dev.b27f498c2c
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/api/impl/beacon/blocks/index.js +2 -2
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +6 -6
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.js +9 -2
- package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
- package/lib/chain/blocks/index.js +2 -2
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
- package/lib/chain/errors/attesterSlashingError.d.ts +4 -1
- package/lib/chain/errors/attesterSlashingError.d.ts.map +1 -1
- package/lib/chain/errors/attesterSlashingError.js +1 -0
- package/lib/chain/errors/attesterSlashingError.js.map +1 -1
- package/lib/chain/errors/proposerSlashingError.d.ts +4 -1
- package/lib/chain/errors/proposerSlashingError.d.ts.map +1 -1
- package/lib/chain/errors/proposerSlashingError.js +1 -0
- package/lib/chain/errors/proposerSlashingError.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +6 -6
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +2 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +3 -2
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -2
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/proposerSlashing.js +1 -2
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validatorMonitor.d.ts.map +1 -1
- package/lib/chain/validatorMonitor.js +2 -2
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.js +15 -0
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +1 -1
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/gossip/topic.js +1 -1
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +16 -5
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts +2 -0
- package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
- package/lib/network/processor/gossipValidatorFn.js +88 -7
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/package.json +14 -14
- package/src/api/impl/beacon/blocks/index.ts +2 -2
- package/src/api/impl/validator/index.ts +6 -6
- package/src/chain/archiveStore/utils/pruneHistory.ts +9 -2
- package/src/chain/blocks/index.ts +2 -2
- package/src/chain/blocks/payloadEnvelopeInput/types.ts +1 -1
- package/src/chain/errors/attesterSlashingError.ts +3 -1
- package/src/chain/errors/proposerSlashingError.ts +3 -1
- package/src/chain/produceBlock/produceBlockBody.ts +17 -6
- package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +3 -2
- package/src/chain/validation/attesterSlashing.ts +1 -2
- package/src/chain/validation/proposerSlashing.ts +1 -2
- package/src/chain/validatorMonitor.ts +12 -2
- package/src/network/gossip/gossipsub.ts +18 -1
- package/src/network/gossip/topic.ts +2 -2
- package/src/network/processor/gossipHandlers.ts +18 -5
- package/src/network/processor/gossipValidatorFn.ts +111 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { Logger } from "@lodestar/utils";
|
|
3
3
|
import { Metrics } from "../../metrics/index.js";
|
|
4
|
+
import { INetworkCore } from "../core/index.js";
|
|
4
5
|
import { GossipHandlers, GossipValidatorBatchFn, GossipValidatorFn } from "../gossip/interface.js";
|
|
5
6
|
export type ValidatorFnModules = {
|
|
6
7
|
config: ChainForkConfig;
|
|
7
8
|
logger: Logger;
|
|
8
9
|
metrics: Metrics | null;
|
|
10
|
+
core: INetworkCore;
|
|
9
11
|
};
|
|
10
12
|
/**
|
|
11
13
|
* Similar to getGossipValidatorFn but return a function to accept a batch of beacon_attestation messages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAmBvC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,cAAc,EAGd,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AA+EF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,sBAAsB,CAoExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CA8DnH"}
|
|
@@ -1,12 +1,87 @@
|
|
|
1
1
|
import { TopicValidatorResult } from "@libp2p/gossipsub";
|
|
2
|
-
import { AttestationError, GossipAction, GossipActionError } from "../../chain/errors/index.js";
|
|
2
|
+
import { AttestationError, AttestationErrorCode, AttesterSlashingErrorCode, BlobSidecarErrorCode, BlockErrorCode, BlsToExecutionChangeErrorCode, DataColumnSidecarErrorCode, ExecutionPayloadBidErrorCode, ExecutionPayloadEnvelopeErrorCode, GossipAction, GossipActionError, PayloadAttestationErrorCode, ProposerPreferencesErrorCode, ProposerSlashingErrorCode, SyncCommitteeErrorCode, VoluntaryExitErrorCode, } from "../../chain/errors/index.js";
|
|
3
|
+
import { GossipType, } from "../gossip/interface.js";
|
|
4
|
+
import { PeerAction } from "../peers/index.js";
|
|
3
5
|
import { prettyPrintPeerIdStr } from "../util.js";
|
|
6
|
+
/**
|
|
7
|
+
* PeerAction mapping based on the topic and specific codes.
|
|
8
|
+
* Invalid signatures are Fatal on every topic.
|
|
9
|
+
*/
|
|
10
|
+
const gossipRejectPeerAction = {
|
|
11
|
+
[GossipType.beacon_block]: {
|
|
12
|
+
default: PeerAction.LowToleranceError,
|
|
13
|
+
byCode: { [BlockErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
|
|
14
|
+
},
|
|
15
|
+
[GossipType.blob_sidecar]: {
|
|
16
|
+
default: PeerAction.LowToleranceError,
|
|
17
|
+
byCode: { [BlobSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
|
|
18
|
+
},
|
|
19
|
+
[GossipType.data_column_sidecar]: {
|
|
20
|
+
default: PeerAction.LowToleranceError,
|
|
21
|
+
byCode: { [DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
|
|
22
|
+
},
|
|
23
|
+
[GossipType.execution_payload]: {
|
|
24
|
+
default: PeerAction.LowToleranceError,
|
|
25
|
+
byCode: { [ExecutionPayloadEnvelopeErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
26
|
+
},
|
|
27
|
+
[GossipType.beacon_aggregate_and_proof]: {
|
|
28
|
+
default: PeerAction.MidToleranceError,
|
|
29
|
+
byCode: { [AttestationErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
30
|
+
},
|
|
31
|
+
[GossipType.beacon_attestation]: {
|
|
32
|
+
default: PeerAction.MidToleranceError,
|
|
33
|
+
byCode: { [AttestationErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
34
|
+
},
|
|
35
|
+
[GossipType.sync_committee_contribution_and_proof]: {
|
|
36
|
+
default: PeerAction.MidToleranceError,
|
|
37
|
+
byCode: { [SyncCommitteeErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
38
|
+
},
|
|
39
|
+
[GossipType.sync_committee]: {
|
|
40
|
+
default: PeerAction.MidToleranceError,
|
|
41
|
+
byCode: { [SyncCommitteeErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
42
|
+
},
|
|
43
|
+
[GossipType.payload_attestation_message]: {
|
|
44
|
+
default: PeerAction.MidToleranceError,
|
|
45
|
+
byCode: { [PayloadAttestationErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
46
|
+
},
|
|
47
|
+
[GossipType.execution_payload_bid]: {
|
|
48
|
+
default: PeerAction.HighToleranceError,
|
|
49
|
+
byCode: { [ExecutionPayloadBidErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
50
|
+
},
|
|
51
|
+
[GossipType.proposer_preferences]: {
|
|
52
|
+
default: PeerAction.HighToleranceError,
|
|
53
|
+
byCode: { [ProposerPreferencesErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
54
|
+
},
|
|
55
|
+
[GossipType.voluntary_exit]: {
|
|
56
|
+
default: PeerAction.HighToleranceError,
|
|
57
|
+
byCode: { [VoluntaryExitErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
58
|
+
},
|
|
59
|
+
[GossipType.bls_to_execution_change]: {
|
|
60
|
+
default: PeerAction.HighToleranceError,
|
|
61
|
+
byCode: { [BlsToExecutionChangeErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
62
|
+
},
|
|
63
|
+
[GossipType.proposer_slashing]: {
|
|
64
|
+
default: PeerAction.HighToleranceError,
|
|
65
|
+
byCode: { [ProposerSlashingErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
66
|
+
},
|
|
67
|
+
[GossipType.attester_slashing]: {
|
|
68
|
+
default: PeerAction.HighToleranceError,
|
|
69
|
+
byCode: { [AttesterSlashingErrorCode.INVALID_SIGNATURE]: PeerAction.Fatal },
|
|
70
|
+
},
|
|
71
|
+
// light client validators only throw IGNORE
|
|
72
|
+
[GossipType.light_client_finality_update]: { default: PeerAction.HighToleranceError },
|
|
73
|
+
[GossipType.light_client_optimistic_update]: { default: PeerAction.HighToleranceError },
|
|
74
|
+
};
|
|
75
|
+
function rejectPeerAction(type, code) {
|
|
76
|
+
const rule = gossipRejectPeerAction[type];
|
|
77
|
+
return rule.byCode?.[code] ?? rule.default;
|
|
78
|
+
}
|
|
4
79
|
/**
|
|
5
80
|
* Similar to getGossipValidatorFn but return a function to accept a batch of beacon_attestation messages
|
|
6
81
|
* with the same attestation data
|
|
7
82
|
*/
|
|
8
83
|
export function getGossipValidatorBatchFn(gossipHandlers, modules) {
|
|
9
|
-
const { logger, metrics } = modules;
|
|
84
|
+
const { logger, metrics, core } = modules;
|
|
10
85
|
return async function gossipValidatorBatchFn(messageInfos) {
|
|
11
86
|
// all messageInfos have same topic type
|
|
12
87
|
const type = messageInfos[0].topic.type;
|
|
@@ -37,12 +112,15 @@ export function getGossipValidatorBatchFn(gossipHandlers, modules) {
|
|
|
37
112
|
// only beacon_attestation topic is validated in batch
|
|
38
113
|
metrics?.networkProcessor.gossipAttestationIgnoreByReason.inc({ reason: e.type.code });
|
|
39
114
|
return TopicValidatorResult.Ignore;
|
|
40
|
-
case GossipAction.REJECT:
|
|
115
|
+
case GossipAction.REJECT: {
|
|
41
116
|
metrics?.networkProcessor.gossipValidationReject.inc({ topic: type });
|
|
42
117
|
// only beacon_attestation topic is validated in batch
|
|
43
118
|
metrics?.networkProcessor.gossipAttestationRejectByReason.inc({ reason: e.type.code });
|
|
44
|
-
|
|
119
|
+
const peerAction = rejectPeerAction(type, e.type.code);
|
|
120
|
+
core.reportPeer(propagationSource, peerAction, e.type.code);
|
|
121
|
+
logger.debug(`Gossip validation ${type} rejected`, { peer: propagationSource, clientAgent, clientVersion, peerAction }, e);
|
|
45
122
|
return TopicValidatorResult.Reject;
|
|
123
|
+
}
|
|
46
124
|
}
|
|
47
125
|
});
|
|
48
126
|
}
|
|
@@ -72,7 +150,7 @@ export function getGossipValidatorBatchFn(gossipHandlers, modules) {
|
|
|
72
150
|
* @see getGossipHandlers for reasoning on why GossipHandlerFn are used for gossip validation.
|
|
73
151
|
*/
|
|
74
152
|
export function getGossipValidatorFn(gossipHandlers, modules) {
|
|
75
|
-
const { logger, metrics } = modules;
|
|
153
|
+
const { logger, metrics, core } = modules;
|
|
76
154
|
return async function gossipValidatorFn({ topic, msg, propagationSource, clientAgent, clientVersion, seenTimestampSec, msgSlot, }) {
|
|
77
155
|
const type = topic.type;
|
|
78
156
|
try {
|
|
@@ -101,10 +179,13 @@ export function getGossipValidatorFn(gossipHandlers, modules) {
|
|
|
101
179
|
case GossipAction.IGNORE:
|
|
102
180
|
metrics?.networkProcessor.gossipValidationIgnore.inc({ topic: type });
|
|
103
181
|
return TopicValidatorResult.Ignore;
|
|
104
|
-
case GossipAction.REJECT:
|
|
182
|
+
case GossipAction.REJECT: {
|
|
105
183
|
metrics?.networkProcessor.gossipValidationReject.inc({ topic: type });
|
|
106
|
-
|
|
184
|
+
const peerAction = rejectPeerAction(type, e.type.code);
|
|
185
|
+
core.reportPeer(propagationSource, peerAction, e.type.code);
|
|
186
|
+
logger.debug(`Gossip validation ${type} rejected`, { peer: propagationSource, clientAgent, clientVersion, peerAction }, e);
|
|
107
187
|
return TopicValidatorResult.Reject;
|
|
188
|
+
}
|
|
108
189
|
}
|
|
109
190
|
}
|
|
110
191
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGvD,OAAO,
|
|
1
|
+
{"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"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"}
|
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.49.0-dev.
|
|
14
|
+
"version": "1.49.0-dev.b27f498c2c",
|
|
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.49.0-dev.
|
|
131
|
-
"@lodestar/config": "^1.49.0-dev.
|
|
132
|
-
"@lodestar/db": "^1.49.0-dev.
|
|
133
|
-
"@lodestar/fork-choice": "^1.49.0-dev.
|
|
134
|
-
"@lodestar/logger": "^1.49.0-dev.
|
|
135
|
-
"@lodestar/params": "^1.49.0-dev.
|
|
136
|
-
"@lodestar/reqresp": "^1.49.0-dev.
|
|
137
|
-
"@lodestar/state-transition": "^1.49.0-dev.
|
|
138
|
-
"@lodestar/types": "^1.49.0-dev.
|
|
139
|
-
"@lodestar/utils": "^1.49.0-dev.
|
|
140
|
-
"@lodestar/validator": "^1.49.0-dev.
|
|
130
|
+
"@lodestar/api": "^1.49.0-dev.b27f498c2c",
|
|
131
|
+
"@lodestar/config": "^1.49.0-dev.b27f498c2c",
|
|
132
|
+
"@lodestar/db": "^1.49.0-dev.b27f498c2c",
|
|
133
|
+
"@lodestar/fork-choice": "^1.49.0-dev.b27f498c2c",
|
|
134
|
+
"@lodestar/logger": "^1.49.0-dev.b27f498c2c",
|
|
135
|
+
"@lodestar/params": "^1.49.0-dev.b27f498c2c",
|
|
136
|
+
"@lodestar/reqresp": "^1.49.0-dev.b27f498c2c",
|
|
137
|
+
"@lodestar/state-transition": "^1.49.0-dev.b27f498c2c",
|
|
138
|
+
"@lodestar/types": "^1.49.0-dev.b27f498c2c",
|
|
139
|
+
"@lodestar/utils": "^1.49.0-dev.b27f498c2c",
|
|
140
|
+
"@lodestar/validator": "^1.49.0-dev.b27f498c2c",
|
|
141
141
|
"@multiformats/multiaddr": "^13.0.1",
|
|
142
142
|
"datastore-core": "^12.0.1",
|
|
143
143
|
"datastore-level": "^13.0.1",
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"@chainsafe/swap-or-not-shuffle": "^1.2.1",
|
|
160
160
|
"@libp2p/interface-internal": "^3.1.12",
|
|
161
161
|
"@libp2p/logger": "^6.2.13",
|
|
162
|
-
"@lodestar/spec-test-util": "^1.49.0-dev.
|
|
162
|
+
"@lodestar/spec-test-util": "^1.49.0-dev.b27f498c2c",
|
|
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": "
|
|
177
|
+
"gitHead": "8b55bd139db0cd5e7d9f7db12434440e2b3e973a"
|
|
178
178
|
}
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
isSignedExecutionPayloadEnvelopeContents,
|
|
36
36
|
sszTypesFor,
|
|
37
37
|
} from "@lodestar/types";
|
|
38
|
-
import {fromHex, sleep, toHex, toRootHex} from "@lodestar/utils";
|
|
38
|
+
import {fromHex, prettyGweiToEth, sleep, toHex, toRootHex} from "@lodestar/utils";
|
|
39
39
|
import {BlockInputSource, isBlockInputBlobs, isBlockInputColumns} from "../../../../chain/blocks/blockInput/index.js";
|
|
40
40
|
import {PayloadEnvelopeInputSource} from "../../../../chain/blocks/payloadEnvelopeInput/index.js";
|
|
41
41
|
import {ImportBlockOpts} from "../../../../chain/blocks/types.js";
|
|
@@ -1089,7 +1089,7 @@ export function getBeaconBlockApi({
|
|
|
1089
1089
|
builderIndex: bid.builderIndex,
|
|
1090
1090
|
blockHash: toRootHex(bid.blockHash),
|
|
1091
1091
|
parentBlockHash: toRootHex(bid.parentBlockHash),
|
|
1092
|
-
value: bid.value,
|
|
1092
|
+
value: prettyGweiToEth(bid.value),
|
|
1093
1093
|
sentPeers,
|
|
1094
1094
|
});
|
|
1095
1095
|
},
|
|
@@ -481,8 +481,8 @@ export function getValidatorApi(
|
|
|
481
481
|
metrics?.blockProductionExecutionPayloadValue.observe({source}, Number(formatWeiToEth(executionPayloadValue)));
|
|
482
482
|
logger.verbose("Produced blinded block", {
|
|
483
483
|
slot,
|
|
484
|
-
executionPayloadValue,
|
|
485
|
-
consensusBlockValue,
|
|
484
|
+
executionPayloadValue: prettyWeiToEth(executionPayloadValue),
|
|
485
|
+
consensusBlockValue: prettyWeiToEth(consensusBlockValue),
|
|
486
486
|
root: toRootHex(config.getPostBellatrixForkTypes(slot).BlindedBeaconBlock.hashTreeRoot(block)),
|
|
487
487
|
});
|
|
488
488
|
|
|
@@ -540,8 +540,8 @@ export function getValidatorApi(
|
|
|
540
540
|
const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
|
|
541
541
|
logger.verbose("Produced execution block", {
|
|
542
542
|
slot,
|
|
543
|
-
executionPayloadValue,
|
|
544
|
-
consensusBlockValue,
|
|
543
|
+
executionPayloadValue: prettyWeiToEth(executionPayloadValue),
|
|
544
|
+
consensusBlockValue: prettyWeiToEth(consensusBlockValue),
|
|
545
545
|
root: blockRoot,
|
|
546
546
|
});
|
|
547
547
|
if (chain.opts.persistProducedBlocks) {
|
|
@@ -1247,8 +1247,8 @@ export function getValidatorApi(
|
|
|
1247
1247
|
const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
|
|
1248
1248
|
logger.verbose("Produced block", {
|
|
1249
1249
|
...logCtx,
|
|
1250
|
-
executionPayloadValue,
|
|
1251
|
-
consensusBlockValue,
|
|
1250
|
+
executionPayloadValue: prettyWeiToEth(executionPayloadValue),
|
|
1251
|
+
consensusBlockValue: prettyWeiToEth(consensusBlockValue),
|
|
1252
1252
|
root: blockRoot,
|
|
1253
1253
|
});
|
|
1254
1254
|
if (chain.opts.persistProducedBlocks) {
|
|
@@ -20,23 +20,29 @@ export async function pruneHistory(
|
|
|
20
20
|
finalizedEpoch
|
|
21
21
|
);
|
|
22
22
|
const blockCutoffSlot = computeStartSlotAtEpoch(blockCutoffEpoch);
|
|
23
|
+
// The latest archived state is the anchor on restart and can trail finalization by a few epochs
|
|
24
|
+
const lastArchivedStateSlot = (await db.stateArchive.lastKey()) ?? 0;
|
|
25
|
+
const stateCutoffSlot = Math.min(computeStartSlotAtEpoch(finalizedEpoch), lastArchivedStateSlot);
|
|
23
26
|
|
|
24
27
|
logger.debug("Preparing to prune history", {
|
|
25
28
|
currentEpoch,
|
|
26
29
|
finalizedEpoch,
|
|
27
30
|
blockCutoffEpoch,
|
|
31
|
+
stateCutoffSlot,
|
|
28
32
|
});
|
|
29
33
|
|
|
30
34
|
const step0 = metrics?.pruneHistory.fetchKeys.startTimer();
|
|
31
|
-
const [blocks, states] = await Promise.all([
|
|
35
|
+
const [blocks, envelopes, states] = await Promise.all([
|
|
32
36
|
db.blockArchive.keys({gte: 0, lt: blockCutoffSlot}),
|
|
33
|
-
db.
|
|
37
|
+
db.executionPayloadEnvelopeArchive.keys({gte: 0, lt: blockCutoffSlot}),
|
|
38
|
+
db.stateArchive.keys({gte: 0, lt: stateCutoffSlot}),
|
|
34
39
|
]);
|
|
35
40
|
step0?.();
|
|
36
41
|
|
|
37
42
|
logger.debug("Pruning history", {
|
|
38
43
|
currentEpoch,
|
|
39
44
|
blocksToPrune: blocks.length,
|
|
45
|
+
envelopesToPrune: envelopes.length,
|
|
40
46
|
statesToPrune: states.length,
|
|
41
47
|
});
|
|
42
48
|
|
|
@@ -44,6 +50,7 @@ export async function pruneHistory(
|
|
|
44
50
|
await Promise.all([
|
|
45
51
|
// ->
|
|
46
52
|
db.blockArchive.batchDelete(blocks),
|
|
53
|
+
db.executionPayloadEnvelopeArchive.batchDelete(envelopes),
|
|
47
54
|
db.stateArchive.batchDelete(states),
|
|
48
55
|
]);
|
|
49
56
|
step1?.();
|
|
@@ -104,7 +104,7 @@ export async function processBlocks(
|
|
|
104
104
|
payloadEnvelopesToImport.delete(orphaned.slot);
|
|
105
105
|
// never validated, drop it from the shared cache so it is not served to peers, by-root sync reloads the
|
|
106
106
|
// entry from db if the payload is ever needed
|
|
107
|
-
this.seenPayloadEnvelopeInputCache.
|
|
107
|
+
this.seenPayloadEnvelopeInputCache.remove(orphaned.payloadEnvelopeInput.blockRootHex);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -278,7 +278,7 @@ async function importPayloadEnvelopesOfKnownBlocks(
|
|
|
278
278
|
this.forkChoice.isDescendant(blockRootHex, PayloadStatus.EMPTY, head.blockRoot, head.payloadStatus)
|
|
279
279
|
) {
|
|
280
280
|
// never validated, see processBlocks()
|
|
281
|
-
this.seenPayloadEnvelopeInputCache.
|
|
281
|
+
this.seenPayloadEnvelopeInputCache.remove(blockRootHex);
|
|
282
282
|
orphaned.push({slot, payloadEnvelopeInput: payloadInput});
|
|
283
283
|
continue;
|
|
284
284
|
}
|
|
@@ -23,7 +23,7 @@ export enum PayloadEnvelopeInputSource {
|
|
|
23
23
|
* - prune: explicit prune by root
|
|
24
24
|
* - cap: insertion-order backstop cap (MAX_PAYLOAD_ENVELOPE_INPUT_CACHE_SIZE)
|
|
25
25
|
*/
|
|
26
|
-
export type PayloadEnvelopeInputPruneReason = "belowParent" | "finalized" | "
|
|
26
|
+
export type PayloadEnvelopeInputPruneReason = "belowParent" | "finalized" | "remove" | "cap";
|
|
27
27
|
|
|
28
28
|
export type SourceMeta = {
|
|
29
29
|
source: PayloadEnvelopeInputSource;
|
|
@@ -3,9 +3,11 @@ import {GossipActionError} from "./gossipValidation.js";
|
|
|
3
3
|
export enum AttesterSlashingErrorCode {
|
|
4
4
|
ALREADY_EXISTS = "ATTESTATION_SLASHING_ERROR_ALREADY_EXISTS",
|
|
5
5
|
INVALID = "ATTESTATION_SLASHING_ERROR_INVALID",
|
|
6
|
+
INVALID_SIGNATURE = "ATTESTATION_SLASHING_ERROR_INVALID_SIGNATURE",
|
|
6
7
|
}
|
|
7
8
|
export type AttesterSlashingErrorType =
|
|
8
9
|
| {code: AttesterSlashingErrorCode.ALREADY_EXISTS}
|
|
9
|
-
| {code: AttesterSlashingErrorCode.INVALID; error: Error}
|
|
10
|
+
| {code: AttesterSlashingErrorCode.INVALID; error: Error}
|
|
11
|
+
| {code: AttesterSlashingErrorCode.INVALID_SIGNATURE};
|
|
10
12
|
|
|
11
13
|
export class AttesterSlashingError extends GossipActionError<AttesterSlashingErrorType> {}
|
|
@@ -3,9 +3,11 @@ import {GossipActionError} from "./gossipValidation.js";
|
|
|
3
3
|
export enum ProposerSlashingErrorCode {
|
|
4
4
|
ALREADY_EXISTS = "PROPOSER_SLASHING_ERROR_ALREADY_EXISTS",
|
|
5
5
|
INVALID = "PROPOSER_SLASHING_ERROR_INVALID",
|
|
6
|
+
INVALID_SIGNATURE = "PROPOSER_SLASHING_ERROR_INVALID_SIGNATURE",
|
|
6
7
|
}
|
|
7
8
|
export type ProposerSlashingErrorType =
|
|
8
9
|
| {code: ProposerSlashingErrorCode.ALREADY_EXISTS}
|
|
9
|
-
| {code: ProposerSlashingErrorCode.INVALID; error: Error}
|
|
10
|
+
| {code: ProposerSlashingErrorCode.INVALID; error: Error}
|
|
11
|
+
| {code: ProposerSlashingErrorCode.INVALID_SIGNATURE};
|
|
10
12
|
|
|
11
13
|
export class ProposerSlashingError extends GossipActionError<ProposerSlashingErrorType> {}
|