@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
@@ -13,45 +13,36 @@ import { createLibp2p } from 'libp2p';
13
13
  import { BootstrapNode } from '../bootstrap/bootstrap.js';
14
14
  import { DiscV5Service } from '../services/discv5/discV5_service.js';
15
15
  import { LibP2PService } from '../services/libp2p/libp2p_service.js';
16
- import { ReqRespSubProtocol, noopValidator } from '../services/reqresp/interface.js';
16
+ import { ReqRespSubProtocol, noopValidator, } from '../services/reqresp/interface.js';
17
17
  import { pingHandler, statusHandler } from '../services/reqresp/protocols/index.js';
18
18
  import { ReqResp } from '../services/reqresp/reqresp.js';
19
19
  /**
20
20
  * Creates a libp2p node, pre configured.
21
21
  * @param boostrapAddrs - an optional list of bootstrap addresses
22
22
  * @returns Lip2p node
23
- */ export async function createLibp2pNode(boostrapAddrs = [], peerId, port, enableGossipSub = false, start = true) {
24
- port = port ?? await getPort();
23
+ */
24
+ export async function createLibp2pNode(boostrapAddrs = [], peerId, port, enableGossipSub = false, start = true) {
25
+ port = port ?? (await getPort());
25
26
  const options = {
26
27
  start,
27
28
  addresses: {
28
- listen: [
29
- `/ip4/0.0.0.0/tcp/${port}`
30
- ],
31
- announce: [
32
- `/ip4/0.0.0.0/tcp/${port}`
33
- ]
29
+ listen: [`/ip4/0.0.0.0/tcp/${port}`],
30
+ announce: [`/ip4/0.0.0.0/tcp/${port}`],
34
31
  },
35
- connectionEncryption: [
36
- noise()
37
- ],
38
- streamMuxers: [
39
- yamux()
40
- ],
41
- transports: [
42
- tcp()
43
- ],
32
+ connectionEncryption: [noise()],
33
+ streamMuxers: [yamux()],
34
+ transports: [tcp()],
44
35
  services: {
45
36
  identify: identify({
46
- protocolPrefix: 'aztec'
47
- })
48
- }
37
+ protocolPrefix: 'aztec',
38
+ }),
39
+ },
49
40
  };
50
41
  if (boostrapAddrs.length > 0) {
51
42
  options.peerDiscovery = [
52
43
  bootstrap({
53
- list: boostrapAddrs
54
- })
44
+ list: boostrapAddrs,
45
+ }),
55
46
  ];
56
47
  }
57
48
  if (peerId) {
@@ -59,7 +50,7 @@ import { ReqResp } from '../services/reqresp/reqresp.js';
59
50
  }
60
51
  if (enableGossipSub) {
61
52
  options.services.pubsub = gossipsub({
62
- allowPublishToZeroTopicPeers: true
53
+ allowPublishToZeroTopicPeers: true,
63
54
  });
64
55
  }
65
56
  return await createLibp2p(options);
@@ -69,8 +60,9 @@ import { ReqResp } from '../services/reqresp/reqresp.js';
69
60
  * P2P functionality is operational, however everything else is default
70
61
  *
71
62
  *
72
- */ export async function createTestLibP2PService(clientType, boostrapAddrs = [], l2BlockSource, worldStateSynchronizer, epochCache, mempools, telemetry, port = 0, peerId) {
73
- peerId = peerId ?? await createSecp256k1PeerId();
63
+ */
64
+ export async function createTestLibP2PService(clientType, boostrapAddrs = [], l2BlockSource, worldStateSynchronizer, epochCache, mempools, telemetry, port = 0, peerId) {
65
+ peerId = peerId ?? (await createSecp256k1PeerId());
74
66
  const config = {
75
67
  tcpAnnounceAddress: `127.0.0.1:${port}`,
76
68
  udpAnnounceAddress: `127.0.0.1:${port}`,
@@ -81,7 +73,7 @@ import { ReqResp } from '../services/reqresp/reqresp.js';
81
73
  minPeerCount: 1,
82
74
  maxPeerCount: 5,
83
75
  p2pEnabled: true,
84
- peerIdPrivateKey: Buffer.from(peerId.privateKey).toString('hex')
76
+ peerIdPrivateKey: Buffer.from(peerId.privateKey).toString('hex'),
85
77
  };
86
78
  const discoveryService = new DiscV5Service(peerId, config, telemetry);
87
79
  const proofVerifier = new AlwaysTrueCircuitVerifier();
@@ -93,9 +85,9 @@ import { ReqResp } from '../services/reqresp/reqresp.js';
93
85
  export const MOCK_SUB_PROTOCOL_HANDLERS = {
94
86
  [ReqRespSubProtocol.PING]: pingHandler,
95
87
  [ReqRespSubProtocol.STATUS]: statusHandler,
96
- [ReqRespSubProtocol.TX]: (_msg)=>Promise.resolve(Buffer.from('tx')),
97
- [ReqRespSubProtocol.GOODBYE]: (_msg)=>Promise.resolve(Buffer.from('goodbye')),
98
- [ReqRespSubProtocol.BLOCK]: (_msg)=>Promise.resolve(Buffer.from('block'))
88
+ [ReqRespSubProtocol.TX]: (_msg) => Promise.resolve(Buffer.from('tx')),
89
+ [ReqRespSubProtocol.GOODBYE]: (_msg) => Promise.resolve(Buffer.from('goodbye')),
90
+ [ReqRespSubProtocol.BLOCK]: (_msg) => Promise.resolve(Buffer.from('block')),
99
91
  };
100
92
  // By default, all requests are valid
101
93
  // If you want to test an invalid response, you can override the validator
@@ -104,43 +96,41 @@ export const MOCK_SUB_PROTOCOL_VALIDATORS = {
104
96
  [ReqRespSubProtocol.STATUS]: noopValidator,
105
97
  [ReqRespSubProtocol.TX]: noopValidator,
106
98
  [ReqRespSubProtocol.GOODBYE]: noopValidator,
107
- [ReqRespSubProtocol.BLOCK]: noopValidator
99
+ [ReqRespSubProtocol.BLOCK]: noopValidator,
108
100
  };
109
101
  /**
110
102
  * @param numberOfNodes - the number of nodes to create
111
103
  * @returns An array of the created nodes
112
- */ export const createNodes = (peerScoring, numberOfNodes)=>{
113
- return timesParallel(numberOfNodes, ()=>createReqResp(peerScoring));
104
+ */
105
+ export const createNodes = (peerScoring, numberOfNodes) => {
106
+ return timesParallel(numberOfNodes, () => createReqResp(peerScoring));
114
107
  };
115
- export const startNodes = async (nodes, subProtocolHandlers = MOCK_SUB_PROTOCOL_HANDLERS, subProtocolValidators = MOCK_SUB_PROTOCOL_VALIDATORS)=>{
116
- for (const node of nodes){
108
+ export const startNodes = async (nodes, subProtocolHandlers = MOCK_SUB_PROTOCOL_HANDLERS, subProtocolValidators = MOCK_SUB_PROTOCOL_VALIDATORS) => {
109
+ for (const node of nodes) {
117
110
  await node.req.start(subProtocolHandlers, subProtocolValidators);
118
111
  }
119
112
  };
120
- export const stopNodes = async (nodes)=>{
121
- const stopPromises = nodes.flatMap((node)=>[
122
- node.req.stop(),
123
- node.p2p.stop()
124
- ]);
113
+ export const stopNodes = async (nodes) => {
114
+ const stopPromises = nodes.flatMap(node => [node.req.stop(), node.p2p.stop()]);
125
115
  await Promise.all(stopPromises);
126
116
  };
127
117
  // Create a req resp node, exposing the underlying p2p node
128
- export const createReqResp = async (peerScoring)=>{
118
+ export const createReqResp = async (peerScoring) => {
129
119
  const p2p = await createLibp2pNode();
130
120
  const config = {
131
121
  overallRequestTimeoutMs: 4000,
132
- individualRequestTimeoutMs: 2000
122
+ individualRequestTimeoutMs: 2000,
133
123
  };
134
124
  const req = new ReqResp(config, p2p, peerScoring);
135
125
  return {
136
126
  p2p,
137
- req
127
+ req,
138
128
  };
139
129
  };
140
130
  // Given a node list; hand shake all of the nodes with each other
141
- export const connectToPeers = async (nodes)=>{
142
- for (const node of nodes){
143
- for (const otherNode of nodes){
131
+ export const connectToPeers = async (nodes) => {
132
+ for (const node of nodes) {
133
+ for (const otherNode of nodes) {
144
134
  if (node === otherNode) {
145
135
  continue;
146
136
  }
@@ -169,7 +159,7 @@ export function createBootstrapNodeConfig(privateKey, port) {
169
159
  minPeerCount: 10,
170
160
  maxPeerCount: 100,
171
161
  dataDirectory: undefined,
172
- dataStoreMapSizeKB: 0
162
+ dataStoreMapSizeKB: 0,
173
163
  };
174
164
  }
175
165
  export function createBootstrapNodeFromPrivateKey(privateKey, port, telemetry = getTelemetryClient()) {
@@ -188,3 +178,4 @@ async function startBootstrapNode(config, telemetry) {
188
178
  await bootstrapNode.start(config);
189
179
  return bootstrapNode;
190
180
  }
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEVBQW1DLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdyRSxPQUFPLEVBQ0wsa0JBQWtCLEVBR2xCLGFBQWEsR0FDZCxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3pE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
@@ -0,0 +1,8 @@
1
+ import { type BlockAttestation, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
2
+ import { type EpochCache } from '@aztec/epoch-cache';
3
+ export declare class AttestationValidator implements P2PValidator<BlockAttestation> {
4
+ private epochCache;
5
+ constructor(epochCache: EpochCache);
6
+ validate(message: BlockAttestation): Promise<PeerErrorSeverity | undefined>;
7
+ }
8
+ //# sourceMappingURL=attestation_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,oBAAqB,YAAW,YAAY,CAAC,gBAAgB,CAAC;IACzE,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAI5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAelF"}
@@ -1,7 +1,6 @@
1
1
  import { PeerErrorSeverity } from '@aztec/circuit-types';
2
2
  export class AttestationValidator {
3
- epochCache;
4
- constructor(epochCache){
3
+ constructor(epochCache) {
5
4
  this.epochCache = epochCache;
6
5
  }
7
6
  async validate(message) {
@@ -11,9 +10,10 @@ export class AttestationValidator {
11
10
  return PeerErrorSeverity.HighToleranceError;
12
11
  }
13
12
  const attester = await message.getSender();
14
- if (!await this.epochCache.isInCommittee(attester)) {
13
+ if (!(await this.epochCache.isInCommittee(attester))) {
15
14
  return PeerErrorSeverity.HighToleranceError;
16
15
  }
17
16
  return undefined;
18
17
  }
19
18
  }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci9hdHRlc3RhdGlvbl92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25HLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUF5QjtRQUN0QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRXpGLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RixJQUFJLGdCQUFnQixLQUFLLFdBQVcsSUFBSSxnQkFBZ0IsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0RSxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1FBQzlDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1FBQzlDLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
@@ -0,0 +1,2 @@
1
+ export * from './attestation_validator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from './attestation_validator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYXR0ZXN0YXRpb25fdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUMifQ==
@@ -0,0 +1,8 @@
1
+ import { type BlockProposal, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
2
+ import { type EpochCache } from '@aztec/epoch-cache';
3
+ export declare class BlockProposalValidator implements P2PValidator<BlockProposal> {
4
+ private epochCache;
5
+ constructor(epochCache: EpochCache);
6
+ validate(block: BlockProposal): Promise<PeerErrorSeverity | undefined>;
7
+ }
8
+ //# sourceMappingURL=block_proposal_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_proposal_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/block_proposal_validator/block_proposal_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,sBAAuB,YAAW,YAAY,CAAC,aAAa,CAAC;IACxE,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAI5B,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAkB7E"}
@@ -1,7 +1,6 @@
1
1
  import { PeerErrorSeverity } from '@aztec/circuit-types';
2
2
  export class BlockProposalValidator {
3
- epochCache;
4
- constructor(epochCache){
3
+ constructor(epochCache) {
5
4
  this.epochCache = epochCache;
6
5
  }
7
6
  async validate(block) {
@@ -19,3 +18,4 @@ export class BlockProposalValidator {
19
18
  return undefined;
20
19
  }
21
20
  }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWxfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2Jsb2NrX3Byb3Bvc2FsX3ZhbGlkYXRvci9ibG9ja19wcm9wb3NhbF92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hHLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFvQjtRQUNqQyxNQUFNLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQzVELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRXpELDZEQUE2RDtRQUM3RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEYsSUFBSSxnQkFBZ0IsS0FBSyxXQUFXLElBQUksZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEUsT0FBTyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztRQUM5QyxDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8saUJBQWlCLENBQUMsa0JBQWtCLENBQUM7UUFDOUMsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiJ9
@@ -0,0 +1,2 @@
1
+ export * from './block_proposal_validator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/block_proposal_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from './block_proposal_validator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYmxvY2tfcHJvcG9zYWxfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMifQ==
@@ -0,0 +1,8 @@
1
+ import { type EpochProofQuote, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
2
+ import { type EpochCache } from '@aztec/epoch-cache';
3
+ export declare class EpochProofQuoteValidator implements P2PValidator<EpochProofQuote> {
4
+ private epochCache;
5
+ constructor(epochCache: EpochCache);
6
+ validate(message: EpochProofQuote): Promise<PeerErrorSeverity | undefined>;
7
+ }
8
+ //# sourceMappingURL=epoch_proof_quote_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epoch_proof_quote_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,wBAAyB,YAAW,YAAY,CAAC,eAAe,CAAC;IAC5E,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAIlC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAW3E"}
@@ -1,7 +1,6 @@
1
1
  import { PeerErrorSeverity } from '@aztec/circuit-types';
2
2
  export class EpochProofQuoteValidator {
3
- epochCache;
4
- constructor(epochCache){
3
+ constructor(epochCache) {
5
4
  this.epochCache = epochCache;
6
5
  }
7
6
  validate(message) {
@@ -14,3 +13,4 @@ export class EpochProofQuoteValidator {
14
13
  return Promise.resolve(undefined);
15
14
  }
16
15
  }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfcHJvb2ZfcXVvdGVfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2Vwb2NoX3Byb29mX3F1b3RlX3ZhbGlkYXRvci9lcG9jaF9wcm9vZl9xdW90ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xHLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFdkQsNERBQTREO1FBQzVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xELElBQUksWUFBWSxLQUFLLEtBQUssSUFBSSxZQUFZLEtBQUssS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzFELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIn0=
@@ -0,0 +1,2 @@
1
+ export { EpochProofQuoteValidator } from './epoch_proof_quote_validator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/epoch_proof_quote_validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1 +1,2 @@
1
1
  export { EpochProofQuoteValidator } from './epoch_proof_quote_validator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvZXBvY2hfcHJvb2ZfcXVvdGVfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ export * from './tx_validator/index.js';
2
+ export * from './block_proposal_validator/index.js';
3
+ export * from './attestation_validator/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/msg_validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './tx_validator/index.js';
2
2
  export * from './block_proposal_validator/index.js';
3
3
  export * from './attestation_validator/index.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import { type ProcessedTx, type Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ export declare class AggregateTxValidator<T extends Tx | ProcessedTx> implements TxValidator<T> {
3
+ #private;
4
+ constructor(...validators: TxValidator<T>[]);
5
+ validateTx(tx: T): Promise<TxValidationResult>;
6
+ }
7
+ //# sourceMappingURL=aggregate_tx_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate_tx_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/aggregate_tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5G,qBAAa,oBAAoB,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAEzE,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE;IAQrC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmBrD"}
@@ -1,22 +1,22 @@
1
+ var _AggregateTxValidator_validators;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  export class AggregateTxValidator {
2
- #validators;
3
- constructor(...validators){
4
+ constructor(...validators) {
5
+ _AggregateTxValidator_validators.set(this, void 0);
4
6
  if (validators.length === 0) {
5
7
  throw new Error('At least one validator must be provided');
6
8
  }
7
- this.#validators = validators;
9
+ __classPrivateFieldSet(this, _AggregateTxValidator_validators, validators, "f");
8
10
  }
9
11
  async validateTx(tx) {
10
- const aggregate = {
11
- result: 'valid',
12
- reason: []
13
- };
14
- for (const validator of this.#validators){
12
+ const aggregate = { result: 'valid', reason: [] };
13
+ for (const validator of __classPrivateFieldGet(this, _AggregateTxValidator_validators, "f")) {
15
14
  const result = await validator.validateTx(tx);
16
15
  if (result.result === 'invalid') {
17
16
  aggregate.result = 'invalid';
18
17
  aggregate.reason.push(...result.reason);
19
- } else if (result.result === 'skipped') {
18
+ }
19
+ else if (result.result === 'skipped') {
20
20
  if (aggregate.result === 'valid') {
21
21
  aggregate.result = 'skipped';
22
22
  }
@@ -29,3 +29,5 @@ export class AggregateTxValidator {
29
29
  return aggregate;
30
30
  }
31
31
  }
32
+ _AggregateTxValidator_validators = new WeakMap();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlX3R4X3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYWdncmVnYXRlX3R4X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBWSxHQUFHLFVBQTRCO1FBRDNDLG1EQUE4QjtRQUU1QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCx1QkFBQSxJQUFJLG9DQUFlLFVBQVUsTUFBQSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUs7UUFDcEIsTUFBTSxTQUFTLEdBQTBDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDekYsS0FBSyxNQUFNLFNBQVMsSUFBSSx1QkFBQSxJQUFJLHdDQUFZLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDakMsU0FBUyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFNBQStCLENBQUM7SUFDekMsQ0FBQztDQUNGIn0=
@@ -0,0 +1,11 @@
1
+ import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ import { type Fr } from '@aztec/circuits.js';
3
+ export interface ArchiveSource {
4
+ getArchiveIndices: (archives: Fr[]) => Promise<(bigint | undefined)[]>;
5
+ }
6
+ export declare class BlockHeaderTxValidator<T extends AnyTx> implements TxValidator<T> {
7
+ #private;
8
+ constructor(archiveSource: ArchiveSource);
9
+ validateTx(tx: T): Promise<TxValidationResult>;
10
+ }
11
+ //# sourceMappingURL=block_header_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_header_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/block_header_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,aAAa,EAAE,aAAa;IAIlC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQrD"}
@@ -1,26 +1,21 @@
1
+ var _BlockHeaderTxValidator_log, _BlockHeaderTxValidator_archiveSource;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class BlockHeaderTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_block_header');
5
- #archiveSource;
6
- constructor(archiveSource){
7
- this.#archiveSource = archiveSource;
6
+ constructor(archiveSource) {
7
+ _BlockHeaderTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_block_header'));
8
+ _BlockHeaderTxValidator_archiveSource.set(this, void 0);
9
+ __classPrivateFieldSet(this, _BlockHeaderTxValidator_archiveSource, archiveSource, "f");
8
10
  }
9
11
  async validateTx(tx) {
10
- const [index] = await this.#archiveSource.getArchiveIndices([
11
- await tx.data.constants.historicalHeader.hash()
12
- ]);
12
+ const [index] = await __classPrivateFieldGet(this, _BlockHeaderTxValidator_archiveSource, "f").getArchiveIndices([await tx.data.constants.historicalHeader.hash()]);
13
13
  if (index === undefined) {
14
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for referencing an unknown block header`);
15
- return {
16
- result: 'invalid',
17
- reason: [
18
- 'Block header not found'
19
- ]
20
- };
14
+ __classPrivateFieldGet(this, _BlockHeaderTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for referencing an unknown block header`);
15
+ return { result: 'invalid', reason: ['Block header not found'] };
21
16
  }
22
- return {
23
- result: 'valid'
24
- };
17
+ return { result: 'valid' };
25
18
  }
26
19
  }
20
+ _BlockHeaderTxValidator_log = new WeakMap(), _BlockHeaderTxValidator_archiveSource = new WeakMap();
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQTZDLE1BQU0sc0JBQXNCLENBQUM7QUFFakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBWSxhQUE0QjtRQUh4QyxzQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUN4RCx3REFBOEI7UUFHNUIsdUJBQUEsSUFBSSx5Q0FBa0IsYUFBYSxNQUFBLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSx1QkFBQSxJQUFJLDZDQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4Qix1QkFBQSxJQUFJLG1DQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,6 @@
1
+ import { Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ export declare class DataTxValidator implements TxValidator<Tx> {
3
+ #private;
4
+ validateTx(tx: Tx): Promise<TxValidationResult>;
5
+ }
6
+ //# sourceMappingURL=data_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGrF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8ChD"}
@@ -1,47 +1,38 @@
1
+ var _DataTxValidator_instances, _DataTxValidator_log, _DataTxValidator_hasCorrectExecutionRequests;
2
+ import { __classPrivateFieldGet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class DataTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_data');
5
- validateTx(tx) {
6
- return this.#hasCorrectExecutionRequests(tx);
6
+ constructor() {
7
+ _DataTxValidator_instances.add(this);
8
+ _DataTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_data'));
9
+ // TODO: Check logs.
7
10
  }
8
- async #hasCorrectExecutionRequests(tx) {
9
- const callRequests = [
10
- ...tx.data.getRevertiblePublicCallRequests(),
11
- ...tx.data.getNonRevertiblePublicCallRequests()
12
- ];
13
- if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
14
- this.#log.warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
15
- return {
16
- result: 'invalid',
17
- reason: [
18
- 'Wrong number of execution requests for public calls'
19
- ]
20
- };
21
- }
22
- const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i)=>!await execRequest.isForCallRequest(callRequests[i])))).findIndex(Boolean);
23
- if (invalidExecutionRequestIndex !== -1) {
24
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
25
- return {
26
- result: 'invalid',
27
- reason: [
28
- 'Incorrect execution request for public call'
29
- ]
30
- };
31
- }
32
- const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
33
- const isInvalidTeardownExecutionRequest = !teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty() || teardownCallRequest && !await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest);
34
- if (isInvalidTeardownExecutionRequest) {
35
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
36
- return {
37
- result: 'invalid',
38
- reason: [
39
- 'Incorrect teardown execution request'
40
- ]
41
- };
42
- }
43
- return {
44
- result: 'valid'
45
- };
11
+ validateTx(tx) {
12
+ return __classPrivateFieldGet(this, _DataTxValidator_instances, "m", _DataTxValidator_hasCorrectExecutionRequests).call(this, tx);
46
13
  }
47
14
  }
15
+ _DataTxValidator_log = new WeakMap(), _DataTxValidator_instances = new WeakSet(), _DataTxValidator_hasCorrectExecutionRequests = async function _DataTxValidator_hasCorrectExecutionRequests(tx) {
16
+ const callRequests = [
17
+ ...tx.data.getRevertiblePublicCallRequests(),
18
+ ...tx.data.getNonRevertiblePublicCallRequests(),
19
+ ];
20
+ if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
21
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
22
+ return { result: 'invalid', reason: ['Wrong number of execution requests for public calls'] };
23
+ }
24
+ const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i) => !(await execRequest.isForCallRequest(callRequests[i]))))).findIndex(Boolean);
25
+ if (invalidExecutionRequestIndex !== -1) {
26
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
27
+ return { result: 'invalid', reason: ['Incorrect execution request for public call'] };
28
+ }
29
+ const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
30
+ const isInvalidTeardownExecutionRequest = (!teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty()) ||
31
+ (teardownCallRequest && !(await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest)));
32
+ if (isInvalidTeardownExecutionRequest) {
33
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
34
+ return { result: 'invalid', reason: ['Incorrect teardown execution request'] };
35
+ }
36
+ return { result: 'valid' };
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2RhdGFfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEVBQUUsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7O1FBQ0UsK0JBQU8sWUFBWSxDQUFDLDBCQUEwQixDQUFDLEVBQUM7UUErQ2hELG9CQUFvQjtJQUN0QixDQUFDO0lBOUNDLFVBQVUsQ0FBQyxFQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLGdGQUE2QixNQUFqQyxJQUFJLEVBQThCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0E0Q0Y7aUlBMUNDLEtBQUssdURBQThCLEVBQU07SUFDdkMsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFO1FBQzVDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtLQUNoRCxDQUFDO0lBQ0YsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsRSx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnRkFDNUIsWUFBWSxDQUFDLE1BQ2YsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUMsTUFBTSxHQUFHLENBQ2xELENBQUM7UUFDRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxxREFBcUQsQ0FBQyxFQUFFLENBQUM7SUFDaEcsQ0FBQztJQUNELE1BQU0sNEJBQTRCLEdBQUcsQ0FDbkMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQ2hDLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FDRixDQUNGLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLElBQUksNEJBQTRCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQzlCLEVBQUUsQ0FDSCxxRUFBcUUsNEJBQTRCLEdBQUcsQ0FDdEcsQ0FBQztRQUNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDbkUsTUFBTSxpQ0FBaUMsR0FDckMsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xFLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUMifQ==
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
4
+ export interface NullifierSource {
5
+ nullifiersExist: (nullifiers: Buffer[]) => Promise<boolean[]>;
6
+ }
7
+ export declare class DoubleSpendTxValidator<T extends AnyTx> implements TxValidator<T> {
8
+ #private;
9
+ constructor(nullifierSource: NullifierSource);
10
+ validateTx(tx: T): Promise<TxValidationResult>;
11
+ }
12
+ //# sourceMappingURL=double_spend_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"double_spend_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/double_spend_validator.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjG,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC/D;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,eAAe,EAAE,eAAe;IAItC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiBrD"}