@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.
Files changed (216) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +38 -0
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -0
  3. package/dest/bootstrap/bootstrap.js +29 -41
  4. package/dest/client/factory.d.ts +19 -0
  5. package/dest/client/factory.d.ts.map +1 -0
  6. package/dest/client/factory.js +10 -8
  7. package/dest/client/index.d.ts +3 -0
  8. package/dest/client/index.d.ts.map +1 -0
  9. package/dest/client/index.js +1 -0
  10. package/dest/client/p2p_client.d.ts +332 -0
  11. package/dest/client/p2p_client.d.ts.map +1 -0
  12. package/dest/client/p2p_client.js +535 -513
  13. package/dest/config.d.ts +171 -0
  14. package/dest/config.d.ts.map +1 -0
  15. package/dest/config.js +39 -44
  16. package/dest/errors/reqresp.error.d.ts +28 -0
  17. package/dest/errors/reqresp.error.d.ts.map +1 -0
  18. package/dest/errors/reqresp.error.js +10 -6
  19. package/dest/index.d.ts +9 -0
  20. package/dest/index.d.ts.map +1 -0
  21. package/dest/index.js +1 -0
  22. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
  24. package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
  25. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
  28. package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
  29. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
  30. package/dest/mem_pools/attestation_pool/index.js +1 -0
  31. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
  32. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
  33. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
  34. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
  35. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
  36. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
  38. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
  39. package/dest/mem_pools/attestation_pool/mocks.js +6 -10
  40. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
  41. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
  42. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
  43. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
  44. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
  45. package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
  46. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
  47. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
  48. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
  49. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
  50. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
  51. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
  52. package/dest/mem_pools/index.d.ts +5 -0
  53. package/dest/mem_pools/index.d.ts.map +1 -0
  54. package/dest/mem_pools/index.js +2 -1
  55. package/dest/mem_pools/instrumentation.d.ts +31 -0
  56. package/dest/mem_pools/instrumentation.d.ts.map +1 -0
  57. package/dest/mem_pools/instrumentation.js +42 -37
  58. package/dest/mem_pools/interface.d.ts +13 -0
  59. package/dest/mem_pools/interface.d.ts.map +1 -0
  60. package/dest/mem_pools/interface.js +2 -3
  61. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
  62. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
  63. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
  64. package/dest/mem_pools/tx_pool/index.d.ts +4 -0
  65. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
  66. package/dest/mem_pools/tx_pool/index.js +1 -0
  67. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
  68. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
  69. package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
  70. package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
  71. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
  72. package/dest/mem_pools/tx_pool/priority.js +3 -1
  73. package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
  74. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
  75. package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
  76. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
  77. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
  78. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
  79. package/dest/mocks/index.d.ts +54 -0
  80. package/dest/mocks/index.d.ts.map +1 -0
  81. package/dest/mocks/index.js +38 -47
  82. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
  83. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
  84. package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
  85. package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
  86. package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
  87. package/dest/msg_validators/attestation_validator/index.js +1 -0
  88. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
  89. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
  90. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
  91. package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
  92. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
  93. package/dest/msg_validators/block_proposal_validator/index.js +1 -0
  94. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
  95. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
  96. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
  97. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
  98. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
  99. package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
  100. package/dest/msg_validators/index.d.ts +4 -0
  101. package/dest/msg_validators/index.d.ts.map +1 -0
  102. package/dest/msg_validators/index.js +1 -0
  103. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
  104. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
  105. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
  106. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
  107. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
  108. package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
  109. package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
  110. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
  111. package/dest/msg_validators/tx_validator/data_validator.js +32 -41
  112. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
  113. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
  114. package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
  115. package/dest/msg_validators/tx_validator/index.d.ts +7 -0
  116. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
  117. package/dest/msg_validators/tx_validator/index.js +1 -0
  118. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
  119. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
  120. package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
  121. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
  122. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
  123. package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
  124. package/dest/services/data_store.d.ts +27 -0
  125. package/dest/services/data_store.d.ts.map +1 -0
  126. package/dest/services/data_store.js +57 -57
  127. package/dest/services/discv5/discV5_service.d.ts +36 -0
  128. package/dest/services/discv5/discV5_service.d.ts.map +1 -0
  129. package/dest/services/discv5/discV5_service.js +23 -31
  130. package/dest/services/dummy_service.d.ts +82 -0
  131. package/dest/services/dummy_service.d.ts.map +1 -0
  132. package/dest/services/dummy_service.js +58 -40
  133. package/dest/services/encoding.d.ts +31 -0
  134. package/dest/services/encoding.d.ts.map +1 -0
  135. package/dest/services/encoding.js +9 -10
  136. package/dest/services/index.d.ts +3 -0
  137. package/dest/services/index.d.ts.map +1 -0
  138. package/dest/services/index.js +1 -0
  139. package/dest/services/libp2p/libp2p_service.d.ts +225 -0
  140. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
  141. package/dest/services/libp2p/libp2p_service.js +695 -709
  142. package/dest/services/peer-manager/metrics.d.ts +12 -0
  143. package/dest/services/peer-manager/metrics.d.ts.map +1 -0
  144. package/dest/services/peer-manager/metrics.js +7 -14
  145. package/dest/services/peer-manager/peer_manager.d.ts +76 -0
  146. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
  147. package/dest/services/peer-manager/peer_manager.js +342 -340
  148. package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
  149. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
  150. package/dest/services/peer-manager/peer_scoring.js +18 -20
  151. package/dest/services/reqresp/config.d.ts +16 -0
  152. package/dest/services/reqresp/config.d.ts.map +1 -0
  153. package/dest/services/reqresp/config.js +5 -4
  154. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
  155. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
  156. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
  157. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
  158. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
  159. package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
  160. package/dest/services/reqresp/index.d.ts +6 -0
  161. package/dest/services/reqresp/index.d.ts.map +1 -0
  162. package/dest/services/reqresp/index.js +3 -1
  163. package/dest/services/reqresp/interface.d.ts +107 -0
  164. package/dest/services/reqresp/interface.d.ts.map +1 -0
  165. package/dest/services/reqresp/interface.js +30 -25
  166. package/dest/services/reqresp/metrics.d.ts +15 -0
  167. package/dest/services/reqresp/metrics.d.ts.map +1 -0
  168. package/dest/services/reqresp/metrics.js +10 -23
  169. package/dest/services/reqresp/protocols/block.d.ts +4 -0
  170. package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
  171. package/dest/services/reqresp/protocols/block.js +2 -1
  172. package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
  173. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
  174. package/dest/services/reqresp/protocols/goodbye.js +40 -35
  175. package/dest/services/reqresp/protocols/index.d.ts +9 -0
  176. package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
  177. package/dest/services/reqresp/protocols/index.js +3 -1
  178. package/dest/services/reqresp/protocols/ping.d.ts +9 -0
  179. package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
  180. package/dest/services/reqresp/protocols/ping.js +3 -1
  181. package/dest/services/reqresp/protocols/status.d.ts +9 -0
  182. package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
  183. package/dest/services/reqresp/protocols/status.js +3 -1
  184. package/dest/services/reqresp/protocols/tx.d.ts +13 -0
  185. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
  186. package/dest/services/reqresp/protocols/tx.js +8 -5
  187. package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
  188. package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
  189. package/dest/services/reqresp/rate-limiter/index.js +1 -0
  190. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
  191. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
  192. package/dest/services/reqresp/rate-limiter/rate_limiter.js +36 -42
  193. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
  194. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
  195. package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
  196. package/dest/services/reqresp/reqresp.d.ts +161 -0
  197. package/dest/services/reqresp/reqresp.d.ts.map +1 -0
  198. package/dest/services/reqresp/reqresp.js +395 -461
  199. package/dest/services/service.d.ts +85 -0
  200. package/dest/services/service.d.ts.map +1 -0
  201. package/dest/services/service.js +4 -3
  202. package/dest/services/types.d.ts +38 -0
  203. package/dest/services/types.d.ts.map +1 -0
  204. package/dest/services/types.js +23 -16
  205. package/dest/util.d.ts +53 -0
  206. package/dest/util.d.ts.map +1 -0
  207. package/dest/util.js +34 -23
  208. package/package.json +8 -8
  209. package/src/mem_pools/index.ts +3 -3
  210. package/src/mem_pools/instrumentation.ts +2 -3
  211. package/src/services/reqresp/interface.ts +0 -11
  212. package/src/services/reqresp/rate-limiter/rate_limiter.ts +1 -3
  213. package/src/services/reqresp/rate-limiter/rate_limits.ts +2 -2
  214. package/src/services/reqresp/reqresp.ts +24 -111
  215. package/dest/services/reqresp/status.js +0 -51
  216. package/src/services/reqresp/status.ts +0 -59
@@ -0,0 +1,171 @@
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
+ import { type DataStoreConfig } from '@aztec/kv-store/config';
3
+ import { type P2PReqRespConfig } from './services/reqresp/config.js';
4
+ /**
5
+ * P2P client configuration values.
6
+ */
7
+ export interface P2PConfig extends P2PReqRespConfig {
8
+ /**
9
+ * A flag dictating whether the P2P subsystem should be enabled.
10
+ */
11
+ p2pEnabled: boolean;
12
+ /**
13
+ * The frequency in which to check for new L2 blocks.
14
+ */
15
+ blockCheckIntervalMS: number;
16
+ /**
17
+ * The number of blocks to fetch in a single batch.
18
+ */
19
+ blockRequestBatchSize: number;
20
+ /**
21
+ * The frequency in which to check for new peers.
22
+ */
23
+ peerCheckIntervalMS: number;
24
+ /**
25
+ * Size of queue of L2 blocks to store.
26
+ */
27
+ l2QueueSize: number;
28
+ /**
29
+ * The announce address for TCP.
30
+ */
31
+ tcpAnnounceAddress?: string;
32
+ /**
33
+ * The announce address for UDP.
34
+ */
35
+ udpAnnounceAddress?: string;
36
+ /**
37
+ * The listen address for TCP.
38
+ */
39
+ tcpListenAddress: string;
40
+ /**
41
+ * The listen address for UDP.
42
+ */
43
+ udpListenAddress: string;
44
+ /**
45
+ * An optional peer id private key. If blank, will generate a random key.
46
+ */
47
+ peerIdPrivateKey?: string;
48
+ /**
49
+ * A list of bootstrap peers to connect to.
50
+ */
51
+ bootstrapNodes: string[];
52
+ /**
53
+ * Protocol identifier for transaction gossiping.
54
+ */
55
+ transactionProtocol: string;
56
+ /**
57
+ * The minimum number of peers (a peer count below this will cause the node to look for more peers)
58
+ */
59
+ minPeerCount: number;
60
+ /**
61
+ * The maximum number of peers (a peer count above this will cause the node to refuse connection attempts)
62
+ */
63
+ maxPeerCount: number;
64
+ /**
65
+ * If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.
66
+ */
67
+ queryForIp: boolean;
68
+ /** How many blocks have to pass after a block is proven before its txs are deleted (zero to delete immediately once proven) */
69
+ keepProvenTxsInPoolFor: number;
70
+ /** How many slots to keep attestations for. */
71
+ keepAttestationsInPoolFor: number;
72
+ /**
73
+ * The interval of the gossipsub heartbeat to perform maintenance tasks.
74
+ */
75
+ gossipsubInterval: number;
76
+ /**
77
+ * The D parameter for the gossipsub protocol.
78
+ */
79
+ gossipsubD: number;
80
+ /**
81
+ * The Dlo parameter for the gossipsub protocol.
82
+ */
83
+ gossipsubDlo: number;
84
+ /**
85
+ * The Dhi parameter for the gossipsub protocol.
86
+ */
87
+ gossipsubDhi: number;
88
+ /**
89
+ * The number of gossipsub interval message cache windows to keep.
90
+ */
91
+ gossipsubMcacheLength: number;
92
+ /**
93
+ * How many message cache windows to include when gossiping with other pears.
94
+ */
95
+ gossipsubMcacheGossip: number;
96
+ /**
97
+ * The 'age' (in # of L2 blocks) of a processed tx after which we heavily penalize a peer for re-sending it.
98
+ */
99
+ severePeerPenaltyBlockLength: number;
100
+ /**
101
+ * The weight of the tx topic for the gossipsub protocol. This determines how much the score for this specific topic contributes to the overall peer score.
102
+ */
103
+ gossipsubTxTopicWeight: number;
104
+ /**
105
+ * This is the weight applied to the penalty for delivering invalid messages.
106
+ */
107
+ gossipsubTxInvalidMessageDeliveriesWeight: number;
108
+ /**
109
+ * determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.
110
+ */
111
+ gossipsubTxInvalidMessageDeliveriesDecay: number;
112
+ /**
113
+ * The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors.
114
+ */
115
+ peerPenaltyValues: number[];
116
+ /**
117
+ * The chain id of the L1 chain.
118
+ */
119
+ l1ChainId: number;
120
+ /** Limit of transactions to archive in the tx pool. Once the archived tx limit is reached, the oldest archived txs will be purged. */
121
+ archivedTxLimit: number;
122
+ }
123
+ export declare const p2pConfigMappings: ConfigMappingsType<P2PConfig>;
124
+ /**
125
+ * Gets the config values for p2p client from environment variables.
126
+ * @returns The config values for p2p client.
127
+ */
128
+ export declare function getP2PConfigFromEnv(): P2PConfig;
129
+ export declare function getP2PDefaultConfig(): P2PConfig;
130
+ /**
131
+ * Required P2P config values for a bootstrap node.
132
+ */
133
+ export type BootnodeConfig = Pick<P2PConfig, 'udpAnnounceAddress' | 'peerIdPrivateKey' | 'minPeerCount' | 'maxPeerCount'> & Required<Pick<P2PConfig, 'udpListenAddress'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKB'>;
134
+ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
135
+ dataDirectory: unknown;
136
+ dataStoreMapSizeKB: unknown;
137
+ l1Contracts: unknown;
138
+ overallRequestTimeoutMs: unknown;
139
+ individualRequestTimeoutMs: unknown;
140
+ p2pEnabled: unknown;
141
+ blockCheckIntervalMS: unknown;
142
+ blockRequestBatchSize: unknown;
143
+ peerCheckIntervalMS: unknown;
144
+ l2QueueSize: unknown;
145
+ tcpAnnounceAddress: unknown;
146
+ udpAnnounceAddress: unknown;
147
+ tcpListenAddress: unknown;
148
+ udpListenAddress: unknown;
149
+ peerIdPrivateKey: unknown;
150
+ bootstrapNodes: unknown;
151
+ transactionProtocol: unknown;
152
+ minPeerCount: unknown;
153
+ maxPeerCount: unknown;
154
+ queryForIp: unknown;
155
+ keepProvenTxsInPoolFor: unknown;
156
+ keepAttestationsInPoolFor: unknown;
157
+ gossipsubInterval: unknown;
158
+ gossipsubD: unknown;
159
+ gossipsubDlo: unknown;
160
+ gossipsubDhi: unknown;
161
+ gossipsubMcacheLength: unknown;
162
+ gossipsubMcacheGossip: unknown;
163
+ severePeerPenaltyBlockLength: unknown;
164
+ gossipsubTxTopicWeight: unknown;
165
+ gossipsubTxInvalidMessageDeliveriesWeight: unknown;
166
+ gossipsubTxInvalidMessageDeliveriesDecay: unknown;
167
+ peerPenaltyValues: unknown;
168
+ l1ChainId: unknown;
169
+ archivedTxLimit: unknown;
170
+ }, "udpAnnounceAddress" | "udpListenAddress" | "peerIdPrivateKey" | "minPeerCount" | "maxPeerCount" | "dataDirectory" | "dataStoreMapSizeKB">>;
171
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAMxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,8BAA8B,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IACjD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB,+HAA+H;IAC/H,sBAAsB,EAAE,MAAM,CAAC;IAE/B,+CAA+C;IAC/C,yBAAyB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,yCAAyC,EAAE,MAAM,CAAC;IAElD;;OAEG;IACH,wCAAwC,EAAE,MAAM,CAAC;IAEjD;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,sIAAsI;IACtI,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CA4J3D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,SAAS,EACT,oBAAoB,GAAG,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAC5E,GACC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,GAC7C,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB,CAAC,CAAC;AAYhE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8IAGlC,CAAC"}
package/dest/config.js CHANGED
@@ -1,165 +1,162 @@
1
- import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, pickConfigMappings } from '@aztec/foundation/config';
1
+ import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, pickConfigMappings, } from '@aztec/foundation/config';
2
2
  import { dataConfigMappings } from '@aztec/kv-store/config';
3
3
  import { p2pReqRespConfigMappings } from './services/reqresp/config.js';
4
4
  export const p2pConfigMappings = {
5
5
  p2pEnabled: {
6
6
  env: 'P2P_ENABLED',
7
7
  description: 'A flag dictating whether the P2P subsystem should be enabled.',
8
- ...booleanConfigHelper()
8
+ ...booleanConfigHelper(),
9
9
  },
10
10
  blockCheckIntervalMS: {
11
11
  env: 'P2P_BLOCK_CHECK_INTERVAL_MS',
12
12
  description: 'The frequency in which to check for new L2 blocks.',
13
- ...numberConfigHelper(100)
13
+ ...numberConfigHelper(100),
14
14
  },
15
15
  peerCheckIntervalMS: {
16
16
  env: 'P2P_PEER_CHECK_INTERVAL_MS',
17
17
  description: 'The frequency in which to check for new peers.',
18
- ...numberConfigHelper(30_000)
18
+ ...numberConfigHelper(30000),
19
19
  },
20
20
  l2QueueSize: {
21
21
  env: 'P2P_L2_QUEUE_SIZE',
22
22
  description: 'Size of queue of L2 blocks to store.',
23
- ...numberConfigHelper(1_000)
23
+ ...numberConfigHelper(1000),
24
24
  },
25
25
  tcpListenAddress: {
26
26
  env: 'P2P_TCP_LISTEN_ADDR',
27
27
  defaultValue: '0.0.0.0:40400',
28
- description: 'The listen address for TCP. Format: <IP_ADDRESS>:<PORT>.'
28
+ description: 'The listen address for TCP. Format: <IP_ADDRESS>:<PORT>.',
29
29
  },
30
30
  udpListenAddress: {
31
31
  env: 'P2P_UDP_LISTEN_ADDR',
32
32
  defaultValue: '0.0.0.0:40400',
33
- description: 'The listen address for UDP. Format: <IP_ADDRESS>:<PORT>.'
33
+ description: 'The listen address for UDP. Format: <IP_ADDRESS>:<PORT>.',
34
34
  },
35
35
  tcpAnnounceAddress: {
36
36
  env: 'P2P_TCP_ANNOUNCE_ADDR',
37
- description: 'The announce address for TCP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.'
37
+ description: 'The announce address for TCP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.',
38
38
  },
39
39
  udpAnnounceAddress: {
40
40
  env: 'P2P_UDP_ANNOUNCE_ADDR',
41
- description: 'The announce address for UDP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.'
41
+ description: 'The announce address for UDP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.',
42
42
  },
43
43
  peerIdPrivateKey: {
44
44
  env: 'PEER_ID_PRIVATE_KEY',
45
- description: 'An optional peer id private key. If blank, will generate a random key.'
45
+ description: 'An optional peer id private key. If blank, will generate a random key.',
46
46
  },
47
47
  bootstrapNodes: {
48
48
  env: 'BOOTSTRAP_NODES',
49
- parseEnv: (val)=>val.split(','),
50
- description: 'A list of bootstrap peer ENRs to connect to. Separated by commas.'
49
+ parseEnv: (val) => val.split(','),
50
+ description: 'A list of bootstrap peer ENRs to connect to. Separated by commas.',
51
51
  },
52
52
  transactionProtocol: {
53
53
  env: 'P2P_TX_PROTOCOL',
54
54
  description: 'Protocol identifier for transaction gossiping.',
55
- defaultValue: '/aztec/0.1.0'
55
+ defaultValue: '/aztec/0.1.0',
56
56
  },
57
57
  minPeerCount: {
58
58
  env: 'P2P_MIN_PEERS',
59
59
  description: 'The minimum number of peers to connect to.',
60
- ...numberConfigHelper(10)
60
+ ...numberConfigHelper(10),
61
61
  },
62
62
  maxPeerCount: {
63
63
  env: 'P2P_MAX_PEERS',
64
64
  description: 'The maximum number of peers to connect to.',
65
- ...numberConfigHelper(100)
65
+ ...numberConfigHelper(100),
66
66
  },
67
67
  queryForIp: {
68
68
  env: 'P2P_QUERY_FOR_IP',
69
69
  description: 'If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.',
70
- ...booleanConfigHelper()
70
+ ...booleanConfigHelper(),
71
71
  },
72
72
  keepProvenTxsInPoolFor: {
73
73
  env: 'P2P_TX_POOL_KEEP_PROVEN_FOR',
74
74
  description: 'How many blocks have to pass after a block is proven before its txs are deleted (zero to delete immediately once proven)',
75
- ...numberConfigHelper(0)
75
+ ...numberConfigHelper(0),
76
76
  },
77
77
  keepAttestationsInPoolFor: {
78
78
  env: 'P2P_ATTESTATION_POOL_KEEP_FOR',
79
79
  description: 'How many slots to keep attestations for.',
80
- ...numberConfigHelper(96)
80
+ ...numberConfigHelper(96),
81
81
  },
82
82
  gossipsubInterval: {
83
83
  env: 'P2P_GOSSIPSUB_INTERVAL_MS',
84
84
  description: 'The interval of the gossipsub heartbeat to perform maintenance tasks.',
85
- ...numberConfigHelper(1_000)
85
+ ...numberConfigHelper(1000),
86
86
  },
87
87
  gossipsubD: {
88
88
  env: 'P2P_GOSSIPSUB_D',
89
89
  description: 'The D parameter for the gossipsub protocol.',
90
- ...numberConfigHelper(8)
90
+ ...numberConfigHelper(8),
91
91
  },
92
92
  gossipsubDlo: {
93
93
  env: 'P2P_GOSSIPSUB_DLO',
94
94
  description: 'The Dlo parameter for the gossipsub protocol.',
95
- ...numberConfigHelper(4)
95
+ ...numberConfigHelper(4),
96
96
  },
97
97
  gossipsubDhi: {
98
98
  env: 'P2P_GOSSIPSUB_DHI',
99
99
  description: 'The Dhi parameter for the gossipsub protocol.',
100
- ...numberConfigHelper(12)
100
+ ...numberConfigHelper(12),
101
101
  },
102
102
  gossipsubMcacheLength: {
103
103
  env: 'P2P_GOSSIPSUB_MCACHE_LENGTH',
104
104
  description: 'The number of gossipsub interval message cache windows to keep.',
105
- ...numberConfigHelper(5)
105
+ ...numberConfigHelper(5),
106
106
  },
107
107
  gossipsubMcacheGossip: {
108
108
  env: 'P2P_GOSSIPSUB_MCACHE_GOSSIP',
109
109
  description: 'How many message cache windows to include when gossiping with other pears.',
110
- ...numberConfigHelper(3)
110
+ ...numberConfigHelper(3),
111
111
  },
112
112
  gossipsubTxTopicWeight: {
113
113
  env: 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT',
114
114
  description: 'The weight of the tx topic for the gossipsub protocol.',
115
- ...numberConfigHelper(1)
115
+ ...numberConfigHelper(1),
116
116
  },
117
117
  gossipsubTxInvalidMessageDeliveriesWeight: {
118
118
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT',
119
119
  description: 'The weight of the tx invalid message deliveries for the gossipsub protocol.',
120
- ...numberConfigHelper(-20)
120
+ ...numberConfigHelper(-20),
121
121
  },
122
122
  gossipsubTxInvalidMessageDeliveriesDecay: {
123
123
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY',
124
124
  description: 'Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.',
125
- ...numberConfigHelper(0.5)
125
+ ...numberConfigHelper(0.5),
126
126
  },
127
127
  peerPenaltyValues: {
128
128
  env: 'P2P_PEER_PENALTY_VALUES',
129
- parseEnv: (val)=>val.split(',').map(Number),
129
+ parseEnv: (val) => val.split(',').map(Number),
130
130
  description: 'The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors.',
131
- defaultValue: [
132
- 2,
133
- 10,
134
- 50
135
- ]
131
+ defaultValue: [2, 10, 50],
136
132
  },
137
133
  severePeerPenaltyBlockLength: {
138
134
  env: 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH',
139
135
  description: 'The "age" (in L2 blocks) of a tx after which we heavily penalize a peer for sending it.',
140
- ...numberConfigHelper(30)
136
+ ...numberConfigHelper(30),
141
137
  },
142
138
  l1ChainId: {
143
139
  env: 'L1_CHAIN_ID',
144
140
  description: 'The chain id of the L1 chain.',
145
- ...numberConfigHelper(31337)
141
+ ...numberConfigHelper(31337),
146
142
  },
147
143
  blockRequestBatchSize: {
148
144
  env: 'P2P_BLOCK_REQUEST_BATCH_SIZE',
149
145
  description: 'The number of blocks to fetch in a single batch.',
150
- ...numberConfigHelper(20)
146
+ ...numberConfigHelper(20),
151
147
  },
152
148
  archivedTxLimit: {
153
149
  env: 'P2P_ARCHIVED_TX_LIMIT',
154
150
  description: 'The number of transactions that will be archived. If the limit is set to 0 then archiving will be disabled.',
155
- ...numberConfigHelper(0)
151
+ ...numberConfigHelper(0),
156
152
  },
157
- ...p2pReqRespConfigMappings
153
+ ...p2pReqRespConfigMappings,
158
154
  };
159
155
  /**
160
156
  * Gets the config values for p2p client from environment variables.
161
157
  * @returns The config values for p2p client.
162
- */ export function getP2PConfigFromEnv() {
158
+ */
159
+ export function getP2PConfigFromEnv() {
163
160
  return getConfigFromMappings(p2pConfigMappings);
164
161
  }
165
162
  export function getP2PDefaultConfig() {
@@ -172,9 +169,7 @@ const bootnodeConfigKeys = [
172
169
  'maxPeerCount',
173
170
  'udpListenAddress',
174
171
  'dataDirectory',
175
- 'dataStoreMapSizeKB'
172
+ 'dataStoreMapSizeKB',
176
173
  ];
177
- export const bootnodeConfigMappings = pickConfigMappings({
178
- ...p2pConfigMappings,
179
- ...dataConfigMappings
180
- }, bootnodeConfigKeys);
174
+ export const bootnodeConfigMappings = pickConfigMappings({ ...p2pConfigMappings, ...dataConfigMappings }, bootnodeConfigKeys);
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUNuQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRixPQUFPLEVBQXlCLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUF1Si9GLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQztJQUM5RCxVQUFVLEVBQUU7UUFDVixHQUFHLEVBQUUsYUFBYTtRQUNsQixXQUFXLEVBQUUsK0RBQStEO1FBQzVFLEdBQUcsbUJBQW1CLEVBQUU7S0FDekI7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLFdBQVcsRUFBRSxvREFBb0Q7UUFDakUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsR0FBRyxrQkFBa0IsQ0FBQyxLQUFNLENBQUM7S0FDOUI7SUFDRCxXQUFXLEVBQUU7UUFDWCxHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsR0FBRyxrQkFBa0IsQ0FBQyxJQUFLLENBQUM7S0FDN0I7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFlBQVksRUFBRSxlQUFlO1FBQzdCLFdBQVcsRUFBRSwwREFBMEQ7S0FDeEU7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFlBQVksRUFBRSxlQUFlO1FBQzdCLFdBQVcsRUFBRSwwREFBMEQ7S0FDeEU7SUFD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
@@ -0,0 +1,28 @@
1
+ /** Individual request timeout error
2
+ *
3
+ * This error will be thrown when a request to a specific peer times out.
4
+ * @category Errors
5
+ */
6
+ export declare class IndividualReqRespTimeoutError extends Error {
7
+ constructor();
8
+ }
9
+ /** Collective request timeout error
10
+ *
11
+ * This error will be thrown when a req resp request times out regardless of the peer.
12
+ * @category Errors
13
+ */
14
+ export declare class CollectiveReqRespTimeoutError extends Error {
15
+ constructor();
16
+ }
17
+ /** Invalid response error
18
+ *
19
+ * This error will be thrown when a response is received that is not valid.
20
+ *
21
+ * This error does not need to be punished as message validators will handle punishing invalid
22
+ * requests
23
+ * @category Errors
24
+ */
25
+ export declare class InvalidResponseError extends Error {
26
+ constructor();
27
+ }
28
+ //# sourceMappingURL=reqresp.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reqresp.error.d.ts","sourceRoot":"","sources":["../../src/errors/reqresp.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;;CAI9C"}
@@ -2,8 +2,9 @@
2
2
  *
3
3
  * This error will be thrown when a request to a specific peer times out.
4
4
  * @category Errors
5
- */ export class IndividualReqRespTimeoutError extends Error {
6
- constructor(){
5
+ */
6
+ export class IndividualReqRespTimeoutError extends Error {
7
+ constructor() {
7
8
  super(`Request to peer timed out`);
8
9
  }
9
10
  }
@@ -11,8 +12,9 @@
11
12
  *
12
13
  * This error will be thrown when a req resp request times out regardless of the peer.
13
14
  * @category Errors
14
- */ export class CollectiveReqRespTimeoutError extends Error {
15
- constructor(){
15
+ */
16
+ export class CollectiveReqRespTimeoutError extends Error {
17
+ constructor() {
16
18
  super(`Request to all peers timed out`);
17
19
  }
18
20
  }
@@ -23,8 +25,10 @@
23
25
  * This error does not need to be punished as message validators will handle punishing invalid
24
26
  * requests
25
27
  * @category Errors
26
- */ export class InvalidResponseError extends Error {
27
- constructor(){
28
+ */
29
+ export class InvalidResponseError extends Error {
30
+ constructor() {
28
31
  super(`Invalid response received`);
29
32
  }
30
33
  }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC5lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvcmVxcmVzcC5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLEtBQUs7SUFDdEQ7UUFDRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLEtBQUs7SUFDdEQ7UUFDRSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLEtBQUs7SUFDN0M7UUFDRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,9 @@
1
+ export * from './mem_pools/attestation_pool/index.js';
2
+ export * from './bootstrap/bootstrap.js';
3
+ export * from './client/index.js';
4
+ export * from './config.js';
5
+ export * from './mem_pools/epoch_proof_quote_pool/index.js';
6
+ export * from './services/index.js';
7
+ export * from './mem_pools/tx_pool/index.js';
8
+ export * from './msg_validators/index.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC"}
package/dest/index.js CHANGED
@@ -6,3 +6,4 @@ export * from './mem_pools/epoch_proof_quote_pool/index.js';
6
6
  export * from './services/index.js';
7
7
  export * from './mem_pools/tx_pool/index.js';
8
8
  export * from './msg_validators/index.js';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQyJ9
@@ -0,0 +1,57 @@
1
+ import { type BlockAttestation } from '@aztec/circuit-types';
2
+ /**
3
+ * An Attestation Pool contains attestations collected by a validator
4
+ *
5
+ * Attestations that are observed via the p2p network are stored for requests
6
+ * from the validator to produce a block, or to serve to other peers.
7
+ */
8
+ export interface AttestationPool {
9
+ /**
10
+ * AddAttestation
11
+ *
12
+ * @param attestations - Attestations to add into the pool
13
+ */
14
+ addAttestations(attestations: BlockAttestation[]): Promise<void>;
15
+ /**
16
+ * DeleteAttestation
17
+ *
18
+ * @param attestations - Attestations to remove from the pool
19
+ */
20
+ deleteAttestations(attestations: BlockAttestation[]): Promise<void>;
21
+ /**
22
+ * Delete Attestations with a slot number smaller than the given slot
23
+ *
24
+ * Removes all attestations associated with a slot
25
+ *
26
+ * @param slot - The oldest slot to keep.
27
+ */
28
+ deleteAttestationsOlderThan(slot: bigint): Promise<void>;
29
+ /**
30
+ * Delete Attestations for slot
31
+ *
32
+ * Removes all attestations associated with a slot
33
+ *
34
+ * @param slot - The slot to delete.
35
+ */
36
+ deleteAttestationsForSlot(slot: bigint): Promise<void>;
37
+ /**
38
+ * Delete Attestations for slot and proposal
39
+ *
40
+ * Removes all attestations associated with a slot and proposal
41
+ *
42
+ * @param slot - The slot to delete.
43
+ * @param proposalId - The proposal to delete.
44
+ */
45
+ deleteAttestationsForSlotAndProposal(slot: bigint, proposalId: string): Promise<void>;
46
+ /**
47
+ * Get Attestations for slot
48
+ *
49
+ * Retrieve all of the attestations observed pertaining to a given slot
50
+ *
51
+ * @param slot - The slot to query
52
+ * @param proposalId - The proposal to query
53
+ * @return BlockAttestations
54
+ */
55
+ getAttestationsForSlot(slot: bigint, proposalId: string): Promise<BlockAttestation[]>;
56
+ }
57
+ //# sourceMappingURL=attestation_pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;;;;OAOG;IACH,oCAAoC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF;;;;;;;;OAQG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACvF"}
@@ -1,6 +1,2 @@
1
- /**
2
- * An Attestation Pool contains attestations collected by a validator
3
- *
4
- * Attestations that are observed via the p2p network are stored for requests
5
- * from the validator to produce a block, or to serve to other peers.
6
- */ export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvYXR0ZXN0YXRpb25fcG9vbC9hdHRlc3RhdGlvbl9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,3 @@
1
+ import { type AttestationPool } from './attestation_pool.js';
2
+ export declare function describeAttestationPool(getAttestationPool: () => AttestationPool): void;
3
+ //# sourceMappingURL=attestation_pool_test_suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool_test_suite.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,eAAe,QAuNhF"}