@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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 +29 -41
- package/dest/client/factory.d.ts +19 -0
- package/dest/client/factory.d.ts.map +1 -0
- package/dest/client/factory.js +10 -8
- 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 +171 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +39 -44
- 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/mocks/index.d.ts +54 -0
- package/dest/mocks/index.d.ts.map +1 -0
- package/dest/mocks/index.js +38 -47
- 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 +36 -0
- package/dest/services/discv5/discV5_service.d.ts.map +1 -0
- package/dest/services/discv5/discV5_service.js +23 -31
- package/dest/services/dummy_service.d.ts +82 -0
- package/dest/services/dummy_service.d.ts.map +1 -0
- package/dest/services/dummy_service.js +58 -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_service.d.ts +225 -0
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_service.js +695 -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 +107 -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 +40 -35
- 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 +36 -42
- 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 +161 -0
- package/dest/services/reqresp/reqresp.d.ts.map +1 -0
- package/dest/services/reqresp/reqresp.js +395 -461
- package/dest/services/service.d.ts +85 -0
- package/dest/services/service.d.ts.map +1 -0
- package/dest/services/service.js +4 -3
- package/dest/services/types.d.ts +38 -0
- package/dest/services/types.d.ts.map +1 -0
- package/dest/services/types.js +23 -16
- package/dest/util.d.ts +53 -0
- package/dest/util.d.ts.map +1 -0
- package/dest/util.js +34 -23
- package/package.json +8 -8
- package/src/mem_pools/index.ts +3 -3
- package/src/mem_pools/instrumentation.ts +2 -3
- package/src/services/reqresp/interface.ts +0 -11
- package/src/services/reqresp/rate-limiter/rate_limiter.ts +1 -3
- package/src/services/reqresp/rate-limiter/rate_limits.ts +2 -2
- package/src/services/reqresp/reqresp.ts +24 -111
- package/dest/services/reqresp/status.js +0 -51
- package/src/services/reqresp/status.ts +0 -59
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import type { BlockAttestation, BlockProposal, Gossipable, PeerInfo } from '@aztec/circuit-types';
|
|
3
|
+
import type { ENR } from '@chainsafe/enr';
|
|
4
|
+
import type { PeerId } from '@libp2p/interface';
|
|
5
|
+
import type EventEmitter from 'events';
|
|
6
|
+
import { type ReqRespSubProtocol, type SubProtocolMap } from './reqresp/interface.js';
|
|
7
|
+
export declare enum PeerDiscoveryState {
|
|
8
|
+
RUNNING = "running",
|
|
9
|
+
STOPPED = "stopped"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The interface for a P2P service implementation.
|
|
13
|
+
*/
|
|
14
|
+
export interface P2PService {
|
|
15
|
+
/**
|
|
16
|
+
* Starts the service.
|
|
17
|
+
* @returns An empty promise.
|
|
18
|
+
*/
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Stops the service.
|
|
22
|
+
* @returns An empty promise.
|
|
23
|
+
*/
|
|
24
|
+
stop(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Called to have the given transaction propagated through the P2P network.
|
|
27
|
+
* @param message - The message to be propagated.
|
|
28
|
+
*/
|
|
29
|
+
propagate<T extends Gossipable>(message: T): void;
|
|
30
|
+
/**
|
|
31
|
+
* Request information from peers via the request response protocol.
|
|
32
|
+
*
|
|
33
|
+
* @param protocol - The request response protocol to use
|
|
34
|
+
* @param request - The request type, corresponding to the protocol
|
|
35
|
+
* @returns The response type, corresponding to the protocol
|
|
36
|
+
*/
|
|
37
|
+
sendRequest<Protocol extends ReqRespSubProtocol>(protocol: Protocol, request: InstanceType<SubProtocolMap[Protocol]['request']>): Promise<InstanceType<SubProtocolMap[Protocol]['response']> | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Send a batch of requests to peers, and return the responses
|
|
40
|
+
*
|
|
41
|
+
* @param protocol - The request response protocol to use
|
|
42
|
+
* @param requests - The requests to send to the peers
|
|
43
|
+
* @returns The responses to the requests
|
|
44
|
+
*/
|
|
45
|
+
sendBatchRequest<Protocol extends ReqRespSubProtocol>(protocol: Protocol, requests: InstanceType<SubProtocolMap[Protocol]['request']>[]): Promise<InstanceType<SubProtocolMap[Protocol]['response']>[] | undefined>;
|
|
46
|
+
registerBlockReceivedCallback(callback: (block: BlockProposal) => Promise<BlockAttestation | undefined>): void;
|
|
47
|
+
getEnr(): ENR | undefined;
|
|
48
|
+
getPeers(includePending?: boolean): PeerInfo[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The interface for a peer discovery service implementation.
|
|
52
|
+
*/
|
|
53
|
+
export interface PeerDiscoveryService extends EventEmitter {
|
|
54
|
+
/**
|
|
55
|
+
* Starts the service.
|
|
56
|
+
* */
|
|
57
|
+
start(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Stops the service.
|
|
60
|
+
* */
|
|
61
|
+
stop(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Gets all peers.
|
|
64
|
+
* @returns An array of peer ENRs.
|
|
65
|
+
*/
|
|
66
|
+
getAllPeers(): ENR[];
|
|
67
|
+
/**
|
|
68
|
+
* Runs findRandomNode query.
|
|
69
|
+
*/
|
|
70
|
+
runRandomNodesQuery(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Checks if the given peer is a bootstrap peer.
|
|
73
|
+
* @param peerId - The peer ID to check.
|
|
74
|
+
* @returns True if the peer is a bootstrap peer.
|
|
75
|
+
*/
|
|
76
|
+
isBootstrapPeer(peerId: PeerId): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Event emitted when a new peer is discovered.
|
|
79
|
+
*/
|
|
80
|
+
on(event: 'peer:discovered', listener: (enr: ENR) => void): this;
|
|
81
|
+
emit(event: 'peer:discovered', enr: ENR): boolean;
|
|
82
|
+
getStatus(): PeerDiscoveryState;
|
|
83
|
+
getEnr(): ENR | undefined;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/services/service.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEtF,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,SAAS,kBAAkB,EAC7C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACzD,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3E;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,SAAS,kBAAkB,EAClD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAC5D,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAG7E,6BAA6B,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IAE/G,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC;IAE1B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD;;SAEK;IACL,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;SAEK;IACL,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;OAGG;IACH,WAAW,IAAI,GAAG,EAAE,CAAC;IAErB;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAElD,SAAS,IAAI,kBAAkB,CAAC;IAEhC,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC;CAC3B"}
|
package/dest/services/service.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export var PeerDiscoveryState
|
|
1
|
+
export var PeerDiscoveryState;
|
|
2
|
+
(function (PeerDiscoveryState) {
|
|
2
3
|
PeerDiscoveryState["RUNNING"] = "running";
|
|
3
4
|
PeerDiscoveryState["STOPPED"] = "stopped";
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
})(PeerDiscoveryState || (PeerDiscoveryState = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0IifQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/***************************************************
|
|
2
|
+
* Events
|
|
3
|
+
***************************************************/
|
|
4
|
+
/**
|
|
5
|
+
* Events emitted from the libp2p node.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum PeerEvent {
|
|
8
|
+
DISCOVERED = "peer:discovered",
|
|
9
|
+
CONNECTED = "peer:connect",
|
|
10
|
+
DISCONNECTED = "peer:disconnect"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Events emitted from the Discv5 service.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum Discv5Event {
|
|
16
|
+
DISCOVERED = "discovered",
|
|
17
|
+
ENR_ADDED = "enrAdded"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Events emitted from the GossipSub protocol.
|
|
21
|
+
*/
|
|
22
|
+
export declare enum GossipSubEvent {
|
|
23
|
+
MESSAGE = "gossipsub:message"
|
|
24
|
+
}
|
|
25
|
+
/***************************************************
|
|
26
|
+
* Types
|
|
27
|
+
***************************************************/
|
|
28
|
+
/**
|
|
29
|
+
* Aztec network specific types
|
|
30
|
+
*/
|
|
31
|
+
export declare const AZTEC_ENR_KEY = "aztec_network";
|
|
32
|
+
export declare enum AztecENR {
|
|
33
|
+
devnet = 1,
|
|
34
|
+
testnet = 2,
|
|
35
|
+
mainnet = 3
|
|
36
|
+
}
|
|
37
|
+
export declare const AZTEC_NET = AztecENR.devnet;
|
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"AAAA;;qDAEqD;AAErD;;GAEG;AACH,oBAAY,SAAS;IACnB,UAAU,oBAAoB;IAC9B,SAAS,iBAAiB;IAC1B,YAAY,oBAAoB;CACjC;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,SAAS,aAAa;CACvB;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,OAAO,sBAAsB;CAC9B;AAED;;qDAEqD;AACrD;;GAEG;AACH,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,oBAAY,QAAQ;IAClB,MAAM,IAAO;IACb,OAAO,IAAO;IACd,OAAO,IAAO;CACf;AAGD,eAAO,MAAM,SAAS,kBAAkB,CAAC"}
|
package/dest/services/types.js
CHANGED
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
/***************************************************
|
|
2
2
|
* Events
|
|
3
|
-
***************************************************/
|
|
3
|
+
***************************************************/
|
|
4
|
+
/**
|
|
4
5
|
* Events emitted from the libp2p node.
|
|
5
|
-
*/
|
|
6
|
+
*/
|
|
7
|
+
export var PeerEvent;
|
|
8
|
+
(function (PeerEvent) {
|
|
6
9
|
PeerEvent["DISCOVERED"] = "peer:discovered";
|
|
7
10
|
PeerEvent["CONNECTED"] = "peer:connect";
|
|
8
11
|
PeerEvent["DISCONNECTED"] = "peer:disconnect";
|
|
9
|
-
|
|
10
|
-
}({});
|
|
12
|
+
})(PeerEvent || (PeerEvent = {}));
|
|
11
13
|
/**
|
|
12
14
|
* Events emitted from the Discv5 service.
|
|
13
|
-
*/
|
|
15
|
+
*/
|
|
16
|
+
export var Discv5Event;
|
|
17
|
+
(function (Discv5Event) {
|
|
14
18
|
Discv5Event["DISCOVERED"] = "discovered";
|
|
15
19
|
Discv5Event["ENR_ADDED"] = "enrAdded";
|
|
16
|
-
|
|
17
|
-
}({});
|
|
20
|
+
})(Discv5Event || (Discv5Event = {}));
|
|
18
21
|
/**
|
|
19
22
|
* Events emitted from the GossipSub protocol.
|
|
20
|
-
*/
|
|
23
|
+
*/
|
|
24
|
+
export var GossipSubEvent;
|
|
25
|
+
(function (GossipSubEvent) {
|
|
21
26
|
GossipSubEvent["MESSAGE"] = "gossipsub:message";
|
|
22
|
-
|
|
23
|
-
}({});
|
|
27
|
+
})(GossipSubEvent || (GossipSubEvent = {}));
|
|
24
28
|
/***************************************************
|
|
25
29
|
* Types
|
|
26
|
-
***************************************************/
|
|
30
|
+
***************************************************/
|
|
31
|
+
/**
|
|
27
32
|
* Aztec network specific types
|
|
28
|
-
*/
|
|
29
|
-
export
|
|
33
|
+
*/
|
|
34
|
+
export const AZTEC_ENR_KEY = 'aztec_network';
|
|
35
|
+
export var AztecENR;
|
|
36
|
+
(function (AztecENR) {
|
|
30
37
|
AztecENR[AztecENR["devnet"] = 1] = "devnet";
|
|
31
38
|
AztecENR[AztecENR["testnet"] = 2] = "testnet";
|
|
32
39
|
AztecENR[AztecENR["mainnet"] = 3] = "mainnet";
|
|
33
|
-
|
|
34
|
-
}({});
|
|
40
|
+
})(AztecENR || (AztecENR = {}));
|
|
35
41
|
// TODO: Make this an env var
|
|
36
|
-
export const AZTEC_NET =
|
|
42
|
+
export const AZTEC_NET = AztecENR.devnet;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O3FEQUVxRDtBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsMkNBQThCLENBQUE7SUFDOUIsdUNBQTBCLENBQUE7SUFDMUIsNkNBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHdDQUF5QixDQUFBO0lBQ3pCLHFDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksY0FFWDtBQUZELFdBQVksY0FBYztJQUN4QiwrQ0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBRlcsY0FBYyxLQUFkLGNBQWMsUUFFekI7QUFFRDs7cURBRXFEO0FBQ3JEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUU3QyxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLDJDQUFhLENBQUE7SUFDYiw2Q0FBYyxDQUFBO0lBQ2QsNkNBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkI7QUFFRCw2QkFBNkI7QUFDN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMifQ==
|
package/dest/util.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
+
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
3
|
+
import type { GossipSub } from '@chainsafe/libp2p-gossipsub';
|
|
4
|
+
import { type PeerId } from '@libp2p/interface';
|
|
5
|
+
import { type ConnectionManager } from '@libp2p/interface-internal';
|
|
6
|
+
import type { Libp2p } from 'libp2p';
|
|
7
|
+
import { type P2PConfig } from './config.js';
|
|
8
|
+
export interface PubSubLibp2p extends Libp2p {
|
|
9
|
+
services: {
|
|
10
|
+
pubsub: GossipSub;
|
|
11
|
+
components: {
|
|
12
|
+
connectionManager: ConnectionManager;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Converts an address string to a multiaddr string.
|
|
18
|
+
* Example usage:
|
|
19
|
+
* const tcpAddr = '123.456.7.8:80' -> /ip4/123.456.7.8/tcp/80
|
|
20
|
+
* const udpAddr = '[2001:db8::1]:8080' -> /ip6/2001:db8::1/udp/8080
|
|
21
|
+
* @param address - The address string to convert. Has to be in the format <addr>:<port>.
|
|
22
|
+
* @param protocol - The protocol to use in the multiaddr string.
|
|
23
|
+
* @returns A multiaddr compliant string. */
|
|
24
|
+
export declare function convertToMultiaddr(address: string, protocol: 'tcp' | 'udp'): string;
|
|
25
|
+
/**
|
|
26
|
+
* Splits an <address>:<port> string into its components.
|
|
27
|
+
* @returns The ip6 or ip4 address & port separately
|
|
28
|
+
*/
|
|
29
|
+
export declare function splitAddressPort(address: string, allowEmptyAddress: boolean): [string, string];
|
|
30
|
+
/**
|
|
31
|
+
* Queries the public IP address of the machine.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getPublicIp(): Promise<string>;
|
|
34
|
+
export declare function resolveAddressIfNecessary(address: string): Promise<string>;
|
|
35
|
+
export declare function configureP2PClientAddresses(_config: P2PConfig & DataStoreConfig): Promise<P2PConfig & DataStoreConfig>;
|
|
36
|
+
/**
|
|
37
|
+
* Get the peer id private key
|
|
38
|
+
*
|
|
39
|
+
* 1. Check if we have a peer id private key in the config
|
|
40
|
+
* 2. If not, check we have a peer id private key persisted in the node
|
|
41
|
+
* 3. If not, create a new one, then persist it in the node
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
export declare function getPeerIdPrivateKey(config: {
|
|
45
|
+
peerIdPrivateKey?: string;
|
|
46
|
+
}, store: AztecAsyncKVStore): Promise<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Create a libp2p peer ID from the private key.
|
|
49
|
+
* @param privateKey - peer ID private key as hex string
|
|
50
|
+
* @returns The peer ID.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createLibP2PPeerIdFromPrivateKey(privateKey: string): Promise<PeerId>;
|
|
53
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,QAAQ,EAAE;QACR,MAAM,EAAE,SAAS,CAAC;QAClB,UAAU,EAAE;YACV,iBAAiB,EAAE,iBAAiB,CAAC;SACtC,CAAC;KACH,CAAC;CACH;AAED;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CASnF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB9F;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAInD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYhF;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CA6CtC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
|
package/dest/util.js
CHANGED
|
@@ -8,7 +8,8 @@ import { resolve } from 'dns/promises';
|
|
|
8
8
|
* const udpAddr = '[2001:db8::1]:8080' -> /ip6/2001:db8::1/udp/8080
|
|
9
9
|
* @param address - The address string to convert. Has to be in the format <addr>:<port>.
|
|
10
10
|
* @param protocol - The protocol to use in the multiaddr string.
|
|
11
|
-
* @returns A multiaddr compliant string. */
|
|
11
|
+
* @returns A multiaddr compliant string. */
|
|
12
|
+
export function convertToMultiaddr(address, protocol) {
|
|
12
13
|
const [addr, port] = splitAddressPort(address, false);
|
|
13
14
|
const multiaddrPrefix = addressToMultiAddressType(addr);
|
|
14
15
|
if (multiaddrPrefix === 'dns') {
|
|
@@ -19,7 +20,8 @@ import { resolve } from 'dns/promises';
|
|
|
19
20
|
/**
|
|
20
21
|
* Splits an <address>:<port> string into its components.
|
|
21
22
|
* @returns The ip6 or ip4 address & port separately
|
|
22
|
-
*/
|
|
23
|
+
*/
|
|
24
|
+
export function splitAddressPort(address, allowEmptyAddress) {
|
|
23
25
|
let addr;
|
|
24
26
|
let port;
|
|
25
27
|
if (address.startsWith('[')) {
|
|
@@ -29,21 +31,20 @@ import { resolve } from 'dns/promises';
|
|
|
29
31
|
throw new Error(`Invalid IPv6 address format:${address}. Expected format: [<addr>]:<port>`);
|
|
30
32
|
}
|
|
31
33
|
[, addr, port] = match;
|
|
32
|
-
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
33
36
|
// IPv4 address
|
|
34
37
|
[addr, port] = address.split(':');
|
|
35
|
-
if (!addr && !allowEmptyAddress || !port) {
|
|
38
|
+
if ((!addr && !allowEmptyAddress) || !port) {
|
|
36
39
|
throw new Error(`Invalid address format: ${address}. Expected format: <addr>:<port>`);
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
|
-
return [
|
|
40
|
-
addr,
|
|
41
|
-
port
|
|
42
|
-
];
|
|
42
|
+
return [addr, port];
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Queries the public IP address of the machine.
|
|
46
|
-
*/
|
|
46
|
+
*/
|
|
47
|
+
export async function getPublicIp() {
|
|
47
48
|
const resp = await fetch('http://checkip.amazonaws.com/');
|
|
48
49
|
const text = await resp.text();
|
|
49
50
|
return text.trim();
|
|
@@ -57,7 +58,8 @@ export async function resolveAddressIfNecessary(address) {
|
|
|
57
58
|
throw new Error(`Could not resolve address: ${addr}`);
|
|
58
59
|
}
|
|
59
60
|
return `${resolvedAddresses[0]}:${port}`;
|
|
60
|
-
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
61
63
|
return address;
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -66,19 +68,23 @@ export async function resolveAddressIfNecessary(address) {
|
|
|
66
68
|
function addressToMultiAddressType(address) {
|
|
67
69
|
if (address.includes(':')) {
|
|
68
70
|
return 'ip6';
|
|
69
|
-
}
|
|
71
|
+
}
|
|
72
|
+
else if (address.match(/^[\d.]+$/)) {
|
|
70
73
|
return 'ip4';
|
|
71
|
-
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
72
76
|
return 'dns';
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
export async function configureP2PClientAddresses(_config) {
|
|
76
|
-
const config = {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
config.udpAnnounceAddress = configUdpAnnounceAddress
|
|
80
|
+
const config = { ..._config };
|
|
81
|
+
const { tcpAnnounceAddress: configTcpAnnounceAddress, udpAnnounceAddress: configUdpAnnounceAddress, queryForIp, } = config;
|
|
82
|
+
config.tcpAnnounceAddress = configTcpAnnounceAddress
|
|
83
|
+
? await resolveAddressIfNecessary(configTcpAnnounceAddress)
|
|
84
|
+
: undefined;
|
|
85
|
+
config.udpAnnounceAddress = configUdpAnnounceAddress
|
|
86
|
+
? await resolveAddressIfNecessary(configUdpAnnounceAddress)
|
|
87
|
+
: undefined;
|
|
82
88
|
// create variable for re-use if needed
|
|
83
89
|
let publicIp;
|
|
84
90
|
// check if no announce IP was provided
|
|
@@ -88,7 +94,8 @@ export async function configureP2PClientAddresses(_config) {
|
|
|
88
94
|
publicIp = await getPublicIp();
|
|
89
95
|
const tcpAnnounceAddress = `${publicIp}:${splitTcpAnnounceAddress[1]}`;
|
|
90
96
|
config.tcpAnnounceAddress = tcpAnnounceAddress;
|
|
91
|
-
}
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
92
99
|
throw new Error(`Invalid announceTcpAddress provided: ${configTcpAnnounceAddress}. Expected format: <addr>:<port>`);
|
|
93
100
|
}
|
|
94
101
|
}
|
|
@@ -97,8 +104,9 @@ export async function configureP2PClientAddresses(_config) {
|
|
|
97
104
|
// If announceUdpAddress is not provided, use announceTcpAddress
|
|
98
105
|
if (!queryForIp && config.tcpAnnounceAddress) {
|
|
99
106
|
config.udpAnnounceAddress = config.tcpAnnounceAddress;
|
|
100
|
-
}
|
|
101
|
-
|
|
107
|
+
}
|
|
108
|
+
else if (queryForIp) {
|
|
109
|
+
const udpPublicIp = publicIp || (await getPublicIp());
|
|
102
110
|
const udpAnnounceAddress = `${udpPublicIp}:${splitUdpAnnounceAddress[1]}`;
|
|
103
111
|
config.udpAnnounceAddress = udpAnnounceAddress;
|
|
104
112
|
}
|
|
@@ -112,7 +120,8 @@ export async function configureP2PClientAddresses(_config) {
|
|
|
112
120
|
* 2. If not, check we have a peer id private key persisted in the node
|
|
113
121
|
* 3. If not, create a new one, then persist it in the node
|
|
114
122
|
*
|
|
115
|
-
*/
|
|
123
|
+
*/
|
|
124
|
+
export async function getPeerIdPrivateKey(config, store) {
|
|
116
125
|
const peerIdPrivateKeySingleton = store.openSingleton('peerIdPrivateKey');
|
|
117
126
|
if (config.peerIdPrivateKey) {
|
|
118
127
|
await peerIdPrivateKeySingleton.set(config.peerIdPrivateKey);
|
|
@@ -131,10 +140,12 @@ export async function configureP2PClientAddresses(_config) {
|
|
|
131
140
|
* Create a libp2p peer ID from the private key.
|
|
132
141
|
* @param privateKey - peer ID private key as hex string
|
|
133
142
|
* @returns The peer ID.
|
|
134
|
-
*/
|
|
143
|
+
*/
|
|
144
|
+
export async function createLibP2PPeerIdFromPrivateKey(privateKey) {
|
|
135
145
|
if (!privateKey?.length) {
|
|
136
146
|
throw new Error('No peer private key provided');
|
|
137
147
|
}
|
|
138
148
|
const asLibp2pPrivateKey = await unmarshalPrivateKey(new Uint8Array(Buffer.from(privateKey, 'hex')));
|
|
139
149
|
return await createFromPrivKey(asLibp2pPrivateKey);
|
|
140
150
|
}
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUc5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBY3ZDOzs7Ozs7OzZDQU82QztBQUM3QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZSxFQUFFLFFBQXVCO0lBQ3pFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRELE1BQU0sZUFBZSxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELElBQUksZUFBZSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsT0FBTyxJQUFJLGVBQWUsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO0FBQzNELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBZSxFQUFFLGlCQUEwQjtJQUMxRSxJQUFJLElBQVksQ0FBQztJQUNqQixJQUFJLElBQVksQ0FBQztJQUVqQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QiwyQ0FBMkM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLE9BQU8sb0NBQW9DLENBQUMs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/p2p",
|
|
3
|
-
"version": "0.75.0
|
|
3
|
+
"version": "0.75.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
23
23
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
24
24
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
25
|
-
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
25
|
+
"test": "HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} RAYON_NUM_THREADS=${RAYON_NUM_THREADS:-4} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
26
26
|
"start": "node ./dest",
|
|
27
27
|
"start:dev": "tsc-watch -p tsconfig.json --onSuccess 'yarn start'"
|
|
28
28
|
},
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@aztec/circuit-types": "0.75.0
|
|
67
|
-
"@aztec/circuits.js": "0.75.0
|
|
68
|
-
"@aztec/epoch-cache": "0.75.0
|
|
69
|
-
"@aztec/foundation": "0.75.0
|
|
70
|
-
"@aztec/kv-store": "0.75.0
|
|
71
|
-
"@aztec/telemetry-client": "0.75.0
|
|
66
|
+
"@aztec/circuit-types": "0.75.0",
|
|
67
|
+
"@aztec/circuits.js": "0.75.0",
|
|
68
|
+
"@aztec/epoch-cache": "0.75.0",
|
|
69
|
+
"@aztec/foundation": "0.75.0",
|
|
70
|
+
"@aztec/kv-store": "0.75.0",
|
|
71
|
+
"@aztec/telemetry-client": "0.75.0",
|
|
72
72
|
"@chainsafe/discv5": "9.0.0",
|
|
73
73
|
"@chainsafe/enr": "3.0.0",
|
|
74
74
|
"@chainsafe/libp2p-gossipsub": "13.0.0",
|
package/src/mem_pools/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export { TxPool } from './tx_pool/tx_pool.js';
|
|
2
|
+
export { AttestationPool } from './attestation_pool/attestation_pool.js';
|
|
3
|
+
export { EpochProofQuotePool } from './epoch_proof_quote_pool/epoch_proof_quote_pool.js';
|
|
4
4
|
export { type MemPools } from './interface.js';
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
LmdbMetrics,
|
|
6
6
|
type LmdbStatsCallback,
|
|
7
7
|
Metrics,
|
|
8
|
-
type MetricsType,
|
|
9
8
|
type TelemetryClient,
|
|
10
9
|
type UpDownCounter,
|
|
11
10
|
} from '@aztec/telemetry-client';
|
|
@@ -17,8 +16,8 @@ export enum PoolName {
|
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
type MetricsLabels = {
|
|
20
|
-
objectInMempool:
|
|
21
|
-
objectSize:
|
|
19
|
+
objectInMempool: Metrics;
|
|
20
|
+
objectSize: Metrics;
|
|
22
21
|
};
|
|
23
22
|
|
|
24
23
|
/**
|
|
@@ -3,8 +3,6 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
3
3
|
|
|
4
4
|
import { type PeerId } from '@libp2p/interface';
|
|
5
5
|
|
|
6
|
-
import { type ReqRespStatus } from './status.js';
|
|
7
|
-
|
|
8
6
|
/*
|
|
9
7
|
* Request Response Sub Protocols
|
|
10
8
|
*/
|
|
@@ -33,15 +31,6 @@ export type ReqRespSubProtocolHandler = (peerId: PeerId, msg: Buffer) => Promise
|
|
|
33
31
|
*/
|
|
34
32
|
export type ReqRespSubProtocolRateLimits = Record<ReqRespSubProtocol, ProtocolRateLimitQuota>;
|
|
35
33
|
|
|
36
|
-
/**
|
|
37
|
-
* The response from the ReqResp protocol
|
|
38
|
-
* Consists of a status (Error code) and data
|
|
39
|
-
*/
|
|
40
|
-
export interface ReqRespResponse {
|
|
41
|
-
status: ReqRespStatus;
|
|
42
|
-
data: Buffer;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
34
|
/**
|
|
46
35
|
* A rate limit quota
|
|
47
36
|
*/
|
|
@@ -200,11 +200,9 @@ export class RequestResponseRateLimiter {
|
|
|
200
200
|
|
|
201
201
|
switch (rateLimitStatus) {
|
|
202
202
|
case RateLimitStatus.DeniedPeer:
|
|
203
|
-
|
|
204
|
-
this.peerScoring.penalizePeer(peerId, PeerErrorSeverity.HighToleranceError);
|
|
203
|
+
this.peerScoring.penalizePeer(peerId, PeerErrorSeverity.MidToleranceError);
|
|
205
204
|
return false;
|
|
206
205
|
case RateLimitStatus.DeniedGlobal:
|
|
207
|
-
// Hitting a global limit, we should not penalise the peer
|
|
208
206
|
return false;
|
|
209
207
|
default:
|
|
210
208
|
return true;
|
|
@@ -25,11 +25,11 @@ export const DEFAULT_RATE_LIMITS: ReqRespSubProtocolRateLimits = {
|
|
|
25
25
|
[ReqRespSubProtocol.TX]: {
|
|
26
26
|
peerLimit: {
|
|
27
27
|
quotaTimeMs: 1000,
|
|
28
|
-
quotaCount:
|
|
28
|
+
quotaCount: 5,
|
|
29
29
|
},
|
|
30
30
|
globalLimit: {
|
|
31
31
|
quotaTimeMs: 1000,
|
|
32
|
-
quotaCount:
|
|
32
|
+
quotaCount: 10,
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
[ReqRespSubProtocol.BLOCK]: {
|