@aztec-labs/p2p 6.0.0-rc.1 → 6.0.0-rc.2
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/dest/bootstrap/bootstrap.d.ts +2 -2
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +4 -2
- package/dest/client/factory.d.ts +3 -3
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +6 -6
- package/dest/client/interface.d.ts +1 -1
- package/dest/client/p2p_client.d.ts +1 -1
- package/dest/client/p2p_client.js +1 -1
- package/dest/config.d.ts +11 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +16 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +15 -3
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +15 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +21 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +6 -2
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +9 -0
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +10 -8
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +22 -11
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +6 -2
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +2 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +11 -5
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +111 -44
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -24
- package/dest/msg_validators/epoch_cache_lookup.d.ts +18 -0
- package/dest/msg_validators/epoch_cache_lookup.d.ts.map +1 -0
- package/dest/msg_validators/epoch_cache_lookup.js +29 -0
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +80 -82
- package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +4 -3
- package/dest/msg_validators/tx_validator/factory.d.ts +40 -11
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +36 -5
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +18 -10
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +37 -27
- package/dest/services/discv5/discV5_service.d.ts +2 -2
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +3 -1
- package/dest/services/libp2p/libp2p_service.d.ts +18 -9
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +127 -29
- package/dest/services/peer-manager/peer_manager.d.ts +1 -1
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +14 -0
- package/dest/services/tx_provider.d.ts +1 -1
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +3 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +1 -1
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +3 -1
- package/dest/test-helpers/mock-pubsub.js +1 -1
- package/dest/test-helpers/reqresp-nodes.d.ts +1 -1
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +3 -1
- package/dest/test-helpers/testbench-utils.d.ts +4 -2
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
- package/dest/test-helpers/testbench-utils.js +6 -0
- package/dest/testbench/p2p_client_testbench_worker.js +6 -2
- package/package.json +14 -14
- package/src/bootstrap/bootstrap.ts +3 -2
- package/src/client/factory.ts +7 -7
- package/src/client/interface.ts +1 -1
- package/src/client/p2p_client.ts +1 -1
- package/src/config.ts +11 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +25 -0
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +31 -0
- package/src/mem_pools/tx_pool_v2/README.md +1 -1
- package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +13 -1
- package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +17 -9
- package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +6 -1
- package/src/mem_pools/tx_pool_v2/interfaces.ts +10 -4
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +95 -40
- package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -23
- package/src/msg_validators/epoch_cache_lookup.ts +33 -0
- package/src/msg_validators/proposal_validator/README.md +3 -3
- package/src/msg_validators/proposal_validator/proposal_validator.ts +78 -77
- package/src/msg_validators/tx_validator/README.md +12 -8
- package/src/msg_validators/tx_validator/data_validator.ts +4 -3
- package/src/msg_validators/tx_validator/factory.ts +60 -14
- package/src/msg_validators/tx_validator/gas_validator.ts +46 -34
- package/src/services/discv5/discV5_service.ts +2 -1
- package/src/services/libp2p/libp2p_service.ts +138 -34
- package/src/services/peer-manager/peer_manager.ts +14 -0
- package/src/services/tx_provider.ts +3 -0
- package/src/test-helpers/make-test-p2p-clients.ts +5 -1
- package/src/test-helpers/mock-pubsub.ts +3 -3
- package/src/test-helpers/reqresp-nodes.ts +5 -1
- package/src/test-helpers/testbench-utils.ts +13 -1
- package/src/testbench/p2p_client_testbench_worker.ts +10 -2
|
@@ -7,6 +7,7 @@ import { multiaddr } from '@multiformats/multiaddr';
|
|
|
7
7
|
import { Discv5 } from '@nethermindeth/discv5';
|
|
8
8
|
import { ENR } from '@nethermindeth/enr';
|
|
9
9
|
import EventEmitter from 'events';
|
|
10
|
+
import { DISCV5_RATE_LIMITER_OPTS } from '../../config.js';
|
|
10
11
|
import { createNodeENR } from '../../enr/generate-enr.js';
|
|
11
12
|
import { AZTEC_ENR_KEY, Discv5Event, PeerEvent } from '../../types/index.js';
|
|
12
13
|
import { convertToMultiaddr } from '../../util.js';
|
|
@@ -80,7 +81,8 @@ const delayBeforeStart = 2000; // 2sec
|
|
|
80
81
|
pingInterval: config.queryForIp ? 10_000 : 300_000,
|
|
81
82
|
...configOverrides.config
|
|
82
83
|
},
|
|
83
|
-
metricsRegistry
|
|
84
|
+
metricsRegistry,
|
|
85
|
+
rateLimiterOpts: DISCV5_RATE_LIMITER_OPTS
|
|
84
86
|
});
|
|
85
87
|
// Hook onto the onEstablished method to check the peer's version from the ENR,
|
|
86
88
|
// so we don't add it to our dht if it doesn't have the correct version.
|
|
@@ -4,7 +4,7 @@ import { type Logger } from '@aztec-labs/foundation/log';
|
|
|
4
4
|
import type { AztecAsyncKVStore } from '@aztec-labs/kv-store';
|
|
5
5
|
import type { EthAddress, L2BlockSource } from '@aztec-labs/stdlib/block';
|
|
6
6
|
import type { ContractDataSource } from '@aztec-labs/stdlib/contract';
|
|
7
|
-
import { type
|
|
7
|
+
import { type TxAdmissionMinFeesProvider } from '@aztec-labs/stdlib/gas';
|
|
8
8
|
import type { ClientProtocolCircuitVerifier, P2PConnectivity, PeerInfo, WorldStateSynchronizer } from '@aztec-labs/stdlib/interfaces/server';
|
|
9
9
|
import { BlockProposal, CheckpointAttestation, CheckpointProposal, type Gossipable, PeerErrorSeverity, TopicType, ValidatedBlockProposal, ValidatedCheckpointProposalCore } from '@aztec-labs/stdlib/p2p';
|
|
10
10
|
import { Tx } from '@aztec-labs/stdlib/tx';
|
|
@@ -14,7 +14,7 @@ import { type Message, type PeerId, TopicValidatorResult } from '@libp2p/interfa
|
|
|
14
14
|
import { ENR } from '@nethermindeth/enr';
|
|
15
15
|
import type { P2PConfig } from '../../config.js';
|
|
16
16
|
import type { MemPools } from '../../mem_pools/interface.js';
|
|
17
|
-
import { type TransactionValidator } from '../../msg_validators/tx_validator/factory.js';
|
|
17
|
+
import { type GossipMinFees, type GossipValidationFailure, type TransactionValidator } from '../../msg_validators/tx_validator/factory.js';
|
|
18
18
|
import { TxValidationCache } from '../../msg_validators/tx_validator/tx_validation_cache.js';
|
|
19
19
|
import { type PubSubLibp2p } from '../../util.js';
|
|
20
20
|
import type { PeerManagerInterface } from '../peer-manager/interface.js';
|
|
@@ -46,7 +46,7 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
46
46
|
private epochCache;
|
|
47
47
|
private proofVerifier;
|
|
48
48
|
private worldStateSynchronizer;
|
|
49
|
-
private
|
|
49
|
+
private nextBlockMinFeesProvider;
|
|
50
50
|
private txValidationCache?;
|
|
51
51
|
private discoveryRunningPromise?;
|
|
52
52
|
private msgIdSeenValidators;
|
|
@@ -87,7 +87,7 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
87
87
|
private instrumentation;
|
|
88
88
|
private telemetry;
|
|
89
89
|
protected logger: Logger;
|
|
90
|
-
constructor(config: P2PConfig, node: PubSubLibp2p, peerDiscoveryService: PeerDiscoveryService, reqresp: ReqRespInterface, peerManager: PeerManagerInterface, mempools: MemPools, archiver: L2BlockSource & ContractDataSource, epochCache: EpochCacheInterface, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer,
|
|
90
|
+
constructor(config: P2PConfig, node: PubSubLibp2p, peerDiscoveryService: PeerDiscoveryService, reqresp: ReqRespInterface, peerManager: PeerManagerInterface, mempools: MemPools, archiver: L2BlockSource & ContractDataSource, epochCache: EpochCacheInterface, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer, nextBlockMinFeesProvider: TxAdmissionMinFeesProvider, telemetry: TelemetryClient, logger?: Logger, txValidationCache?: TxValidationCache | undefined);
|
|
91
91
|
updateConfig(config: Partial<P2PReqRespConfig & Pick<P2PConfig, 'skipIncomingProposals' | 'preferredPeers'>>): Promise<void>;
|
|
92
92
|
/**
|
|
93
93
|
* Creates an instance of the LibP2P service.
|
|
@@ -102,7 +102,7 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
102
102
|
proofVerifier: ClientProtocolCircuitVerifier;
|
|
103
103
|
worldStateSynchronizer: WorldStateSynchronizer;
|
|
104
104
|
peerStore: AztecAsyncKVStore;
|
|
105
|
-
|
|
105
|
+
nextBlockMinFeesProvider: TxAdmissionMinFeesProvider;
|
|
106
106
|
telemetry: TelemetryClient;
|
|
107
107
|
logger: Logger;
|
|
108
108
|
packageVersion: string;
|
|
@@ -186,7 +186,14 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
186
186
|
protected validateReceivedMessage<T, M = undefined>(validationFunc: () => Promise<ReceivedMessageValidationResult<T, M>>, msgId: string, source: PeerId, topicType: TopicType, stageTimings?: Record<string, number>): Promise<ReceivedMessageValidationResult<T, M>>;
|
|
187
187
|
private tryDeserialize;
|
|
188
188
|
protected handleGossipedTx(payloadData: Buffer, msgId: string, source: PeerId): Promise<void>;
|
|
189
|
-
|
|
189
|
+
/**
|
|
190
|
+
* Process a checkpoint attestation from a peer.
|
|
191
|
+
* Validates the attestation and adds it to the pool.
|
|
192
|
+
*/
|
|
193
|
+
protected processCheckpointAttestationFromPeer(payloadData: Buffer, msgId: string, source: PeerId): Promise<void>;
|
|
194
|
+
private readonly recentAcceptedAttestations;
|
|
195
|
+
private static readonly MAX_RECENT_ATTESTATIONS;
|
|
196
|
+
private rememberAcceptedAttestation;
|
|
190
197
|
/** Validates a checkpoint attestation and adds it to the pool. Penalizes the peer if validation fails. */
|
|
191
198
|
protected validateAndStoreCheckpointAttestation(peerId: PeerId, attestation: CheckpointAttestation): Promise<ReceivedMessageValidationResult<CheckpointAttestation>>;
|
|
192
199
|
protected processBlockFromPeer(payloadData: Buffer, msgId: string, source: PeerId): Promise<void>;
|
|
@@ -194,6 +201,7 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
194
201
|
protected validateAndStoreBlockProposal(peerId: PeerId, block: BlockProposal): Promise<ReceivedMessageValidationResult<BlockProposal, {
|
|
195
202
|
isEquivocated: boolean;
|
|
196
203
|
isOversized: boolean;
|
|
204
|
+
capFull?: boolean;
|
|
197
205
|
}>>;
|
|
198
206
|
protected processValidBlockProposal(block: ValidatedBlockProposal, sender: PeerId): Promise<void>;
|
|
199
207
|
private tryBlockReceivedCallback;
|
|
@@ -230,14 +238,15 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
230
238
|
* @returns True if the request-response is consistent, false otherwise.
|
|
231
239
|
*/
|
|
232
240
|
protected validateRequestedBlockTxsConsistency(request: BlockTxsRequest, response: BlockTxsResponse, peerId: PeerId): Promise<boolean>;
|
|
233
|
-
|
|
241
|
+
/** The fees a gossiped transaction is checked against (see {@link computeGossipMinFees}). */
|
|
242
|
+
protected getGasFees(): Promise<GossipMinFees>;
|
|
234
243
|
/**
|
|
235
244
|
* Get the BatchTxRequesterLibP2PService dependencies for creating BatchTxRequester instances
|
|
236
245
|
*/
|
|
237
246
|
getBatchTxRequesterService(): BatchTxRequesterLibP2PService;
|
|
238
247
|
validateTxsReceivedInBlockProposal(txs: Tx[]): Promise<void>;
|
|
239
248
|
/** Creates the first stage (fast) validators for gossiped transactions. */
|
|
240
|
-
protected createFirstStageMessageValidators(currentBlockNumber: BlockNumber, nextSlotTimestamp: UInt64): Promise<Record<string, TransactionValidator
|
|
249
|
+
protected createFirstStageMessageValidators(currentBlockNumber: BlockNumber, nextSlotTimestamp: UInt64): Promise<Record<string, TransactionValidator<GossipValidationFailure>>>;
|
|
241
250
|
/** Creates the second stage (expensive proof verification) validators for gossiped transactions. */
|
|
242
251
|
protected createSecondStageMessageValidators(): Record<string, TransactionValidator>;
|
|
243
252
|
private runValidations;
|
|
@@ -248,4 +257,4 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
248
257
|
private stopLibP2P;
|
|
249
258
|
}
|
|
250
259
|
export {};
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEYsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUE2QyxNQUFNLDRCQUE0QixDQUFDO0FBR3BHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQWtDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkcsT0FBTyxLQUFLLEVBQ1YsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixRQUFRLEVBQ1Isc0JBQXNCLEVBQ3ZCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUNMLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLEtBQUssVUFBVSxFQUVmLGlCQUFpQixFQUVqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUloQyxNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sRUFBRSxFQUFFLEVBQTJCLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQsT0FBTyxFQUlMLEtBQUssZUFBZSxFQUNwQixVQUFVLEVBRVgsTUFBTSw4QkFBOEIsQ0FBQztBQWF0QyxPQUFPLEVBQUUsS0FBSyxPQUFP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
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEYsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUE2QyxNQUFNLDRCQUE0QixDQUFDO0FBR3BHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssMEJBQTBCLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxLQUFLLEVBQ1YsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixRQUFRLEVBQ1Isc0JBQXNCLEVBQ3ZCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUNMLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLEtBQUssVUFBVSxFQUVmLGlCQUFpQixFQUVqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUloQyxNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sRUFBRSxFQUFFLEVBQTJCLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQsT0FBTyxFQUlMLEtBQUssZUFBZSxFQUNwQixVQUFVLEVBRVgsTUFBTSw4QkFBOEIsQ0FBQztBQWF0QyxPQUFPLEVBQUUsS0FBSyxPQUFP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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,EAAE,KAAK,MAAM,EAA6C,MAAM,4BAA4B,CAAC;AAGpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -401,7 +401,7 @@ import { createLibp2p } from 'libp2p';
|
|
|
401
401
|
import { CheckpointProposalReceivedCallbackNotRegisteredError } from '../../errors/p2p-service.error.js';
|
|
402
402
|
import { BlockProposalValidator, CheckpointAttestationValidator, CheckpointProposalValidator, DoubleSpendTxValidator, FishermanAttestationValidator, getDefaultAllowedSetupFunctions } from '../../msg_validators/index.js';
|
|
403
403
|
import { MessageSeenValidator } from '../../msg_validators/msg_seen_validator/msg_seen_validator.js';
|
|
404
|
-
import { createFirstStageTxValidationsForGossipedTransactions, createSecondStageTxValidationsForGossipedTransactions, createTxValidatorForBlockProposalReceivedTxs } from '../../msg_validators/tx_validator/factory.js';
|
|
404
|
+
import { IgnoreWithoutPenalty, computeGossipMinFees, createFirstStageTxValidationsForGossipedTransactions, createSecondStageTxValidationsForGossipedTransactions, createTxValidatorForBlockProposalReceivedTxs } from '../../msg_validators/tx_validator/factory.js';
|
|
405
405
|
import { GossipSubEvent } from '../../types/index.js';
|
|
406
406
|
import { convertToMultiaddr } from '../../util.js';
|
|
407
407
|
import { getVersions } from '../../versioning.js';
|
|
@@ -428,6 +428,13 @@ import { P2PInstrumentation } from './instrumentation.js';
|
|
|
428
428
|
checkpointProposalSyncGrace: config.checkpointProposalSyncGraceSeconds ?? getDefaultCheckpointProposalSyncGrace(blockDuration)
|
|
429
429
|
});
|
|
430
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* Failure consequences ordered from mildest to harshest, so the outcome of a stage is the harshest failure it
|
|
433
|
+
* produced. A penalty-free ignore is the mildest: any penalized failure on the same tx wins over it.
|
|
434
|
+
*/ const GossipValidationFailureByHarshness = [
|
|
435
|
+
IgnoreWithoutPenalty,
|
|
436
|
+
...PeerErrorSeverityByHarshness
|
|
437
|
+
];
|
|
431
438
|
_dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId, attestation)=>({
|
|
432
439
|
[Attributes.SLOT_NUMBER]: attestation.payload.header.slotNumber.toString()
|
|
433
440
|
})), _dec1 = trackSpan('Libp2pService.validateAndStoreBlockProposal', (_peerId, block)=>({
|
|
@@ -459,7 +466,7 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
459
466
|
epochCache;
|
|
460
467
|
proofVerifier;
|
|
461
468
|
worldStateSynchronizer;
|
|
462
|
-
|
|
469
|
+
nextBlockMinFeesProvider;
|
|
463
470
|
txValidationCache;
|
|
464
471
|
static{
|
|
465
472
|
({ e: [_initProto] } = _apply_decs_2203_r(this, [
|
|
@@ -528,8 +535,8 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
528
535
|
instrumentation;
|
|
529
536
|
telemetry;
|
|
530
537
|
logger;
|
|
531
|
-
constructor(config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer,
|
|
532
|
-
super(telemetry, 'LibP2PService'), this.config = config, this.node = node, this.peerDiscoveryService = peerDiscoveryService, this.reqresp = reqresp, this.peerManager = peerManager, this.mempools = mempools, this.archiver = archiver, this.epochCache = epochCache, this.proofVerifier = proofVerifier, this.worldStateSynchronizer = worldStateSynchronizer, this.
|
|
538
|
+
constructor(config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, nextBlockMinFeesProvider, telemetry, logger = createLogger('p2p:libp2p_service'), txValidationCache){
|
|
539
|
+
super(telemetry, 'LibP2PService'), this.config = config, this.node = node, this.peerDiscoveryService = peerDiscoveryService, this.reqresp = reqresp, this.peerManager = peerManager, this.mempools = mempools, this.archiver = archiver, this.epochCache = epochCache, this.proofVerifier = proofVerifier, this.worldStateSynchronizer = worldStateSynchronizer, this.nextBlockMinFeesProvider = nextBlockMinFeesProvider, this.txValidationCache = txValidationCache, this.msgIdSeenValidators = (_initProto(this), {}), this.protocolVersion = '', this.topicStrings = {}, this.recentAcceptedAttestations = new Set();
|
|
533
540
|
this.telemetry = telemetry;
|
|
534
541
|
// Create child logger with fisherman prefix if in fisherman mode
|
|
535
542
|
this.logger = config.fishermanMode ? logger.createChild('[FISHERMAN]') : logger;
|
|
@@ -593,7 +600,7 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
593
600
|
* @param txPool - The transaction pool to be accessed by the service.
|
|
594
601
|
* @returns The new service.
|
|
595
602
|
*/ static async new(config, peerId, deps) {
|
|
596
|
-
const { worldStateSynchronizer, epochCache, l2BlockSource, mempools, proofVerifier, peerStore,
|
|
603
|
+
const { worldStateSynchronizer, epochCache, l2BlockSource, mempools, proofVerifier, peerStore, nextBlockMinFeesProvider, telemetry, logger, packageVersion, txValidationCache } = deps;
|
|
597
604
|
const { p2pPort, maxPeerCount, listenAddress } = config;
|
|
598
605
|
const bindAddrTcp = convertToMultiaddr(listenAddress, p2pPort, 'tcp');
|
|
599
606
|
const datastore = new AztecDatastore(peerStore);
|
|
@@ -781,7 +788,7 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
781
788
|
// Note: positive topic scores can offset penalties, so alignment is best-effort.
|
|
782
789
|
node.services.pubsub.score.params.appSpecificWeight = APP_SPECIFIC_WEIGHT;
|
|
783
790
|
node.services.pubsub.score.params.appSpecificScore = (peerId)=>peerManager.shouldDisableP2PGossip(peerId) ? -Infinity : peerManager.getPeerScore(peerId);
|
|
784
|
-
return new LibP2PService(config, node, peerDiscoveryService, reqresp, peerManager, mempools, l2BlockSource, epochCache, proofVerifier, worldStateSynchronizer,
|
|
791
|
+
return new LibP2PService(config, node, peerDiscoveryService, reqresp, peerManager, mempools, l2BlockSource, epochCache, proofVerifier, worldStateSynchronizer, nextBlockMinFeesProvider, telemetry, logger, txValidationCache);
|
|
785
792
|
}
|
|
786
793
|
/**
|
|
787
794
|
* Starts the LibP2P service.
|
|
@@ -1227,6 +1234,16 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1227
1234
|
severity: PeerErrorSeverity.LowToleranceError
|
|
1228
1235
|
};
|
|
1229
1236
|
}
|
|
1237
|
+
// Dedup on already-accepted content before validation: a tx hash already in the pool has been
|
|
1238
|
+
// validated, so a re-encoded copy carries no new work and is ignored without running the stages.
|
|
1239
|
+
if ((await this.mempools.txPool.hasTxs([
|
|
1240
|
+
tx.getTxHash()
|
|
1241
|
+
]))[0]) {
|
|
1242
|
+
return {
|
|
1243
|
+
result: TopicValidatorResult.Ignore,
|
|
1244
|
+
obj: tx
|
|
1245
|
+
};
|
|
1246
|
+
}
|
|
1230
1247
|
// Stage 1 setup: chain tip, epoch info, gas fees, and L1 constants reads
|
|
1231
1248
|
const { currentBlockNumber, firstStageValidators } = await timed('fast_validation_setup', async ()=>{
|
|
1232
1249
|
const currentBlockNumber = await this.archiver.getBlockNumber();
|
|
@@ -1242,6 +1259,18 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1242
1259
|
if (!firstStageOutcome.allPassed) {
|
|
1243
1260
|
const { name } = firstStageOutcome.failure;
|
|
1244
1261
|
let { severity } = firstStageOutcome.failure;
|
|
1262
|
+
// The tx failed a check that only holds against this node's own view (it pays less than the fee we
|
|
1263
|
+
// resolved for the next block). Drop it without propagating, but leave the sender's score alone.
|
|
1264
|
+
if (severity === IgnoreWithoutPenalty) {
|
|
1265
|
+
this.logger.verbose(`Ignoring gossiped tx ${tx.getTxHash().toString()}: stage 1 local check failed`, {
|
|
1266
|
+
validator: name,
|
|
1267
|
+
source: source.toString()
|
|
1268
|
+
});
|
|
1269
|
+
return {
|
|
1270
|
+
result: TopicValidatorResult.Ignore,
|
|
1271
|
+
obj: tx
|
|
1272
|
+
};
|
|
1273
|
+
}
|
|
1245
1274
|
// Double spend validator has a special case handler. We perform more detailed examination
|
|
1246
1275
|
// as to how recently the nullifier was entered into the tree and if the transaction should
|
|
1247
1276
|
// have 'known' the nullifier existed. This determines the severity of the penalty applied to the peer.
|
|
@@ -1357,7 +1386,32 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1357
1386
|
source: source.toString()
|
|
1358
1387
|
});
|
|
1359
1388
|
}
|
|
1389
|
+
// Bounded set of accepted checkpoint-attestation identities (slot, payload hash, signature bytes), so a
|
|
1390
|
+
// re-encoded copy of an accepted attestation is ignored before the expensive signature recovery.
|
|
1391
|
+
recentAcceptedAttestations;
|
|
1392
|
+
static MAX_RECENT_ATTESTATIONS = 8192;
|
|
1393
|
+
rememberAcceptedAttestation(key) {
|
|
1394
|
+
if (this.recentAcceptedAttestations.has(key)) {
|
|
1395
|
+
return;
|
|
1396
|
+
}
|
|
1397
|
+
this.recentAcceptedAttestations.add(key);
|
|
1398
|
+
if (this.recentAcceptedAttestations.size > LibP2PService.MAX_RECENT_ATTESTATIONS) {
|
|
1399
|
+
const oldest = this.recentAcceptedAttestations.keys().next().value;
|
|
1400
|
+
if (oldest !== undefined) {
|
|
1401
|
+
this.recentAcceptedAttestations.delete(oldest);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1360
1405
|
/** Validates a checkpoint attestation and adds it to the pool. Penalizes the peer if validation fails. */ async validateAndStoreCheckpointAttestation(peerId, attestation) {
|
|
1406
|
+
const attestationKey = `${attestation.payload.header.slotNumber}:${attestation.getPayloadHash().toString()}:${attestation.signature.toBuffer().toString('hex')}`;
|
|
1407
|
+
// Dedup on already-accepted content before validation: a re-encoded copy of an accepted attestation
|
|
1408
|
+
// is ignored here, before the expensive signature recovery in validate().
|
|
1409
|
+
if (this.recentAcceptedAttestations.has(attestationKey)) {
|
|
1410
|
+
return {
|
|
1411
|
+
result: TopicValidatorResult.Ignore,
|
|
1412
|
+
obj: attestation
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1361
1415
|
const validationResult = await this.checkpointAttestationValidator.validate(attestation);
|
|
1362
1416
|
if (validationResult.result === 'reject') {
|
|
1363
1417
|
this.logger.warn(`Penalizing peer ${peerId} for checkpoint attestation validation failure`);
|
|
@@ -1390,9 +1444,11 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1390
1444
|
obj: attestation
|
|
1391
1445
|
};
|
|
1392
1446
|
}
|
|
1393
|
-
//
|
|
1447
|
+
// Local per-(slot, signer) retention cap is full. That is receiver-local state, not evidence the sender
|
|
1448
|
+
// forwarded invalid data (it could not know our cache was full), so drop the extra payload without
|
|
1449
|
+
// penalizing the peer. Do not re-broadcast.
|
|
1394
1450
|
if (!added) {
|
|
1395
|
-
this.logger.
|
|
1451
|
+
this.logger.debug(`Ignoring checkpoint attestation exceeding per-signer cap`, {
|
|
1396
1452
|
slot: slot.toString(),
|
|
1397
1453
|
archive: attestation.archive.toString(),
|
|
1398
1454
|
source: peerId.toString(),
|
|
@@ -1400,8 +1456,8 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1400
1456
|
count
|
|
1401
1457
|
});
|
|
1402
1458
|
return {
|
|
1403
|
-
result: TopicValidatorResult.
|
|
1404
|
-
|
|
1459
|
+
result: TopicValidatorResult.Ignore,
|
|
1460
|
+
obj: attestation
|
|
1405
1461
|
};
|
|
1406
1462
|
}
|
|
1407
1463
|
// Check if this is a duplicate attestation (signer attested to a different proposal at the same slot)
|
|
@@ -1422,6 +1478,7 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1422
1478
|
}
|
|
1423
1479
|
}
|
|
1424
1480
|
// Attestation was added successfully - accept it so other nodes can also detect the equivocation
|
|
1481
|
+
this.rememberAcceptedAttestation(attestationKey);
|
|
1425
1482
|
this.checkpointAttestationCallback?.(attestation);
|
|
1426
1483
|
return {
|
|
1427
1484
|
result: TopicValidatorResult.Accept,
|
|
@@ -1438,6 +1495,15 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1438
1495
|
await this.processValidBlockProposal(ValidatedBlockProposal(block), source);
|
|
1439
1496
|
}
|
|
1440
1497
|
/** Validates a block proposal. Triggers a penalization to the peer that sent it if invalid. Adds to the mempool if valid. */ async validateAndStoreBlockProposal(peerId, block) {
|
|
1498
|
+
// Dedup on already-accepted content before validation: an exact signed payload already stored at
|
|
1499
|
+
// this (slot, index) has been validated, so a re-encoded copy is ignored without re-running it. A
|
|
1500
|
+
// different payload hash at the same position is not stored, so equivocation still takes the full path.
|
|
1501
|
+
if (await this.mempools.attestationPool.hasBlockProposal(block.slotNumber, block.indexWithinCheckpoint, block.getPayloadHash())) {
|
|
1502
|
+
return {
|
|
1503
|
+
result: TopicValidatorResult.Ignore,
|
|
1504
|
+
obj: block
|
|
1505
|
+
};
|
|
1506
|
+
}
|
|
1441
1507
|
const validationResult = await this.blockProposalValidator.validate(block);
|
|
1442
1508
|
if (validationResult.result === 'reject') {
|
|
1443
1509
|
this.logger.warn(`Penalizing peer ${peerId} for block proposal validation failure`);
|
|
@@ -1476,9 +1542,11 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1476
1542
|
}
|
|
1477
1543
|
};
|
|
1478
1544
|
}
|
|
1479
|
-
//
|
|
1545
|
+
// Local per-position retention cap is full. That is receiver-local state, not evidence the
|
|
1546
|
+
// sender forwarded invalid data (it could not know our cache was full), so drop the extra
|
|
1547
|
+
// payload without penalizing the peer. Do not re-broadcast.
|
|
1480
1548
|
if (!added) {
|
|
1481
|
-
this.logger.
|
|
1549
|
+
this.logger.debug(`Ignoring block proposal exceeding per-position cap`, {
|
|
1482
1550
|
...block.toBlockInfo(),
|
|
1483
1551
|
indexWithinCheckpoint: block.indexWithinCheckpoint,
|
|
1484
1552
|
count,
|
|
@@ -1486,12 +1554,18 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1486
1554
|
source: peerId.toString()
|
|
1487
1555
|
});
|
|
1488
1556
|
return {
|
|
1489
|
-
|
|
1557
|
+
// isEquivocated is false here even when count > 1: a full cache is a receiver-local drop, not
|
|
1558
|
+
// a fresh equivocation by this block. Genuine equivocation is already captured on the add
|
|
1559
|
+
// (duplicateProposalCallback below). capFull tells the checkpoint path, whose terminal block
|
|
1560
|
+
// this may be, to ignore the whole checkpoint too, rather than store and re-broadcast it while
|
|
1561
|
+
// its terminal block was dropped.
|
|
1562
|
+
result: TopicValidatorResult.Ignore,
|
|
1563
|
+
obj: block,
|
|
1490
1564
|
metadata: {
|
|
1491
|
-
isEquivocated,
|
|
1492
|
-
isOversized
|
|
1493
|
-
|
|
1494
|
-
|
|
1565
|
+
isEquivocated: false,
|
|
1566
|
+
isOversized,
|
|
1567
|
+
capFull: true
|
|
1568
|
+
}
|
|
1495
1569
|
};
|
|
1496
1570
|
}
|
|
1497
1571
|
// The proposal was stored: if oversized, invoke the oversized callback so the proposer can be
|
|
@@ -1612,6 +1686,15 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1612
1686
|
* Validates a checkpoint proposal. Penalizes peer if validation fails. Adds the checkpoint and
|
|
1613
1687
|
* its last block (if present) to the mempool if valid. Triggers equivocation detection on both.
|
|
1614
1688
|
*/ async validateAndStoreCheckpointProposal(peerId, checkpoint) {
|
|
1689
|
+
// Dedup on already-accepted content before validation: an exact signed checkpoint payload already
|
|
1690
|
+
// stored for this slot has been validated, so a re-encoded copy is ignored without re-running it. A
|
|
1691
|
+
// different payload hash at the same slot is not stored, so equivocation still takes the full path.
|
|
1692
|
+
if (await this.mempools.attestationPool.hasCheckpointProposal(checkpoint.slotNumber, checkpoint.getPayloadHash())) {
|
|
1693
|
+
return {
|
|
1694
|
+
result: TopicValidatorResult.Ignore,
|
|
1695
|
+
obj: checkpoint
|
|
1696
|
+
};
|
|
1697
|
+
}
|
|
1615
1698
|
const validationResult = await this.checkpointProposalValidator.validate(checkpoint);
|
|
1616
1699
|
if (validationResult.result === 'reject') {
|
|
1617
1700
|
this.logger.warn(`Penalizing peer ${peerId} for checkpoint proposal validation failure`);
|
|
@@ -1636,19 +1719,30 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1636
1719
|
[Attributes.P2P_ID]: peerId.toString()
|
|
1637
1720
|
});
|
|
1638
1721
|
const blockProposalResult = await this.validateAndStoreBlockProposal(peerId, blockProposal);
|
|
1639
|
-
const { obj, metadata: { isEquivocated, isOversized: blockIsOversized } = {} } = blockProposalResult;
|
|
1722
|
+
const { obj, metadata: { isEquivocated, isOversized: blockIsOversized, capFull: blockCapFull } = {} } = blockProposalResult;
|
|
1640
1723
|
isOversized = blockIsOversized ?? false;
|
|
1641
|
-
if (blockProposalResult.result === TopicValidatorResult.Reject || !obj
|
|
1724
|
+
if (blockProposalResult.result === TopicValidatorResult.Reject || !obj) {
|
|
1642
1725
|
this.logger.debug(`Rejecting checkpoint due to invalid last block proposal`, {
|
|
1643
1726
|
[Attributes.SLOT_NUMBER]: checkpoint.slotNumber.toString(),
|
|
1644
1727
|
[Attributes.P2P_ID]: peerId.toString(),
|
|
1645
|
-
isEquivocated,
|
|
1646
1728
|
result: blockProposalResult.result
|
|
1647
1729
|
});
|
|
1648
1730
|
return {
|
|
1649
1731
|
result: TopicValidatorResult.Reject,
|
|
1650
1732
|
severity: 'severity' in blockProposalResult ? blockProposalResult.severity : PeerErrorSeverity.MidToleranceError
|
|
1651
1733
|
};
|
|
1734
|
+
} else if (blockCapFull || isEquivocated) {
|
|
1735
|
+
// Both cases depend on our local cache, not on anything the relaying peer could check, so do not
|
|
1736
|
+
// penalize it. Genuine equivocation was already reported at the block level. Drop the checkpoint:
|
|
1737
|
+
// no store, no re-broadcast, no processing or attestation.
|
|
1738
|
+
this.logger.debug(`Ignoring checkpoint whose terminal block was a receiver-local drop`, {
|
|
1739
|
+
[Attributes.SLOT_NUMBER]: checkpoint.slotNumber.toString(),
|
|
1740
|
+
[Attributes.P2P_ID]: peerId.toString()
|
|
1741
|
+
});
|
|
1742
|
+
return {
|
|
1743
|
+
result: TopicValidatorResult.Ignore,
|
|
1744
|
+
obj: checkpoint
|
|
1745
|
+
};
|
|
1652
1746
|
} else if (blockProposalResult.result === TopicValidatorResult.Accept && obj && !isEquivocated && !isOversized) {
|
|
1653
1747
|
// An oversized terminal block is re-broadcast as slashing evidence but never processed.
|
|
1654
1748
|
processBlock = true;
|
|
@@ -1675,23 +1769,23 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1675
1769
|
}
|
|
1676
1770
|
};
|
|
1677
1771
|
}
|
|
1678
|
-
//
|
|
1679
|
-
//
|
|
1772
|
+
// Local per-slot retention cap is full. That is receiver-local state, not evidence the sender
|
|
1773
|
+
// forwarded invalid data, so drop the extra payload without penalizing the peer. Do not
|
|
1774
|
+
// re-broadcast. We still return the checkpoint obj so the lastBlock can be processed if valid.
|
|
1680
1775
|
if (!added) {
|
|
1681
|
-
this.logger.
|
|
1776
|
+
this.logger.debug(`Ignoring checkpoint proposal exceeding per-slot cap`, {
|
|
1682
1777
|
...checkpoint.toCheckpointInfo(),
|
|
1683
1778
|
count,
|
|
1684
1779
|
source: peerId.toString()
|
|
1685
1780
|
});
|
|
1686
1781
|
return {
|
|
1687
|
-
result: TopicValidatorResult.
|
|
1782
|
+
result: TopicValidatorResult.Ignore,
|
|
1688
1783
|
obj: checkpoint,
|
|
1689
1784
|
metadata: {
|
|
1690
1785
|
isEquivocated,
|
|
1691
1786
|
processBlock,
|
|
1692
1787
|
isOversized
|
|
1693
|
-
}
|
|
1694
|
-
severity: PeerErrorSeverity.HighToleranceError
|
|
1788
|
+
}
|
|
1695
1789
|
};
|
|
1696
1790
|
}
|
|
1697
1791
|
// If this was a duplicate proposal, do not process it, but do invoke the duplicate callback,
|
|
@@ -1844,8 +1938,12 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1844
1938
|
return false;
|
|
1845
1939
|
}
|
|
1846
1940
|
}
|
|
1847
|
-
getGasFees() {
|
|
1848
|
-
|
|
1941
|
+
/** The fees a gossiped transaction is checked against (see {@link computeGossipMinFees}). */ async getGasFees() {
|
|
1942
|
+
const [admission, l1Forward] = await Promise.all([
|
|
1943
|
+
this.nextBlockMinFeesProvider.getAdmissionMinFees(),
|
|
1944
|
+
this.nextBlockMinFeesProvider.getL1ForwardMinFees()
|
|
1945
|
+
]);
|
|
1946
|
+
return computeGossipMinFees(admission, l1Forward);
|
|
1849
1947
|
}
|
|
1850
1948
|
/**
|
|
1851
1949
|
* Get the BatchTxRequesterLibP2PService dependencies for creating BatchTxRequester instances
|
|
@@ -1920,7 +2018,7 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
1920
2018
|
const failures = allValidations.filter((x)=>!x.isValid);
|
|
1921
2019
|
if (failures.length > 0) {
|
|
1922
2020
|
// Pick the most severe failure (lowest tolerance = harshest penalty)
|
|
1923
|
-
const failed = maxBy(failures, (f)=>
|
|
2021
|
+
const failed = maxBy(failures, (f)=>GossipValidationFailureByHarshness.indexOf(f.severity));
|
|
1924
2022
|
return {
|
|
1925
2023
|
allPassed: false,
|
|
1926
2024
|
failure: {
|
|
@@ -208,4 +208,4 @@ export declare class PeerManager implements PeerManagerInterface {
|
|
|
208
208
|
handleAuthRequestFromPeer(_authRequest: AuthRequest, peerId: PeerId): Promise<StatusMessage>;
|
|
209
209
|
private updateAuthenticatedPeers;
|
|
210
210
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcGVlci1tYW5hZ2VyL3BlZXJfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSW5FLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFjLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTTVELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFnQixNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0saUNBQWlDLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFrQixLQUFLLFdBQVcsRUFBRSxNQUFNLG1C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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer_manager.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"peer_manager.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -750,6 +750,20 @@ export class PeerManager {
|
|
|
750
750
|
peerId: id,
|
|
751
751
|
timeoutUntilMs: this.dateProvider.now() + (this.config.peerFailedBanTimeMs ?? DEFAULT_FAILED_PEER_BAN_TIME_MS)
|
|
752
752
|
});
|
|
753
|
+
// Drop the address-book record written before the dial. Nothing else deletes /peers/
|
|
754
|
+
// rows, so a stream of unreachable discovered peers would otherwise grow the durable
|
|
755
|
+
// peerstore without bound. Keep operator-configured peers (trusted, private, preferred),
|
|
756
|
+
// and keep any peer we currently hold a connection to: an inbound connect or a concurrent
|
|
757
|
+
// rediscovery may have refreshed the record while this dial was failing.
|
|
758
|
+
if (!this.isProtectedPeer(peer.peerId) && this.libP2PNode.getConnections(peer.peerId).length === 0) {
|
|
759
|
+
try {
|
|
760
|
+
await this.libP2PNode.peerStore.delete(peer.peerId);
|
|
761
|
+
} catch (deleteError) {
|
|
762
|
+
this.logger.trace(`Failed to remove dropped peer ${id} from the peer store`, {
|
|
763
|
+
error: inspect(deleteError)
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
}
|
|
753
767
|
}
|
|
754
768
|
}
|
|
755
769
|
}
|
|
@@ -50,4 +50,4 @@ export declare class TxProvider implements ITxProvider {
|
|
|
50
50
|
private extractFromProposal;
|
|
51
51
|
private processProposalTxs;
|
|
52
52
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBRXZFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBZSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBOEIsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0U7OztHQUdHO0FBQ0gscUJBQWEsVUFBVyxZQUFXLFdBQVc7SUFJMUMsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsaUNBQWlDO0lBQ3pDLE9BQU8sQ0FBQyxHQUFHO0lBTmIsU0FBUyxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUVyRCxZQUNVLFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxRQUFRLEVBQ2hCLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsb0NBQW9DLENBQUMsRUFDeEYsR0FBRyxHQUFFLE1BQXlDLEVBQ3RELE1BQU0sR0FBRSxlQUFzQyxFQUcvQztJQUVELHNFQUFzRTtJQUMvRCxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUVwRDtJQUVELHNEQUFzRDtJQUN6QyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FrQjdGO0lBRUQsa0ZBQWtGO0lBQzNFLHNCQUFzQixDQUMzQixhQUFhLEVBQUUsYUFBYSxFQUM1QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUFDLFFBQVEsRUFBRSxJQUFJLENBQUE7S0FBRSxHQUN2RCxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTzlDO0lBRUQsbUVBQW1FO0lBQzVELGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxJQUFJLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQztRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FPNUc7WUFFYSwyQkFBMkI7SUFnQ3pDLE9BQU8sQ0FBQyxRQUFRO1lBS0Ysb0JBQW9CO1lBNkZwQixjQUFjO0lBWTVCLE9BQU8sQ0FBQyxtQkFBbUI7WUFPYixrQkFBa0I7Q0FPakMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAC;AAEvE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iCAAiC;IACzC,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,QAAQ,EAChB,iCAAiC,EAAE,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,EACxF,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sEAAsE;IAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAEpD;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO5G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;
|
|
1
|
+
{"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAC;AAEvE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iCAAiC;IACzC,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,QAAQ,EAChB,iCAAiC,EAAE,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,EACxF,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sEAAsE;IAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAEpD;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO5G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;YA6FpB,cAAc;IAY5B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
|