@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.
Files changed (241) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +2 -2
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +55 -41
  4. package/dest/client/factory.d.ts +8 -6
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +8 -10
  7. package/dest/client/index.js +0 -1
  8. package/dest/client/p2p_client.d.ts +7 -4
  9. package/dest/client/p2p_client.d.ts.map +1 -1
  10. package/dest/client/p2p_client.js +492 -514
  11. package/dest/config.d.ts +8 -10
  12. package/dest/config.d.ts.map +1 -1
  13. package/dest/config.js +54 -47
  14. package/dest/enr/generate-enr.d.ts +9 -0
  15. package/dest/enr/generate-enr.d.ts.map +1 -0
  16. package/dest/enr/generate-enr.js +30 -0
  17. package/dest/enr/index.d.ts +2 -0
  18. package/dest/enr/index.d.ts.map +1 -0
  19. package/dest/enr/index.js +1 -0
  20. package/dest/errors/reqresp.error.js +6 -10
  21. package/dest/index.js +0 -1
  22. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +1 -1
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  24. package/dest/mem_pools/attestation_pool/attestation_pool.js +6 -2
  25. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +65 -33
  28. package/dest/mem_pools/attestation_pool/index.js +0 -1
  29. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +3 -3
  30. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
  31. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +23 -20
  32. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +2 -2
  33. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
  34. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +22 -26
  35. package/dest/mem_pools/attestation_pool/mocks.d.ts +3 -2
  36. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  37. package/dest/mem_pools/attestation_pool/mocks.js +12 -7
  38. package/dest/mem_pools/index.d.ts +2 -2
  39. package/dest/mem_pools/index.d.ts.map +1 -1
  40. package/dest/mem_pools/index.js +1 -2
  41. package/dest/mem_pools/instrumentation.d.ts +1 -1
  42. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  43. package/dest/mem_pools/instrumentation.js +35 -39
  44. package/dest/mem_pools/interface.d.ts +3 -3
  45. package/dest/mem_pools/interface.d.ts.map +1 -1
  46. package/dest/mem_pools/interface.js +3 -2
  47. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +2 -2
  48. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +129 -136
  50. package/dest/mem_pools/tx_pool/index.js +0 -1
  51. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +2 -2
  52. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
  53. package/dest/mem_pools/tx_pool/memory_tx_pool.js +46 -44
  54. package/dest/mem_pools/tx_pool/priority.d.ts +1 -1
  55. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  56. package/dest/mem_pools/tx_pool/priority.js +1 -3
  57. package/dest/mem_pools/tx_pool/tx_pool.d.ts +1 -1
  58. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  59. package/dest/mem_pools/tx_pool/tx_pool.js +3 -2
  60. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  61. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  62. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +109 -39
  63. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +2 -2
  64. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  65. package/dest/msg_validators/attestation_validator/attestation_validator.js +4 -4
  66. package/dest/msg_validators/attestation_validator/index.js +0 -1
  67. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +2 -2
  68. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -1
  69. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +3 -3
  70. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  71. package/dest/msg_validators/index.js +0 -1
  72. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
  73. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  74. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +9 -11
  75. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +2 -2
  76. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  77. package/dest/msg_validators/tx_validator/block_header_validator.js +18 -13
  78. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  79. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  80. package/dest/msg_validators/tx_validator/data_validator.js +102 -33
  81. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -1
  82. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  83. package/dest/msg_validators/tx_validator/double_spend_validator.js +34 -20
  84. package/dest/msg_validators/tx_validator/index.js +0 -1
  85. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +2 -2
  86. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  87. package/dest/msg_validators/tx_validator/metadata_validator.js +30 -27
  88. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +2 -1
  89. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  90. package/dest/msg_validators/tx_validator/tx_proof_validator.js +17 -12
  91. package/dest/services/data_store.js +57 -57
  92. package/dest/services/discv5/discV5_service.d.ts +2 -0
  93. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  94. package/dest/services/discv5/discV5_service.js +64 -36
  95. package/dest/services/dummy_service.d.ts +4 -2
  96. package/dest/services/dummy_service.d.ts.map +1 -1
  97. package/dest/services/dummy_service.js +41 -59
  98. package/dest/services/encoding.d.ts +3 -3
  99. package/dest/services/encoding.d.ts.map +1 -1
  100. package/dest/services/encoding.js +10 -9
  101. package/dest/services/gossipsub/scoring.d.ts +7 -0
  102. package/dest/services/gossipsub/scoring.d.ts.map +1 -0
  103. package/dest/services/gossipsub/scoring.js +10 -0
  104. package/dest/services/index.js +0 -1
  105. package/dest/services/libp2p/libp2p_service.d.ts +10 -33
  106. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  107. package/dest/services/libp2p/libp2p_service.js +682 -673
  108. package/dest/services/peer-manager/metrics.js +14 -7
  109. package/dest/services/peer-manager/peer_manager.d.ts +24 -6
  110. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  111. package/dest/services/peer-manager/peer_manager.js +390 -340
  112. package/dest/services/peer-manager/peer_scoring.d.ts +3 -3
  113. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  114. package/dest/services/peer-manager/peer_scoring.js +21 -19
  115. package/dest/services/reqresp/config.js +4 -5
  116. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +2 -2
  117. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  118. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +35 -28
  119. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +1 -1
  120. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  121. package/dest/services/reqresp/connection-sampler/connection_sampler.js +67 -61
  122. package/dest/services/reqresp/index.js +1 -3
  123. package/dest/services/reqresp/interface.d.ts +2 -2
  124. package/dest/services/reqresp/interface.d.ts.map +1 -1
  125. package/dest/services/reqresp/interface.js +27 -31
  126. package/dest/services/reqresp/metrics.d.ts +1 -1
  127. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  128. package/dest/services/reqresp/metrics.js +23 -10
  129. package/dest/services/reqresp/protocols/block.d.ts +2 -2
  130. package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
  131. package/dest/services/reqresp/protocols/block.js +1 -2
  132. package/dest/services/reqresp/protocols/goodbye.d.ts +5 -5
  133. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
  134. package/dest/services/reqresp/protocols/goodbye.js +36 -41
  135. package/dest/services/reqresp/protocols/index.js +1 -3
  136. package/dest/services/reqresp/protocols/ping.js +1 -3
  137. package/dest/services/reqresp/protocols/status.js +1 -3
  138. package/dest/services/reqresp/protocols/tx.d.ts +3 -3
  139. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  140. package/dest/services/reqresp/protocols/tx.js +6 -9
  141. package/dest/services/reqresp/rate-limiter/index.js +0 -1
  142. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +9 -9
  143. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  144. package/dest/services/reqresp/rate-limiter/rate_limiter.js +53 -46
  145. package/dest/services/reqresp/rate-limiter/rate_limits.js +16 -17
  146. package/dest/services/reqresp/reqresp.d.ts +4 -4
  147. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  148. package/dest/services/reqresp/reqresp.js +467 -464
  149. package/dest/services/reqresp/status.js +16 -17
  150. package/dest/services/service.d.ts +3 -2
  151. package/dest/services/service.d.ts.map +1 -1
  152. package/dest/services/service.js +3 -4
  153. package/dest/test-helpers/generate-peer-id-private-keys.js +2 -4
  154. package/dest/test-helpers/get-ports.js +3 -3
  155. package/dest/test-helpers/index.js +0 -1
  156. package/dest/test-helpers/make-enrs.d.ts +1 -1
  157. package/dest/test-helpers/make-enrs.d.ts.map +1 -1
  158. package/dest/test-helpers/make-enrs.js +3 -6
  159. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -6
  160. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  161. package/dest/test-helpers/make-test-p2p-clients.js +10 -12
  162. package/dest/test-helpers/reqresp-nodes.d.ts +18 -7
  163. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  164. package/dest/test-helpers/reqresp-nodes.js +64 -40
  165. package/dest/testbench/p2p_client_testbench_worker.js +61 -45
  166. package/dest/testbench/parse_log_file.d.ts +2 -0
  167. package/dest/testbench/parse_log_file.d.ts.map +1 -0
  168. package/dest/testbench/parse_log_file.js +131 -0
  169. package/dest/testbench/testbench.d.ts +2 -0
  170. package/dest/testbench/testbench.d.ts.map +1 -0
  171. package/dest/testbench/testbench.js +141 -0
  172. package/dest/{services/types.d.ts → types/index.d.ts} +1 -1
  173. package/dest/types/index.d.ts.map +1 -0
  174. package/dest/types/index.js +28 -0
  175. package/dest/util.d.ts +5 -5
  176. package/dest/util.d.ts.map +1 -1
  177. package/dest/util.js +23 -34
  178. package/dest/versioning.d.ts +3 -3
  179. package/dest/versioning.d.ts.map +1 -1
  180. package/dest/versioning.js +7 -12
  181. package/package.json +15 -13
  182. package/src/bootstrap/bootstrap.ts +30 -17
  183. package/src/client/factory.ts +9 -12
  184. package/src/client/p2p_client.ts +13 -24
  185. package/src/config.ts +14 -15
  186. package/src/enr/generate-enr.ts +39 -0
  187. package/src/enr/index.ts +1 -0
  188. package/src/mem_pools/attestation_pool/attestation_pool.ts +1 -1
  189. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +4 -3
  190. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +3 -3
  191. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +2 -2
  192. package/src/mem_pools/attestation_pool/mocks.ts +5 -5
  193. package/src/mem_pools/index.ts +2 -2
  194. package/src/mem_pools/instrumentation.ts +4 -3
  195. package/src/mem_pools/interface.ts +3 -3
  196. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +4 -4
  197. package/src/mem_pools/tx_pool/memory_tx_pool.ts +3 -3
  198. package/src/mem_pools/tx_pool/priority.ts +1 -1
  199. package/src/mem_pools/tx_pool/tx_pool.ts +1 -1
  200. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +4 -3
  201. package/src/msg_validators/attestation_validator/attestation_validator.ts +2 -2
  202. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +2 -2
  203. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +1 -1
  204. package/src/msg_validators/tx_validator/block_header_validator.ts +2 -2
  205. package/src/msg_validators/tx_validator/data_validator.ts +57 -4
  206. package/src/msg_validators/tx_validator/double_spend_validator.ts +17 -12
  207. package/src/msg_validators/tx_validator/metadata_validator.ts +2 -2
  208. package/src/msg_validators/tx_validator/tx_proof_validator.ts +2 -6
  209. package/src/services/discv5/discV5_service.ts +33 -8
  210. package/src/services/dummy_service.ts +4 -2
  211. package/src/services/encoding.ts +3 -3
  212. package/src/services/gossipsub/scoring.ts +13 -0
  213. package/src/services/libp2p/libp2p_service.ts +124 -146
  214. package/src/services/peer-manager/peer_manager.ts +71 -13
  215. package/src/services/peer-manager/peer_scoring.ts +3 -3
  216. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +2 -2
  217. package/src/services/reqresp/connection-sampler/connection_sampler.ts +9 -3
  218. package/src/services/reqresp/interface.ts +4 -3
  219. package/src/services/reqresp/metrics.ts +1 -1
  220. package/src/services/reqresp/protocols/block.ts +3 -3
  221. package/src/services/reqresp/protocols/goodbye.ts +7 -7
  222. package/src/services/reqresp/protocols/tx.ts +5 -5
  223. package/src/services/reqresp/rate-limiter/rate_limiter.ts +22 -18
  224. package/src/services/reqresp/reqresp.ts +18 -11
  225. package/src/services/service.ts +3 -2
  226. package/src/test-helpers/make-enrs.ts +1 -1
  227. package/src/test-helpers/make-test-p2p-clients.ts +9 -7
  228. package/src/test-helpers/reqresp-nodes.ts +32 -18
  229. package/src/testbench/p2p_client_testbench_worker.ts +16 -9
  230. package/src/testbench/parse_log_file.ts +175 -0
  231. package/src/testbench/testbench.ts +157 -0
  232. package/src/util.ts +5 -5
  233. package/src/versioning.ts +7 -7
  234. package/dest/services/libp2p/libp2p_logger.d.ts +0 -7
  235. package/dest/services/libp2p/libp2p_logger.d.ts.map +0 -1
  236. package/dest/services/libp2p/libp2p_logger.js +0 -67
  237. package/dest/services/types.d.ts.map +0 -1
  238. package/dest/services/types.js +0 -35
  239. package/src/services/libp2p/libp2p_logger.ts +0 -78
  240. package/src/testbench/scripts/run_testbench.sh +0 -7
  241. /package/src/{services/types.ts → types/index.ts} +0 -0
package/dest/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { type ChainConfig } from '@aztec/circuit-types/config';
2
1
  import { type ConfigMappingsType } from '@aztec/foundation/config';
3
2
  import { type DataStoreConfig } from '@aztec/kv-store/config';
3
+ import { type ChainConfig } from '@aztec/stdlib/config';
4
4
  import { type P2PReqRespConfig } from './services/reqresp/config.js';
5
5
  /**
6
6
  * P2P client configuration values.
@@ -18,10 +18,6 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig {
18
18
  * The number of blocks to fetch in a single batch.
19
19
  */
20
20
  blockRequestBatchSize: number;
21
- /**
22
- * DEBUG: Disable message validation - for testing purposes only
23
- */
24
- debugDisableMessageValidation: boolean;
25
21
  /**
26
22
  * DEBUG: Disable colocation penalty - for testing purposes only
27
23
  */
@@ -60,6 +56,8 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig {
60
56
  bootstrapNodes: string[];
61
57
  /** Whether to execute the version check in the bootstrap node ENR. */
62
58
  bootstrapNodeEnrVersionCheck: boolean;
59
+ /** Whether to consider any configured bootnodes as full peers, e.g. for transaction gossiping */
60
+ bootstrapNodesAsFullPeers: boolean;
63
61
  /**
64
62
  * Protocol identifier for transaction gossiping.
65
63
  */
@@ -141,8 +139,10 @@ export declare function getP2PDefaultConfig(): P2PConfig;
141
139
  /**
142
140
  * Required P2P config values for a bootstrap node.
143
141
  */
144
- export type BootnodeConfig = Pick<P2PConfig, 'udpAnnounceAddress' | 'peerIdPrivateKey' | 'maxPeerCount'> & Required<Pick<P2PConfig, 'udpListenAddress'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKB'> & ChainConfig;
142
+ export type BootnodeConfig = Pick<P2PConfig, 'udpAnnounceAddress' | 'peerIdPrivateKey' | 'bootstrapNodes'> & Required<Pick<P2PConfig, 'udpListenAddress'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKB'> & Pick<ChainConfig, 'l1ChainId'>;
145
143
  export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
144
+ l1ChainId: unknown;
145
+ version: unknown;
146
146
  l1Contracts: unknown;
147
147
  dataDirectory: unknown;
148
148
  dataStoreMapSizeKB: unknown;
@@ -151,7 +151,6 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
151
151
  p2pEnabled: unknown;
152
152
  blockCheckIntervalMS: unknown;
153
153
  blockRequestBatchSize: unknown;
154
- debugDisableMessageValidation: unknown;
155
154
  debugDisableColocationPenalty: unknown;
156
155
  peerCheckIntervalMS: unknown;
157
156
  l2QueueSize: unknown;
@@ -162,6 +161,7 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
162
161
  peerIdPrivateKey: unknown;
163
162
  bootstrapNodes: unknown;
164
163
  bootstrapNodeEnrVersionCheck: unknown;
164
+ bootstrapNodesAsFullPeers: unknown;
165
165
  transactionProtocol: unknown;
166
166
  maxPeerCount: unknown;
167
167
  queryForIp: unknown;
@@ -181,7 +181,5 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
181
181
  gossipsubTxInvalidMessageDeliveriesDecay: unknown;
182
182
  peerPenaltyValues: unknown;
183
183
  archivedTxLimit: unknown;
184
- l1ChainId: unknown;
185
- version: unknown;
186
- }, "udpAnnounceAddress" | "udpListenAddress" | "peerIdPrivateKey" | "maxPeerCount" | keyof ChainConfig | "dataDirectory" | "dataStoreMapSizeKB">>;
184
+ }, "udpAnnounceAddress" | "udpListenAddress" | "peerIdPrivateKey" | "bootstrapNodes" | "l1ChainId" | "dataDirectory" | "dataStoreMapSizeKB">>;
187
185
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,6BAA6B,CAAC;AACpF,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,EAAE,WAAW;IAC9D;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;IAEvC;;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,sEAAsE;IACtE,4BAA4B,EAAE,OAAO,CAAC;IAEtC;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;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,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;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,sIAAsI;IACtI,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CA4K3D,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,CAAC,SAAS,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,cAAc,CAAC,GACtG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,GAC7C,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB,CAAC,GAC7D,WAAW,CAAC;AAWd,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAGlC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dest/config.js CHANGED
@@ -1,179 +1,182 @@
1
- import { chainConfigMappings } from '@aztec/circuit-types/config';
2
- import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, pickConfigMappings, } from '@aztec/foundation/config';
1
+ import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, pickConfigMappings } from '@aztec/foundation/config';
3
2
  import { dataConfigMappings } from '@aztec/kv-store/config';
3
+ import { chainConfigMappings } from '@aztec/stdlib/config';
4
4
  import { p2pReqRespConfigMappings } from './services/reqresp/config.js';
5
5
  export const p2pConfigMappings = {
6
6
  p2pEnabled: {
7
7
  env: 'P2P_ENABLED',
8
8
  description: 'A flag dictating whether the P2P subsystem should be enabled.',
9
- ...booleanConfigHelper(),
9
+ ...booleanConfigHelper()
10
10
  },
11
11
  blockCheckIntervalMS: {
12
12
  env: 'P2P_BLOCK_CHECK_INTERVAL_MS',
13
13
  description: 'The frequency in which to check for new L2 blocks.',
14
- ...numberConfigHelper(100),
15
- },
16
- debugDisableMessageValidation: {
17
- env: 'DEBUG_P2P_DISABLE_MESSAGE_VALIDATION',
18
- description: 'DEBUG: Disable message validation - NEVER set to true in production',
19
- ...booleanConfigHelper(false),
14
+ ...numberConfigHelper(100)
20
15
  },
21
16
  debugDisableColocationPenalty: {
22
17
  env: 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY',
23
18
  description: 'DEBUG: Disable colocation penalty - NEVER set to true in production',
24
- ...booleanConfigHelper(false),
19
+ ...booleanConfigHelper(false)
25
20
  },
26
21
  peerCheckIntervalMS: {
27
22
  env: 'P2P_PEER_CHECK_INTERVAL_MS',
28
23
  description: 'The frequency in which to check for new peers.',
29
- ...numberConfigHelper(30000),
24
+ ...numberConfigHelper(30_000)
30
25
  },
31
26
  l2QueueSize: {
32
27
  env: 'P2P_L2_QUEUE_SIZE',
33
28
  description: 'Size of queue of L2 blocks to store.',
34
- ...numberConfigHelper(1000),
29
+ ...numberConfigHelper(1_000)
35
30
  },
36
31
  tcpListenAddress: {
37
32
  env: 'P2P_TCP_LISTEN_ADDR',
38
33
  defaultValue: '0.0.0.0:40400',
39
- description: 'The listen address for TCP. Format: <IP_ADDRESS>:<PORT>.',
34
+ description: 'The listen address for TCP. Format: <IP_ADDRESS>:<PORT>.'
40
35
  },
41
36
  udpListenAddress: {
42
37
  env: 'P2P_UDP_LISTEN_ADDR',
43
38
  defaultValue: '0.0.0.0:40400',
44
- description: 'The listen address for UDP. Format: <IP_ADDRESS>:<PORT>.',
39
+ description: 'The listen address for UDP. Format: <IP_ADDRESS>:<PORT>.'
45
40
  },
46
41
  tcpAnnounceAddress: {
47
42
  env: 'P2P_TCP_ANNOUNCE_ADDR',
48
- description: 'The announce address for TCP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.',
43
+ description: 'The announce address for TCP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.'
49
44
  },
50
45
  udpAnnounceAddress: {
51
46
  env: 'P2P_UDP_ANNOUNCE_ADDR',
52
- description: 'The announce address for UDP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.',
47
+ description: 'The announce address for UDP. Format: <IP_ADDRESS>:<PORT>. Leave IP_ADDRESS blank to query for public IP.'
53
48
  },
54
49
  peerIdPrivateKey: {
55
50
  env: 'PEER_ID_PRIVATE_KEY',
56
- description: 'An optional peer id private key. If blank, will generate a random key.',
51
+ description: 'An optional peer id private key. If blank, will generate a random key.'
57
52
  },
58
53
  bootstrapNodes: {
59
54
  env: 'BOOTSTRAP_NODES',
60
- parseEnv: (val) => val.split(','),
61
- description: 'A list of bootstrap peer ENRs to connect to. Separated by commas.',
55
+ parseEnv: (val)=>val.split(','),
56
+ description: 'A list of bootstrap peer ENRs to connect to. Separated by commas.'
62
57
  },
63
58
  bootstrapNodeEnrVersionCheck: {
64
59
  env: 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK',
65
60
  description: 'Whether to check the version of the bootstrap node ENR.',
66
- ...booleanConfigHelper(),
61
+ ...booleanConfigHelper()
62
+ },
63
+ bootstrapNodesAsFullPeers: {
64
+ env: 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS',
65
+ description: 'Whether to consider our configured bootnodes as full peers',
66
+ ...booleanConfigHelper(false)
67
67
  },
68
68
  transactionProtocol: {
69
69
  env: 'P2P_TX_PROTOCOL',
70
70
  description: 'Protocol identifier for transaction gossiping.',
71
- defaultValue: '/aztec/0.1.0',
71
+ defaultValue: '/aztec/0.1.0'
72
72
  },
73
73
  maxPeerCount: {
74
74
  env: 'P2P_MAX_PEERS',
75
75
  description: 'The maximum number of peers to connect to.',
76
- ...numberConfigHelper(100),
76
+ ...numberConfigHelper(100)
77
77
  },
78
78
  queryForIp: {
79
79
  env: 'P2P_QUERY_FOR_IP',
80
80
  description: 'If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.',
81
- ...booleanConfigHelper(),
81
+ ...booleanConfigHelper()
82
82
  },
83
83
  keepProvenTxsInPoolFor: {
84
84
  env: 'P2P_TX_POOL_KEEP_PROVEN_FOR',
85
85
  description: 'How many blocks have to pass after a block is proven before its txs are deleted (zero to delete immediately once proven)',
86
- ...numberConfigHelper(0),
86
+ ...numberConfigHelper(0)
87
87
  },
88
88
  keepAttestationsInPoolFor: {
89
89
  env: 'P2P_ATTESTATION_POOL_KEEP_FOR',
90
90
  description: 'How many slots to keep attestations for.',
91
- ...numberConfigHelper(96),
91
+ ...numberConfigHelper(96)
92
92
  },
93
93
  gossipsubInterval: {
94
94
  env: 'P2P_GOSSIPSUB_INTERVAL_MS',
95
95
  description: 'The interval of the gossipsub heartbeat to perform maintenance tasks.',
96
- ...numberConfigHelper(700),
96
+ ...numberConfigHelper(700)
97
97
  },
98
98
  gossipsubD: {
99
99
  env: 'P2P_GOSSIPSUB_D',
100
100
  description: 'The D parameter for the gossipsub protocol.',
101
- ...numberConfigHelper(8),
101
+ ...numberConfigHelper(8)
102
102
  },
103
103
  gossipsubDlo: {
104
104
  env: 'P2P_GOSSIPSUB_DLO',
105
105
  description: 'The Dlo parameter for the gossipsub protocol.',
106
- ...numberConfigHelper(4),
106
+ ...numberConfigHelper(4)
107
107
  },
108
108
  gossipsubDhi: {
109
109
  env: 'P2P_GOSSIPSUB_DHI',
110
110
  description: 'The Dhi parameter for the gossipsub protocol.',
111
- ...numberConfigHelper(12),
111
+ ...numberConfigHelper(12)
112
112
  },
113
113
  gossipsubDLazy: {
114
114
  env: 'P2P_GOSSIPSUB_DLAZY',
115
115
  description: 'The Dlazy parameter for the gossipsub protocol.',
116
- ...numberConfigHelper(6),
116
+ ...numberConfigHelper(6)
117
117
  },
118
118
  gossipsubFloodPublish: {
119
119
  env: 'P2P_GOSSIPSUB_FLOOD_PUBLISH',
120
120
  description: 'Whether to flood publish messages. - For testing purposes only',
121
- ...booleanConfigHelper(true),
121
+ ...booleanConfigHelper(true)
122
122
  },
123
123
  gossipsubMcacheLength: {
124
124
  env: 'P2P_GOSSIPSUB_MCACHE_LENGTH',
125
125
  description: 'The number of gossipsub interval message cache windows to keep.',
126
- ...numberConfigHelper(6),
126
+ ...numberConfigHelper(6)
127
127
  },
128
128
  gossipsubMcacheGossip: {
129
129
  env: 'P2P_GOSSIPSUB_MCACHE_GOSSIP',
130
130
  description: 'How many message cache windows to include when gossiping with other pears.',
131
- ...numberConfigHelper(3),
131
+ ...numberConfigHelper(3)
132
132
  },
133
133
  gossipsubTxTopicWeight: {
134
134
  env: 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT',
135
135
  description: 'The weight of the tx topic for the gossipsub protocol.',
136
- ...numberConfigHelper(1),
136
+ ...numberConfigHelper(1)
137
137
  },
138
138
  gossipsubTxInvalidMessageDeliveriesWeight: {
139
139
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT',
140
140
  description: 'The weight of the tx invalid message deliveries for the gossipsub protocol.',
141
- ...numberConfigHelper(-20),
141
+ ...numberConfigHelper(-20)
142
142
  },
143
143
  gossipsubTxInvalidMessageDeliveriesDecay: {
144
144
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY',
145
145
  description: 'Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.',
146
- ...numberConfigHelper(0.5),
146
+ ...numberConfigHelper(0.5)
147
147
  },
148
148
  peerPenaltyValues: {
149
149
  env: 'P2P_PEER_PENALTY_VALUES',
150
- parseEnv: (val) => val.split(',').map(Number),
150
+ parseEnv: (val)=>val.split(',').map(Number),
151
151
  description: 'The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors.',
152
- defaultValue: [2, 10, 50],
152
+ defaultValue: [
153
+ 2,
154
+ 10,
155
+ 50
156
+ ]
153
157
  },
154
158
  severePeerPenaltyBlockLength: {
155
159
  env: 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH',
156
160
  description: 'The "age" (in L2 blocks) of a tx after which we heavily penalize a peer for sending it.',
157
- ...numberConfigHelper(30),
161
+ ...numberConfigHelper(30)
158
162
  },
159
163
  blockRequestBatchSize: {
160
164
  env: 'P2P_BLOCK_REQUEST_BATCH_SIZE',
161
165
  description: 'The number of blocks to fetch in a single batch.',
162
- ...numberConfigHelper(20),
166
+ ...numberConfigHelper(20)
163
167
  },
164
168
  archivedTxLimit: {
165
169
  env: 'P2P_ARCHIVED_TX_LIMIT',
166
170
  description: 'The number of transactions that will be archived. If the limit is set to 0 then archiving will be disabled.',
167
- ...numberConfigHelper(0),
171
+ ...numberConfigHelper(0)
168
172
  },
169
173
  ...p2pReqRespConfigMappings,
170
- ...chainConfigMappings,
174
+ ...chainConfigMappings
171
175
  };
172
176
  /**
173
177
  * Gets the config values for p2p client from environment variables.
174
178
  * @returns The config values for p2p client.
175
- */
176
- export function getP2PConfigFromEnv() {
179
+ */ export function getP2PConfigFromEnv() {
177
180
  return getConfigFromMappings(p2pConfigMappings);
178
181
  }
179
182
  export function getP2PDefaultConfig() {
@@ -182,10 +185,14 @@ export function getP2PDefaultConfig() {
182
185
  const bootnodeConfigKeys = [
183
186
  'udpAnnounceAddress',
184
187
  'peerIdPrivateKey',
185
- 'maxPeerCount',
186
188
  'udpListenAddress',
187
189
  'dataDirectory',
188
190
  'dataStoreMapSizeKB',
191
+ 'bootstrapNodes',
192
+ 'l1ChainId'
189
193
  ];
190
- export const bootnodeConfigMappings = pickConfigMappings({ ...p2pConfigMappings, ...dataConfigMappings }, bootnodeConfigKeys);
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBb0svRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBa0M7SUFDOUQsVUFBVSxFQUFFO1FBQ1YsR0FBRyxFQUFFLGFBQWE7UUFDbEIsV0FBVyxFQUFFLCtEQUErRDtRQUM1RSxHQUFHLG1CQUFtQixFQUFFO0tBQ3pCO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0tBQzNCO0lBQ0QsNkJBQTZCLEVBQUU7UUFDN0IsR0FBRyxFQUFFLHNDQUFzQztRQUMzQyxXQUFXLEVBQUUscUVBQXFFO1FBQ2xGLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0tBQzlCO0lBQ0QsNkJBQTZCLEVBQUU7UUFDN0IsR0FBRyxFQUFFLHNDQUFzQztRQUMzQyxXQUFXLEVBQUUscUVBQXFFO1FBQ2xGLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0tBQzlCO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxXQUFXLEVBQUUsZ0RBQWdEO1FBQzdELEdBQUcsa0JBQWtCLENBQUMsS0FBTSxDQUFDO0tBQzlCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsR0FBRyxFQUFFLG1C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
194
+ export const bootnodeConfigMappings = pickConfigMappings({
195
+ ...p2pConfigMappings,
196
+ ...dataConfigMappings,
197
+ ...chainConfigMappings
198
+ }, bootnodeConfigKeys);
@@ -0,0 +1,9 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ import { SignableENR } from '@chainsafe/enr';
3
+ import type { PeerId } from '@libp2p/interface';
4
+ export declare function createBootnodeENRandPeerId(privateKey: string, udpAnnounceAddress: string, l1ChainId: number): Promise<{
5
+ enr: SignableENR;
6
+ peerId: PeerId;
7
+ }>;
8
+ export declare function printENR(enr: string, log: LogFn): Promise<void>;
9
+ //# sourceMappingURL=generate-enr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-enr.d.ts","sourceRoot":"","sources":["../../src/enr/generate-enr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAO,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAOhD,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAa/C;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAQrD"}
@@ -0,0 +1,30 @@
1
+ import { emptyChainConfig } from '@aztec/stdlib/config';
2
+ import { ENR, SignableENR } from '@chainsafe/enr';
3
+ import { multiaddr } from '@multiformats/multiaddr';
4
+ import { AZTEC_ENR_KEY } from '../types/index.js';
5
+ import { convertToMultiaddr, createLibP2PPeerIdFromPrivateKey } from '../util.js';
6
+ import { setAztecEnrKey } from '../versioning.js';
7
+ export async function createBootnodeENRandPeerId(privateKey, udpAnnounceAddress, l1ChainId) {
8
+ const peerId = await createLibP2PPeerIdFromPrivateKey(privateKey);
9
+ const enr = SignableENR.createFromPeerId(peerId);
10
+ const publicAddr = multiaddr(convertToMultiaddr(udpAnnounceAddress, 'udp'));
11
+ enr.setLocationMultiaddr(publicAddr);
12
+ const config = {
13
+ ...emptyChainConfig,
14
+ l1ChainId
15
+ };
16
+ setAztecEnrKey(enr, config);
17
+ return {
18
+ enr,
19
+ peerId
20
+ };
21
+ }
22
+ export async function printENR(enr, log) {
23
+ const decoded = ENR.decodeTxt(enr);
24
+ log(`PeerID: ${await decoded.peerId()}`);
25
+ log(`IP: ${decoded.ip}`);
26
+ log(`UDP: ${decoded.udp}`);
27
+ log(`TCP: ${decoded.tcp}`);
28
+ const aztec = decoded.kvs.get(AZTEC_ENR_KEY);
29
+ log(`Aztec version: ${aztec?.toString()}`);
30
+ }
@@ -0,0 +1,2 @@
1
+ export * from './generate-enr.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enr/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './generate-enr.js';
@@ -2,9 +2,8 @@
2
2
  *
3
3
  * This error will be thrown when a request to a specific peer times out.
4
4
  * @category Errors
5
- */
6
- export class IndividualReqRespTimeoutError extends Error {
7
- constructor() {
5
+ */ export class IndividualReqRespTimeoutError extends Error {
6
+ constructor(){
8
7
  super(`Request to peer timed out`);
9
8
  }
10
9
  }
@@ -12,9 +11,8 @@ export class IndividualReqRespTimeoutError extends Error {
12
11
  *
13
12
  * This error will be thrown when a req resp request times out regardless of the peer.
14
13
  * @category Errors
15
- */
16
- export class CollectiveReqRespTimeoutError extends Error {
17
- constructor() {
14
+ */ export class CollectiveReqRespTimeoutError extends Error {
15
+ constructor(){
18
16
  super(`Request to all peers timed out`);
19
17
  }
20
18
  }
@@ -25,10 +23,8 @@ export class CollectiveReqRespTimeoutError extends Error {
25
23
  * This error does not need to be punished as message validators will handle punishing invalid
26
24
  * requests
27
25
  * @category Errors
28
- */
29
- export class InvalidResponseError extends Error {
30
- constructor() {
26
+ */ export class InvalidResponseError extends Error {
27
+ constructor(){
31
28
  super(`Invalid response received`);
32
29
  }
33
30
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC5lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvcmVxcmVzcC5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLEtBQUs7SUFDdEQ7UUFDRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLEtBQUs7SUFDdEQ7UUFDRSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLEtBQUs7SUFDN0M7UUFDRSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YifQ==
package/dest/index.js CHANGED
@@ -5,4 +5,3 @@ export * from './mem_pools/attestation_pool/index.js';
5
5
  export * from './mem_pools/tx_pool/index.js';
6
6
  export * from './msg_validators/index.js';
7
7
  export * from './services/index.js';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUMifQ==
@@ -1,4 +1,4 @@
1
- import { type BlockAttestation } from '@aztec/circuit-types';
1
+ import type { BlockAttestation } from '@aztec/stdlib/p2p';
2
2
  /**
3
3
  * An Attestation Pool contains attestations collected by a validator
4
4
  *
@@ -1 +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
+ {"version":3,"file":"attestation_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;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,2 +1,6 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvYXR0ZXN0YXRpb25fcG9vbC9hdHRlc3RhdGlvbl9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
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,3 +1,3 @@
1
- import { type AttestationPool } from './attestation_pool.js';
1
+ import type { AttestationPool } from './attestation_pool.js';
2
2
  export declare function describeAttestationPool(getAttestationPool: () => AttestationPool): void;
3
3
  //# sourceMappingURL=attestation_pool_test_suite.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"attestation_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool_test_suite.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,eAAe,QAuNhF"}