@lodestar/beacon-node 1.22.0-dev.ba80aa345a → 1.22.0-dev.fe6c4acbfc
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 +22 -10
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +31 -4
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/config/constants.d.ts +5 -1
- package/lib/api/impl/config/constants.js +7 -2
- package/lib/api/impl/config/constants.js.map +1 -1
- package/lib/api/impl/lodestar/index.js +2 -2
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +37 -14
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiver/archiveBlocks.js +3 -3
- package/lib/chain/archiver/archiveBlocks.js.map +1 -1
- package/lib/chain/archiver/archiveStates.d.ts +3 -1
- package/lib/chain/archiver/archiveStates.js +6 -3
- package/lib/chain/archiver/archiveStates.js.map +1 -1
- package/lib/chain/archiver/index.js +1 -1
- package/lib/chain/archiver/index.js.map +1 -1
- package/lib/chain/balancesCache.js +2 -2
- package/lib/chain/balancesCache.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +8 -6
- package/lib/chain/blocks/importBlock.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/types.d.ts +2 -2
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +4 -4
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -6
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +3 -3
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +3 -3
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +42 -0
- package/lib/chain/chain.js +48 -16
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/attestationError.d.ts +13 -1
- package/lib/chain/errors/attestationError.js +10 -2
- package/lib/chain/errors/attestationError.js.map +1 -1
- package/lib/chain/errors/blockError.js +3 -4
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/forkChoice/index.js +9 -9
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/historicalState/worker.js +4 -0
- package/lib/chain/historicalState/worker.js.map +1 -1
- package/lib/chain/initState.js +6 -7
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/lightClient/index.js +9 -10
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +46 -12
- package/lib/chain/opPools/aggregatedAttestationPool.js +229 -63
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +22 -6
- package/lib/chain/opPools/attestationPool.js +61 -27
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +2 -2
- package/lib/chain/opPools/opPool.js +6 -3
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +4 -4
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +4 -4
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +2 -0
- package/lib/chain/opPools/utils.js +3 -0
- package/lib/chain/opPools/utils.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +7 -6
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +6 -1
- package/lib/chain/regen/queued.js +41 -3
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +1 -1
- package/lib/chain/regen/regen.js +51 -14
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/seenCache/seenAttestationData.d.ts +13 -5
- package/lib/chain/seenCache/seenAttestationData.js +5 -3
- package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
- package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
- package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +3 -4
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/serializeState.d.ts +6 -0
- package/lib/chain/serializeState.js +22 -0
- package/lib/chain/serializeState.js.map +1 -0
- package/lib/chain/shufflingCache.js +2 -3
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -0
- package/lib/chain/stateCache/blockStateCacheImpl.js +8 -5
- package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -0
- package/lib/chain/stateCache/fifoBlockStateCache.js +6 -3
- package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
- package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +1 -0
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js +7 -5
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +2 -2
- package/lib/chain/stateCache/persistentCheckpointsCache.js +29 -53
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/types.d.ts +4 -0
- package/lib/chain/stateCache/types.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.d.ts +4 -4
- package/lib/chain/validation/aggregateAndProof.js +26 -9
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.d.ts +27 -6
- package/lib/chain/validation/attestation.js +115 -37
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +2 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.js +4 -4
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/block.js +3 -4
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +4 -3
- package/lib/chain/validation/signatureSets/aggregateAndProof.js +3 -2
- package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.js +2 -2
- package/lib/chain/validation/syncCommittee.js.map +1 -1
- package/lib/eth1/eth1DepositDataTracker.d.ts +5 -2
- package/lib/eth1/eth1DepositDataTracker.js +13 -2
- package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
- package/lib/eth1/eth1MergeBlockTracker.js +2 -3
- package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
- package/lib/eth1/index.d.ts +2 -0
- package/lib/eth1/index.js +6 -0
- package/lib/eth1/index.js.map +1 -1
- package/lib/eth1/interface.d.ts +4 -0
- package/lib/eth1/utils/deposits.d.ts +2 -2
- package/lib/eth1/utils/deposits.js +8 -7
- package/lib/eth1/utils/deposits.js.map +1 -1
- package/lib/eth1/utils/eth1Vote.js +2 -2
- package/lib/eth1/utils/eth1Vote.js.map +1 -1
- package/lib/execution/engine/http.d.ts +2 -2
- package/lib/execution/engine/http.js +19 -15
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +4 -4
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +1 -0
- package/lib/execution/engine/mock.js +6 -0
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +17 -0
- package/lib/execution/engine/payloadIdCache.js.map +1 -1
- package/lib/execution/engine/types.d.ts +29 -3
- package/lib/execution/engine/types.js +81 -0
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +3 -0
- package/lib/metrics/metrics/beacon.js +6 -0
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +30 -3
- package/lib/metrics/metrics/lodestar.js +63 -4
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/validatorMonitor.d.ts +1 -1
- package/lib/metrics/validatorMonitor.js +15 -10
- package/lib/metrics/validatorMonitor.js.map +1 -1
- package/lib/network/gossip/encoding.js +6 -2
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +5 -5
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +1720 -129
- package/lib/network/gossip/topic.js +5 -5
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +2 -2
- package/lib/network/network.d.ts +2 -2
- package/lib/network/network.js.map +1 -1
- package/lib/network/peers/utils/assertPeerRelevance.js +2 -1
- package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +10 -11
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +5 -2
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipQueues/indexed.js +1 -0
- package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +2 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +2 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
- package/lib/sync/backfill/backfill.js +16 -17
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/range/chain.js +2 -3
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.js +4 -4
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/chainTarget.js +2 -2
- package/lib/sync/range/utils/chainTarget.js.map +1 -1
- package/lib/sync/range/utils/hashBlocks.js +4 -4
- package/lib/sync/range/utils/hashBlocks.js.map +1 -1
- package/lib/sync/unknownBlock.js +12 -12
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/bufferPool.d.ts +7 -2
- package/lib/util/bufferPool.js +13 -7
- package/lib/util/bufferPool.js.map +1 -1
- package/lib/util/sszBytes.d.ts +31 -8
- package/lib/util/sszBytes.js +85 -21
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +15 -15
|
@@ -124,7 +124,15 @@ export declare enum AttestationErrorCode {
|
|
|
124
124
|
*/
|
|
125
125
|
INVALID_SERIALIZED_BYTES = "ATTESTATION_ERROR_INVALID_SERIALIZED_BYTES",
|
|
126
126
|
/** Too many skipped slots. */
|
|
127
|
-
TOO_MANY_SKIPPED_SLOTS = "ATTESTATION_ERROR_TOO_MANY_SKIPPED_SLOTS"
|
|
127
|
+
TOO_MANY_SKIPPED_SLOTS = "ATTESTATION_ERROR_TOO_MANY_SKIPPED_SLOTS",
|
|
128
|
+
/**
|
|
129
|
+
* Electra: The aggregated attestation does not have exactly one committee bit set.
|
|
130
|
+
*/
|
|
131
|
+
NOT_EXACTLY_ONE_COMMITTEE_BIT_SET = "ATTESTATION_ERROR_NOT_EXACTLY_ONE_COMMITTEE_BIT_SET",
|
|
132
|
+
/**
|
|
133
|
+
* Electra: Invalid attestationData index: is non-zero
|
|
134
|
+
*/
|
|
135
|
+
NON_ZERO_ATTESTATION_DATA_INDEX = "ATTESTATION_ERROR_NON_ZERO_ATTESTATION_DATA_INDEX"
|
|
128
136
|
}
|
|
129
137
|
export type AttestationErrorType = {
|
|
130
138
|
code: AttestationErrorCode.TARGET_STATE_MISSING;
|
|
@@ -218,6 +226,10 @@ export type AttestationErrorType = {
|
|
|
218
226
|
code: AttestationErrorCode.TOO_MANY_SKIPPED_SLOTS;
|
|
219
227
|
headBlockSlot: Slot;
|
|
220
228
|
attestationSlot: Slot;
|
|
229
|
+
} | {
|
|
230
|
+
code: AttestationErrorCode.NOT_EXACTLY_ONE_COMMITTEE_BIT_SET;
|
|
231
|
+
} | {
|
|
232
|
+
code: AttestationErrorCode.NON_ZERO_ATTESTATION_DATA_INDEX;
|
|
221
233
|
};
|
|
222
234
|
export declare class AttestationError extends GossipActionError<AttestationErrorType> {
|
|
223
235
|
getMetadata(): Record<string, string | number | null>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toRootHex } from "@lodestar/utils";
|
|
2
2
|
import { GossipActionError } from "./gossipValidation.js";
|
|
3
3
|
export var AttestationErrorCode;
|
|
4
4
|
(function (AttestationErrorCode) {
|
|
@@ -126,13 +126,21 @@ export var AttestationErrorCode;
|
|
|
126
126
|
AttestationErrorCode["INVALID_SERIALIZED_BYTES"] = "ATTESTATION_ERROR_INVALID_SERIALIZED_BYTES";
|
|
127
127
|
/** Too many skipped slots. */
|
|
128
128
|
AttestationErrorCode["TOO_MANY_SKIPPED_SLOTS"] = "ATTESTATION_ERROR_TOO_MANY_SKIPPED_SLOTS";
|
|
129
|
+
/**
|
|
130
|
+
* Electra: The aggregated attestation does not have exactly one committee bit set.
|
|
131
|
+
*/
|
|
132
|
+
AttestationErrorCode["NOT_EXACTLY_ONE_COMMITTEE_BIT_SET"] = "ATTESTATION_ERROR_NOT_EXACTLY_ONE_COMMITTEE_BIT_SET";
|
|
133
|
+
/**
|
|
134
|
+
* Electra: Invalid attestationData index: is non-zero
|
|
135
|
+
*/
|
|
136
|
+
AttestationErrorCode["NON_ZERO_ATTESTATION_DATA_INDEX"] = "ATTESTATION_ERROR_NON_ZERO_ATTESTATION_DATA_INDEX";
|
|
129
137
|
})(AttestationErrorCode || (AttestationErrorCode = {}));
|
|
130
138
|
export class AttestationError extends GossipActionError {
|
|
131
139
|
getMetadata() {
|
|
132
140
|
const type = this.type;
|
|
133
141
|
switch (type.code) {
|
|
134
142
|
case AttestationErrorCode.UNKNOWN_TARGET_ROOT:
|
|
135
|
-
return { code: type.code, root:
|
|
143
|
+
return { code: type.code, root: toRootHex(type.root) };
|
|
136
144
|
case AttestationErrorCode.MISSING_STATE_TO_VERIFY_ATTESTATION:
|
|
137
145
|
// TODO: The stack trace gets lost here
|
|
138
146
|
return { code: type.code, error: type.error.message };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestationError.js","sourceRoot":"","sources":["../../../src/chain/errors/attestationError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attestationError.js","sourceRoot":"","sources":["../../../src/chain/errors/attestationError.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,oBAqIX;AArID,WAAY,oBAAoB;IAC9B;;OAEG;IACH,uFAA+D,CAAA;IAC/D;;OAEG;IACH,qEAA6C,CAAA;IAC7C;;;OAGG;IACH,iEAAyC,CAAA;IACzC;;OAEG;IACH,mGAA2E,CAAA;IAC3E;;;OAGG;IACH,qGAA6E,CAAA;IAC7E;;OAEG;IACH,iGAAyE,CAAA;IACzE;;OAEG;IACH,iGAAyE,CAAA;IACzE;;OAEG;IACH,+FAAuE,CAAA;IACvE;;OAEG;IACH,6FAAqE,CAAA;IACrE;;OAEG;IACH,iGAAyE,CAAA;IACzE;;OAEG;IACH,iIAAyG,CAAA;IACzG;;OAEG;IACH,+EAAuD,CAAA;IACvD;;OAEG;IACH,mGAA2E,CAAA;IAC3E;;OAEG;IACH,qFAA6D,CAAA;IAC7D;;OAEG;IACH,iFAAyD,CAAA;IACzD;;OAEG;IACH,qHAA6F,CAAA;IAC7F;;OAEG;IACH,6FAAqE,CAAA;IACrE;;OAEG;IACH,uEAA+C,CAAA;IAC/C;;OAEG;IACH,mEAA2C,CAAA;IAC3C;;OAEG;IACH,6FAAqE,CAAA;IACrE;;OAEG;IACH,iFAAyD,CAAA;IACzD;;OAEG;IACH,+GAAuF,CAAA;IACvF;;OAEG;IACH,6EAAqD,CAAA;IACrD;;OAEG;IACH,qFAA6D,CAAA;IAC7D;;OAEG;IACH,iIAAyG,CAAA;IACzG;;OAEG;IACH,uGAA+E,CAAA;IAC/E;;OAEG;IACH,qHAA6F,CAAA;IAC7F;;OAEG;IACH,mFAA2D,CAAA;IAC3D;;OAEG;IACH,qGAA6E,CAAA;IAC7E;;OAEG;IACH,+FAAuE,CAAA;IACvE,8BAA8B;IAC9B,2FAAmE,CAAA;IACnE;;OAEG;IACH,iHAAyF,CAAA;IACzF;;OAEG;IACH,6GAAqF,CAAA;AACvF,CAAC,EArIW,oBAAoB,KAApB,oBAAoB,QAqI/B;AAqCD,MAAM,OAAO,gBAAiB,SAAQ,iBAAuC;IAC3E,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,oBAAoB,CAAC,mBAAmB;gBAC3C,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;YACvD,KAAK,oBAAoB,CAAC,mCAAmC;gBAC3D,uCAAuC;gBACvC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC;YAEtD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { LodestarError } from "@lodestar/utils";
|
|
1
|
+
import { LodestarError, toRootHex } from "@lodestar/utils";
|
|
3
2
|
import { QueueErrorCode } from "../../util/queue/index.js";
|
|
4
3
|
import { GossipActionError } from "./gossipValidation.js";
|
|
5
4
|
export var BlockErrorCode;
|
|
@@ -97,8 +96,8 @@ export function renderBlockErrorType(type) {
|
|
|
97
96
|
return {
|
|
98
97
|
code: type.code,
|
|
99
98
|
slot: type.postState.slot,
|
|
100
|
-
root:
|
|
101
|
-
expectedRoot:
|
|
99
|
+
root: toRootHex(type.root),
|
|
100
|
+
expectedRoot: toRootHex(type.expectedRoot),
|
|
102
101
|
};
|
|
103
102
|
default:
|
|
104
103
|
return type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
2
1
|
import { ForkChoice, ProtoArray, ForkChoiceStore, ExecutionStatus, DataAvailabilityStatus, } from "@lodestar/fork-choice";
|
|
3
2
|
import { getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
|
|
3
|
+
import { toRootHex } from "@lodestar/utils";
|
|
4
4
|
import { computeAnchorCheckpoint } from "../initState.js";
|
|
5
5
|
import { ChainEvent } from "../emitter.js";
|
|
6
6
|
import { GENESIS_SLOT } from "../../constants/index.js";
|
|
@@ -27,21 +27,21 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
|
|
|
27
27
|
onFinalized: (cp) => emitter.emit(ChainEvent.forkChoiceFinalized, cp),
|
|
28
28
|
}), ProtoArray.initialize({
|
|
29
29
|
slot: blockHeader.slot,
|
|
30
|
-
parentRoot:
|
|
31
|
-
stateRoot:
|
|
32
|
-
blockRoot:
|
|
30
|
+
parentRoot: toRootHex(blockHeader.parentRoot),
|
|
31
|
+
stateRoot: toRootHex(blockHeader.stateRoot),
|
|
32
|
+
blockRoot: toRootHex(checkpoint.root),
|
|
33
33
|
timeliness: true, // Optimisitcally assume is timely
|
|
34
34
|
justifiedEpoch: justifiedCheckpoint.epoch,
|
|
35
|
-
justifiedRoot:
|
|
35
|
+
justifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
36
36
|
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
37
|
-
finalizedRoot:
|
|
37
|
+
finalizedRoot: toRootHex(finalizedCheckpoint.root),
|
|
38
38
|
unrealizedJustifiedEpoch: justifiedCheckpoint.epoch,
|
|
39
|
-
unrealizedJustifiedRoot:
|
|
39
|
+
unrealizedJustifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
40
40
|
unrealizedFinalizedEpoch: finalizedCheckpoint.epoch,
|
|
41
|
-
unrealizedFinalizedRoot:
|
|
41
|
+
unrealizedFinalizedRoot: toRootHex(finalizedCheckpoint.root),
|
|
42
42
|
...(isExecutionStateType(state) && isMergeTransitionComplete(state)
|
|
43
43
|
? {
|
|
44
|
-
executionPayloadBlockHash:
|
|
44
|
+
executionPayloadBlockHash: toRootHex(state.latestExecutionPayloadHeader.blockHash),
|
|
45
45
|
executionPayloadNumber: state.latestExecutionPayloadHeader.blockNumber,
|
|
46
46
|
executionStatus: blockHeader.slot === GENESIS_SLOT ? ExecutionStatus.Valid : ExecutionStatus.Syncing,
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,10 @@ if (metricsRegister) {
|
|
|
61
61
|
buckets: [0.05, 0.1, 0.2, 0.5, 1, 1.5],
|
|
62
62
|
labelNames: ["source"],
|
|
63
63
|
}),
|
|
64
|
+
numEffectiveBalanceUpdates: metricsRegister.gauge({
|
|
65
|
+
name: "lodestar_historical_state_stfn_num_effective_balance_updates_count",
|
|
66
|
+
help: "Count of effective balance updates in epoch transition",
|
|
67
|
+
}),
|
|
64
68
|
preStateBalancesNodesPopulatedMiss: metricsRegister.gauge({
|
|
65
69
|
name: "lodestar_historical_state_stfn_balances_nodes_populated_miss_total",
|
|
66
70
|
help: "Total count state.balances nodesPopulated is false on stfn",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/chain/historicalState/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/chain/historicalState/worker.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/initState.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
2
1
|
import { blockToHeader, computeEpochAtSlot, computeCheckpointEpochAtStateSlot, computeStartSlotAtEpoch, } from "@lodestar/state-transition";
|
|
3
2
|
import { ssz } from "@lodestar/types";
|
|
4
|
-
import { toHex } from "@lodestar/utils";
|
|
3
|
+
import { toHex, toRootHex } from "@lodestar/utils";
|
|
5
4
|
import { GENESIS_SLOT, ZERO_HASH } from "../constants/index.js";
|
|
6
5
|
import { Eth1Provider } from "../eth1/index.js";
|
|
7
6
|
import { GenesisBuilder } from "./genesis/genesis.js";
|
|
@@ -62,8 +61,8 @@ export async function initStateFromEth1({ config, db, logger, opts, signal, }) {
|
|
|
62
61
|
const stateRoot = genesisResult.state.hashTreeRoot();
|
|
63
62
|
const blockRoot = types.BeaconBlock.hashTreeRoot(genesisBlock.message);
|
|
64
63
|
logger.info("Initializing genesis state", {
|
|
65
|
-
stateRoot:
|
|
66
|
-
blockRoot:
|
|
64
|
+
stateRoot: toRootHex(stateRoot),
|
|
65
|
+
blockRoot: toRootHex(blockRoot),
|
|
67
66
|
validatorCount: genesisResult.state.validators.length,
|
|
68
67
|
});
|
|
69
68
|
await persistGenesisResult(db, genesisResult, genesisBlock);
|
|
@@ -95,7 +94,7 @@ export async function initStateFromDb(config, db, logger) {
|
|
|
95
94
|
logger.info("Initializing beacon state from db", {
|
|
96
95
|
slot: state.slot,
|
|
97
96
|
epoch: computeEpochAtSlot(state.slot),
|
|
98
|
-
stateRoot:
|
|
97
|
+
stateRoot: toRootHex(state.hashTreeRoot()),
|
|
99
98
|
});
|
|
100
99
|
return state;
|
|
101
100
|
}
|
|
@@ -114,7 +113,7 @@ export async function initStateFromAnchorState(config, db, logger, anchorState,
|
|
|
114
113
|
logger.info(`Initializing beacon from a valid ${stateInfo} state`, {
|
|
115
114
|
slot: anchorState.slot,
|
|
116
115
|
epoch: computeEpochAtSlot(anchorState.slot),
|
|
117
|
-
stateRoot:
|
|
116
|
+
stateRoot: toRootHex(anchorState.hashTreeRoot()),
|
|
118
117
|
isWithinWeakSubjectivityPeriod,
|
|
119
118
|
});
|
|
120
119
|
}
|
|
@@ -122,7 +121,7 @@ export async function initStateFromAnchorState(config, db, logger, anchorState,
|
|
|
122
121
|
logger.warn(`Initializing from a stale ${stateInfo} state vulnerable to long range attacks`, {
|
|
123
122
|
slot: anchorState.slot,
|
|
124
123
|
epoch: computeEpochAtSlot(anchorState.slot),
|
|
125
|
-
stateRoot:
|
|
124
|
+
stateRoot: toRootHex(anchorState.hashTreeRoot()),
|
|
126
125
|
isWithinWeakSubjectivityPeriod,
|
|
127
126
|
});
|
|
128
127
|
logger.warn("Checkpoint sync recommended, please use --help to see checkpoint sync options");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initState.js","sourceRoot":"","sources":["../../src/chain/initState.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"initState.js","sourceRoot":"","sources":["../../src/chain/initState.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/interface.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { IEth1ForBlockProduction } from "../eth1/index.js";
|
|
|
8
8
|
import { IExecutionEngine, IExecutionBuilder } from "../execution/index.js";
|
|
9
9
|
import { Metrics } from "../metrics/metrics.js";
|
|
10
10
|
import { IClock } from "../util/clock.js";
|
|
11
|
+
import { BufferPool } from "../util/bufferPool.js";
|
|
11
12
|
import { ChainEventEmitter } from "./emitter.js";
|
|
12
13
|
import { IStateRegenerator, RegenCaller } from "./regen/index.js";
|
|
13
14
|
import { IBlsVerifier } from "./bls/index.js";
|
|
@@ -53,6 +54,7 @@ export interface IBeaconChain {
|
|
|
53
54
|
readonly config: BeaconConfig;
|
|
54
55
|
readonly logger: Logger;
|
|
55
56
|
readonly metrics: Metrics | null;
|
|
57
|
+
readonly bufferPool: BufferPool | null;
|
|
56
58
|
/** The initial slot that the chain is started with */
|
|
57
59
|
readonly anchorStateLatestBlockSlot: Slot;
|
|
58
60
|
readonly bls: IBlsVerifier;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AAqDA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAQlG,OAAO,EAAC,SAAS,EAA0B,CAAC;AAQ5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
2
1
|
import { ssz, sszTypesFor, } from "@lodestar/types";
|
|
3
2
|
import { computeStartSlotAtEpoch, computeSyncPeriodAtEpoch, computeSyncPeriodAtSlot, executionPayloadToPayloadHeader, } from "@lodestar/state-transition";
|
|
4
3
|
import { isBetterUpdate, toLightClientUpdateSummary, upgradeLightClientHeader, } from "@lodestar/light-client/spec";
|
|
5
|
-
import { MapDef, pruneSetToMax } from "@lodestar/utils";
|
|
4
|
+
import { MapDef, pruneSetToMax, toRootHex } from "@lodestar/utils";
|
|
6
5
|
import { routes } from "@lodestar/api";
|
|
7
6
|
import { MIN_SYNC_COMMITTEE_PARTICIPANTS, SYNC_COMMITTEE_SIZE, ForkSeq, highestFork, forkLightClient, } from "@lodestar/params";
|
|
8
7
|
import { byteArrayEquals } from "../../util/bytes.js";
|
|
@@ -181,7 +180,7 @@ export class LightClientServer {
|
|
|
181
180
|
async getBootstrap(blockRoot) {
|
|
182
181
|
const syncCommitteeWitness = await this.db.syncCommitteeWitness.get(blockRoot);
|
|
183
182
|
if (!syncCommitteeWitness) {
|
|
184
|
-
throw new LightClientServerError({ code: LightClientServerErrorCode.RESOURCE_UNAVAILABLE }, `syncCommitteeWitness not available ${
|
|
183
|
+
throw new LightClientServerError({ code: LightClientServerErrorCode.RESOURCE_UNAVAILABLE }, `syncCommitteeWitness not available ${toRootHex(blockRoot)}`);
|
|
185
184
|
}
|
|
186
185
|
const [currentSyncCommittee, nextSyncCommittee] = await Promise.all([
|
|
187
186
|
this.db.syncCommittee.get(syncCommitteeWitness.currentSyncCommitteeRoot),
|
|
@@ -226,7 +225,7 @@ export class LightClientServer {
|
|
|
226
225
|
const blockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(attestedHeader.beacon);
|
|
227
226
|
const syncCommitteeWitness = await this.db.syncCommitteeWitness.get(blockRoot);
|
|
228
227
|
if (!syncCommitteeWitness) {
|
|
229
|
-
throw new LightClientServerError({ code: LightClientServerErrorCode.RESOURCE_UNAVAILABLE }, `syncCommitteeWitness not available ${
|
|
228
|
+
throw new LightClientServerError({ code: LightClientServerErrorCode.RESOURCE_UNAVAILABLE }, `syncCommitteeWitness not available ${toRootHex(blockRoot)} period ${period}`);
|
|
230
229
|
}
|
|
231
230
|
return syncCommitteeWitness.currentSyncCommitteeRoot;
|
|
232
231
|
}
|
|
@@ -254,7 +253,7 @@ export class LightClientServer {
|
|
|
254
253
|
const blockSlot = block.slot;
|
|
255
254
|
const header = blockToLightClientHeader(this.config.getForkName(blockSlot), block);
|
|
256
255
|
const blockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(header.beacon);
|
|
257
|
-
const blockRootHex =
|
|
256
|
+
const blockRootHex = toRootHex(blockRoot);
|
|
258
257
|
const syncCommitteeWitness = getSyncCommitteesWitness(postState);
|
|
259
258
|
// Only store current sync committee once per run
|
|
260
259
|
if (!this.storedCurrentSyncCommittee) {
|
|
@@ -270,7 +269,7 @@ export class LightClientServer {
|
|
|
270
269
|
const period = computeSyncPeriodAtSlot(blockSlot);
|
|
271
270
|
if (parentBlockPeriod < period) {
|
|
272
271
|
// If the parentBlock is in a previous epoch it must be the dependentRoot of this epoch transition
|
|
273
|
-
const dependentRoot =
|
|
272
|
+
const dependentRoot = toRootHex(block.parentRoot);
|
|
274
273
|
const periodDependentRoots = this.knownSyncCommittee.getOrDefault(period);
|
|
275
274
|
if (!periodDependentRoots.has(dependentRoot)) {
|
|
276
275
|
periodDependentRoots.add(dependentRoot);
|
|
@@ -330,7 +329,7 @@ export class LightClientServer {
|
|
|
330
329
|
*/
|
|
331
330
|
async onSyncAggregate(syncPeriod, syncAggregate, signatureSlot, signedBlockRoot) {
|
|
332
331
|
this.metrics?.lightclientServer.onSyncAggregate.inc({ event: "processed" });
|
|
333
|
-
const signedBlockRootHex =
|
|
332
|
+
const signedBlockRootHex = toRootHex(signedBlockRoot);
|
|
334
333
|
const attestedData = this.prevHeadData.get(signedBlockRootHex);
|
|
335
334
|
if (!attestedData) {
|
|
336
335
|
// Log cacheSize since at start this.prevHeadData will be empty
|
|
@@ -404,7 +403,7 @@ export class LightClientServer {
|
|
|
404
403
|
await this.maybeStoreNewBestUpdate(syncPeriod, syncAggregate, signatureSlot, attestedData);
|
|
405
404
|
}
|
|
406
405
|
catch (e) {
|
|
407
|
-
this.logger.error("Error updating best LightClientUpdate", { syncPeriod, slot: attestedHeader.beacon.slot, blockRoot:
|
|
406
|
+
this.logger.error("Error updating best LightClientUpdate", { syncPeriod, slot: attestedHeader.beacon.slot, blockRoot: toRootHex(attestedData.blockRoot) }, e);
|
|
408
407
|
}
|
|
409
408
|
}
|
|
410
409
|
/**
|
|
@@ -437,7 +436,7 @@ export class LightClientServer {
|
|
|
437
436
|
}
|
|
438
437
|
const syncCommitteeWitness = await this.db.syncCommitteeWitness.get(attestedData.blockRoot);
|
|
439
438
|
if (!syncCommitteeWitness) {
|
|
440
|
-
throw Error(`syncCommitteeWitness not available at ${
|
|
439
|
+
throw Error(`syncCommitteeWitness not available at ${toRootHex(attestedData.blockRoot)}`);
|
|
441
440
|
}
|
|
442
441
|
const nextSyncCommittee = await this.db.syncCommittee.get(syncCommitteeWitness.nextSyncCommitteeRoot);
|
|
443
442
|
if (!nextSyncCommittee) {
|
|
@@ -501,7 +500,7 @@ export class LightClientServer {
|
|
|
501
500
|
* Get finalized header from db. Keeps a small in-memory cache to speed up most of the lookups
|
|
502
501
|
*/
|
|
503
502
|
async getFinalizedHeader(finalizedBlockRoot) {
|
|
504
|
-
const finalizedBlockRootHex =
|
|
503
|
+
const finalizedBlockRootHex = toRootHex(finalizedBlockRoot);
|
|
505
504
|
const cachedFinalizedHeader = this.checkpointHeaders.get(finalizedBlockRootHex);
|
|
506
505
|
if (cachedFinalizedHeader) {
|
|
507
506
|
return cachedFinalizedHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/lightClient/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/lightClient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import { ForkName } from "@lodestar/params";
|
|
2
|
-
import { phase0, Epoch, Slot, ValidatorIndex, RootHex } from "@lodestar/types";
|
|
2
|
+
import { phase0, Epoch, Slot, ValidatorIndex, RootHex, electra, Attestation } from "@lodestar/types";
|
|
3
3
|
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
4
4
|
import { IForkChoice } from "@lodestar/fork-choice";
|
|
5
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
5
6
|
import { InsertOutcome } from "./types.js";
|
|
7
|
+
type CommitteeIndex = number;
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* for electra, this is to consolidate aggregated attestations of the same attestation data into a single attestation to be included in block
|
|
10
|
+
* note that this is local definition in this file and it's NOT validator consolidation
|
|
11
|
+
*/
|
|
12
|
+
export type AttestationsConsolidation = {
|
|
13
|
+
byCommittee: Map<CommitteeIndex, AttestationNonParticipant>;
|
|
14
|
+
attData: phase0.AttestationData;
|
|
15
|
+
totalNotSeenCount: number;
|
|
16
|
+
score: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* This function returns not seen participation for a given epoch and slot and committe index.
|
|
8
20
|
* Return null if all validators are seen or no info to check.
|
|
9
21
|
*/
|
|
10
|
-
type GetNotSeenValidatorsFn = (epoch: Epoch,
|
|
22
|
+
type GetNotSeenValidatorsFn = (epoch: Epoch, slot: Slot, committeeIndex: number) => Set<number> | null;
|
|
11
23
|
type ValidateAttestationDataFn = (attData: phase0.AttestationData) => boolean;
|
|
12
24
|
/**
|
|
13
25
|
* Maintain a pool of aggregated attestations. Attestations can be retrieved for inclusion in a block
|
|
@@ -16,32 +28,48 @@ type ValidateAttestationDataFn = (attData: phase0.AttestationData) => boolean;
|
|
|
16
28
|
* Note that we want to remove attestations with attesters that were included in the chain.
|
|
17
29
|
*/
|
|
18
30
|
export declare class AggregatedAttestationPool {
|
|
19
|
-
private readonly
|
|
31
|
+
private readonly config;
|
|
32
|
+
/**
|
|
33
|
+
* post electra, different committees could have the same AttData and we have to consolidate attestations of the same
|
|
34
|
+
* data to be included in block, so we should group by data before index
|
|
35
|
+
* // TODO: make sure it does not affect performance for pre electra forks
|
|
36
|
+
*/
|
|
37
|
+
private readonly attestationGroupByIndexByDataHexBySlot;
|
|
20
38
|
private lowestPermissibleSlot;
|
|
39
|
+
constructor(config: ChainForkConfig);
|
|
21
40
|
/** For metrics to track size of the pool */
|
|
22
41
|
getAttestationCount(): {
|
|
23
42
|
attestationCount: number;
|
|
24
43
|
attestationDataCount: number;
|
|
25
44
|
};
|
|
26
|
-
add(attestation:
|
|
45
|
+
add(attestation: Attestation, dataRootHex: RootHex, attestingIndicesCount: number, committee: Uint32Array): InsertOutcome;
|
|
27
46
|
/** Remove attestations which are too old to be included in a block. */
|
|
28
47
|
prune(clockSlot: Slot): void;
|
|
48
|
+
getAttestationsForBlock(fork: ForkName, forkChoice: IForkChoice, state: CachedBeaconStateAllForks): Attestation[];
|
|
29
49
|
/**
|
|
30
|
-
* Get attestations to be included in a block. Returns $MAX_ATTESTATIONS items
|
|
50
|
+
* Get attestations to be included in a block pre-electra. Returns up to $MAX_ATTESTATIONS items
|
|
31
51
|
*/
|
|
32
|
-
|
|
52
|
+
getAttestationsForBlockPreElectra(fork: ForkName, forkChoice: IForkChoice, state: CachedBeaconStateAllForks): phase0.Attestation[];
|
|
53
|
+
/**
|
|
54
|
+
* Get attestations to be included in an electra block. Returns up to $MAX_ATTESTATIONS_ELECTRA items
|
|
55
|
+
*/
|
|
56
|
+
getAttestationsForBlockElectra(fork: ForkName, forkChoice: IForkChoice, state: CachedBeaconStateAllForks): electra.Attestation[];
|
|
33
57
|
/**
|
|
34
58
|
* Get all attestations optionally filtered by `attestation.data.slot`
|
|
59
|
+
* Note this function is not fork aware and can potentially return a mix
|
|
60
|
+
* of phase0.Attestations and electra.Attestations.
|
|
61
|
+
* Caller of this function is expected to filtered result if they desire
|
|
62
|
+
* a homogenous array.
|
|
35
63
|
* @param bySlot slot to filter, `bySlot === attestation.data.slot`
|
|
36
64
|
*/
|
|
37
|
-
getAll(bySlot?: Slot):
|
|
65
|
+
getAll(bySlot?: Slot): Attestation[];
|
|
38
66
|
}
|
|
39
67
|
interface AttestationWithIndex {
|
|
40
|
-
attestation:
|
|
68
|
+
attestation: Attestation;
|
|
41
69
|
trueBitsCount: number;
|
|
42
70
|
}
|
|
43
71
|
type AttestationNonParticipant = {
|
|
44
|
-
attestation:
|
|
72
|
+
attestation: Attestation;
|
|
45
73
|
notSeenAttesterCount: number;
|
|
46
74
|
};
|
|
47
75
|
/**
|
|
@@ -68,11 +96,17 @@ export declare class MatchingDataAttestationGroup {
|
|
|
68
96
|
* @param notSeenAttestingIndices not seen attestting indices, i.e. indices in the same committee
|
|
69
97
|
* @returns an array of AttestationNonParticipant
|
|
70
98
|
*/
|
|
71
|
-
getAttestationsForBlock(notSeenAttestingIndices: Set<number>): AttestationNonParticipant[];
|
|
99
|
+
getAttestationsForBlock(fork: ForkName, notSeenAttestingIndices: Set<number>): AttestationNonParticipant[];
|
|
72
100
|
/** Get attestations for API. */
|
|
73
|
-
getAttestations():
|
|
101
|
+
getAttestations(): Attestation[];
|
|
74
102
|
}
|
|
75
103
|
export declare function aggregateInto(attestation1: AttestationWithIndex, attestation2: AttestationWithIndex): void;
|
|
104
|
+
/**
|
|
105
|
+
* Electra and after: Block proposer consolidates attestations with the same
|
|
106
|
+
* attestation data from different committee into a single attestation
|
|
107
|
+
* https://github.com/ethereum/consensus-specs/blob/aba6345776aa876dad368cab27fbbb23fae20455/specs/_features/eip7549/validator.md?plain=1#L39
|
|
108
|
+
*/
|
|
109
|
+
export declare function aggregateConsolidation({ byCommittee, attData }: AttestationsConsolidation): electra.Attestation;
|
|
76
110
|
/**
|
|
77
111
|
* Pre-compute participation from a CachedBeaconStateAllForks, for use to check if an attestation's committee
|
|
78
112
|
* has already attested or not.
|