@@ -104,6 +104,10 @@ export function getBeaconPoolApi({
104
104
async submitPoolAttestationsV2 ( { signedAttestations} ) {
105
105
const seenTimestampSec = Date . now ( ) / 1000 ;
106
106
const failures : FailureList = [ ] ;
107
+ // api attestation has high priority, we allow them to be added to pool even when it's late
108
+ // this is to prevent "No aggregated attestation for slot" issue
109
+ // see https://github.com/ChainSafe/lodestar/issues/7548
110
+ const priority = true ;
107
111
108
112
await Promise . all (
109
113
signedAttestations . map ( async ( attestation , i ) => {
@@ -123,7 +127,8 @@ export function getBeaconPoolApi({
123
127
attestation ,
124
128
attDataRootHex ,
125
129
committeeValidatorIndex ,
126
- committeeSize
130
+ committeeSize ,
131
+ priority
127
132
) ;
128
133
metrics ?. opPool . attestationPoolApiInsertOutcome . inc ( { insertOutcome} ) ;
129
134
}
@@ -264,12 +269,15 @@ export function getBeaconPoolApi({
264
269
// The same validator can appear multiple times in the sync committee. It can appear multiple times per
265
270
// subnet even. First compute on which subnet the signature must be broadcasted to.
266
271
const subnets : number [ ] = [ ] ;
272
+ // same to api attestation, we allow api SyncCommittee to be added to pool even when it's late
273
+ // see https://github.com/ChainSafe/lodestar/issues/7548
274
+ const priority = true ;
267
275
268
276
for ( const indexInCommittee of indexesInCommittee ) {
269
277
// Sync committee subnet members are just sequential in the order they appear in SyncCommitteeIndexes array
270
278
const subnet = Math . floor ( indexInCommittee / SYNC_COMMITTEE_SUBNET_SIZE ) ;
271
279
const indexInSubcommittee = indexInCommittee % SYNC_COMMITTEE_SUBNET_SIZE ;
272
- chain . syncCommitteeMessagePool . add ( subnet , signature , indexInSubcommittee ) ;
280
+ chain . syncCommitteeMessagePool . add ( subnet , signature , indexInSubcommittee , priority ) ;
273
281
274
282
// Cheap de-duplication code to avoid using a Set. indexesInCommittee is always sorted
275
283
if ( subnets . length === 0 || subnets [ subnets . length - 1 ] !== subnet ) {
0 commit comments