@aztec/p2p 5.0.0-rc.2 → 5.0.1
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/README.md +3 -5
- package/dest/client/factory.d.ts +1 -1
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +2 -1
- package/dest/client/interface.d.ts +6 -1
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +2 -1
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +5 -2
- package/dest/config.d.ts +7 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +9 -4
- package/dest/errors/reqresp.error.d.ts +13 -1
- package/dest/errors/reqresp.error.d.ts.map +1 -1
- package/dest/errors/reqresp.error.js +14 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +6 -2
- 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 +43 -0
- package/dest/mem_pools/instrumentation.d.ts +9 -4
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +11 -8
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +12 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.js +2 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +9 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +21 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +2 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +12 -4
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +10 -2
- 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 +55 -7
- 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 +8 -1
- package/dest/services/encoding.d.ts +14 -1
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +15 -1
- package/dest/services/libp2p/libp2p_service.d.ts +2 -2
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +5 -1
- package/dest/services/reqresp/config.d.ts +13 -1
- package/dest/services/reqresp/config.d.ts.map +1 -1
- package/dest/services/reqresp/config.js +11 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.js +3 -3
- package/dest/services/reqresp/reqresp.d.ts +1 -1
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +34 -3
- package/dest/test-helpers/testbench-utils.d.ts +2 -1
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
- package/dest/test-helpers/testbench-utils.js +3 -0
- package/package.json +15 -15
- package/src/client/factory.ts +1 -0
- package/src/client/interface.ts +6 -0
- package/src/client/p2p_client.ts +7 -3
- package/src/config.ts +16 -3
- package/src/errors/reqresp.error.ts +19 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +6 -2
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +40 -1
- package/src/mem_pools/instrumentation.ts +13 -11
- package/src/mem_pools/tx_pool_v2/interfaces.ts +13 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +23 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +14 -4
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +70 -6
- package/src/msg_validators/proposal_validator/proposal_validator.ts +5 -1
- package/src/services/encoding.ts +19 -1
- package/src/services/libp2p/libp2p_service.ts +3 -2
- package/src/services/reqresp/README.md +2 -23
- package/src/services/reqresp/config.ts +17 -0
- package/src/services/reqresp/rate-limiter/rate_limits.ts +3 -3
- package/src/services/reqresp/reqresp.ts +42 -2
- package/src/test-helpers/testbench-utils.ts +4 -0
|
@@ -19,7 +19,7 @@ import { TxValidationCache } from '../../msg_validators/tx_validator/tx_validati
|
|
|
19
19
|
import { type PubSubLibp2p } from '../../util.js';
|
|
20
20
|
import type { PeerManagerInterface } from '../peer-manager/interface.js';
|
|
21
21
|
import type { BatchTxRequesterLibP2PService } from '../reqresp/batch-tx-requester/interface.js';
|
|
22
|
-
import type
|
|
22
|
+
import { type P2PReqRespConfig } from '../reqresp/config.js';
|
|
23
23
|
import { AuthRequest, BlockTxsRequest, BlockTxsResponse, type ReqRespInterface, type ReqRespResponse, ReqRespSubProtocol, type ReqRespSubProtocolHandler, StatusMessage } from '../reqresp/index.js';
|
|
24
24
|
import type { P2PBlockReceivedCallback, P2PCheckpointAttestationCallback, P2PCheckpointReceivedCallback, P2PDuplicateAttestationCallback, P2POversizedProposalCallback, P2PService, PeerDiscoveryService } from '../service.js';
|
|
25
25
|
type ReceivedMessageValidationResult<T, M = undefined> = {
|
|
@@ -245,4 +245,4 @@ export declare class LibP2PService extends WithTracer implements P2PService {
|
|
|
245
245
|
private stopLibP2P;
|
|
246
246
|
}
|
|
247
247
|
export {};
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUE2QyxNQUFNLHVCQUF1QixDQUFDO0FBRy9GLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQWtDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkgsT0FBTyxFQUNMLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLEtBQUssc0JBQXNCLEVBQzNCLEtBQUssVUFBVSxFQUVmLGlCQUFpQixFQUVqQixTQUFTLEVBSVYsTUFBTSxtQkFBbUIsQ0FBQztBQUczQixPQUFPLEVBQUUsRUFBRSxFQUEyQixNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFJTCxLQUFLLGVBQWUsRUFDcEIsVUFBVSxFQUVYLE1BQU0seUJBQXlCLENBQUM7QUFjakMsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUE0QixLQUFLLE1BQU0sRUFB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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,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,KAAK,MAAM,EAA6C,MAAM,uBAAuB,CAAC;AAG/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,mBAAmB,CAAC;AAC9F,OAAO,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACvH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAEf,iBAAiB,EAEjB,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,EAAE,EAA2B,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAIL,KAAK,eAAe,EACpB,UAAU,EAEX,MAAM,yBAAyB,CAAC;AAcjC,OAAO,EAAE,KAAK,OAAO,EAA4B,KAAK,MAAM,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9G,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAGzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAU7D,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAE7F,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,eAAe,CAAC;AAOtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -412,6 +412,7 @@ import { APP_SPECIFIC_WEIGHT, gossipScoreThresholds } from '../gossipsub/scoring
|
|
|
412
412
|
import { createAllTopicScoreParams } from '../gossipsub/topic_score_params.js';
|
|
413
413
|
import { PeerManager } from '../peer-manager/peer_manager.js';
|
|
414
414
|
import { PeerScoring } from '../peer-manager/peer_scoring.js';
|
|
415
|
+
import { YAMUX_MAX_MESSAGE_SIZE_BYTES } from '../reqresp/config.js';
|
|
415
416
|
import { ReqRespSubProtocol, ValidationError, pingHandler, reqGoodbyeHandler, reqRespBlockTxsHandler, reqRespStatusHandler, reqRespTxHandler } from '../reqresp/index.js';
|
|
416
417
|
import { ReqResp } from '../reqresp/reqresp.js';
|
|
417
418
|
import { P2PInstrumentation } from './instrumentation.js';
|
|
@@ -681,8 +682,11 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
|
|
|
681
682
|
],
|
|
682
683
|
datastore,
|
|
683
684
|
peerDiscovery,
|
|
685
|
+
// Pin the yamux frame size: MAX_REQRESP_REQUEST_SIZE_BYTES relies on a reqresp request fitting in one frame.
|
|
684
686
|
streamMuxers: [
|
|
685
|
-
yamux(
|
|
687
|
+
yamux({
|
|
688
|
+
maxMessageSize: YAMUX_MAX_MESSAGE_SIZE_BYTES
|
|
689
|
+
}),
|
|
686
690
|
mplex()
|
|
687
691
|
],
|
|
688
692
|
connectionEncryption: [
|
|
@@ -3,6 +3,18 @@ export declare const DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS = 10000;
|
|
|
3
3
|
export declare const DEFAULT_OVERALL_REQUEST_TIMEOUT_MS = 10000;
|
|
4
4
|
export declare const DEFAULT_REQRESP_DIAL_TIMEOUT_MS = 5000;
|
|
5
5
|
export declare const DEFAULT_OPTIMISTIC_NEGOTIATION = false;
|
|
6
|
+
/**
|
|
7
|
+
* Max size of a yamux frame, header included. This is the library default, pinned explicitly when configuring the
|
|
8
|
+
* muxer in the libp2p service so a dependency upgrade cannot silently change it.
|
|
9
|
+
*/
|
|
10
|
+
export declare const YAMUX_MAX_MESSAGE_SIZE_BYTES: number;
|
|
11
|
+
/**
|
|
12
|
+
* Max size of a reqresp request payload. A request must fit in a single muxer frame: the responder never reassembles
|
|
13
|
+
* a request from multiple chunks (see `ReqResp.processStream`), and yamux splits writes larger than one frame into
|
|
14
|
+
* multiple frames, each of which arrives as a separate chunk. mplex only splits at 1 MiB, so yamux is the binding
|
|
15
|
+
* constraint.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MAX_REQRESP_REQUEST_SIZE_BYTES: number;
|
|
6
18
|
export declare const DEFAULT_P2P_REQRESP_CONFIG: P2PReqRespConfig;
|
|
7
19
|
export interface P2PReqRespConfig {
|
|
8
20
|
/** The overall timeout for a request response operation. */
|
|
@@ -15,4 +27,4 @@ export interface P2PReqRespConfig {
|
|
|
15
27
|
dialTimeoutMs: number;
|
|
16
28
|
}
|
|
17
29
|
export declare const p2pReqRespConfigMappings: ConfigMappingsType<P2PReqRespConfig>;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQTJDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUcsZUFBTyxNQUFNLHFDQUFxQyxRQUFTLENBQUM7QUFDNUQsZUFBTyxNQUFNLGtDQUFrQyxRQUFTLENBQUM7QUFDekQsZUFBTyxNQUFNLCtCQUErQixPQUFRLENBQUM7QUFDckQsZUFBTyxNQUFNLDhCQUE4QixRQUFRLENBQUM7QUFFcEQ7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLDRCQUE0QixRQUFZLENBQUM7QUFLdEQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sOEJBQThCLFFBQTJELENBQUM7QUFHdkcsZUFBTyxNQUFNLDBCQUEwQixFQUFFLGdCQUt4QyxDQUFDO0FBRUYsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQiw0REFBNEQ7SUFDNUQsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO0lBRWhDLHVFQUF1RTtJQUN2RSwwQkFBMEIsRUFBRSxNQUFNLENBQUM7SUFFbkMsa0hBQWtIO0lBQ2xILHdCQUF3QixFQUFFLE9BQU8sQ0FBQztJQUVsQyx1RUFBdUU7SUFDdkUsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUN2QjtBQUVELGVBQU8sTUFBTSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FzQnpFLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA2C,MAAM,0BAA0B,CAAC;AAE5G,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D,eAAO,MAAM,kCAAkC,QAAS,CAAC;AACzD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA2C,MAAM,0BAA0B,CAAC;AAE5G,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D,eAAO,MAAM,kCAAkC,QAAS,CAAC;AACzD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAKtD;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,QAA2D,CAAC;AAGvG,eAAO,MAAM,0BAA0B,EAAE,gBAKxC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,uBAAuB,EAAE,MAAM,CAAC;IAEhC,uEAAuE;IACvE,0BAA0B,EAAE,MAAM,CAAC;IAEnC,kHAAkH;IAClH,wBAAwB,EAAE,OAAO,CAAC;IAElC,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAsBzE,CAAC"}
|
|
@@ -3,6 +3,17 @@ export const DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS = 10_000;
|
|
|
3
3
|
export const DEFAULT_OVERALL_REQUEST_TIMEOUT_MS = 10_000; // Not currently used
|
|
4
4
|
export const DEFAULT_REQRESP_DIAL_TIMEOUT_MS = 5_000;
|
|
5
5
|
export const DEFAULT_OPTIMISTIC_NEGOTIATION = false;
|
|
6
|
+
/**
|
|
7
|
+
* Max size of a yamux frame, header included. This is the library default, pinned explicitly when configuring the
|
|
8
|
+
* muxer in the libp2p service so a dependency upgrade cannot silently change it.
|
|
9
|
+
*/ export const YAMUX_MAX_MESSAGE_SIZE_BYTES = 64 * 1024;
|
|
10
|
+
/** Size of a yamux data frame header. */ const YAMUX_HEADER_LENGTH_BYTES = 12;
|
|
11
|
+
/**
|
|
12
|
+
* Max size of a reqresp request payload. A request must fit in a single muxer frame: the responder never reassembles
|
|
13
|
+
* a request from multiple chunks (see `ReqResp.processStream`), and yamux splits writes larger than one frame into
|
|
14
|
+
* multiple frames, each of which arrives as a separate chunk. mplex only splits at 1 MiB, so yamux is the binding
|
|
15
|
+
* constraint.
|
|
16
|
+
*/ export const MAX_REQRESP_REQUEST_SIZE_BYTES = YAMUX_MAX_MESSAGE_SIZE_BYTES - YAMUX_HEADER_LENGTH_BYTES;
|
|
6
17
|
// For use in tests.
|
|
7
18
|
export const DEFAULT_P2P_REQRESP_CONFIG = {
|
|
8
19
|
overallRequestTimeoutMs: DEFAULT_OVERALL_REQUEST_TIMEOUT_MS,
|
|
@@ -8,7 +8,7 @@ export const DEFAULT_RATE_LIMITS = {
|
|
|
8
8
|
},
|
|
9
9
|
globalLimit: {
|
|
10
10
|
quotaTimeMs: 1000,
|
|
11
|
-
quotaCount:
|
|
11
|
+
quotaCount: 50
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
[ReqRespSubProtocol.STATUS]: {
|
|
@@ -18,7 +18,7 @@ export const DEFAULT_RATE_LIMITS = {
|
|
|
18
18
|
},
|
|
19
19
|
globalLimit: {
|
|
20
20
|
quotaTimeMs: 1000,
|
|
21
|
-
quotaCount:
|
|
21
|
+
quotaCount: 50
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
[ReqRespSubProtocol.AUTH]: {
|
|
@@ -48,7 +48,7 @@ export const DEFAULT_RATE_LIMITS = {
|
|
|
48
48
|
},
|
|
49
49
|
globalLimit: {
|
|
50
50
|
quotaTimeMs: 1000,
|
|
51
|
-
quotaCount:
|
|
51
|
+
quotaCount: 50
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
[ReqRespSubProtocol.BLOCK_TXS]: {
|
|
@@ -104,4 +104,4 @@ export declare class ReqResp implements ReqRespInterface {
|
|
|
104
104
|
private categorizeResponseError;
|
|
105
105
|
private categorizeConnectionErrors;
|
|
106
106
|
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvcmVxcmVzcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQWMsS0FBSyxlQUFlLEVBQWlDLE1BQU0seUJBQXlCLENBQUM7QUFFMUcsT0FBTyxLQUFLLEVBQXNCLE1BQU0sRUFBVSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQVdyQyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBSUwsS0FBSyxnQkFBZ0IsRUFDdEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLDRDQUE0QyxDQUFDO0FBQzlGLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLGVBQWUsRUFDcEIsa0JBQWtCLEVBQ2xCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssMEJBQTBCLEVBQy9CLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUssZ0JBQWdCLEVBR3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFTeEI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHFCQUFhLE9BQVEsWUFBVyxnQkFBZ0I7SUFpQjVDLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLFdBQVc7SUFDbkIsT0FBTyxDQUFDLE1BQU07SUFsQmhCLE9BQU8sQ0FBQywwQkFBMEIsQ0FBaUQ7SUFDbkYsT0FBTyxDQUFDLGFBQWEsQ0FBMkM7SUFFaEUsT0FBTyxDQUFDLG1CQUFtQixDQUEyQztJQUV0RSxPQUFPLENBQUMsaUJBQWlCLENBQW9CO0lBQzdDLE9BQU8sQ0FBQyxXQUFXLENBQTZCO0lBRWhELE9BQU8sQ0FBQyxlQUFlLENBQWtCO0lBRXpDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBK0I7SUFFdkQsT0FBTyxDQUFDLE9BQU8sQ0FBaUI7SUFFaEMsWUFDRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLFdBQVcsRUFDeEIsTUFBTSx5Q0FBOEIsRUFDNUMsVUFBVSxHQUFFLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBTSxFQUN0RCxlQUFlLEdBQUUsZUFBc0MsRUFnQnhEO0lBRU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBUTNEO0lBRU0sbUJBQW1CLENBQUMsT0FBTyxFQUFFLGdCQUFnQixHQUFHLElBQUksQ0FFMUQ7SUFFRCxJQUFJLE1BQU0sNkNBRVQ7SUFFRDs7T0FFRztJQUNILG9CQUFvQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSx1Q0FBdUMsQ0FBQyxDQUV2RjtJQUVEOztPQUVHO0lBQ0csS0FBSyxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixpQkFnQjFEO0lBRUssY0FBYyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVV2RztJQUVEOztPQUVHO0lBQ0csSUFBSSxrQkFrQlQ7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0JHO0lBS1UsaUJBQWlCLENBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLGtCQUFrQixFQUMvQixPQUFPLEVBQUUsTUFBTSxFQUNmLFdBQVcsR0FBRSxNQUEyQixHQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDLENBZ0UxQjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE9BQU8sQ0FBQyxtQkFBbUI7WUF5QmIsV0FBVztZQXNFWCxhQUFhO1lBMEViLGFBQWE7WUE0Q2IsWUFBWTtJQW1DMUIsT0FBTyxDQUFDLGtCQUFrQjtJQU8xQjs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLHNCQUFzQjtJQWlCOUI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyx1QkFBdUI7SUF5Qy9CLE9BQU8sQ0FBQywwQkFBMEI7Q0E4RG5DIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reqresp.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/reqresp.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,eAAe,EAAiC,MAAM,yBAAyB,CAAC;AAE1G,OAAO,KAAK,EAAsB,MAAM,EAAU,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"reqresp.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/reqresp.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,eAAe,EAAiC,MAAM,yBAAyB,CAAC;AAE1G,OAAO,KAAK,EAAsB,MAAM,EAAU,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAiB,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EAGtB,MAAM,gBAAgB,CAAC;AASxB;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAQ,YAAW,gBAAgB;IAiB5C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAlBhB,OAAO,CAAC,0BAA0B,CAAiD;IACnF,OAAO,CAAC,aAAa,CAA2C;IAEhE,OAAO,CAAC,mBAAmB,CAA2C;IAEtE,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACE,MAAM,EAAE,gBAAgB,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,MAAM,yCAA8B,EAC5C,UAAU,GAAE,OAAO,CAAC,4BAA4B,CAAM,EACtD,eAAe,GAAE,eAAsC,EAgBxD;IAEM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAQ3D;IAEM,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAE1D;IAED,IAAI,MAAM,6CAET;IAED;;OAEG;IACH,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAEvF;IAED;;OAEG;IACG,KAAK,CAAC,mBAAmB,EAAE,0BAA0B,iBAgB1D;IAEK,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvG;IAED;;OAEG;IACG,IAAI,kBAkBT;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAKU,iBAAiB,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAA2B,GACvC,OAAO,CAAC,eAAe,CAAC,CAgE1B;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;YAyBb,WAAW;YAsEX,aAAa;YA0Eb,aAAa;YA4Cb,YAAY;IAmC1B,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAyC/B,OAAO,CAAC,0BAA0B;CA8DnC"}
|
|
@@ -378,9 +378,9 @@ import { executeTimeout } from '@aztec/foundation/timer';
|
|
|
378
378
|
import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
|
|
379
379
|
import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
|
|
380
380
|
import { pipeline } from 'node:stream/promises';
|
|
381
|
-
import { IndividualReqRespTimeoutError } from '../../errors/reqresp.error.js';
|
|
382
|
-
import { OversizedSnappyResponseError, SnappyTransform } from '../encoding.js';
|
|
383
|
-
import { DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS, DEFAULT_REQRESP_DIAL_TIMEOUT_MS } from './config.js';
|
|
381
|
+
import { IndividualReqRespTimeoutError, OversizedReqRespRequestError } from '../../errors/reqresp.error.js';
|
|
382
|
+
import { DEFAULT_MAX_RESPONSE_SIZE_KB, OversizedSnappyResponseError, ResponseSizeLimitExceededError, SnappyTransform } from '../encoding.js';
|
|
383
|
+
import { DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS, DEFAULT_REQRESP_DIAL_TIMEOUT_MS, MAX_REQRESP_REQUEST_SIZE_BYTES } from './config.js';
|
|
384
384
|
import { ConnectionSampler, RandomSampler } from './connection-sampler/connection_sampler.js';
|
|
385
385
|
import { ReqRespSubProtocol, UNAUTHENTICATED_ALLOWED_PROTOCOLS, subProtocolSizeCalculators } from './interface.js';
|
|
386
386
|
import { ReqRespMetrics } from './metrics.js';
|
|
@@ -524,6 +524,10 @@ _dec = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
|
|
|
524
524
|
* If the stream is not closed by the dialled peer, and a timeout occurs, then
|
|
525
525
|
* the stream is closed on the requester's end and sender (us) updates its peer score
|
|
526
526
|
*/ async sendRequestToPeer(peerId, subProtocol, payload, dialTimeout = this.dialTimeoutMs) {
|
|
527
|
+
// Thrown before the try block so the generic error handling below does not penalize the peer for our own bug.
|
|
528
|
+
if (payload.length > MAX_REQRESP_REQUEST_SIZE_BYTES) {
|
|
529
|
+
throw new OversizedReqRespRequestError(subProtocol, payload.length, MAX_REQRESP_REQUEST_SIZE_BYTES);
|
|
530
|
+
}
|
|
527
531
|
let stream;
|
|
528
532
|
try {
|
|
529
533
|
this.metrics.recordRequestSent(subProtocol);
|
|
@@ -596,15 +600,32 @@ _dec = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
|
|
|
596
600
|
* - The first chunk should contain a control byte, indicating the status of the response see `ReqRespStatus`
|
|
597
601
|
* - The second chunk should contain the response data
|
|
598
602
|
*
|
|
603
|
+
* To bound memory usage we abort reception as soon as the accumulated compressed bytes exceed a
|
|
604
|
+
* bound derived from `maxSizeKb`, before the full stream has been buffered. Without this a peer we
|
|
605
|
+
* dialed could stream data up to the request timeout, forcing us to buffer arbitrarily much (the
|
|
606
|
+
* `maxSizeKb` guard in `inboundTransformData` only runs after the whole compressed payload is
|
|
607
|
+
* concatenated, so it does nothing to cap reception memory). Snappy can expand incompressible input
|
|
608
|
+
* to ~1.17x its size, so we allow 2x `maxSizeKb`: comfortably above the worst-case expansion of a
|
|
609
|
+
* legitimate max-size response, while still capping buffered memory at twice the permitted size.
|
|
610
|
+
*
|
|
599
611
|
* @param source - The async iterable source of data chunks
|
|
600
612
|
* @param maxSizeKb - Optional maximum expected size in KB for the decompressed response
|
|
601
613
|
*/ async readMessage(source, maxSizeKb) {
|
|
602
614
|
let status;
|
|
603
615
|
const chunks = [];
|
|
616
|
+
const maxAccumulatedBytes = (maxSizeKb ?? DEFAULT_MAX_RESPONSE_SIZE_KB) * 1024 * 2;
|
|
617
|
+
let accumulatedBytes = 0;
|
|
604
618
|
try {
|
|
605
619
|
for await (const chunk of source){
|
|
606
620
|
const statusParsed = status !== undefined;
|
|
607
621
|
if (statusParsed) {
|
|
622
|
+
// Use `byteLength` (the logical length) rather than `chunk.subarray().length`: calling
|
|
623
|
+
// `subarray()` on a `Uint8ArrayList` consolidates its backing buffers into a single copy,
|
|
624
|
+
// which would materialize the very chunk we are trying to reject.
|
|
625
|
+
accumulatedBytes += chunk.byteLength;
|
|
626
|
+
if (accumulatedBytes > maxAccumulatedBytes) {
|
|
627
|
+
throw new ResponseSizeLimitExceededError(accumulatedBytes, maxAccumulatedBytes);
|
|
628
|
+
}
|
|
608
629
|
chunks.push(chunk.subarray());
|
|
609
630
|
continue;
|
|
610
631
|
}
|
|
@@ -711,6 +732,9 @@ _dec = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
|
|
|
711
732
|
const snappy = this.snappyTransform;
|
|
712
733
|
const SUCCESS = Uint8Array.of(ReqRespStatus.SUCCESS);
|
|
713
734
|
await pipeline(stream.source, async function*(source) {
|
|
735
|
+
// Req/resp is one-request-one-response: an honest sender writes a single payload and half-closes.
|
|
736
|
+
// Process only the first chunk and return, so extra frames a peer queues on the same stream cannot
|
|
737
|
+
// drive further handler invocations that bypass the per-stream rate-limit check in streamHandler.
|
|
714
738
|
for await (const chunk of source){
|
|
715
739
|
const response = await handler(connection.remotePeer, chunk.subarray());
|
|
716
740
|
if (protocol === ReqRespSubProtocol.GOODBYE) {
|
|
@@ -722,6 +746,7 @@ _dec = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
|
|
|
722
746
|
stream.metadata.written = true; // Mark the stream as written to;
|
|
723
747
|
yield SUCCESS;
|
|
724
748
|
yield snappy.outboundTransformData(response);
|
|
749
|
+
return;
|
|
725
750
|
}
|
|
726
751
|
}, stream.sink);
|
|
727
752
|
}
|
|
@@ -804,6 +829,12 @@ _dec = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
|
|
|
804
829
|
this.logger.warn(`Oversized response from peer ${peerId.toString()} in ${subProtocol}: ${e.message}`, logTags);
|
|
805
830
|
return PeerErrorSeverity.LowToleranceError;
|
|
806
831
|
}
|
|
832
|
+
// Response exceeded the reception buffer bound: the peer streamed more compressed data than the
|
|
833
|
+
// per-request size limit allows. Same protocol violation as above, penalize harshly.
|
|
834
|
+
if (e instanceof ResponseSizeLimitExceededError) {
|
|
835
|
+
this.logger.warn(`Oversized response from peer ${peerId.toString()} in ${subProtocol}: ${e.message}`, logTags);
|
|
836
|
+
return PeerErrorSeverity.LowToleranceError;
|
|
837
|
+
}
|
|
807
838
|
return this.categorizeConnectionErrors(e, peerId, subProtocol);
|
|
808
839
|
}
|
|
809
840
|
/*
|
|
@@ -50,6 +50,7 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
|
|
|
50
50
|
getPendingTxHashes(): Promise<TxHash[]>;
|
|
51
51
|
getEligiblePendingTxHashes(): Promise<TxHash[]>;
|
|
52
52
|
getPendingTxCount(): Promise<number>;
|
|
53
|
+
hasEligiblePendingTxs(minCount: number): Promise<boolean>;
|
|
53
54
|
getMinedTxHashes(): Promise<[TxHash, L2BlockId][]>;
|
|
54
55
|
getMinedTxCount(): Promise<number>;
|
|
55
56
|
getTxStatus(hash: TxHash): Promise<TxState | 'deleted' | undefined>;
|
|
@@ -160,4 +161,4 @@ export declare function filterTxsByDistribution(allTxs: Tx[], peerIndex: number,
|
|
|
160
161
|
* Ensures we return before the outer timeout while maintaining a minimum.
|
|
161
162
|
*/
|
|
162
163
|
export declare function calculateInternalTimeout(timeoutMs: number): number;
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEcsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHdEU7Ozs7R0FJRztBQUNILHFCQUFhLGNBQWUsU0FBUSxZQUFhLFlBQVcsUUFBUTtJQUNsRSxPQUFPLENBQUMsU0FBUyxDQUF5QjtJQUMxQyxPQUFPLENBQUMsTUFBTSxDQUF1QjtJQUVyQyxTQUFTLENBQUMsTUFBTSxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,6 +143,9 @@ import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.j
|
|
|
143
143
|
getPendingTxCount() {
|
|
144
144
|
return Promise.resolve(this.txsByHash.size);
|
|
145
145
|
}
|
|
146
|
+
async hasEligiblePendingTxs(minCount) {
|
|
147
|
+
return await this.getPendingTxCount() >= minCount;
|
|
148
|
+
}
|
|
146
149
|
getMinedTxHashes() {
|
|
147
150
|
return Promise.resolve([]);
|
|
148
151
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/p2p",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -67,18 +67,18 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/constants": "5.0.
|
|
71
|
-
"@aztec/epoch-cache": "5.0.
|
|
72
|
-
"@aztec/ethereum": "5.0.
|
|
73
|
-
"@aztec/foundation": "5.0.
|
|
74
|
-
"@aztec/kv-store": "5.0.
|
|
75
|
-
"@aztec/noir-contracts.js": "5.0.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "5.0.
|
|
77
|
-
"@aztec/protocol-contracts": "5.0.
|
|
78
|
-
"@aztec/simulator": "5.0.
|
|
79
|
-
"@aztec/standard-contracts": "5.0.
|
|
80
|
-
"@aztec/stdlib": "5.0.
|
|
81
|
-
"@aztec/telemetry-client": "5.0.
|
|
70
|
+
"@aztec/constants": "5.0.1",
|
|
71
|
+
"@aztec/epoch-cache": "5.0.1",
|
|
72
|
+
"@aztec/ethereum": "5.0.1",
|
|
73
|
+
"@aztec/foundation": "5.0.1",
|
|
74
|
+
"@aztec/kv-store": "5.0.1",
|
|
75
|
+
"@aztec/noir-contracts.js": "5.0.1",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "5.0.1",
|
|
77
|
+
"@aztec/protocol-contracts": "5.0.1",
|
|
78
|
+
"@aztec/simulator": "5.0.1",
|
|
79
|
+
"@aztec/standard-contracts": "5.0.1",
|
|
80
|
+
"@aztec/stdlib": "5.0.1",
|
|
81
|
+
"@aztec/telemetry-client": "5.0.1",
|
|
82
82
|
"@chainsafe/libp2p-gossipsub": "13.0.0",
|
|
83
83
|
"@chainsafe/libp2p-noise": "^15.0.0",
|
|
84
84
|
"@chainsafe/libp2p-yamux": "^6.0.2",
|
|
@@ -104,8 +104,8 @@
|
|
|
104
104
|
"tslib": "^2.4.0"
|
|
105
105
|
},
|
|
106
106
|
"devDependencies": {
|
|
107
|
-
"@aztec/archiver": "5.0.
|
|
108
|
-
"@aztec/world-state": "5.0.
|
|
107
|
+
"@aztec/archiver": "5.0.1",
|
|
108
|
+
"@aztec/world-state": "5.0.1",
|
|
109
109
|
"@jest/globals": "^30.0.0",
|
|
110
110
|
"@types/jest": "^30.0.0",
|
|
111
111
|
"@types/node": "^22.15.17",
|
package/src/client/factory.ts
CHANGED
|
@@ -132,6 +132,7 @@ export async function createP2PClient(
|
|
|
132
132
|
minTxPoolAgeMs: config.minTxPoolAgeMs,
|
|
133
133
|
dropTransactionsProbability: config.dropTransactionsProbability,
|
|
134
134
|
priceBumpPercentage: config.priceBumpPercentage,
|
|
135
|
+
keepFinalizedTxsForSlots: config.keepFinalizedTxsForSlots,
|
|
135
136
|
},
|
|
136
137
|
dateProvider,
|
|
137
138
|
);
|
package/src/client/interface.ts
CHANGED
|
@@ -182,6 +182,12 @@ export type P2P = P2PClient & {
|
|
|
182
182
|
/** Returns the number of pending txs in the mempool. */
|
|
183
183
|
getPendingTxCount(): Promise<number>;
|
|
184
184
|
|
|
185
|
+
/**
|
|
186
|
+
* Returns whether at least `minCount` pending txs have been in the pool long enough to be eligible for block
|
|
187
|
+
* building. Early-exits once the threshold is met instead of counting every eligible tx.
|
|
188
|
+
*/
|
|
189
|
+
hasEligiblePendingTxs(minCount: number): Promise<boolean>;
|
|
190
|
+
|
|
185
191
|
/**
|
|
186
192
|
* Protects existing transactions by hash for a given slot.
|
|
187
193
|
* Returns hashes of transactions that weren't found in the pool.
|
package/src/client/p2p_client.ts
CHANGED
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
type BlockHash,
|
|
15
15
|
type CheckpointId,
|
|
16
16
|
type EthAddress,
|
|
17
|
+
EventDrivenL2BlockStream,
|
|
17
18
|
type L2Block,
|
|
18
19
|
type L2BlockId,
|
|
19
20
|
type L2BlockSource,
|
|
20
|
-
L2BlockStream,
|
|
21
21
|
type L2BlockStreamEvent,
|
|
22
22
|
type L2TipsStore,
|
|
23
23
|
type LocalL2Tips,
|
|
@@ -74,7 +74,7 @@ export class P2PClient extends WithTracer implements P2P {
|
|
|
74
74
|
|
|
75
75
|
private config: P2PConfig;
|
|
76
76
|
|
|
77
|
-
private blockStream:
|
|
77
|
+
private blockStream: EventDrivenL2BlockStream | undefined;
|
|
78
78
|
|
|
79
79
|
private txProvider: TxProvider;
|
|
80
80
|
|
|
@@ -277,7 +277,7 @@ export class P2PClient extends WithTracer implements P2P {
|
|
|
277
277
|
private initBlockStream(startingBlock?: BlockNumber) {
|
|
278
278
|
if (!this.blockStream) {
|
|
279
279
|
const { blockRequestBatchSize: batchSize, blockCheckIntervalMS: pollIntervalMS } = this.config;
|
|
280
|
-
this.blockStream = new
|
|
280
|
+
this.blockStream = new EventDrivenL2BlockStream(
|
|
281
281
|
this.l2BlockSource,
|
|
282
282
|
this,
|
|
283
283
|
this,
|
|
@@ -458,6 +458,10 @@ export class P2PClient extends WithTracer implements P2P {
|
|
|
458
458
|
return this.txPool.getPendingTxCount();
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
+
public hasEligiblePendingTxs(minCount: number): Promise<boolean> {
|
|
462
|
+
return this.txPool.hasEligiblePendingTxs(minCount);
|
|
463
|
+
}
|
|
464
|
+
|
|
461
465
|
public async *iteratePendingTxs(opts?: { includeProof?: boolean }): AsyncIterableIterator<Tx> {
|
|
462
466
|
for (const txHash of await this.txPool.getPendingTxHashes()) {
|
|
463
467
|
const tx = await this.txPool.getTxByHash(txHash, opts);
|
package/src/config.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
SecretValue,
|
|
4
4
|
bigintConfigHelper,
|
|
5
5
|
booleanConfigHelper,
|
|
6
|
+
floatConfigHelper,
|
|
6
7
|
getConfigFromMappings,
|
|
7
8
|
getDefaultConfig,
|
|
8
9
|
numberConfigHelper,
|
|
@@ -243,6 +244,12 @@ export interface P2PConfig
|
|
|
243
244
|
/** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
|
|
244
245
|
priceBumpPercentage: bigint;
|
|
245
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Number of slots behind the finalized tip to keep finalized txs for before deleting them. 0 deletes
|
|
249
|
+
* at the finalized tip (default).
|
|
250
|
+
*/
|
|
251
|
+
keepFinalizedTxsForSlots: number;
|
|
252
|
+
|
|
246
253
|
/** Drop incoming block and checkpoint proposals at the libp2p dispatch layer (for testing only) */
|
|
247
254
|
skipIncomingProposals?: boolean;
|
|
248
255
|
|
|
@@ -435,17 +442,17 @@ export const p2pConfigMappings: ConfigMappingsType<P2PConfig> = {
|
|
|
435
442
|
gossipsubTxTopicWeight: {
|
|
436
443
|
env: 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT',
|
|
437
444
|
description: 'The weight of the tx topic for the gossipsub protocol.',
|
|
438
|
-
...
|
|
445
|
+
...floatConfigHelper(1),
|
|
439
446
|
},
|
|
440
447
|
gossipsubTxInvalidMessageDeliveriesWeight: {
|
|
441
448
|
env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT',
|
|
442
449
|
description: 'The weight of the tx invalid message deliveries for the gossipsub protocol.',
|
|
443
|
-
...
|
|
450
|
+
...floatConfigHelper(-20),
|
|
444
451
|
},
|
|
445
452
|
gossipsubTxInvalidMessageDeliveriesDecay: {
|
|
446
453
|
env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY',
|
|
447
454
|
description: 'Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.',
|
|
448
|
-
...
|
|
455
|
+
...floatConfigHelper(0.5),
|
|
449
456
|
},
|
|
450
457
|
peerPenaltyValues: {
|
|
451
458
|
env: 'P2P_PEER_PENALTY_VALUES',
|
|
@@ -608,6 +615,12 @@ export const p2pConfigMappings: ConfigMappingsType<P2PConfig> = {
|
|
|
608
615
|
'Minimum percentage fee increase required to replace an existing tx via RPC. Even at 0%, replacement still requires paying at least 1 unit more.',
|
|
609
616
|
...bigintConfigHelper(10n),
|
|
610
617
|
},
|
|
618
|
+
keepFinalizedTxsForSlots: {
|
|
619
|
+
env: 'P2P_KEEP_FINALIZED_TXS_FOR_SLOTS',
|
|
620
|
+
description:
|
|
621
|
+
'Number of slots behind the finalized tip to keep finalized txs for before deleting them. 0 deletes at the finalized tip.',
|
|
622
|
+
...numberConfigHelper(0),
|
|
623
|
+
},
|
|
611
624
|
...pickConfigMappings(sharedSequencerConfigMappings, [
|
|
612
625
|
'expectedBlockProposalsPerSlot',
|
|
613
626
|
'maxTxsPerBlock',
|
|
@@ -8,3 +8,22 @@ export class IndividualReqRespTimeoutError extends Error {
|
|
|
8
8
|
super(`Request to peer timed out`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
|
|
12
|
+
/** Oversized reqresp request error
|
|
13
|
+
*
|
|
14
|
+
* Thrown locally (before dialing) when a request payload does not fit in a single muxer frame. Such a request would
|
|
15
|
+
* reach the responder split across multiple chunks, which are never reassembled into one request.
|
|
16
|
+
* @category Errors
|
|
17
|
+
*/
|
|
18
|
+
export class OversizedReqRespRequestError extends Error {
|
|
19
|
+
constructor(
|
|
20
|
+
public readonly subProtocol: string,
|
|
21
|
+
public readonly payloadSizeBytes: number,
|
|
22
|
+
public readonly maxSizeBytes: number,
|
|
23
|
+
) {
|
|
24
|
+
super(
|
|
25
|
+
`Request payload of ${payloadSizeBytes} bytes for ${subProtocol} exceeds the ${maxSizeBytes} byte limit of a single muxer frame`,
|
|
26
|
+
);
|
|
27
|
+
this.name = 'OversizedReqRespRequestError';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -434,7 +434,8 @@ export class AttestationPool {
|
|
|
434
434
|
const ownKey = this.getSlotSignerKey(slotNumber, address);
|
|
435
435
|
const payloadHash = attestation.getPayloadHash();
|
|
436
436
|
|
|
437
|
-
|
|
437
|
+
// Store the signature in canonical (v ∈ {27, 28}) form; see tryAddCheckpointAttestation.
|
|
438
|
+
await this.attestationPerSlotAndSigner.set(ownKey, attestation.withNormalizedSignature().toBuffer());
|
|
438
439
|
this.metrics.trackMempoolItemAdded(ownKey);
|
|
439
440
|
|
|
440
441
|
// Track our own payload hash so that an equivocating attestation from another
|
|
@@ -614,7 +615,10 @@ export class AttestationPool {
|
|
|
614
615
|
// equivocations are detected via the multimap but their bytes are not retained.
|
|
615
616
|
const alreadyHasStored = await this.attestationPerSlotAndSigner.hasAsync(slotSignerKey);
|
|
616
617
|
if (!alreadyHasStored) {
|
|
617
|
-
|
|
618
|
+
// Store the signature in canonical (v ∈ {27, 28}) form. `sender` recovered above, so the
|
|
619
|
+
// signature is non-empty and safe to normalize; this keeps a yParity-encoded (v = 0/1) variant
|
|
620
|
+
// from a malicious peer or an in-flight byte mutation out of the L1 bundle downstream.
|
|
621
|
+
await this.attestationPerSlotAndSigner.set(slotSignerKey, attestation.withNormalizedSignature().toBuffer());
|
|
618
622
|
this.metrics.trackMempoolItemAdded(slotSignerKey);
|
|
619
623
|
}
|
|
620
624
|
|