@aztec/p2p 0.76.4 → 0.77.0-testnet-ignition.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bootstrap/bootstrap.d.ts +2 -2
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +55 -41
- package/dest/client/factory.d.ts +8 -6
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +8 -10
- package/dest/client/index.js +0 -1
- package/dest/client/p2p_client.d.ts +7 -4
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +492 -514
- package/dest/config.d.ts +8 -10
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +54 -47
- package/dest/enr/generate-enr.d.ts +9 -0
- package/dest/enr/generate-enr.d.ts.map +1 -0
- package/dest/enr/generate-enr.js +30 -0
- package/dest/enr/index.d.ts +2 -0
- package/dest/enr/index.d.ts.map +1 -0
- package/dest/enr/index.js +1 -0
- package/dest/errors/reqresp.error.js +6 -10
- package/dest/index.js +0 -1
- 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 +65 -33
- package/dest/mem_pools/attestation_pool/index.js +0 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +3 -3
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +23 -20
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +2 -2
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +22 -26
- package/dest/mem_pools/attestation_pool/mocks.d.ts +3 -2
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +12 -7
- package/dest/mem_pools/index.d.ts +2 -2
- package/dest/mem_pools/index.d.ts.map +1 -1
- package/dest/mem_pools/index.js +1 -2
- package/dest/mem_pools/instrumentation.d.ts +1 -1
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +35 -39
- package/dest/mem_pools/interface.d.ts +3 -3
- package/dest/mem_pools/interface.d.ts.map +1 -1
- package/dest/mem_pools/interface.js +3 -2
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +2 -2
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +129 -136
- package/dest/mem_pools/tx_pool/index.js +0 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +2 -2
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +46 -44
- package/dest/mem_pools/tx_pool/priority.d.ts +1 -1
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/priority.js +1 -3
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool.js +3 -2
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +109 -39
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +2 -2
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +4 -4
- package/dest/msg_validators/attestation_validator/index.js +0 -1
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +2 -2
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +3 -3
- package/dest/msg_validators/block_proposal_validator/index.js +0 -1
- package/dest/msg_validators/index.js +0 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +9 -11
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +2 -2
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.js +18 -13
- package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +102 -33
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.js +34 -20
- package/dest/msg_validators/tx_validator/index.js +0 -1
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +2 -2
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.js +30 -27
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +2 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +17 -12
- package/dest/services/data_store.js +57 -57
- package/dest/services/discv5/discV5_service.d.ts +2 -0
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +64 -36
- package/dest/services/dummy_service.d.ts +4 -2
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +41 -59
- package/dest/services/encoding.d.ts +3 -3
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +10 -9
- package/dest/services/gossipsub/scoring.d.ts +7 -0
- package/dest/services/gossipsub/scoring.d.ts.map +1 -0
- package/dest/services/gossipsub/scoring.js +10 -0
- package/dest/services/index.js +0 -1
- package/dest/services/libp2p/libp2p_service.d.ts +10 -33
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +682 -673
- package/dest/services/peer-manager/metrics.js +14 -7
- package/dest/services/peer-manager/peer_manager.d.ts +24 -6
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +390 -340
- package/dest/services/peer-manager/peer_scoring.d.ts +3 -3
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +21 -19
- package/dest/services/reqresp/config.js +4 -5
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +2 -2
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +35 -28
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +1 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +67 -61
- package/dest/services/reqresp/index.js +1 -3
- package/dest/services/reqresp/interface.d.ts +2 -2
- package/dest/services/reqresp/interface.d.ts.map +1 -1
- package/dest/services/reqresp/interface.js +27 -31
- package/dest/services/reqresp/metrics.d.ts +1 -1
- package/dest/services/reqresp/metrics.d.ts.map +1 -1
- package/dest/services/reqresp/metrics.js +23 -10
- package/dest/services/reqresp/protocols/block.d.ts +2 -2
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block.js +1 -2
- package/dest/services/reqresp/protocols/goodbye.d.ts +5 -5
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/goodbye.js +36 -41
- package/dest/services/reqresp/protocols/index.js +1 -3
- package/dest/services/reqresp/protocols/ping.js +1 -3
- package/dest/services/reqresp/protocols/status.js +1 -3
- package/dest/services/reqresp/protocols/tx.d.ts +3 -3
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/tx.js +6 -9
- package/dest/services/reqresp/rate-limiter/index.js +0 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +9 -9
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +53 -46
- package/dest/services/reqresp/rate-limiter/rate_limits.js +16 -17
- package/dest/services/reqresp/reqresp.d.ts +4 -4
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +467 -464
- package/dest/services/reqresp/status.js +16 -17
- package/dest/services/service.d.ts +3 -2
- package/dest/services/service.d.ts.map +1 -1
- package/dest/services/service.js +3 -4
- package/dest/test-helpers/generate-peer-id-private-keys.js +2 -4
- package/dest/test-helpers/get-ports.js +3 -3
- package/dest/test-helpers/index.js +0 -1
- package/dest/test-helpers/make-enrs.d.ts +1 -1
- package/dest/test-helpers/make-enrs.d.ts.map +1 -1
- package/dest/test-helpers/make-enrs.js +3 -6
- package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -6
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +10 -12
- package/dest/test-helpers/reqresp-nodes.d.ts +18 -7
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +64 -40
- package/dest/testbench/p2p_client_testbench_worker.js +61 -45
- package/dest/testbench/parse_log_file.d.ts +2 -0
- package/dest/testbench/parse_log_file.d.ts.map +1 -0
- package/dest/testbench/parse_log_file.js +131 -0
- package/dest/testbench/testbench.d.ts +2 -0
- package/dest/testbench/testbench.d.ts.map +1 -0
- package/dest/testbench/testbench.js +141 -0
- package/dest/{services/types.d.ts → types/index.d.ts} +1 -1
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +28 -0
- package/dest/util.d.ts +5 -5
- package/dest/util.d.ts.map +1 -1
- package/dest/util.js +23 -34
- package/dest/versioning.d.ts +3 -3
- package/dest/versioning.d.ts.map +1 -1
- package/dest/versioning.js +7 -12
- package/package.json +15 -13
- package/src/bootstrap/bootstrap.ts +30 -17
- package/src/client/factory.ts +9 -12
- package/src/client/p2p_client.ts +13 -24
- package/src/config.ts +14 -15
- package/src/enr/generate-enr.ts +39 -0
- package/src/enr/index.ts +1 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +1 -1
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +4 -3
- package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +3 -3
- package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +2 -2
- package/src/mem_pools/attestation_pool/mocks.ts +5 -5
- package/src/mem_pools/index.ts +2 -2
- package/src/mem_pools/instrumentation.ts +4 -3
- package/src/mem_pools/interface.ts +3 -3
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +4 -4
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +3 -3
- package/src/mem_pools/tx_pool/priority.ts +1 -1
- package/src/mem_pools/tx_pool/tx_pool.ts +1 -1
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +4 -3
- package/src/msg_validators/attestation_validator/attestation_validator.ts +2 -2
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +2 -2
- package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +1 -1
- package/src/msg_validators/tx_validator/block_header_validator.ts +2 -2
- package/src/msg_validators/tx_validator/data_validator.ts +57 -4
- package/src/msg_validators/tx_validator/double_spend_validator.ts +17 -12
- package/src/msg_validators/tx_validator/metadata_validator.ts +2 -2
- package/src/msg_validators/tx_validator/tx_proof_validator.ts +2 -6
- package/src/services/discv5/discV5_service.ts +33 -8
- package/src/services/dummy_service.ts +4 -2
- package/src/services/encoding.ts +3 -3
- package/src/services/gossipsub/scoring.ts +13 -0
- package/src/services/libp2p/libp2p_service.ts +124 -146
- package/src/services/peer-manager/peer_manager.ts +71 -13
- package/src/services/peer-manager/peer_scoring.ts +3 -3
- package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +2 -2
- package/src/services/reqresp/connection-sampler/connection_sampler.ts +9 -3
- package/src/services/reqresp/interface.ts +4 -3
- package/src/services/reqresp/metrics.ts +1 -1
- package/src/services/reqresp/protocols/block.ts +3 -3
- package/src/services/reqresp/protocols/goodbye.ts +7 -7
- package/src/services/reqresp/protocols/tx.ts +5 -5
- package/src/services/reqresp/rate-limiter/rate_limiter.ts +22 -18
- package/src/services/reqresp/reqresp.ts +18 -11
- package/src/services/service.ts +3 -2
- package/src/test-helpers/make-enrs.ts +1 -1
- package/src/test-helpers/make-test-p2p-clients.ts +9 -7
- package/src/test-helpers/reqresp-nodes.ts +32 -18
- package/src/testbench/p2p_client_testbench_worker.ts +16 -9
- package/src/testbench/parse_log_file.ts +175 -0
- package/src/testbench/testbench.ts +157 -0
- package/src/util.ts +5 -5
- package/src/versioning.ts +7 -7
- package/dest/services/libp2p/libp2p_logger.d.ts +0 -7
- package/dest/services/libp2p/libp2p_logger.d.ts.map +0 -1
- package/dest/services/libp2p/libp2p_logger.js +0 -67
- package/dest/services/types.d.ts.map +0 -1
- package/dest/services/types.js +0 -35
- package/src/services/libp2p/libp2p_logger.ts +0 -78
- package/src/testbench/scripts/run_testbench.sh +0 -7
- /package/src/{services/types.ts → types/index.ts} +0 -0
|
@@ -1,54 +1,52 @@
|
|
|
1
|
-
import { L2Block, Tx, TxHash } from '@aztec/circuit-types';
|
|
2
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { L2Block } from '@aztec/stdlib/block';
|
|
3
|
+
import { Tx, TxHash } from '@aztec/stdlib/tx';
|
|
3
4
|
/*
|
|
4
5
|
* Request Response Sub Protocols
|
|
5
|
-
*/
|
|
6
|
-
export const PING_PROTOCOL = '/aztec/req/ping/0.1.0';
|
|
6
|
+
*/ export const PING_PROTOCOL = '/aztec/req/ping/0.1.0';
|
|
7
7
|
export const STATUS_PROTOCOL = '/aztec/req/status/0.1.0';
|
|
8
8
|
export const GOODBYE_PROTOCOL = '/aztec/req/goodbye/0.1.0';
|
|
9
9
|
export const TX_REQ_PROTOCOL = '/aztec/req/tx/0.1.0';
|
|
10
10
|
export const BLOCK_REQ_PROTOCOL = '/aztec/req/block/0.1.0';
|
|
11
|
-
export var ReqRespSubProtocol
|
|
12
|
-
|
|
13
|
-
ReqRespSubProtocol["
|
|
14
|
-
ReqRespSubProtocol["
|
|
15
|
-
ReqRespSubProtocol["
|
|
16
|
-
ReqRespSubProtocol["
|
|
17
|
-
ReqRespSubProtocol
|
|
18
|
-
}
|
|
19
|
-
export const noopValidator = ()
|
|
11
|
+
export var ReqRespSubProtocol = /*#__PURE__*/ function(ReqRespSubProtocol) {
|
|
12
|
+
ReqRespSubProtocol[ReqRespSubProtocol["PING"] = PING_PROTOCOL] = "PING";
|
|
13
|
+
ReqRespSubProtocol[ReqRespSubProtocol["STATUS"] = STATUS_PROTOCOL] = "STATUS";
|
|
14
|
+
ReqRespSubProtocol[ReqRespSubProtocol["GOODBYE"] = GOODBYE_PROTOCOL] = "GOODBYE";
|
|
15
|
+
ReqRespSubProtocol[ReqRespSubProtocol["TX"] = TX_REQ_PROTOCOL] = "TX";
|
|
16
|
+
ReqRespSubProtocol[ReqRespSubProtocol["BLOCK"] = BLOCK_REQ_PROTOCOL] = "BLOCK";
|
|
17
|
+
return ReqRespSubProtocol;
|
|
18
|
+
}({});
|
|
19
|
+
export const noopValidator = ()=>Promise.resolve(true);
|
|
20
20
|
export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
|
|
21
21
|
[ReqRespSubProtocol.PING]: noopValidator,
|
|
22
22
|
[ReqRespSubProtocol.STATUS]: noopValidator,
|
|
23
23
|
[ReqRespSubProtocol.TX]: noopValidator,
|
|
24
24
|
[ReqRespSubProtocol.GOODBYE]: noopValidator,
|
|
25
|
-
[ReqRespSubProtocol.BLOCK]: noopValidator
|
|
25
|
+
[ReqRespSubProtocol.BLOCK]: noopValidator
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* Default handler for unimplemented sub protocols, this SHOULD be overwritten
|
|
29
29
|
* by the service, but is provided as a fallback
|
|
30
|
-
*/
|
|
31
|
-
const defaultHandler = (_msg) => {
|
|
30
|
+
*/ const defaultHandler = (_msg)=>{
|
|
32
31
|
return Promise.resolve(Buffer.from('unimplemented'));
|
|
33
32
|
};
|
|
34
33
|
/**
|
|
35
34
|
* Default sub protocol handlers - this SHOULD be overwritten by the service,
|
|
36
|
-
*/
|
|
37
|
-
export const DEFAULT_SUB_PROTOCOL_HANDLERS = {
|
|
35
|
+
*/ export const DEFAULT_SUB_PROTOCOL_HANDLERS = {
|
|
38
36
|
[ReqRespSubProtocol.PING]: defaultHandler,
|
|
39
37
|
[ReqRespSubProtocol.STATUS]: defaultHandler,
|
|
40
38
|
[ReqRespSubProtocol.TX]: defaultHandler,
|
|
41
39
|
[ReqRespSubProtocol.GOODBYE]: defaultHandler,
|
|
42
|
-
[ReqRespSubProtocol.BLOCK]: defaultHandler
|
|
40
|
+
[ReqRespSubProtocol.BLOCK]: defaultHandler
|
|
43
41
|
};
|
|
44
42
|
/**
|
|
45
43
|
* RequestableBuffer is a wrapper around a buffer that allows it to be
|
|
46
44
|
* used in generic request response protocols
|
|
47
45
|
*
|
|
48
46
|
* An instance of the RequestResponsePair defined above
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
constructor(buffer)
|
|
47
|
+
*/ export class RequestableBuffer {
|
|
48
|
+
buffer;
|
|
49
|
+
constructor(buffer){
|
|
52
50
|
this.buffer = buffer;
|
|
53
51
|
}
|
|
54
52
|
toBuffer() {
|
|
@@ -62,27 +60,25 @@ export class RequestableBuffer {
|
|
|
62
60
|
* A mapping from each protocol to their request and response types
|
|
63
61
|
* This defines the request and response types for each sub protocol, used primarily
|
|
64
62
|
* as a type rather than an object
|
|
65
|
-
*/
|
|
66
|
-
export const subProtocolMap = {
|
|
63
|
+
*/ export const subProtocolMap = {
|
|
67
64
|
[ReqRespSubProtocol.PING]: {
|
|
68
65
|
request: RequestableBuffer,
|
|
69
|
-
response: RequestableBuffer
|
|
66
|
+
response: RequestableBuffer
|
|
70
67
|
},
|
|
71
68
|
[ReqRespSubProtocol.STATUS]: {
|
|
72
69
|
request: RequestableBuffer,
|
|
73
|
-
response: RequestableBuffer
|
|
70
|
+
response: RequestableBuffer
|
|
74
71
|
},
|
|
75
72
|
[ReqRespSubProtocol.TX]: {
|
|
76
73
|
request: TxHash,
|
|
77
|
-
response: Tx
|
|
74
|
+
response: Tx
|
|
78
75
|
},
|
|
79
76
|
[ReqRespSubProtocol.GOODBYE]: {
|
|
80
77
|
request: RequestableBuffer,
|
|
81
|
-
response: RequestableBuffer
|
|
78
|
+
response: RequestableBuffer
|
|
82
79
|
},
|
|
83
80
|
[ReqRespSubProtocol.BLOCK]: {
|
|
84
|
-
request: Fr,
|
|
85
|
-
response: L2Block
|
|
86
|
-
}
|
|
81
|
+
request: Fr,
|
|
82
|
+
response: L2Block
|
|
83
|
+
}
|
|
87
84
|
};
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU05Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDM0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBRTNELE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsb0RBQW9CLENBQUE7SUFDcEIsd0RBQXdCLENBQUE7SUFDeEIsMERBQTBCLENBQUE7SUFDMUIsZ0RBQW9CLENBQUE7SUFDcEIsc0RBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0I7QUErQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFpQnpELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFpQztJQUMzRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWE7SUFDeEMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxhQUFhO0lBQzFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUUsYUFBYTtJQUN0QyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWE7SUFDM0MsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhO0NBQzFDLENBQUM7QUFVRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVMsRUFBbUIsRUFBRTtJQUNwRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQStCO0lBQ3ZFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYztJQUN6QyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLGNBQWM7SUFDM0MsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjO0lBQ3ZDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYztJQUM1QyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLGNBQWM7Q0FDM0MsQ0FBQztBQW9CRjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXJDLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBbUI7SUFDNUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN6QixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxpQkFBaUI7S0FDNUI7SUFDRCxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzNCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLGlCQUFpQjtLQUM1QjtJQUNELENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDdkIsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0QsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM1QixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxpQkFBaUI7S0FDNUI7SUFDRCxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsZUFBZTtRQUM1QixRQUFRLEVBQUUsT0FBTztLQUNsQjtDQUNGLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAC;AAEtF,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,42 +1,55 @@
|
|
|
1
1
|
// Request response metrics
|
|
2
2
|
import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
3
3
|
export class ReqRespMetrics {
|
|
4
|
-
|
|
4
|
+
telemetryClient;
|
|
5
|
+
tracer;
|
|
6
|
+
sentRequests;
|
|
7
|
+
receivedRequests;
|
|
8
|
+
failedOutboundRequests;
|
|
9
|
+
failedInboundRequests;
|
|
10
|
+
constructor(telemetryClient, name = 'ReqResp'){
|
|
5
11
|
this.telemetryClient = telemetryClient;
|
|
6
12
|
this.tracer = telemetryClient.getTracer(name);
|
|
7
13
|
const meter = telemetryClient.getMeter(name);
|
|
8
14
|
this.sentRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_SENT_REQUESTS, {
|
|
9
15
|
description: 'Number of requests sent to peers',
|
|
10
16
|
unit: 'requests',
|
|
11
|
-
valueType: ValueType.INT
|
|
17
|
+
valueType: ValueType.INT
|
|
12
18
|
});
|
|
13
19
|
this.receivedRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_RECEIVED_REQUESTS, {
|
|
14
20
|
description: 'Number of requests received from peers',
|
|
15
21
|
unit: 'requests',
|
|
16
|
-
valueType: ValueType.INT
|
|
22
|
+
valueType: ValueType.INT
|
|
17
23
|
});
|
|
18
24
|
this.failedOutboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS, {
|
|
19
25
|
description: 'Number of failed outbound requests - nodes not getting valid responses',
|
|
20
26
|
unit: 'requests',
|
|
21
|
-
valueType: ValueType.INT
|
|
27
|
+
valueType: ValueType.INT
|
|
22
28
|
});
|
|
23
29
|
this.failedInboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, {
|
|
24
30
|
description: 'Number of failed inbound requests - node failing to respond to requests',
|
|
25
31
|
unit: 'requests',
|
|
26
|
-
valueType: ValueType.INT
|
|
32
|
+
valueType: ValueType.INT
|
|
27
33
|
});
|
|
28
34
|
}
|
|
29
35
|
recordRequestSent(protocol) {
|
|
30
|
-
this.sentRequests.add(1, {
|
|
36
|
+
this.sentRequests.add(1, {
|
|
37
|
+
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
38
|
+
});
|
|
31
39
|
}
|
|
32
40
|
recordRequestReceived(protocol) {
|
|
33
|
-
this.receivedRequests.add(1, {
|
|
41
|
+
this.receivedRequests.add(1, {
|
|
42
|
+
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
43
|
+
});
|
|
34
44
|
}
|
|
35
45
|
recordRequestError(protocol) {
|
|
36
|
-
this.failedOutboundRequests.add(1, {
|
|
46
|
+
this.failedOutboundRequests.add(1, {
|
|
47
|
+
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
48
|
+
});
|
|
37
49
|
}
|
|
38
50
|
recordResponseError(protocol) {
|
|
39
|
-
this.failedInboundRequests.add(1, {
|
|
51
|
+
this.failedInboundRequests.add(1, {
|
|
52
|
+
[Attributes.P2P_REQ_RESP_PROTOCOL]: protocol
|
|
53
|
+
});
|
|
40
54
|
}
|
|
41
55
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQTJCO0FBQzNCLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pFLE1BQU0sT0FBTyxjQUFjO0lBU3pCLFlBQXFCLGVBQWdDLEVBQUUsSUFBSSxHQUFHLFNBQVM7UUFBbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtZQUNoRixXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRTtZQUN4RixXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRTtZQUNyRyxXQUFXLEVBQUUsd0VBQXdFO1lBQ3JGLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsRUFBRTtZQUNuRyxXQUFXLEVBQUUseUVBQXlFO1lBQ3RGLElBQUksRUFBRSxVQUFVO1lBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBZ0I7UUFDeEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQWdCO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDRiJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
2
|
+
import type { ReqRespSubProtocolHandler } from '../interface.js';
|
|
3
3
|
export declare function reqRespBlockHandler(l2BlockSource: L2BlockSource): ReqRespSubProtocolHandler;
|
|
4
4
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/block.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,yBAAyB,CAO3F"}
|
|
@@ -1,9 +1,8 @@
|
|
|
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=
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { PeerId } from '@libp2p/interface';
|
|
4
|
+
import type { PeerManager } from '../../peer-manager/peer_manager.js';
|
|
5
5
|
import { type ReqRespSubProtocolHandler } from '../interface.js';
|
|
6
|
-
import {
|
|
6
|
+
import type { ReqResp } from '../reqresp.js';
|
|
7
7
|
/**
|
|
8
8
|
* Enum defining the possible reasons for a goodbye message.
|
|
9
9
|
*/
|
|
10
10
|
export declare enum GoodByeReason {
|
|
11
11
|
/** The peer has shutdown, will be received whenever a peer's node is routinely stopped */
|
|
12
12
|
SHUTDOWN = 1,
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/** The max peer count has been reached, will be received whenever a low scoring peer is disconnected to satisfy the max peer count */
|
|
14
|
+
MAX_PEERS = 2,
|
|
15
15
|
/** The peer has a low score, will be received whenever a peer's score is low */
|
|
16
16
|
LOW_SCORE = 3,
|
|
17
17
|
/** The peer has been banned, will be received whenever a peer is banned */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goodbye.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/goodbye.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"goodbye.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/goodbye.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,oBAAY,aAAa;IACvB,0FAA0F;IAC1F,QAAQ,IAAM;IACd,sIAAsI;IACtI,SAAS,IAAM;IACf,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,24 +2,19 @@ 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
|
-
GoodByeReason[GoodByeReason["
|
|
10
|
-
/**
|
|
11
|
-
GoodByeReason[GoodByeReason["
|
|
12
|
-
|
|
13
|
-
|
|
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 = {}));
|
|
5
|
+
*/ export var GoodByeReason = /*#__PURE__*/ function(GoodByeReason) {
|
|
6
|
+
/** The peer has shutdown, will be received whenever a peer's node is routinely stopped */ GoodByeReason[GoodByeReason["SHUTDOWN"] = 1] = "SHUTDOWN";
|
|
7
|
+
/** The max peer count has been reached, will be received whenever a low scoring peer is disconnected to satisfy the max peer count */ GoodByeReason[GoodByeReason["MAX_PEERS"] = 2] = "MAX_PEERS";
|
|
8
|
+
/** The peer has a low score, will be received whenever a peer's score is low */ GoodByeReason[GoodByeReason["LOW_SCORE"] = 3] = "LOW_SCORE";
|
|
9
|
+
/** The peer has been banned, will be received whenever a peer is banned */ GoodByeReason[GoodByeReason["BANNED"] = 4] = "BANNED";
|
|
10
|
+
/** Wrong network / fork */ GoodByeReason[GoodByeReason["WRONG_NETWORK"] = 5] = "WRONG_NETWORK";
|
|
11
|
+
/** Unknown reason */ GoodByeReason[GoodByeReason["UNKNOWN"] = 6] = "UNKNOWN";
|
|
12
|
+
return GoodByeReason;
|
|
13
|
+
}({});
|
|
21
14
|
export function encodeGoodbyeReason(reason) {
|
|
22
|
-
return Buffer.from([
|
|
15
|
+
return Buffer.from([
|
|
16
|
+
reason
|
|
17
|
+
]);
|
|
23
18
|
}
|
|
24
19
|
export function decodeGoodbyeReason(buffer) {
|
|
25
20
|
try {
|
|
@@ -27,47 +22,47 @@ export function decodeGoodbyeReason(buffer) {
|
|
|
27
22
|
throw new Error('Invalid goodbye reason buffer length');
|
|
28
23
|
}
|
|
29
24
|
return buffer[0];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return GoodByeReason.UNKNOWN;
|
|
25
|
+
} catch (error) {
|
|
26
|
+
return 6;
|
|
33
27
|
}
|
|
34
28
|
}
|
|
35
29
|
/**
|
|
36
30
|
* Pretty prints the goodbye reason.
|
|
37
31
|
* @param reason - The goodbye reason.
|
|
38
32
|
* @returns The pretty printed goodbye reason.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
case GoodByeReason.SHUTDOWN:
|
|
33
|
+
*/ export function prettyGoodbyeReason(reason) {
|
|
34
|
+
switch(reason){
|
|
35
|
+
case 1:
|
|
43
36
|
return 'shutdown';
|
|
44
|
-
case
|
|
45
|
-
return '
|
|
46
|
-
case
|
|
37
|
+
case 2:
|
|
38
|
+
return 'max_peers';
|
|
39
|
+
case 3:
|
|
47
40
|
return 'low_score';
|
|
48
|
-
case
|
|
41
|
+
case 4:
|
|
49
42
|
return 'banned';
|
|
50
43
|
// TODO(#11328): implement
|
|
51
|
-
case
|
|
44
|
+
case 5:
|
|
52
45
|
return 'wrong_network';
|
|
53
|
-
case
|
|
46
|
+
case 6:
|
|
54
47
|
return 'unknown';
|
|
55
48
|
}
|
|
56
49
|
}
|
|
57
50
|
/**
|
|
58
51
|
* Handles a goodbye message request
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
*/ export class GoodbyeProtocolHandler {
|
|
53
|
+
reqresp;
|
|
54
|
+
logger;
|
|
55
|
+
constructor(reqresp){
|
|
62
56
|
this.reqresp = reqresp;
|
|
63
57
|
this.logger = createLogger('p2p:goodbye-protocol');
|
|
64
58
|
}
|
|
65
59
|
async sendGoodbye(peerId, reason) {
|
|
66
60
|
try {
|
|
67
|
-
await this.reqresp.sendRequestToPeer(peerId, ReqRespSubProtocol.GOODBYE, Buffer.from([
|
|
61
|
+
await this.reqresp.sendRequestToPeer(peerId, ReqRespSubProtocol.GOODBYE, Buffer.from([
|
|
62
|
+
reason
|
|
63
|
+
]));
|
|
68
64
|
this.logger.debug(`Sent goodbye to peer ${peerId.toString()} with reason ${reason}`);
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
65
|
+
} catch (error) {
|
|
71
66
|
this.logger.debug(`Failed to send goodbye to peer ${peerId.toString()}: ${error}`);
|
|
72
67
|
}
|
|
73
68
|
}
|
|
@@ -80,13 +75,13 @@ export class GoodbyeProtocolHandler {
|
|
|
80
75
|
*
|
|
81
76
|
* @param peerManager - The peer manager.
|
|
82
77
|
* @returns A resolved promise with the goodbye response.
|
|
83
|
-
*/
|
|
84
|
-
|
|
85
|
-
return (peerId, _msg) => {
|
|
78
|
+
*/ export function reqGoodbyeHandler(peerManager) {
|
|
79
|
+
return (peerId, _msg)=>{
|
|
86
80
|
const reason = decodeGoodbyeReason(_msg);
|
|
87
81
|
peerManager.goodbyeReceived(peerId, reason);
|
|
88
82
|
// Return a buffer of length 1 as an acknowledgement: this is allowed to fail
|
|
89
|
-
return Promise.resolve(Buffer.from([
|
|
83
|
+
return Promise.resolve(Buffer.from([
|
|
84
|
+
0x0
|
|
85
|
+
]));
|
|
90
86
|
};
|
|
91
87
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZGJ5ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9nb29kYnllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWtDLE1BQU0saUJBQWlCLENBQUM7QUFHckY7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxhQWFYO0FBYkQsV0FBWSxhQUFhO0lBQ3ZCLDBGQUEwRjtJQUMxRix5REFBYyxDQUFBO0lBQ2QscUVBQXFFO0lBQ3JFLGlFQUFrQixDQUFBO0lBQ2xCLGdGQUFnRjtJQUNoRiwyREFBZSxDQUFBO0lBQ2YsMkVBQTJFO0lBQzNFLHFEQUFZLENBQUE7SUFDWiwyQkFBMkI7SUFDM0IsbUVBQW1CLENBQUE7SUFDbkIscUJBQXFCO0lBQ3JCLHVEQUFhLENBQUE7QUFDZixDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBcUI7SUFDdkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQWM7SUFDaEQsSUFBSSxDQUFDO1FBQ0gsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFrQixDQUFDO0lBQ3BDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFxQjtJQUN2RCxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxhQUFhLENBQUMsUUFBUTtZQUN6QixPQUFPLFVBQVUsQ0FBQztRQUNwQixLQUFLLGFBQWEsQ0FBQyxZQUFZO1lBQzdCLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLEtBQUssYUFBYSxDQUFDLFNBQVM7WUFDMUIsT0FBTyxXQUFXLENBQUM7UUFDckIsS0FBSyxhQUFhLENBQUMsTUFBTTtZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQiwwQkFBMEI7UUFDMUIsS0FBSyxhQUFhLENBQUMsYUFBYTtZQUM5QixPQUFPLGVBQWUsQ0FBQztRQUN6QixLQUFLLGFBQWEsQ0FBQyxPQUFPO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFGNUIsV0FBTSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRWYsQ0FBQztJQUVqQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQWMsRUFBRSxNQUFxQjtRQUM1RCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixNQUFNLENBQUMsUUFBUSxFQUFFLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUF3QjtJQUN4RCxPQUFPLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLDZFQUE2RTtRQUM3RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Request Response protocol handlers
|
|
3
|
-
*/
|
|
4
|
-
export * from './ping.js';
|
|
3
|
+
*/ export * from './ping.js';
|
|
5
4
|
export * from './status.js';
|
|
6
5
|
export * from './tx.js';
|
|
7
6
|
export * from './goodbye.js';
|
|
8
7
|
export * from './block.js';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQyJ9
|
|
@@ -2,8 +2,6 @@
|
|
|
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
|
-
*/
|
|
6
|
-
export function pingHandler(_msg) {
|
|
5
|
+
*/ export function pingHandler(_msg) {
|
|
7
6
|
return Promise.resolve(Buffer.from('pong'));
|
|
8
7
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9waW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVM7SUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDIn0=
|
|
@@ -2,8 +2,6 @@
|
|
|
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
|
-
*/
|
|
6
|
-
export function statusHandler(_msg) {
|
|
5
|
+
*/ export function statusHandler(_msg) {
|
|
7
6
|
return Promise.resolve(Buffer.from('ok'));
|
|
8
7
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvcHJvdG9jb2xzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ3JDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { P2PClientType } from '@aztec/stdlib/p2p';
|
|
2
|
+
import type { MemPools } from '../../../mem_pools/interface.js';
|
|
3
|
+
import type { ReqRespSubProtocolHandler } from '../interface.js';
|
|
4
4
|
/**
|
|
5
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
6
|
* so we need to pass it in as a parameter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAY1G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TxHash } from '@aztec/
|
|
1
|
+
import { TxHash } from '@aztec/stdlib/tx';
|
|
2
2
|
/**
|
|
3
3
|
* 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
|
|
4
4
|
* so we need to pass it in as a parameter.
|
|
@@ -6,18 +6,15 @@ import { TxHash } from '@aztec/circuit-types/tx_hash';
|
|
|
6
6
|
* Handler for tx requests
|
|
7
7
|
* @param mempools - the mempools
|
|
8
8
|
* @returns the tx response message
|
|
9
|
-
*/
|
|
10
|
-
export function reqRespTxHandler(mempools) {
|
|
9
|
+
*/ export function reqRespTxHandler(mempools) {
|
|
11
10
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return async (_peerId, msg) => {
|
|
11
|
+
* Handler for tx requests
|
|
12
|
+
* @param msg - the tx request message
|
|
13
|
+
* @returns the tx response message
|
|
14
|
+
*/ return async (_peerId, msg)=>{
|
|
17
15
|
const txHash = TxHash.fromBuffer(msg);
|
|
18
16
|
const foundTx = await mempools.txPool.getTxByHash(txHash);
|
|
19
17
|
const buf = foundTx ? foundTx.toBuffer() : Buffer.alloc(0);
|
|
20
18
|
return buf;
|
|
21
19
|
};
|
|
22
20
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBT3REOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQTBCLFFBQXFCO0lBQzdFOzs7O09BSUc7SUFDSCxPQUFPLEtBQUssRUFBRSxPQUFlLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { RequestResponseRateLimiter } from './rate_limiter.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9yYXRlLWxpbWl0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { PeerId } from '@libp2p/interface';
|
|
2
|
+
import type { PeerScoring } from '../../peer-manager/peer_scoring.js';
|
|
3
|
+
import type { ReqRespSubProtocol, ReqRespSubProtocolRateLimits } from '../interface.js';
|
|
4
4
|
/**
|
|
5
5
|
* GCRARateLimiter: A Generic Cell Rate Algorithm (GCRA) based rate limiter.
|
|
6
6
|
*
|
|
@@ -32,11 +32,12 @@ export declare class GCRARateLimiter {
|
|
|
32
32
|
constructor(quotaCount: number, quotaTimeMs: number);
|
|
33
33
|
allow(): boolean;
|
|
34
34
|
}
|
|
35
|
-
declare enum RateLimitStatus {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
export declare enum RateLimitStatus {
|
|
36
|
+
DeniedGlobal = 0,
|
|
37
|
+
DeniedPeer = 1,
|
|
38
|
+
Allowed = 2
|
|
39
39
|
}
|
|
40
|
+
export declare function prettyPrintRateLimitStatus(status: RateLimitStatus): "DeniedGlobal" | "DeniedPeer" | "Allowed";
|
|
40
41
|
/**
|
|
41
42
|
* SubProtocolRateLimiter: A rate limiter for managing request rates on a per-peer and global basis for a specific subprotocol.
|
|
42
43
|
*
|
|
@@ -91,12 +92,11 @@ export declare class RequestResponseRateLimiter {
|
|
|
91
92
|
private cleanupInterval;
|
|
92
93
|
constructor(peerScoring: PeerScoring, rateLimits?: ReqRespSubProtocolRateLimits);
|
|
93
94
|
start(): void;
|
|
94
|
-
allow(subProtocol: ReqRespSubProtocol, peerId: PeerId):
|
|
95
|
+
allow(subProtocol: ReqRespSubProtocol, peerId: PeerId): RateLimitStatus;
|
|
95
96
|
cleanupInactivePeers(): void;
|
|
96
97
|
/**
|
|
97
98
|
* Make sure to call destroy on each of the sub protocol rate limiters when cleaning up
|
|
98
99
|
*/
|
|
99
100
|
stop(): void;
|
|
100
101
|
}
|
|
101
|
-
export {};
|
|
102
102
|
//# sourceMappingURL=rate_limiter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate_limiter.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/rate-limiter/rate_limiter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rate_limiter.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/rate-limiter/rate_limiter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAMxF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAe;IAE1B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;;OAGG;gBACS,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAMnD,KAAK,IAAI,OAAO;CAWjB;AASD,oBAAY,eAAe;IACzB,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,OAAO,IAAA;CACR;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,6CASjE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAOhH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAwBtC,oBAAoB;CAQrB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,0BAA0B;IAKzB,OAAO,CAAC,WAAW;IAJ/B,OAAO,CAAC,uBAAuB,CAAkD;IAEjF,OAAO,CAAC,eAAe,CAAyC;gBAE5C,WAAW,EAAE,WAAW,EAAE,UAAU,GAAE,4BAAkD;IAgB5G,KAAK;IAML,KAAK,CAAC,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAavE,oBAAoB;IAIpB;;OAEG;IACH,IAAI;CAGL"}
|