@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0
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 +38 -0
- package/dest/bootstrap/bootstrap.d.ts.map +1 -0
- package/dest/bootstrap/bootstrap.js +31 -38
- package/dest/client/factory.d.ts +21 -0
- package/dest/client/factory.d.ts.map +1 -0
- package/dest/client/factory.js +13 -11
- package/dest/client/index.d.ts +3 -0
- package/dest/client/index.d.ts.map +1 -0
- package/dest/client/index.js +1 -0
- package/dest/client/p2p_client.d.ts +332 -0
- package/dest/client/p2p_client.d.ts.map +1 -0
- package/dest/client/p2p_client.js +535 -513
- package/dest/config.d.ts +187 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +64 -53
- package/dest/errors/reqresp.error.d.ts +28 -0
- package/dest/errors/reqresp.error.d.ts.map +1 -0
- package/dest/errors/reqresp.error.js +10 -6
- package/dest/index.d.ts +9 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
- package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/index.js +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
- package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/mocks.js +6 -10
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
- package/dest/mem_pools/index.d.ts +5 -0
- package/dest/mem_pools/index.d.ts.map +1 -0
- package/dest/mem_pools/index.js +2 -1
- package/dest/mem_pools/instrumentation.d.ts +31 -0
- package/dest/mem_pools/instrumentation.d.ts.map +1 -0
- package/dest/mem_pools/instrumentation.js +42 -37
- package/dest/mem_pools/interface.d.ts +13 -0
- package/dest/mem_pools/interface.d.ts.map +1 -0
- package/dest/mem_pools/interface.js +2 -3
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
- package/dest/mem_pools/tx_pool/index.d.ts +4 -0
- package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/index.js +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
- package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/priority.js +3 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
- package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
- package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/index.js +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
- package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
- package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/index.js +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
- package/dest/msg_validators/index.d.ts +4 -0
- package/dest/msg_validators/index.d.ts.map +1 -0
- package/dest/msg_validators/index.js +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
- package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/data_validator.js +32 -41
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
- package/dest/msg_validators/tx_validator/index.d.ts +7 -0
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
- package/dest/services/data_store.d.ts +27 -0
- package/dest/services/data_store.d.ts.map +1 -0
- package/dest/services/data_store.js +57 -57
- package/dest/services/discv5/discV5_service.d.ts +40 -0
- package/dest/services/discv5/discV5_service.d.ts.map +1 -0
- package/dest/services/discv5/discV5_service.js +82 -43
- package/dest/services/dummy_service.d.ts +83 -0
- package/dest/services/dummy_service.d.ts.map +1 -0
- package/dest/services/dummy_service.js +59 -40
- package/dest/services/encoding.d.ts +31 -0
- package/dest/services/encoding.d.ts.map +1 -0
- package/dest/services/encoding.js +9 -10
- package/dest/services/index.d.ts +3 -0
- package/dest/services/index.d.ts.map +1 -0
- package/dest/services/index.js +1 -0
- package/dest/services/libp2p/libp2p_logger.d.ts +7 -0
- package/dest/services/libp2p/libp2p_logger.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_logger.js +67 -0
- package/dest/services/libp2p/libp2p_service.d.ts +225 -0
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_service.js +727 -709
- package/dest/services/peer-manager/metrics.d.ts +12 -0
- package/dest/services/peer-manager/metrics.d.ts.map +1 -0
- package/dest/services/peer-manager/metrics.js +7 -14
- package/dest/services/peer-manager/peer_manager.d.ts +76 -0
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_manager.js +342 -340
- package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_scoring.js +18 -20
- package/dest/services/reqresp/config.d.ts +16 -0
- package/dest/services/reqresp/config.d.ts.map +1 -0
- package/dest/services/reqresp/config.js +5 -4
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
- package/dest/services/reqresp/index.d.ts +6 -0
- package/dest/services/reqresp/index.d.ts.map +1 -0
- package/dest/services/reqresp/index.js +3 -1
- package/dest/services/reqresp/interface.d.ts +116 -0
- package/dest/services/reqresp/interface.d.ts.map +1 -0
- package/dest/services/reqresp/interface.js +30 -25
- package/dest/services/reqresp/metrics.d.ts +15 -0
- package/dest/services/reqresp/metrics.d.ts.map +1 -0
- package/dest/services/reqresp/metrics.js +10 -23
- package/dest/services/reqresp/protocols/block.d.ts +4 -0
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block.js +2 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/goodbye.js +41 -36
- package/dest/services/reqresp/protocols/index.d.ts +9 -0
- package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/index.js +3 -1
- package/dest/services/reqresp/protocols/ping.d.ts +9 -0
- package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/ping.js +3 -1
- package/dest/services/reqresp/protocols/status.d.ts +9 -0
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/status.js +3 -1
- package/dest/services/reqresp/protocols/tx.d.ts +13 -0
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/tx.js +8 -5
- package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
- package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/index.js +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +35 -39
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
- package/dest/services/reqresp/reqresp.d.ts +166 -0
- package/dest/services/reqresp/reqresp.d.ts.map +1 -0
- package/dest/services/reqresp/reqresp.js +463 -460
- package/dest/services/reqresp/status.d.ts +31 -0
- package/dest/services/reqresp/status.d.ts.map +1 -0
- package/dest/services/reqresp/status.js +17 -16
- package/dest/services/service.d.ts +86 -0
- package/dest/services/service.d.ts.map +1 -0
- package/dest/services/service.js +4 -3
- package/dest/services/types.d.ts +32 -0
- package/dest/services/types.d.ts.map +1 -0
- package/dest/services/types.js +19 -20
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts +7 -0
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts.map +1 -0
- package/dest/test-helpers/generate-peer-id-private-keys.js +15 -0
- package/dest/test-helpers/get-ports.d.ts +7 -0
- package/dest/test-helpers/get-ports.d.ts.map +1 -0
- package/dest/test-helpers/get-ports.js +8 -0
- package/dest/test-helpers/index.d.ts +6 -0
- package/dest/test-helpers/index.d.ts.map +1 -0
- package/dest/test-helpers/index.js +6 -0
- package/dest/test-helpers/make-enrs.d.ts +16 -0
- package/dest/test-helpers/make-enrs.d.ts.map +1 -0
- package/dest/test-helpers/make-enrs.js +35 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +37 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -0
- package/dest/test-helpers/make-test-p2p-clients.js +71 -0
- package/dest/test-helpers/reqresp-nodes.d.ts +55 -0
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -0
- package/dest/test-helpers/reqresp-nodes.js +183 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -0
- package/dest/testbench/p2p_client_testbench_worker.js +125 -0
- package/dest/util.d.ts +53 -0
- package/dest/util.d.ts.map +1 -0
- package/dest/util.js +34 -23
- package/dest/versioning.d.ts +12 -0
- package/dest/versioning.d.ts.map +1 -0
- package/dest/versioning.js +38 -0
- package/package.json +11 -9
- package/src/bootstrap/bootstrap.ts +9 -3
- package/src/client/factory.ts +12 -5
- package/src/config.ts +56 -29
- package/src/mem_pools/index.ts +3 -3
- package/src/mem_pools/instrumentation.ts +2 -3
- package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -3
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +3 -3
- package/src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts +3 -3
- package/src/services/discv5/discV5_service.ts +67 -18
- package/src/services/dummy_service.ts +2 -0
- package/src/services/libp2p/libp2p_logger.ts +78 -0
- package/src/services/libp2p/libp2p_service.ts +47 -10
- package/src/services/reqresp/protocols/goodbye.ts +1 -1
- package/src/services/reqresp/reqresp.ts +9 -1
- package/src/services/service.ts +2 -0
- package/src/services/types.ts +2 -10
- package/src/test-helpers/generate-peer-id-private-keys.ts +15 -0
- package/src/test-helpers/get-ports.ts +8 -0
- package/src/test-helpers/index.ts +5 -0
- package/src/test-helpers/make-enrs.ts +44 -0
- package/src/test-helpers/make-test-p2p-clients.ts +124 -0
- package/src/{mocks/index.ts → test-helpers/reqresp-nodes.ts} +10 -5
- package/src/testbench/README.md +20 -0
- package/src/testbench/p2p_client_testbench_worker.ts +156 -0
- package/src/testbench/scripts/run_testbench.sh +7 -0
- package/src/versioning.ts +50 -0
- package/dest/mocks/index.js +0 -190
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type PeerId } from '@libp2p/interface';
|
|
4
|
+
import { type ReqRespStatus } from './status.js';
|
|
5
|
+
export declare const PING_PROTOCOL = "/aztec/req/ping/0.1.0";
|
|
6
|
+
export declare const STATUS_PROTOCOL = "/aztec/req/status/0.1.0";
|
|
7
|
+
export declare const GOODBYE_PROTOCOL = "/aztec/req/goodbye/0.1.0";
|
|
8
|
+
export declare const TX_REQ_PROTOCOL = "/aztec/req/tx/0.1.0";
|
|
9
|
+
export declare const BLOCK_REQ_PROTOCOL = "/aztec/req/block/0.1.0";
|
|
10
|
+
export declare enum ReqRespSubProtocol {
|
|
11
|
+
PING = "/aztec/req/ping/0.1.0",
|
|
12
|
+
STATUS = "/aztec/req/status/0.1.0",
|
|
13
|
+
GOODBYE = "/aztec/req/goodbye/0.1.0",
|
|
14
|
+
TX = "/aztec/req/tx/0.1.0",
|
|
15
|
+
BLOCK = "/aztec/req/block/0.1.0"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A handler for a sub protocol
|
|
19
|
+
* The message will arrive as a buffer, and the handler must return a buffer
|
|
20
|
+
*/
|
|
21
|
+
export type ReqRespSubProtocolHandler = (peerId: PeerId, msg: Buffer) => Promise<Buffer>;
|
|
22
|
+
/**
|
|
23
|
+
* A type mapping from supprotocol to it's rate limits
|
|
24
|
+
*/
|
|
25
|
+
export type ReqRespSubProtocolRateLimits = Record<ReqRespSubProtocol, ProtocolRateLimitQuota>;
|
|
26
|
+
/**
|
|
27
|
+
* The response from the ReqResp protocol
|
|
28
|
+
* Consists of a status (Error code) and data
|
|
29
|
+
*/
|
|
30
|
+
export interface ReqRespResponse {
|
|
31
|
+
status: ReqRespStatus;
|
|
32
|
+
data: Buffer;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A rate limit quota
|
|
36
|
+
*/
|
|
37
|
+
export interface RateLimitQuota {
|
|
38
|
+
/**
|
|
39
|
+
* The time window in ms
|
|
40
|
+
*/
|
|
41
|
+
quotaTimeMs: number;
|
|
42
|
+
/**
|
|
43
|
+
* The number of requests allowed within the time window
|
|
44
|
+
*/
|
|
45
|
+
quotaCount: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ProtocolRateLimitQuota {
|
|
48
|
+
/**
|
|
49
|
+
* The rate limit quota for a single peer
|
|
50
|
+
*/
|
|
51
|
+
peerLimit: RateLimitQuota;
|
|
52
|
+
/**
|
|
53
|
+
* The rate limit quota for the global peer set
|
|
54
|
+
*/
|
|
55
|
+
globalLimit: RateLimitQuota;
|
|
56
|
+
}
|
|
57
|
+
export declare const noopValidator: () => Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* A type mapping from supprotocol to it's handling function
|
|
60
|
+
*/
|
|
61
|
+
export type ReqRespSubProtocolHandlers = Record<ReqRespSubProtocol, ReqRespSubProtocolHandler>;
|
|
62
|
+
type ResponseValidator<RequestIdentifier, Response> = (request: RequestIdentifier, response: Response, peerId: PeerId) => Promise<boolean>;
|
|
63
|
+
export type ReqRespSubProtocolValidators = {
|
|
64
|
+
[S in ReqRespSubProtocol]: ResponseValidator<any, any>;
|
|
65
|
+
};
|
|
66
|
+
export declare const DEFAULT_SUB_PROTOCOL_VALIDATORS: ReqRespSubProtocolValidators;
|
|
67
|
+
/**
|
|
68
|
+
* Sub protocol map determines the request and response types for each
|
|
69
|
+
* Req Resp protocol
|
|
70
|
+
*/
|
|
71
|
+
export type SubProtocolMap = {
|
|
72
|
+
[S in ReqRespSubProtocol]: RequestResponsePair<any, any>;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Default sub protocol handlers - this SHOULD be overwritten by the service,
|
|
76
|
+
*/
|
|
77
|
+
export declare const DEFAULT_SUB_PROTOCOL_HANDLERS: ReqRespSubProtocolHandlers;
|
|
78
|
+
/**
|
|
79
|
+
* The Request Response Pair interface defines the methods that each
|
|
80
|
+
* request response pair must implement
|
|
81
|
+
*/
|
|
82
|
+
interface RequestResponsePair<Req extends {
|
|
83
|
+
toBuffer(): Buffer;
|
|
84
|
+
}, Res> {
|
|
85
|
+
/**
|
|
86
|
+
* The request must implement the toBuffer method (generic serialisation)
|
|
87
|
+
*/
|
|
88
|
+
request: new (...args: any[]) => Req;
|
|
89
|
+
/**
|
|
90
|
+
* The response must implement the static fromBuffer method (generic serialisation)
|
|
91
|
+
*/
|
|
92
|
+
response: {
|
|
93
|
+
new (...args: any[]): Res;
|
|
94
|
+
fromBuffer(buffer: Buffer): Res;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* RequestableBuffer is a wrapper around a buffer that allows it to be
|
|
99
|
+
* used in generic request response protocols
|
|
100
|
+
*
|
|
101
|
+
* An instance of the RequestResponsePair defined above
|
|
102
|
+
*/
|
|
103
|
+
export declare class RequestableBuffer {
|
|
104
|
+
buffer: Buffer;
|
|
105
|
+
constructor(buffer: Buffer);
|
|
106
|
+
toBuffer(): Buffer;
|
|
107
|
+
static fromBuffer(buffer: Buffer): RequestableBuffer;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A mapping from each protocol to their request and response types
|
|
111
|
+
* This defines the request and response types for each sub protocol, used primarily
|
|
112
|
+
* as a type rather than an object
|
|
113
|
+
*/
|
|
114
|
+
export declare const subProtocolMap: SubProtocolMap;
|
|
115
|
+
export {};
|
|
116
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/interface.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D,oBAAY,kBAAkB;IAC5B,IAAI,0BAAgB;IACpB,MAAM,4BAAkB;IACxB,OAAO,6BAAmB;IAC1B,EAAE,wBAAkB;IACpB,KAAK,2BAAqB;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,wBAA8B,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;AAE/F,KAAK,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CACpD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,MAAM,4BAA4B,GAAG;KACxC,CAAC,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAM7C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;CACzD,CAAC;AAUF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,0BAM3C,CAAC;AAEF;;;GAGG;AACH,UAAU,mBAAmB,CAAC,GAAG,SAAS;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,EAAE,GAAG;IACnE;;OAEG;IACH,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACrC;;OAEG;IACH,QAAQ,EAAE;QACR,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;QAC1B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;KACjC,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IACT,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAEjC,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;CAGjC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,cAqB5B,CAAC"}
|
|
@@ -2,50 +2,53 @@ import { L2Block, Tx, TxHash } from '@aztec/circuit-types';
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
/*
|
|
4
4
|
* Request Response Sub Protocols
|
|
5
|
-
*/
|
|
5
|
+
*/
|
|
6
|
+
export const PING_PROTOCOL = '/aztec/req/ping/0.1.0';
|
|
6
7
|
export const STATUS_PROTOCOL = '/aztec/req/status/0.1.0';
|
|
7
8
|
export const GOODBYE_PROTOCOL = '/aztec/req/goodbye/0.1.0';
|
|
8
9
|
export const TX_REQ_PROTOCOL = '/aztec/req/tx/0.1.0';
|
|
9
10
|
export const BLOCK_REQ_PROTOCOL = '/aztec/req/block/0.1.0';
|
|
10
|
-
export var ReqRespSubProtocol
|
|
11
|
-
|
|
12
|
-
ReqRespSubProtocol[
|
|
13
|
-
ReqRespSubProtocol[
|
|
14
|
-
ReqRespSubProtocol[
|
|
15
|
-
ReqRespSubProtocol[
|
|
16
|
-
|
|
17
|
-
}({});
|
|
18
|
-
export const noopValidator = ()=>Promise.resolve(true);
|
|
11
|
+
export var ReqRespSubProtocol;
|
|
12
|
+
(function (ReqRespSubProtocol) {
|
|
13
|
+
ReqRespSubProtocol["PING"] = "/aztec/req/ping/0.1.0";
|
|
14
|
+
ReqRespSubProtocol["STATUS"] = "/aztec/req/status/0.1.0";
|
|
15
|
+
ReqRespSubProtocol["GOODBYE"] = "/aztec/req/goodbye/0.1.0";
|
|
16
|
+
ReqRespSubProtocol["TX"] = "/aztec/req/tx/0.1.0";
|
|
17
|
+
ReqRespSubProtocol["BLOCK"] = "/aztec/req/block/0.1.0";
|
|
18
|
+
})(ReqRespSubProtocol || (ReqRespSubProtocol = {}));
|
|
19
|
+
export const noopValidator = () => Promise.resolve(true);
|
|
19
20
|
export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
|
|
20
21
|
[ReqRespSubProtocol.PING]: noopValidator,
|
|
21
22
|
[ReqRespSubProtocol.STATUS]: noopValidator,
|
|
22
23
|
[ReqRespSubProtocol.TX]: noopValidator,
|
|
23
24
|
[ReqRespSubProtocol.GOODBYE]: noopValidator,
|
|
24
|
-
[ReqRespSubProtocol.BLOCK]: noopValidator
|
|
25
|
+
[ReqRespSubProtocol.BLOCK]: noopValidator,
|
|
25
26
|
};
|
|
26
27
|
/**
|
|
27
28
|
* Default handler for unimplemented sub protocols, this SHOULD be overwritten
|
|
28
29
|
* by the service, but is provided as a fallback
|
|
29
|
-
*/
|
|
30
|
+
*/
|
|
31
|
+
const defaultHandler = (_msg) => {
|
|
30
32
|
return Promise.resolve(Buffer.from('unimplemented'));
|
|
31
33
|
};
|
|
32
34
|
/**
|
|
33
35
|
* Default sub protocol handlers - this SHOULD be overwritten by the service,
|
|
34
|
-
*/
|
|
36
|
+
*/
|
|
37
|
+
export const DEFAULT_SUB_PROTOCOL_HANDLERS = {
|
|
35
38
|
[ReqRespSubProtocol.PING]: defaultHandler,
|
|
36
39
|
[ReqRespSubProtocol.STATUS]: defaultHandler,
|
|
37
40
|
[ReqRespSubProtocol.TX]: defaultHandler,
|
|
38
41
|
[ReqRespSubProtocol.GOODBYE]: defaultHandler,
|
|
39
|
-
[ReqRespSubProtocol.BLOCK]: defaultHandler
|
|
42
|
+
[ReqRespSubProtocol.BLOCK]: defaultHandler,
|
|
40
43
|
};
|
|
41
44
|
/**
|
|
42
45
|
* RequestableBuffer is a wrapper around a buffer that allows it to be
|
|
43
46
|
* used in generic request response protocols
|
|
44
47
|
*
|
|
45
48
|
* An instance of the RequestResponsePair defined above
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
constructor(buffer){
|
|
49
|
+
*/
|
|
50
|
+
export class RequestableBuffer {
|
|
51
|
+
constructor(buffer) {
|
|
49
52
|
this.buffer = buffer;
|
|
50
53
|
}
|
|
51
54
|
toBuffer() {
|
|
@@ -59,25 +62,27 @@ export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
|
|
|
59
62
|
* A mapping from each protocol to their request and response types
|
|
60
63
|
* This defines the request and response types for each sub protocol, used primarily
|
|
61
64
|
* as a type rather than an object
|
|
62
|
-
*/
|
|
65
|
+
*/
|
|
66
|
+
export const subProtocolMap = {
|
|
63
67
|
[ReqRespSubProtocol.PING]: {
|
|
64
68
|
request: RequestableBuffer,
|
|
65
|
-
response: RequestableBuffer
|
|
69
|
+
response: RequestableBuffer,
|
|
66
70
|
},
|
|
67
71
|
[ReqRespSubProtocol.STATUS]: {
|
|
68
72
|
request: RequestableBuffer,
|
|
69
|
-
response: RequestableBuffer
|
|
73
|
+
response: RequestableBuffer,
|
|
70
74
|
},
|
|
71
75
|
[ReqRespSubProtocol.TX]: {
|
|
72
76
|
request: TxHash,
|
|
73
|
-
response: Tx
|
|
77
|
+
response: Tx,
|
|
74
78
|
},
|
|
75
79
|
[ReqRespSubProtocol.GOODBYE]: {
|
|
76
80
|
request: RequestableBuffer,
|
|
77
|
-
response: RequestableBuffer
|
|
81
|
+
response: RequestableBuffer,
|
|
78
82
|
},
|
|
79
83
|
[ReqRespSubProtocol.BLOCK]: {
|
|
80
|
-
request: Fr,
|
|
81
|
-
response: L2Block
|
|
82
|
-
}
|
|
84
|
+
request: Fr, // block number
|
|
85
|
+
response: L2Block,
|
|
86
|
+
},
|
|
83
87
|
};
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU05Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBRTNELE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsb0RBQW9CLENBQUE7SUFDcEIsd0RBQXdCLENBQUE7SUFDeEIsMERBQTBCLENBQUE7SUFDMUIsZ0RBQW9CLENBQUE7SUFDcEIsc0RBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0I7QUErQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFpQnpELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFpQztJQUMzRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWE7SUFDeEMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxhQUFhO0lBQzFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUUsYUFBYTtJQUN0QyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWE7SUFDM0MsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhO0NBQzFDLENBQUM7QUFVRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVMsRUFBbUIsRUFBRTtJQUNwRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQStCO0lBQ3ZFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYztJQUN6QyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLGNBQWM7SUFDM0MsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjO0lBQ3ZDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYztJQUM1QyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLGNBQWM7Q0FDM0MsQ0FBQztBQW9CRjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXJDLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBbUI7SUFDNUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN6QixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxpQkFBaUI7S0FDNUI7SUFDRCxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzNCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLGlCQUFpQjtLQUM1QjtJQUNELENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDdkIsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0QsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM1QixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxpQkFBaUI7S0FDNUI7SUFDRCxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsZUFBZTtRQUM1QixRQUFRLEVBQUUsT0FBTztLQUNsQjtDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
2
|
+
export declare class ReqRespMetrics {
|
|
3
|
+
readonly telemetryClient: TelemetryClient;
|
|
4
|
+
readonly tracer: Tracer;
|
|
5
|
+
private readonly sentRequests;
|
|
6
|
+
private readonly receivedRequests;
|
|
7
|
+
private readonly failedOutboundRequests;
|
|
8
|
+
private readonly failedInboundRequests;
|
|
9
|
+
constructor(telemetryClient: TelemetryClient, name?: string);
|
|
10
|
+
recordRequestSent(protocol: string): void;
|
|
11
|
+
recordRequestReceived(protocol: string): void;
|
|
12
|
+
recordRequestError(protocol: string): void;
|
|
13
|
+
recordResponseError(protocol: string): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAEhG,qBAAa,cAAc;IASb,QAAQ,CAAC,eAAe,EAAE,eAAe;IARrD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;gBAEjC,eAAe,EAAE,eAAe,EAAE,IAAI,SAAY;IA4BhE,iBAAiB,CAAC,QAAQ,EAAE,MAAM;IAIlC,qBAAqB,CAAC,QAAQ,EAAE,MAAM;IAItC,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAInC,mBAAmB,CAAC,QAAQ,EAAE,MAAM;CAG5C"}
|
|
@@ -1,55 +1,42 @@
|
|
|
1
1
|
// Request response metrics
|
|
2
2
|
import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
3
3
|
export class ReqRespMetrics {
|
|
4
|
-
telemetryClient
|
|
5
|
-
tracer;
|
|
6
|
-
sentRequests;
|
|
7
|
-
receivedRequests;
|
|
8
|
-
failedOutboundRequests;
|
|
9
|
-
failedInboundRequests;
|
|
10
|
-
constructor(telemetryClient, name = 'ReqResp'){
|
|
4
|
+
constructor(telemetryClient, name = 'ReqResp') {
|
|
11
5
|
this.telemetryClient = telemetryClient;
|
|
12
6
|
this.tracer = telemetryClient.getTracer(name);
|
|
13
7
|
const meter = telemetryClient.getMeter(name);
|
|
14
8
|
this.sentRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_SENT_REQUESTS, {
|
|
15
9
|
description: 'Number of requests sent to peers',
|
|
16
10
|
unit: 'requests',
|
|
17
|
-
valueType: ValueType.INT
|
|
11
|
+
valueType: ValueType.INT,
|
|
18
12
|
});
|
|
19
13
|
this.receivedRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_RECEIVED_REQUESTS, {
|
|
20
14
|
description: 'Number of requests received from peers',
|
|
21
15
|
unit: 'requests',
|
|
22
|
-
valueType: ValueType.INT
|
|
16
|
+
valueType: ValueType.INT,
|
|
23
17
|
});
|
|
24
18
|
this.failedOutboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS, {
|
|
25
19
|
description: 'Number of failed outbound requests - nodes not getting valid responses',
|
|
26
20
|
unit: 'requests',
|
|
27
|
-
valueType: ValueType.INT
|
|
21
|
+
valueType: ValueType.INT,
|
|
28
22
|
});
|
|
29
23
|
this.failedInboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, {
|
|
30
24
|
description: 'Number of failed inbound requests - node failing to respond to requests',
|
|
31
25
|
unit: 'requests',
|
|
32
|
-
valueType: ValueType.INT
|
|
26
|
+
valueType: ValueType.INT,
|
|
33
27
|
});
|
|
34
28
|
}
|
|
35
29
|
recordRequestSent(protocol) {
|
|
36
|
-
this.sentRequests.add(1, {
|
|
37
|
-
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
38
|
-
});
|
|
30
|
+
this.sentRequests.add(1, { [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol });
|
|
39
31
|
}
|
|
40
32
|
recordRequestReceived(protocol) {
|
|
41
|
-
this.receivedRequests.add(1, {
|
|
42
|
-
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
43
|
-
});
|
|
33
|
+
this.receivedRequests.add(1, { [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol });
|
|
44
34
|
}
|
|
45
35
|
recordRequestError(protocol) {
|
|
46
|
-
this.failedOutboundRequests.add(1, {
|
|
47
|
-
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
48
|
-
});
|
|
36
|
+
this.failedOutboundRequests.add(1, { [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol });
|
|
49
37
|
}
|
|
50
38
|
recordResponseError(protocol) {
|
|
51
|
-
this.failedInboundRequests.add(1, {
|
|
52
|
-
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
53
|
-
});
|
|
39
|
+
this.failedInboundRequests.add(1, { [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol });
|
|
54
40
|
}
|
|
55
41
|
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCO0FBQzNCLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pFLE1BQU0sT0FBTyxjQUFjO0lBU3pCLFlBQXFCLGVBQWdDLEVBQUUsSUFBSSxHQUFHLFNBQVM7UUFBbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtZQUNoRixXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRTtZQUN4RixXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRTtZQUNyRyxXQUFXLEVBQUUsd0VBQXdFO1lBQ3JGLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsRUFBRTtZQUNuRyxXQUFXLEVBQUUseUVBQXlFO1lBQ3RGLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBZ0I7UUFDeEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQWdCO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,yBAAyB,CAO3F"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
export function reqRespBlockHandler(l2BlockSource) {
|
|
3
|
-
return async (_peerId, msg)=>{
|
|
3
|
+
return async (_peerId, msg) => {
|
|
4
4
|
const blockNumber = Fr.fromBuffer(msg);
|
|
5
5
|
const foundBlock = await l2BlockSource.getBlock(Number(blockNumber));
|
|
6
6
|
return foundBlock ? foundBlock.toBuffer() : Buffer.alloc(0);
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTlDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxhQUE0QjtJQUM5RCxPQUFPLEtBQUssRUFBRSxPQUFlLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDNUMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type PeerId } from '@libp2p/interface';
|
|
4
|
+
import { type PeerManager } from '../../peer-manager/peer_manager.js';
|
|
5
|
+
import { type ReqRespSubProtocolHandler } from '../interface.js';
|
|
6
|
+
import { type ReqResp } from '../reqresp.js';
|
|
7
|
+
/**
|
|
8
|
+
* Enum defining the possible reasons for a goodbye message.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum GoodByeReason {
|
|
11
|
+
/** The peer has shutdown, will be received whenever a peer's node is routinely stopped */
|
|
12
|
+
SHUTDOWN = 1,
|
|
13
|
+
/** Whenever the peer must disconnect due to maintaining max peers */
|
|
14
|
+
DISCONNECTED = 2,
|
|
15
|
+
/** The peer has a low score, will be received whenever a peer's score is low */
|
|
16
|
+
LOW_SCORE = 3,
|
|
17
|
+
/** The peer has been banned, will be received whenever a peer is banned */
|
|
18
|
+
BANNED = 4,
|
|
19
|
+
/** Wrong network / fork */
|
|
20
|
+
WRONG_NETWORK = 5,
|
|
21
|
+
/** Unknown reason */
|
|
22
|
+
UNKNOWN = 6
|
|
23
|
+
}
|
|
24
|
+
export declare function encodeGoodbyeReason(reason: GoodByeReason): Buffer;
|
|
25
|
+
export declare function decodeGoodbyeReason(buffer: Buffer): GoodByeReason;
|
|
26
|
+
/**
|
|
27
|
+
* Pretty prints the goodbye reason.
|
|
28
|
+
* @param reason - The goodbye reason.
|
|
29
|
+
* @returns The pretty printed goodbye reason.
|
|
30
|
+
*/
|
|
31
|
+
export declare function prettyGoodbyeReason(reason: GoodByeReason): string;
|
|
32
|
+
/**
|
|
33
|
+
* Handles a goodbye message request
|
|
34
|
+
*/
|
|
35
|
+
export declare class GoodbyeProtocolHandler {
|
|
36
|
+
private reqresp;
|
|
37
|
+
private logger;
|
|
38
|
+
constructor(reqresp: ReqResp);
|
|
39
|
+
sendGoodbye(peerId: PeerId, reason: GoodByeReason): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Handles the goodbye request. In request response, the goodbye request is handled by the peer manager.
|
|
43
|
+
*
|
|
44
|
+
* @dev Implemented as returning a function as the function is bound in the libp2p service, however
|
|
45
|
+
* its implementation is here to keep functionality together.
|
|
46
|
+
*
|
|
47
|
+
* @param peerManager - The peer manager.
|
|
48
|
+
* @returns A resolved promise with the goodbye response.
|
|
49
|
+
*/
|
|
50
|
+
export declare function reqGoodbyeHandler(peerManager: PeerManager): ReqRespSubProtocolHandler;
|
|
51
|
+
//# sourceMappingURL=goodbye.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goodbye.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/goodbye.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,oBAAY,aAAa;IACvB,0FAA0F;IAC1F,QAAQ,IAAM;IACd,qEAAqE;IACrE,YAAY,IAAM;IAClB,gFAAgF;IAChF,SAAS,IAAM;IACf,2EAA2E;IAC3E,MAAM,IAAM;IACZ,2BAA2B;IAC3B,aAAa,IAAM;IACnB,qBAAqB;IACrB,OAAO,IAAM;CACd;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEjE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CASjE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAgBjE;AAED;;GAEG;AACH,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,MAAM,CAAwC;gBAElC,OAAO,EAAE,OAAO;IAEvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,yBAAyB,CASrF"}
|
|
@@ -2,19 +2,24 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { ReqRespSubProtocol } from '../interface.js';
|
|
3
3
|
/**
|
|
4
4
|
* Enum defining the possible reasons for a goodbye message.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** The peer has
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
*/
|
|
6
|
+
export var GoodByeReason;
|
|
7
|
+
(function (GoodByeReason) {
|
|
8
|
+
/** The peer has shutdown, will be received whenever a peer's node is routinely stopped */
|
|
9
|
+
GoodByeReason[GoodByeReason["SHUTDOWN"] = 1] = "SHUTDOWN";
|
|
10
|
+
/** Whenever the peer must disconnect due to maintaining max peers */
|
|
11
|
+
GoodByeReason[GoodByeReason["DISCONNECTED"] = 2] = "DISCONNECTED";
|
|
12
|
+
/** The peer has a low score, will be received whenever a peer's score is low */
|
|
13
|
+
GoodByeReason[GoodByeReason["LOW_SCORE"] = 3] = "LOW_SCORE";
|
|
14
|
+
/** The peer has been banned, will be received whenever a peer is banned */
|
|
15
|
+
GoodByeReason[GoodByeReason["BANNED"] = 4] = "BANNED";
|
|
16
|
+
/** Wrong network / fork */
|
|
17
|
+
GoodByeReason[GoodByeReason["WRONG_NETWORK"] = 5] = "WRONG_NETWORK";
|
|
18
|
+
/** Unknown reason */
|
|
19
|
+
GoodByeReason[GoodByeReason["UNKNOWN"] = 6] = "UNKNOWN";
|
|
20
|
+
})(GoodByeReason || (GoodByeReason = {}));
|
|
14
21
|
export function encodeGoodbyeReason(reason) {
|
|
15
|
-
return Buffer.from([
|
|
16
|
-
reason
|
|
17
|
-
]);
|
|
22
|
+
return Buffer.from([reason]);
|
|
18
23
|
}
|
|
19
24
|
export function decodeGoodbyeReason(buffer) {
|
|
20
25
|
try {
|
|
@@ -22,47 +27,47 @@ export function decodeGoodbyeReason(buffer) {
|
|
|
22
27
|
throw new Error('Invalid goodbye reason buffer length');
|
|
23
28
|
}
|
|
24
29
|
return buffer[0];
|
|
25
|
-
}
|
|
26
|
-
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return GoodByeReason.UNKNOWN;
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
/**
|
|
30
36
|
* Pretty prints the goodbye reason.
|
|
31
37
|
* @param reason - The goodbye reason.
|
|
32
38
|
* @returns The pretty printed goodbye reason.
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
*/
|
|
40
|
+
export function prettyGoodbyeReason(reason) {
|
|
41
|
+
switch (reason) {
|
|
42
|
+
case GoodByeReason.SHUTDOWN:
|
|
36
43
|
return 'shutdown';
|
|
37
|
-
case
|
|
44
|
+
case GoodByeReason.DISCONNECTED:
|
|
38
45
|
return 'disconnected';
|
|
39
|
-
case
|
|
46
|
+
case GoodByeReason.LOW_SCORE:
|
|
40
47
|
return 'low_score';
|
|
41
|
-
case
|
|
48
|
+
case GoodByeReason.BANNED:
|
|
42
49
|
return 'banned';
|
|
43
50
|
// TODO(#11328): implement
|
|
44
|
-
case
|
|
51
|
+
case GoodByeReason.WRONG_NETWORK:
|
|
45
52
|
return 'wrong_network';
|
|
46
|
-
case
|
|
53
|
+
case GoodByeReason.UNKNOWN:
|
|
47
54
|
return 'unknown';
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
/**
|
|
51
58
|
* Handles a goodbye message request
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
constructor(reqresp){
|
|
59
|
+
*/
|
|
60
|
+
export class GoodbyeProtocolHandler {
|
|
61
|
+
constructor(reqresp) {
|
|
56
62
|
this.reqresp = reqresp;
|
|
57
63
|
this.logger = createLogger('p2p:goodbye-protocol');
|
|
58
64
|
}
|
|
59
65
|
async sendGoodbye(peerId, reason) {
|
|
60
66
|
try {
|
|
61
|
-
await this.reqresp.sendRequestToPeer(peerId, ReqRespSubProtocol.GOODBYE, Buffer.from([
|
|
62
|
-
reason
|
|
63
|
-
]));
|
|
67
|
+
await this.reqresp.sendRequestToPeer(peerId, ReqRespSubProtocol.GOODBYE, Buffer.from([reason]));
|
|
64
68
|
this.logger.debug(`Sent goodbye to peer ${peerId.toString()} with reason ${reason}`);
|
|
65
|
-
}
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
66
71
|
this.logger.debug(`Failed to send goodbye to peer ${peerId.toString()}: ${error}`);
|
|
67
72
|
}
|
|
68
73
|
}
|
|
@@ -75,13 +80,13 @@ export function decodeGoodbyeReason(buffer) {
|
|
|
75
80
|
*
|
|
76
81
|
* @param peerManager - The peer manager.
|
|
77
82
|
* @returns A resolved promise with the goodbye response.
|
|
78
|
-
*/
|
|
79
|
-
|
|
83
|
+
*/
|
|
84
|
+
export function reqGoodbyeHandler(peerManager) {
|
|
85
|
+
return (peerId, _msg) => {
|
|
80
86
|
const reason = decodeGoodbyeReason(_msg);
|
|
81
87
|
peerManager.goodbyeReceived(peerId, reason);
|
|
82
|
-
// Return a buffer of length 1 as an acknowledgement
|
|
83
|
-
return Promise.resolve(Buffer.from([
|
|
84
|
-
0x0
|
|
85
|
-
]));
|
|
88
|
+
// Return a buffer of length 1 as an acknowledgement: this is allowed to fail
|
|
89
|
+
return Promise.resolve(Buffer.from([0x0]));
|
|
86
90
|
};
|
|
87
91
|
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZGJ5ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9nb29kYnllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWtDLE1BQU0saUJBQWlCLENBQUM7QUFHckY7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxhQWFYO0FBYkQsV0FBWSxhQUFhO0lBQ3ZCLDBGQUEwRjtJQUMxRix5REFBYyxDQUFBO0lBQ2QscUVBQXFFO0lBQ3JFLGlFQUFrQixDQUFBO0lBQ2xCLGdGQUFnRjtJQUNoRiwyREFBZSxDQUFBO0lBQ2YsMkVBQTJFO0lBQzNFLHFEQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0IsbUVBQW1CLENBQUE7SUFDbkIscUJBQXFCO0lBQ3JCLHVEQUFhLENBQUE7QUFDZixDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBcUI7SUFDdkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQWM7SUFDaEQsSUFBSSxDQUFDO1FBQ0gsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFrQixDQUFDO0lBQ3BDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFxQjtJQUN2RCxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxhQUFhLENBQUMsUUFBUTtZQUN6QixPQUFPLFVBQVUsQ0FBQztRQUNwQixLQUFLLGFBQWEsQ0FBQyxZQUFZO1lBQzdCLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLEtBQUssYUFBYSxDQUFDLFNBQVM7WUFDMUIsT0FBTyxXQUFXLENBQUM7UUFDckIsS0FBSyxhQUFhLENBQUMsTUFBTTtZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQiwwQkFBMEI7UUFDMUIsS0FBSyxhQUFhLENBQUMsYUFBYTtZQUM5QixPQUFPLGVBQWUsQ0FBQztRQUN6QixLQUFLLGFBQWEsQ0FBQyxPQUFPO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFGNUIsV0FBTSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRWYsQ0FBQztJQUVqQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQWMsRUFBRSxNQUFxQjtRQUM1RCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixNQUFNLENBQUMsUUFBUSxFQUFFLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUF3QjtJQUN4RCxPQUFPLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLDZFQUE2RTtRQUM3RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Request Response protocol handlers
|
|
3
|
-
*/
|
|
3
|
+
*/
|
|
4
|
+
export * from './ping.js';
|
|
4
5
|
export * from './status.js';
|
|
5
6
|
export * from './tx.js';
|
|
6
7
|
export * from './goodbye.js';
|
|
7
8
|
export * from './block.js';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/**
|
|
4
|
+
* Handles the ping request.
|
|
5
|
+
* @param _msg - The ping request message.
|
|
6
|
+
* @returns A resolved promise with the pong response.
|
|
7
|
+
*/
|
|
8
|
+
export declare function pingHandler(_msg: any): Promise<Buffer>;
|
|
9
|
+
//# sourceMappingURL=ping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ping.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/ping.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Handles the ping request.
|
|
3
3
|
* @param _msg - The ping request message.
|
|
4
4
|
* @returns A resolved promise with the pong response.
|
|
5
|
-
*/
|
|
5
|
+
*/
|
|
6
|
+
export function pingHandler(_msg) {
|
|
6
7
|
return Promise.resolve(Buffer.from('pong'));
|
|
7
8
|
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9waW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVM7SUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/**
|
|
4
|
+
* Handles the status request.
|
|
5
|
+
* @param _msg - The status request message.
|
|
6
|
+
* @returns A resolved promise with the ok response.
|
|
7
|
+
*/
|
|
8
|
+
export declare function statusHandler(_msg: any): Promise<Buffer>;
|
|
9
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/status.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAExD"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Handles the status request.
|
|
3
3
|
* @param _msg - The status request message.
|
|
4
4
|
* @returns A resolved promise with the ok response.
|
|
5
|
-
*/
|
|
5
|
+
*/
|
|
6
|
+
export function statusHandler(_msg) {
|
|
6
7
|
return Promise.resolve(Buffer.from('ok'));
|
|
7
8
|
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvcHJvdG9jb2xzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ3JDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type P2PClientType } from '@aztec/circuit-types';
|
|
2
|
+
import { type MemPools } from '../../../mem_pools/interface.js';
|
|
3
|
+
import { type ReqRespSubProtocolHandler } from '../interface.js';
|
|
4
|
+
/**
|
|
5
|
+
* We want to keep the logic of the req resp handler in this file, but we do not have a reference to the mempools here
|
|
6
|
+
* so we need to pass it in as a parameter.
|
|
7
|
+
*
|
|
8
|
+
* Handler for tx requests
|
|
9
|
+
* @param mempools - the mempools
|
|
10
|
+
* @returns the tx response message
|
|
11
|
+
*/
|
|
12
|
+
export declare function reqRespTxHandler<T extends P2PClientType>(mempools: MemPools<T>): ReqRespSubProtocolHandler;
|
|
13
|
+
//# sourceMappingURL=tx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAY1G"}
|