@aztec/p2p 0.0.1-commit.bf2612ae → 0.0.1-commit.c2595eba

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 (203) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +4 -3
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +4 -4
  4. package/dest/client/factory.d.ts +1 -1
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +6 -5
  7. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +2 -0
  8. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +1 -0
  9. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +305 -0
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +73 -0
  11. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +1 -0
  12. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +8 -0
  13. package/dest/config.d.ts +8 -2
  14. package/dest/config.d.ts.map +1 -1
  15. package/dest/config.js +2 -0
  16. package/dest/mem_pools/instrumentation.d.ts +1 -1
  17. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  18. package/dest/mem_pools/instrumentation.js +2 -2
  19. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +1 -1
  20. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  21. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +7 -2
  22. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  23. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  24. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  25. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +5 -4
  26. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  27. package/dest/msg_validators/tx_validator/block_header_validator.js +4 -3
  28. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  29. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  30. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  31. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +3 -2
  32. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  33. package/dest/msg_validators/tx_validator/double_spend_validator.js +3 -2
  34. package/dest/msg_validators/tx_validator/factory.d.ts +8 -3
  35. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  36. package/dest/msg_validators/tx_validator/factory.js +21 -11
  37. package/dest/msg_validators/tx_validator/gas_validator.d.ts +3 -2
  38. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  39. package/dest/msg_validators/tx_validator/gas_validator.js +3 -2
  40. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  41. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  42. package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
  43. package/dest/msg_validators/tx_validator/phases_validator.d.ts +3 -2
  44. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  45. package/dest/msg_validators/tx_validator/phases_validator.js +3 -3
  46. package/dest/msg_validators/tx_validator/size_validator.d.ts +3 -1
  47. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -1
  48. package/dest/msg_validators/tx_validator/size_validator.js +4 -1
  49. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +3 -2
  50. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  51. package/dest/msg_validators/tx_validator/timestamp_validator.js +2 -2
  52. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  53. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  54. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  55. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  56. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  57. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  58. package/dest/services/discv5/discV5_service.js +1 -1
  59. package/dest/services/dummy_service.d.ts +13 -1
  60. package/dest/services/dummy_service.d.ts.map +1 -1
  61. package/dest/services/dummy_service.js +39 -0
  62. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  63. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  64. package/dest/services/libp2p/instrumentation.js +14 -3
  65. package/dest/services/libp2p/libp2p_service.d.ts +9 -3
  66. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  67. package/dest/services/libp2p/libp2p_service.js +32 -23
  68. package/dest/services/peer-manager/metrics.d.ts +2 -2
  69. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  70. package/dest/services/peer-manager/metrics.js +20 -5
  71. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  72. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  73. package/dest/services/peer-manager/peer_scoring.js +8 -2
  74. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +47 -0
  75. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  76. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +566 -0
  77. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  78. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  79. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  80. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  81. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  82. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  83. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +37 -0
  84. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  85. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +151 -0
  86. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
  87. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  88. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
  89. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  90. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  91. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  92. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  93. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  94. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  95. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  96. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  97. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  98. package/dest/services/reqresp/interface.d.ts +3 -1
  99. package/dest/services/reqresp/interface.d.ts.map +1 -1
  100. package/dest/services/reqresp/metrics.d.ts +6 -5
  101. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  102. package/dest/services/reqresp/metrics.js +17 -5
  103. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  104. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  105. package/dest/services/reqresp/protocols/block_txs/bitvector.js +5 -0
  106. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
  107. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  108. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +14 -1
  109. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +15 -3
  110. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  111. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +33 -3
  112. package/dest/services/reqresp/reqresp.d.ts +6 -1
  113. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  114. package/dest/services/reqresp/reqresp.js +58 -22
  115. package/dest/services/service.d.ts +4 -1
  116. package/dest/services/service.d.ts.map +1 -1
  117. package/dest/services/tx_collection/config.d.ts +4 -1
  118. package/dest/services/tx_collection/config.d.ts.map +1 -1
  119. package/dest/services/tx_collection/config.js +9 -1
  120. package/dest/services/tx_collection/fast_tx_collection.d.ts +6 -4
  121. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  122. package/dest/services/tx_collection/fast_tx_collection.js +16 -5
  123. package/dest/services/tx_collection/index.d.ts +2 -1
  124. package/dest/services/tx_collection/index.d.ts.map +1 -1
  125. package/dest/services/tx_collection/index.js +1 -0
  126. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  127. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  128. package/dest/services/tx_collection/instrumentation.js +9 -2
  129. package/dest/services/tx_collection/proposal_tx_collector.d.ts +48 -0
  130. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  131. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  132. package/dest/services/tx_collection/tx_collection.d.ts +4 -4
  133. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  134. package/dest/services/tx_collection/tx_collection.js +5 -5
  135. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  136. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  137. package/dest/services/tx_provider_instrumentation.js +5 -5
  138. package/dest/test-helpers/index.d.ts +2 -1
  139. package/dest/test-helpers/index.d.ts.map +1 -1
  140. package/dest/test-helpers/index.js +1 -0
  141. package/dest/test-helpers/testbench-utils.d.ts +158 -0
  142. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  143. package/dest/test-helpers/testbench-utils.js +297 -0
  144. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  145. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  146. package/dest/testbench/p2p_client_testbench_worker.js +212 -131
  147. package/dest/testbench/worker_client_manager.d.ts +51 -6
  148. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  149. package/dest/testbench/worker_client_manager.js +226 -44
  150. package/package.json +14 -14
  151. package/src/bootstrap/bootstrap.ts +7 -4
  152. package/src/client/factory.ts +6 -10
  153. package/src/client/test/tx_proposal_collector/README.md +227 -0
  154. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +336 -0
  155. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  156. package/src/config.ts +6 -1
  157. package/src/mem_pools/instrumentation.ts +2 -1
  158. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +8 -2
  159. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  160. package/src/msg_validators/tx_validator/block_header_validator.ts +7 -8
  161. package/src/msg_validators/tx_validator/data_validator.ts +6 -2
  162. package/src/msg_validators/tx_validator/double_spend_validator.ts +4 -3
  163. package/src/msg_validators/tx_validator/factory.ts +64 -23
  164. package/src/msg_validators/tx_validator/gas_validator.ts +9 -3
  165. package/src/msg_validators/tx_validator/metadata_validator.ts +6 -3
  166. package/src/msg_validators/tx_validator/phases_validator.ts +5 -3
  167. package/src/msg_validators/tx_validator/size_validator.ts +6 -2
  168. package/src/msg_validators/tx_validator/timestamp_validator.ts +6 -3
  169. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  170. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  171. package/src/services/discv5/discV5_service.ts +1 -1
  172. package/src/services/dummy_service.ts +45 -0
  173. package/src/services/libp2p/instrumentation.ts +15 -2
  174. package/src/services/libp2p/libp2p_service.ts +55 -41
  175. package/src/services/peer-manager/metrics.ts +21 -4
  176. package/src/services/peer-manager/peer_scoring.ts +4 -1
  177. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  178. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
  179. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  180. package/src/services/reqresp/batch-tx-requester/interface.ts +57 -0
  181. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +209 -0
  182. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
  183. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  184. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  185. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  186. package/src/services/reqresp/interface.ts +3 -0
  187. package/src/services/reqresp/metrics.ts +34 -9
  188. package/src/services/reqresp/protocols/block_txs/bitvector.ts +7 -0
  189. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +16 -2
  190. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +46 -4
  191. package/src/services/reqresp/reqresp.ts +66 -19
  192. package/src/services/service.ts +4 -0
  193. package/src/services/tx_collection/config.ts +15 -1
  194. package/src/services/tx_collection/fast_tx_collection.ts +36 -13
  195. package/src/services/tx_collection/index.ts +5 -0
  196. package/src/services/tx_collection/instrumentation.ts +11 -2
  197. package/src/services/tx_collection/proposal_tx_collector.ts +114 -0
  198. package/src/services/tx_collection/tx_collection.ts +4 -4
  199. package/src/services/tx_provider_instrumentation.ts +11 -5
  200. package/src/test-helpers/index.ts +1 -0
  201. package/src/test-helpers/testbench-utils.ts +374 -0
  202. package/src/testbench/p2p_client_testbench_worker.ts +321 -122
  203. package/src/testbench/worker_client_manager.ts +304 -47
@@ -1,4 +1,4 @@
1
- import { Attributes, LmdbMetrics, Metrics } from '@aztec/telemetry-client';
1
+ import { Attributes, LmdbMetrics, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
2
2
  export var PoolName = /*#__PURE__*/ function(PoolName) {
3
3
  PoolName["TX_POOL"] = "TxPool";
4
4
  PoolName["ATTESTATION_POOL"] = "AttestationPool";
@@ -64,7 +64,7 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
64
64
  this.dbMetrics = new LmdbMetrics(this.meter, {
65
65
  [Attributes.DB_DATA_TYPE]: 'tx-pool'
66
66
  }, dbStats);
67
- this.addObjectCounter = this.meter.createUpDownCounter(metricsLabels.itemsAdded);
67
+ this.addObjectCounter = createUpDownCounterWithDefault(this.meter, metricsLabels.itemsAdded);
68
68
  this.minedDelay = this.meter.createHistogram(metricsLabels.itemMinedDelay);
69
69
  this.meter.addBatchObservableCallback(this.observeStats, [
70
70
  this.objectsInMempool
@@ -17,4 +17,4 @@ export declare class FishermanAttestationValidator extends CheckpointAttestation
17
17
  constructor(epochCache: EpochCacheInterface, attestationPool: AttestationPool, telemetryClient: TelemetryClient);
18
18
  validate(message: CheckpointAttestation): Promise<ValidationResult>;
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlzaGVybWFuX2F0dGVzdGF0aW9uX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci9maXNoZXJtYW5fYXR0ZXN0YXRpb25fdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQXFCLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RyxPQUFPLEVBQXVCLEtBQUssZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUU7Ozs7Ozs7R0FPRztBQUNILHFCQUFhLDZCQUE4QixTQUFRLDhCQUE4QjtJQUs3RSxPQUFPLENBQUMsZUFBZTtJQUp6QixPQUFPLENBQUMseUJBQXlCLENBQUM7SUFFbEMsWUFDRSxVQUFVLEVBQUUsbUJBQW1CLEVBQ3ZCLGVBQWUsRUFBRSxlQUFlLEVBQ3hDLGVBQWUsRUFBRSxlQUFlLEVBT2pDO0lBRWMsUUFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F3RGpGO0NBQ0YifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlzaGVybWFuX2F0dGVzdGF0aW9uX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci9maXNoZXJtYW5fYXR0ZXN0YXRpb25fdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQXFCLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RyxPQUFPLEVBQXVCLEtBQUssZUFBZSxFQUFrQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBILE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSw2QkFBOEIsU0FBUSw4QkFBOEI7SUFLN0UsT0FBTyxDQUFDLGVBQWU7SUFKekIsT0FBTyxDQUFDLHlCQUF5QixDQUFDO0lBRWxDLFlBQ0UsVUFBVSxFQUFFLG1CQUFtQixFQUN2QixlQUFlLEVBQUUsZUFBZSxFQUN4QyxlQUFlLEVBQUUsZUFBZSxFQWFqQztJQUVjLFFBQVEsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBd0RqRjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fisherman_attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/fisherman_attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,qBAAqB,EAAqB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;;;GAOG;AACH,qBAAa,6BAA8B,SAAQ,8BAA8B;IAK7E,OAAO,CAAC,eAAe;IAJzB,OAAO,CAAC,yBAAyB,CAAC;IAElC,YACE,UAAU,EAAE,mBAAmB,EACvB,eAAe,EAAE,eAAe,EACxC,eAAe,EAAE,eAAe,EAOjC;IAEc,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDjF;CACF"}
1
+ {"version":3,"file":"fisherman_attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/fisherman_attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,qBAAqB,EAAqB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAuB,KAAK,eAAe,EAAkC,MAAM,yBAAyB,CAAC;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;;;GAOG;AACH,qBAAa,6BAA8B,SAAQ,8BAA8B;IAK7E,OAAO,CAAC,eAAe;IAJzB,OAAO,CAAC,yBAAyB,CAAC;IAElC,YACE,UAAU,EAAE,mBAAmB,EACvB,eAAe,EAAE,eAAe,EACxC,eAAe,EAAE,eAAe,EAajC;IAEc,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDjF;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
2
- import { Attributes, Metrics } from '@aztec/telemetry-client';
2
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
3
3
  import { CheckpointAttestationValidator } from './attestation_validator.js';
4
4
  /**
5
5
  * FishermanAttestationValidator extends the base AttestationValidator to add
@@ -15,7 +15,12 @@ import { CheckpointAttestationValidator } from './attestation_validator.js';
15
15
  super(epochCache), this.attestationPool = attestationPool;
16
16
  this.logger = this.logger.createChild('[FISHERMAN]');
17
17
  const meter = telemetryClient.getMeter('FishermanAttestationValidator');
18
- this.invalidAttestationCounter = meter.createUpDownCounter(Metrics.VALIDATOR_INVALID_ATTESTATION_RECEIVED_COUNT);
18
+ this.invalidAttestationCounter = createUpDownCounterWithDefault(meter, Metrics.VALIDATOR_INVALID_ATTESTATION_RECEIVED_COUNT, {
19
+ [Attributes.ERROR_TYPE]: [
20
+ 'base_validation_failed',
21
+ 'payload_mismatch'
22
+ ]
23
+ });
19
24
  }
20
25
  async validate(message) {
21
26
  // First run the standard validation
@@ -1,5 +1,5 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
2
1
  import type { ArchiveSource } from '@aztec/p2p';
2
+ import type { BlockHash } from '@aztec/stdlib/block';
3
3
  import type { MerkleTreeReadOperations } from '@aztec/stdlib/interfaces/server';
4
4
  /**
5
5
  * Implements an archive source by checking a DB and an in-memory collection.
@@ -9,6 +9,6 @@ export declare class ArchiveCache implements ArchiveSource {
9
9
  private db;
10
10
  archives: Map<string, bigint>;
11
11
  constructor(db: MerkleTreeReadOperations);
12
- getArchiveIndices(archives: Fr[]): Promise<(bigint | undefined)[]>;
12
+ getArchiveIndices(archives: BlockHash[]): Promise<(bigint | undefined)[]>;
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZV9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9hcmNoaXZlX2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hGOzs7R0FHRztBQUNILHFCQUFhLFlBQWEsWUFBVyxhQUFhO0lBR3BDLE9BQU8sQ0FBQyxFQUFFO0lBRnRCLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTlCLFlBQW9CLEVBQUUsRUFBRSx3QkFBd0IsRUFFL0M7SUFFWSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FVOUU7Q0FDRiJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZV9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9hcmNoaXZlX2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hGOzs7R0FHRztBQUNILHFCQUFhLFlBQWEsWUFBVyxhQUFhO0lBR3BDLE9BQU8sQ0FBQyxFQUFFO0lBRnRCLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTlCLFlBQW9CLEVBQUUsRUFBRSx3QkFBd0IsRUFFL0M7SUFFWSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FVckY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"archive_cache.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/archive_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAGhF;;;GAGG;AACH,qBAAa,YAAa,YAAW,aAAa;IAGpC,OAAO,CAAC,EAAE;IAFtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,YAAoB,EAAE,EAAE,wBAAwB,EAE/C;IAEY,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAU9E;CACF"}
1
+ {"version":3,"file":"archive_cache.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/archive_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAGhF;;;GAGG;AACH,qBAAa,YAAa,YAAW,aAAa;IAGpC,OAAO,CAAC,EAAE;IAFtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,YAAoB,EAAE,EAAE,wBAAwB,EAE/C;IAEY,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAUrF;CACF"}
@@ -10,7 +10,7 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
10
10
  this.archives = new Map();
11
11
  }
12
12
  async getArchiveIndices(archives) {
13
- const toCheckDb = archives.filter((n)=>!this.archives.has(n.toString()));
13
+ const toCheckDb = archives.filter((n)=>!this.archives.has(n.toString())).map((n)=>n.toFr());
14
14
  const dbHits = await this.db.findLeafIndices(MerkleTreeId.ARCHIVE, toCheckDb);
15
15
  dbHits.forEach((x, index)=>{
16
16
  if (x !== undefined) {
@@ -1,11 +1,12 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
+ import type { BlockHash } from '@aztec/stdlib/block';
2
3
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  export interface ArchiveSource {
4
- getArchiveIndices: (archives: Fr[]) => Promise<(bigint | undefined)[]>;
5
+ getArchiveIndices: (archives: BlockHash[]) => Promise<(bigint | undefined)[]>;
5
6
  }
6
7
  export declare class BlockHeaderTxValidator<T extends AnyTx> implements TxValidator<T> {
7
8
  #private;
8
- constructor(archiveSource: ArchiveSource);
9
+ constructor(archiveSource: ArchiveSource, bindings?: LoggerBindings);
9
10
  validateTx(tx: T): Promise<TxValidationResult>;
10
11
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9ibG9ja19oZWFkZXJfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBeUIsS0FBSyxrQkFBa0IsRUFBRSxLQUFLLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhILE1BQU0sV0FBVyxhQUFhO0lBQzVCLGlCQUFpQixFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7Q0FDeEU7QUFFRCxxQkFBYSxzQkFBc0IsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFFLFlBQVcsV0FBVyxDQUFDLENBQUMsQ0FBQzs7SUFJNUUsWUFBWSxhQUFhLEVBQUUsYUFBYSxFQUV2QztJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQVNuRDtDQUNGIn0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9ibG9ja19oZWFkZXJfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQXlCLEtBQUssa0JBQWtCLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoSCxNQUFNLFdBQVcsYUFBYTtJQUM1QixpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0NBQy9FO0FBRUQscUJBQWEsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSTVFLFlBQVksYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxjQUFjLEVBR2xFO0lBRUssVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBT25EO0NBQ0YifQ==
@@ -1 +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,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,KAAK,KAAK,EAAyB,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhH,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;;IAI5E,YAAY,aAAa,EAAE,aAAa,EAEvC;IAEK,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASnD;CACF"}
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,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,KAAK,KAAK,EAAyB,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhH,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CAC/E;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAI5E,YAAY,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,cAAc,EAGlE;IAEK,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAOnD;CACF"}
@@ -1,14 +1,15 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { TX_ERROR_BLOCK_HEADER } from '@aztec/stdlib/tx';
3
3
  export class BlockHeaderTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_block_header');
4
+ #log;
5
5
  #archiveSource;
6
- constructor(archiveSource){
6
+ constructor(archiveSource, bindings){
7
7
  this.#archiveSource = archiveSource;
8
+ this.#log = createLogger('p2p:tx_validator:tx_block_header', bindings);
8
9
  }
9
10
  async validateTx(tx) {
10
11
  const [index] = await this.#archiveSource.getArchiveIndices([
11
- (await tx.data.constants.anchorBlockHeader.hash()).toField()
12
+ await tx.data.constants.anchorBlockHeader.hash()
12
13
  ]);
13
14
  if (index === undefined) {
14
15
  this.#log.verbose(`Rejecting tx ${'txHash' in tx ? tx.txHash : tx.hash} for referencing an unknown block header`);
@@ -1,6 +1,8 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
2
3
  export declare class DataTxValidator implements TxValidator<Tx> {
3
4
  #private;
5
+ constructor(bindings?: LoggerBindings);
4
6
  validateTx(tx: Tx): Promise<TxValidationResult>;
5
7
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZGF0YV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQVNMLEVBQUUsRUFDRixLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixxQkFBYSxlQUFnQixZQUFXLFdBQVcsQ0FBQyxFQUFFLENBQUM7O0lBRy9DLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQU1wRDtDQW1HRiJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZGF0YV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFTTCxFQUFFLEVBQ0YsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIscUJBQWEsZUFBZ0IsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUdyRCxZQUFZLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFFcEM7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FNcEQ7Q0FtR0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AAGA,OAAO,EASL,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG/C,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMpD;CAmGF"}
1
+ {"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EASL,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMpD;CAmGF"}
@@ -3,7 +3,10 @@ import { createLogger } from '@aztec/foundation/log';
3
3
  import { computeCalldataHash } from '@aztec/stdlib/hash';
4
4
  import { TX_ERROR_CALLDATA_COUNT_MISMATCH, TX_ERROR_CALLDATA_COUNT_TOO_LARGE, TX_ERROR_CONTRACT_CLASS_LOGS, TX_ERROR_CONTRACT_CLASS_LOG_COUNT, TX_ERROR_CONTRACT_CLASS_LOG_LENGTH, TX_ERROR_CONTRACT_CLASS_LOG_SORTING, TX_ERROR_INCORRECT_CALLDATA, TX_ERROR_INCORRECT_HASH, Tx } from '@aztec/stdlib/tx';
5
5
  export class DataTxValidator {
6
- #log = createLogger('p2p:tx_validator:tx_data');
6
+ #log;
7
+ constructor(bindings){
8
+ this.#log = createLogger('p2p:tx_validator:tx_data', bindings);
9
+ }
7
10
  async validateTx(tx) {
8
11
  const reason = await this.#hasCorrectHash(tx) ?? await this.#hasCorrectCalldata(tx) ?? await this.#hasCorrectContractClassLogs(tx);
9
12
  return reason ? {
@@ -1,10 +1,11 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
2
3
  export interface NullifierSource {
3
4
  nullifiersExist: (nullifiers: Buffer[]) => Promise<boolean[]>;
4
5
  }
5
6
  export declare class DoubleSpendTxValidator<T extends AnyTx> implements TxValidator<T> {
6
7
  #private;
7
- constructor(nullifierSource: NullifierSource);
8
+ constructor(nullifierSource: NullifierSource, bindings?: LoggerBindings);
8
9
  validateTx(tx: T): Promise<TxValidationResult>;
9
10
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlX3NwZW5kX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9kb3VibGVfc3BlbmRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLEtBQUssRUFJVixLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLFdBQVcsZUFBZTtJQUM5QixlQUFlLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Q0FDL0Q7QUFFRCxxQkFBYSxzQkFBc0IsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFFLFlBQVcsV0FBVyxDQUFDLENBQUMsQ0FBQzs7SUFJNUUsWUFBWSxlQUFlLEVBQUUsZUFBZSxFQUUzQztJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQWdCbkQ7Q0FDRiJ9
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlX3NwZW5kX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9kb3VibGVfc3BlbmRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBSVYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSxXQUFXLGVBQWU7SUFDOUIsZUFBZSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQy9EO0FBRUQscUJBQWEsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSTVFLFlBQVksZUFBZSxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsRUFBRSxjQUFjLEVBR3RFO0lBRUssVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZ0JuRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"double_spend_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/double_spend_validator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAIV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,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;;IAI5E,YAAY,eAAe,EAAE,eAAe,EAE3C;IAEK,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgBnD;CACF"}
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,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAIV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,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;;IAI5E,YAAY,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,cAAc,EAGtE;IAEK,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgBnD;CACF"}
@@ -1,10 +1,11 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { TX_ERROR_DUPLICATE_NULLIFIER_IN_TX, TX_ERROR_EXISTING_NULLIFIER, Tx } from '@aztec/stdlib/tx';
3
3
  export class DoubleSpendTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_double_spend');
4
+ #log;
5
5
  #nullifierSource;
6
- constructor(nullifierSource){
6
+ constructor(nullifierSource, bindings){
7
7
  this.#nullifierSource = nullifierSource;
8
+ this.#log = createLogger('p2p:tx_validator:tx_double_spend', bindings);
8
9
  }
9
10
  async validateTx(tx) {
10
11
  const nullifiers = tx instanceof Tx ? tx.data.getNonEmptyNullifiers() : tx.txEffect.nullifiers;
@@ -1,10 +1,11 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { LoggerBindings } from '@aztec/foundation/log';
3
4
  import type { ContractDataSource } from '@aztec/stdlib/contract';
4
5
  import type { GasFees } from '@aztec/stdlib/gas';
5
6
  import type { AllowedElement, ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
6
7
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
7
- import type { Tx, TxValidationResult } from '@aztec/stdlib/tx';
8
+ import type { Tx, TxValidationResult, TxValidator } from '@aztec/stdlib/tx';
8
9
  import type { UInt64 } from '@aztec/stdlib/types';
9
10
  export interface MessageValidator {
10
11
  validator: {
@@ -12,5 +13,9 @@ export interface MessageValidator {
12
13
  };
13
14
  severity: PeerErrorSeverity;
14
15
  }
15
- export declare function createTxMessageValidators(timestamp: UInt64, blockNumber: BlockNumber, worldStateSynchronizer: WorldStateSynchronizer, gasFees: GasFees, l1ChainId: number, rollupVersion: number, protocolContractsHash: Fr, contractDataSource: ContractDataSource, proofVerifier: ClientProtocolCircuitVerifier, txsPermitted: boolean, allowedInSetup?: AllowedElement[]): Record<string, MessageValidator>[];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFDVixjQUFjLEVBQ2QsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBYWxELE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsU0FBUyxFQUFFO1FBQ1QsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDakQsQ0FBQztJQUNGLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQztDQUM3QjtBQUVELHdCQUFnQix5QkFBeUIsQ0FDdkMsU0FBUyxFQUFFLE1BQU0sRUFDakIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLHFCQUFxQixFQUFFLEVBQUUsRUFDekIsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQ3RDLGFBQWEsRUFBRSw2QkFBNkIsRUFDNUMsWUFBWSxFQUFFLE9BQU8sRUFDckIsY0FBYyxHQUFFLGNBQWMsRUFBTyxHQUNwQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0ErRHBDIn0=
16
+ export declare function createTxMessageValidators(timestamp: UInt64, blockNumber: BlockNumber, worldStateSynchronizer: WorldStateSynchronizer, gasFees: GasFees, l1ChainId: number, rollupVersion: number, protocolContractsHash: Fr, contractDataSource: ContractDataSource, proofVerifier: ClientProtocolCircuitVerifier, txsPermitted: boolean, allowedInSetup?: AllowedElement[], bindings?: LoggerBindings): Record<string, MessageValidator>[];
17
+ export declare function createTxReqRespValidator(verifier: ClientProtocolCircuitVerifier, { l1ChainId, rollupVersion }: {
18
+ l1ChainId: number;
19
+ rollupVersion: number;
20
+ }, bindings?: LoggerBindings): TxValidator;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFDVixjQUFjLEVBQ2QsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWVsRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLFNBQVMsRUFBRTtRQUNULFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2pELENBQUM7SUFDRixRQUFRLEVBQUUsaUJBQWlCLENBQUM7Q0FDN0I7QUFFRCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUNoQixTQUFTLEVBQUUsTUFBTSxFQUNqQixhQUFhLEVBQUUsTUFBTSxFQUNyQixxQkFBcUIsRUFBRSxFQUFFLEVBQ3pCLGtCQUFrQixFQUFFLGtCQUFrQixFQUN0QyxhQUFhLEVBQUUsNkJBQTZCLEVBQzVDLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGNBQWMsR0FBRSxjQUFjLEVBQU8sRUFDckMsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUN4QixNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0F5RXBDO0FBRUQsd0JBQWdCLHdCQUF3QixDQUN0QyxRQUFRLEVBQUUsNkJBQTZCLEVBQ3ZDLEVBQ0UsU0FBUyxFQUNULGFBQWEsRUFDZCxFQUFFO0lBQ0QsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3ZCLEVBQ0QsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUN4QixXQUFXLENBZWIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAalD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE;QACT,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACjD,CAAC;IACF,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,EAAE,EACzB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,6BAA6B,EAC5C,YAAY,EAAE,OAAO,EACrB,cAAc,GAAE,cAAc,EAAO,GACpC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CA+DpC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAelD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE;QACT,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACjD,CAAC;IACF,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,EAAE,EACzB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,6BAA6B,EAC5C,YAAY,EAAE,OAAO,EACrB,cAAc,GAAE,cAAc,EAAO,EACrC,QAAQ,CAAC,EAAE,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAyEpC;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,6BAA6B,EACvC,EACE,SAAS,EACT,aAAa,EACd,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,EACD,QAAQ,CAAC,EAAE,cAAc,GACxB,WAAW,CAeb"}
@@ -1,8 +1,9 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
3
- import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
+ import { ProtocolContractAddress, protocolContractsHash } from '@aztec/protocol-contracts';
4
4
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
5
5
  import { DatabasePublicStateSource, MerkleTreeId } from '@aztec/stdlib/trees';
6
+ import { AggregateTxValidator } from './aggregate_tx_validator.js';
6
7
  import { ArchiveCache } from './archive_cache.js';
7
8
  import { BlockHeaderTxValidator } from './block_header_validator.js';
8
9
  import { DataTxValidator } from './data_validator.js';
@@ -10,19 +11,20 @@ import { DoubleSpendTxValidator } from './double_spend_validator.js';
10
11
  import { GasTxValidator } from './gas_validator.js';
11
12
  import { MetadataTxValidator } from './metadata_validator.js';
12
13
  import { PhasesTxValidator } from './phases_validator.js';
14
+ import { SizeTxValidator } from './size_validator.js';
13
15
  import { TimestampTxValidator } from './timestamp_validator.js';
14
16
  import { TxPermittedValidator } from './tx_permitted_validator.js';
15
17
  import { TxProofValidator } from './tx_proof_validator.js';
16
- export function createTxMessageValidators(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, proofVerifier, txsPermitted, allowedInSetup = []) {
18
+ export function createTxMessageValidators(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, proofVerifier, txsPermitted, allowedInSetup = [], bindings) {
17
19
  const merkleTree = worldStateSynchronizer.getCommitted();
18
20
  return [
19
21
  {
20
22
  txsPermittedValidator: {
21
- validator: new TxPermittedValidator(txsPermitted),
23
+ validator: new TxPermittedValidator(txsPermitted, bindings),
22
24
  severity: PeerErrorSeverity.MidToleranceError
23
25
  },
24
26
  dataValidator: {
25
- validator: new DataTxValidator(),
27
+ validator: new DataTxValidator(bindings),
26
28
  severity: PeerErrorSeverity.HighToleranceError
27
29
  },
28
30
  metadataValidator: {
@@ -31,14 +33,14 @@ export function createTxMessageValidators(timestamp, blockNumber, worldStateSync
31
33
  rollupVersion: new Fr(rollupVersion),
32
34
  protocolContractsHash,
33
35
  vkTreeRoot: getVKTreeRoot()
34
- }),
36
+ }, bindings),
35
37
  severity: PeerErrorSeverity.HighToleranceError
36
38
  },
37
39
  timestampValidator: {
38
40
  validator: new TimestampTxValidator({
39
41
  timestamp,
40
42
  blockNumber
41
- }),
43
+ }, bindings),
42
44
  severity: PeerErrorSeverity.MidToleranceError
43
45
  },
44
46
  doubleSpendValidator: {
@@ -48,27 +50,35 @@ export function createTxMessageValidators(timestamp, blockNumber, worldStateSync
48
50
  const indices = await merkleTree.findLeafIndices(MerkleTreeId.NULLIFIER_TREE, nullifiers);
49
51
  return indices.map((index)=>index !== undefined);
50
52
  }
51
- }),
53
+ }, bindings),
52
54
  severity: PeerErrorSeverity.HighToleranceError
53
55
  },
54
56
  gasValidator: {
55
- validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees),
57
+ validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees, bindings),
56
58
  severity: PeerErrorSeverity.HighToleranceError
57
59
  },
58
60
  phasesValidator: {
59
- validator: new PhasesTxValidator(contractDataSource, allowedInSetup, timestamp),
61
+ validator: new PhasesTxValidator(contractDataSource, allowedInSetup, timestamp, bindings),
60
62
  severity: PeerErrorSeverity.MidToleranceError
61
63
  },
62
64
  blockHeaderValidator: {
63
- validator: new BlockHeaderTxValidator(new ArchiveCache(merkleTree)),
65
+ validator: new BlockHeaderTxValidator(new ArchiveCache(merkleTree), bindings),
64
66
  severity: PeerErrorSeverity.HighToleranceError
65
67
  }
66
68
  },
67
69
  {
68
70
  proofValidator: {
69
- validator: new TxProofValidator(proofVerifier),
71
+ validator: new TxProofValidator(proofVerifier, bindings),
70
72
  severity: PeerErrorSeverity.MidToleranceError
71
73
  }
72
74
  }
73
75
  ];
74
76
  }
77
+ export function createTxReqRespValidator(verifier, { l1ChainId, rollupVersion }, bindings) {
78
+ return new AggregateTxValidator(new MetadataTxValidator({
79
+ l1ChainId: new Fr(l1ChainId),
80
+ rollupVersion: new Fr(rollupVersion),
81
+ protocolContractsHash,
82
+ vkTreeRoot: getVKTreeRoot()
83
+ }, bindings), new SizeTxValidator(bindings), new DataTxValidator(bindings), new TxProofValidator(verifier, bindings));
84
+ }
@@ -1,11 +1,12 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
3
  import { GasFees } from '@aztec/stdlib/gas';
3
4
  import type { PublicStateSource } from '@aztec/stdlib/trees';
4
5
  import { type Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
5
6
  export declare class GasTxValidator implements TxValidator<Tx> {
6
7
  #private;
7
- constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees);
8
+ constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees, bindings?: LoggerBindings);
8
9
  validateTx(tx: Tx): Promise<TxValidationResult>;
9
10
  validateTxFee(tx: Tx): Promise<TxValidationResult>;
10
11
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBTyxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFLTCxLQUFLLEVBQUUsRUFDUCxLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixxQkFBYSxjQUFlLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNcEQsWUFBWSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBSS9GO0lBRUssVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBU3BEO0lBbURZLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXlCOUQ7Q0FDRiJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQU8sT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBS0wsS0FBSyxFQUFFLEVBQ1AsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFJMUIscUJBQWEsY0FBZSxZQUFXLFdBQVcsQ0FBQyxFQUFFLENBQUM7O0lBTXBELFlBQ0UsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQ25DLGVBQWUsRUFBRSxZQUFZLEVBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFNMUI7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FTcEQ7SUFtRFksYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBeUI5RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/gas_validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMpD,YAAY,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAI/F;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASpD;IAmDY,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB9D;CACF"}
1
+ {"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/gas_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMpD,YACE,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASpD;IAmDY,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB9D;CACF"}
@@ -5,11 +5,12 @@ import { Gas } from '@aztec/stdlib/gas';
5
5
  import { TX_ERROR_GAS_LIMIT_TOO_HIGH, TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE, TX_ERROR_INSUFFICIENT_FEE_PER_GAS, TX_ERROR_INSUFFICIENT_GAS_LIMIT } from '@aztec/stdlib/tx';
6
6
  import { getFeePayerClaimAmount, getTxFeeLimit } from './fee_payer_balance.js';
7
7
  export class GasTxValidator {
8
- #log = createLogger('sequencer:tx_validator:tx_gas');
8
+ #log;
9
9
  #publicDataSource;
10
10
  #feeJuiceAddress;
11
11
  #gasFees;
12
- constructor(publicDataSource, feeJuiceAddress, gasFees){
12
+ constructor(publicDataSource, feeJuiceAddress, gasFees, bindings){
13
+ this.#log = createLogger('sequencer:tx_validator:tx_gas', bindings);
13
14
  this.#publicDataSource = publicDataSource;
14
15
  this.#feeJuiceAddress = feeJuiceAddress;
15
16
  this.#gasFees = gasFees;
@@ -1,4 +1,5 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
3
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator<T> {
4
5
  #private;
@@ -8,7 +9,7 @@ export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator
8
9
  rollupVersion: Fr;
9
10
  vkTreeRoot: Fr;
10
11
  protocolContractsHash: Fr;
11
- });
12
+ }, bindings?: LoggerBindings);
12
13
  validateTx(tx: T): Promise<TxValidationResult>;
13
14
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBS1YsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIscUJBQWEsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSXZFLE9BQU8sQ0FBQyxNQUFNO0lBRGhCLFlBQ1UsTUFBTSxFQUFFO1FBQ2QsU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUNkLGFBQWEsRUFBRSxFQUFFLENBQUM7UUFDbEIsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNmLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztLQUMzQixFQUNDO0lBRUosVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZTdDO0NBcURGIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUtWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLHFCQUFhLG1CQUFtQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl2RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUNkLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDZixxQkFBcUIsRUFBRSxFQUFFLENBQUM7S0FDM0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZTdDO0NBcURGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACC;IAEJ,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe7C;CAqDF"}
1
+ {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe7C;CAqDF"}
@@ -3,9 +3,9 @@ import { TX_ERROR_INCORRECT_L1_CHAIN_ID, TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_H
3
3
  export class MetadataTxValidator {
4
4
  values;
5
5
  #log;
6
- constructor(values){
6
+ constructor(values, bindings){
7
7
  this.values = values;
8
- this.#log = createLogger('p2p:tx_validator:tx_metadata');
8
+ this.#log = createLogger('p2p:tx_validator:tx_metadata', bindings);
9
9
  }
10
10
  validateTx(tx) {
11
11
  const errors = [];
@@ -1,3 +1,4 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { ContractDataSource } from '@aztec/stdlib/contract';
2
3
  import type { AllowedElement } from '@aztec/stdlib/interfaces/server';
3
4
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
@@ -7,8 +8,8 @@ export declare class PhasesTxValidator implements TxValidator<Tx> {
7
8
  private setupAllowList;
8
9
  private timestamp;
9
10
  private contractsDB;
10
- constructor(contracts: ContractDataSource, setupAllowList: AllowedElement[], timestamp: UInt64);
11
+ constructor(contracts: ContractDataSource, setupAllowList: AllowedElement[], timestamp: UInt64, bindings?: LoggerBindings);
11
12
  validateTx(tx: Tx): Promise<TxValidationResult>;
12
13
  private isOnAllowList;
13
14
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUlMLEVBQUUsRUFFRixLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxxQkFBYSxpQkFBa0IsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQU1yRCxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsU0FBUztJQUxuQixPQUFPLENBQUMsV0FBVyxDQUFvQjtJQUV2QyxZQUNFLFNBQVMsRUFBRSxrQkFBa0IsRUFDckIsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUNoQyxTQUFTLEVBQUUsTUFBTSxFQUcxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXFDcEQ7WUFFYSxhQUFhO0NBaUQ1QiJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFJTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXFDcEQ7WUFFYSxhQUFhO0NBaUQ1QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAIL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EAG1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqCpD;YAEa,aAAa;CAiD5B"}
1
+ {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAIL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqCpD;YAEa,aAAa;CAiD5B"}
@@ -6,11 +6,11 @@ export class PhasesTxValidator {
6
6
  timestamp;
7
7
  #log;
8
8
  contractsDB;
9
- constructor(contracts, setupAllowList, timestamp){
9
+ constructor(contracts, setupAllowList, timestamp, bindings){
10
10
  this.setupAllowList = setupAllowList;
11
11
  this.timestamp = timestamp;
12
- this.#log = createLogger('sequencer:tx_validator:tx_phases');
13
- this.contractsDB = new PublicContractsDB(contracts);
12
+ this.#log = createLogger('sequencer:tx_validator:tx_phases', bindings);
13
+ this.contractsDB = new PublicContractsDB(contracts, bindings);
14
14
  }
15
15
  async validateTx(tx) {
16
16
  this.contractsDB.createCheckpoint();
@@ -1,6 +1,8 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
2
3
  export declare class SizeTxValidator implements TxValidator<Tx> {
3
4
  #private;
5
+ constructor(bindings?: LoggerBindings);
4
6
  validateTx(tx: Tx): Promise<TxValidationResult>;
5
7
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3Ivc2l6ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLGtCQUFrQixFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakYscUJBQWEsZUFBZ0IsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUdyRCxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FTOUM7Q0FDRiJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3Ivc2l6ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxLQUFLLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpGLHFCQUFhLGVBQWdCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFHckQsWUFBWSxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRXBDO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBUzlDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"size_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/size_validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS9C;CACF"}
1
+ {"version":3,"file":"size_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/size_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAED,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS9C;CACF"}
@@ -1,7 +1,10 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { MAX_TX_SIZE_KB } from '@aztec/stdlib/p2p';
3
3
  export class SizeTxValidator {
4
- #log = createLogger('sequencer:tx_validator:tx_size');
4
+ #log;
5
+ constructor(bindings){
6
+ this.#log = createLogger('p2p:tx_validator:tx_size', bindings);
7
+ }
5
8
  validateTx(tx) {
6
9
  const txSize = tx.getSize();
7
10
  if (txSize > MAX_TX_SIZE_KB * 1024) {
@@ -1,4 +1,5 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
3
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  import type { UInt64 } from '@aztec/stdlib/types';
4
5
  export declare class TimestampTxValidator<T extends AnyTx> implements TxValidator<T> {
@@ -7,7 +8,7 @@ export declare class TimestampTxValidator<T extends AnyTx> implements TxValidato
7
8
  constructor(values: {
8
9
  timestamp: UInt64;
9
10
  blockNumber: BlockNumber;
10
- });
11
+ }, bindings?: LoggerBindings);
11
12
  validateTx(tx: T): Promise<TxValidationResult>;
12
13
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90aW1lc3RhbXBfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBRVYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBRWpCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSXhFLE9BQU8sQ0FBQyxNQUFNO0lBRGhCLFlBQ1UsTUFBTSxFQUFFO1FBR2QsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUVsQixXQUFXLEVBQUUsV0FBVyxDQUFDO0tBQzFCLEVBQ0M7SUFFSixVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F1QjdDO0NBQ0YifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90aW1lc3RhbXBfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUVWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUVqQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELHFCQUFhLG9CQUFvQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl4RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUdkLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFFbEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztLQUMxQixFQUNELFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F1QjdDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/timestamp_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIxE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QAGd,SAAS,EAAE,MAAM,CAAC;QAElB,WAAW,EAAE,WAAW,CAAC;KAC1B,EACC;IAEJ,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB7C;CACF"}
1
+ {"version":3,"file":"timestamp_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/timestamp_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIxE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QAGd,SAAS,EAAE,MAAM,CAAC;QAElB,WAAW,EAAE,WAAW,CAAC;KAC1B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB7C;CACF"}
@@ -3,9 +3,9 @@ import { TX_ERROR_INVALID_INCLUDE_BY_TIMESTAMP, getTxHash } from '@aztec/stdlib/
3
3
  export class TimestampTxValidator {
4
4
  values;
5
5
  #log;
6
- constructor(values){
6
+ constructor(values, bindings){
7
7
  this.values = values;
8
- this.#log = createLogger('p2p:tx_validator:timestamp');
8
+ this.#log = createLogger('p2p:tx_validator:timestamp', bindings);
9
9
  }
10
10
  validateTx(tx) {
11
11
  const includeByTimestamp = tx.data.includeByTimestamp;
@@ -1,8 +1,9 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { Tx, TxValidationResult, TxValidator } from '@aztec/stdlib/tx';
2
3
  export declare class TxPermittedValidator implements TxValidator<Tx> {
3
4
  #private;
4
5
  private permitted;
5
- constructor(permitted: boolean);
6
+ constructor(permitted: boolean, bindings?: LoggerBindings);
6
7
  validateTx(tx: Tx): Promise<TxValidationResult>;
7
8
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcGVybWl0dGVkX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wZXJtaXR0ZWRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RSxxQkFBYSxvQkFBcUIsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUc5QyxPQUFPLENBQUMsU0FBUztJQUE3QixZQUFvQixTQUFTLEVBQUUsT0FBTyxFQUFJO0lBRTFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQU85QztDQUNGIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcGVybWl0dGVkX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wZXJtaXR0ZWRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUUscUJBQWEsb0JBQXFCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFJeEQsT0FBTyxDQUFDLFNBQVM7SUFEbkIsWUFDVSxTQUFTLEVBQUUsT0FBTyxFQUMxQixRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBTzlDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tx_permitted_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_permitted_validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG9C,OAAO,CAAC,SAAS;IAA7B,YAAoB,SAAS,EAAE,OAAO,EAAI;IAE1C,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAO9C;CACF"}
1
+ {"version":3,"file":"tx_permitted_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_permitted_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAIxD,OAAO,CAAC,SAAS;IADnB,YACU,SAAS,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAO9C;CACF"}
@@ -2,9 +2,9 @@ import { createLogger } from '@aztec/foundation/log';
2
2
  export class TxPermittedValidator {
3
3
  permitted;
4
4
  #log;
5
- constructor(permitted){
5
+ constructor(permitted, bindings){
6
6
  this.permitted = permitted;
7
- this.#log = createLogger('p2p:tx_validator:tx_permitted');
7
+ this.#log = createLogger('p2p:tx_validator:tx_permitted', bindings);
8
8
  }
9
9
  validateTx(tx) {
10
10
  if (!this.permitted) {
@@ -1,9 +1,10 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { ClientProtocolCircuitVerifier } from '@aztec/stdlib/interfaces/server';
2
3
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  export declare class TxProofValidator implements TxValidator<Tx> {
4
5
  #private;
5
6
  private verifier;
6
- constructor(verifier: ClientProtocolCircuitVerifier);
7
+ constructor(verifier: ClientProtocolCircuitVerifier, bindings?: LoggerBindings);
7
8
  validateTx(tx: Tx): Promise<TxValidationResult>;
8
9
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL3R4X3Byb29mX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBMEIsRUFBRSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RyxxQkFBYSxnQkFBaUIsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUcxQyxPQUFPLENBQUMsUUFBUTtJQUE1QixZQUFvQixRQUFRLEVBQUUsNkJBQTZCLEVBQUk7SUFFekQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBUXBEO0NBQ0YifQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL3R4X3Byb29mX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQTBCLEVBQUUsRUFBRSxLQUFLLGtCQUFrQixFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekcscUJBQWEsZ0JBQWlCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFJcEQsT0FBTyxDQUFDLFFBQVE7SUFEbEIsWUFDVSxRQUFRLEVBQUUsNkJBQTZCLEVBQy9DLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FRcEQ7Q0FDRiJ9