@aztec/p2p 0.0.1-commit.684755437 → 0.0.1-commit.6b113946b

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 (141) hide show
  1. package/README.md +129 -3
  2. package/dest/client/factory.d.ts +1 -1
  3. package/dest/client/factory.d.ts.map +1 -1
  4. package/dest/client/factory.js +19 -7
  5. package/dest/client/p2p_client.d.ts +1 -1
  6. package/dest/client/p2p_client.d.ts.map +1 -1
  7. package/dest/client/p2p_client.js +22 -10
  8. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +6 -5
  9. package/dest/config.d.ts +13 -1
  10. package/dest/config.d.ts.map +1 -1
  11. package/dest/config.js +20 -0
  12. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +3 -3
  13. package/dest/mem_pools/attestation_pool/attestation_pool.js +3 -3
  14. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +6 -6
  15. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  16. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  17. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +2 -1
  18. package/dest/mem_pools/tx_pool/priority.d.ts +2 -2
  19. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  20. package/dest/mem_pools/tx_pool/priority.js +4 -4
  21. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  22. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  23. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +3 -1
  24. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  25. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  26. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +2 -1
  27. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +7 -5
  28. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  29. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +9 -2
  30. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  31. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +7 -1
  32. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +4 -2
  33. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +3 -0
  35. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +1 -1
  36. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  37. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +19 -5
  38. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +1 -1
  39. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  40. package/dest/msg_validators/attestation_validator/attestation_validator.js +5 -4
  41. package/dest/msg_validators/clock_tolerance.d.ts +1 -1
  42. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -1
  43. package/dest/msg_validators/clock_tolerance.js +4 -3
  44. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +1 -1
  45. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  46. package/dest/msg_validators/proposal_validator/proposal_validator.js +5 -5
  47. package/dest/msg_validators/tx_validator/factory.d.ts +23 -4
  48. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  49. package/dest/msg_validators/tx_validator/factory.js +28 -8
  50. package/dest/msg_validators/tx_validator/gas_validator.d.ts +13 -4
  51. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  52. package/dest/msg_validators/tx_validator/gas_validator.js +39 -9
  53. package/dest/msg_validators/tx_validator/phases_validator.d.ts +21 -1
  54. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  55. package/dest/msg_validators/tx_validator/phases_validator.js +27 -0
  56. package/dest/services/encoding.d.ts +5 -1
  57. package/dest/services/encoding.d.ts.map +1 -1
  58. package/dest/services/encoding.js +7 -1
  59. package/dest/services/libp2p/libp2p_service.d.ts +2 -9
  60. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  61. package/dest/services/libp2p/libp2p_service.js +37 -30
  62. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  63. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  64. package/dest/services/peer-manager/peer_manager.js +4 -2
  65. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +11 -8
  66. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  67. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +66 -65
  68. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +3 -2
  69. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  70. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +5 -4
  71. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  72. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +13 -7
  73. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +3 -1
  74. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  75. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +3 -0
  76. package/dest/services/reqresp/reqresp.d.ts +1 -1
  77. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  78. package/dest/services/reqresp/reqresp.js +17 -9
  79. package/dest/services/tx_collection/fast_tx_collection.d.ts +1 -4
  80. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  81. package/dest/services/tx_collection/fast_tx_collection.js +57 -73
  82. package/dest/services/tx_collection/proposal_tx_collector.d.ts +6 -7
  83. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  84. package/dest/services/tx_collection/proposal_tx_collector.js +4 -4
  85. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  86. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  87. package/dest/services/tx_collection/request_tracker.js +84 -0
  88. package/dest/services/tx_collection/slow_tx_collection.js +1 -1
  89. package/dest/services/tx_collection/tx_collection.d.ts +3 -6
  90. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  91. package/dest/test-helpers/testbench-utils.d.ts +1 -1
  92. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  93. package/dest/test-helpers/testbench-utils.js +22 -3
  94. package/dest/testbench/p2p_client_testbench_worker.d.ts +1 -1
  95. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  96. package/dest/testbench/p2p_client_testbench_worker.js +6 -5
  97. package/package.json +14 -14
  98. package/src/client/factory.ts +34 -11
  99. package/src/client/p2p_client.ts +22 -12
  100. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +6 -7
  101. package/src/config.ts +33 -0
  102. package/src/mem_pools/attestation_pool/attestation_pool.ts +3 -3
  103. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +6 -6
  104. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +2 -1
  105. package/src/mem_pools/tx_pool/priority.ts +4 -4
  106. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +3 -1
  107. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +2 -1
  108. package/src/mem_pools/tx_pool_v2/interfaces.ts +6 -4
  109. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +11 -1
  110. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +13 -1
  111. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +20 -5
  112. package/src/msg_validators/attestation_validator/README.md +49 -0
  113. package/src/msg_validators/attestation_validator/attestation_validator.ts +5 -4
  114. package/src/msg_validators/clock_tolerance.ts +4 -3
  115. package/src/msg_validators/proposal_validator/README.md +123 -0
  116. package/src/msg_validators/proposal_validator/proposal_validator.ts +6 -5
  117. package/src/msg_validators/tx_validator/README.md +5 -1
  118. package/src/msg_validators/tx_validator/factory.ts +36 -3
  119. package/src/msg_validators/tx_validator/gas_validator.ts +41 -8
  120. package/src/msg_validators/tx_validator/phases_validator.ts +30 -0
  121. package/src/services/encoding.ts +9 -1
  122. package/src/services/libp2p/libp2p_service.ts +34 -33
  123. package/src/services/peer-manager/peer_manager.ts +5 -2
  124. package/src/services/reqresp/README.md +229 -0
  125. package/src/services/reqresp/batch-tx-requester/README.md +46 -7
  126. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +61 -69
  127. package/src/services/reqresp/batch-tx-requester/interface.ts +2 -1
  128. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +13 -6
  129. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +5 -0
  130. package/src/services/reqresp/reqresp.ts +19 -11
  131. package/src/services/tx_collection/fast_tx_collection.ts +57 -83
  132. package/src/services/tx_collection/proposal_tx_collector.ts +8 -13
  133. package/src/services/tx_collection/request_tracker.ts +127 -0
  134. package/src/services/tx_collection/slow_tx_collection.ts +1 -1
  135. package/src/services/tx_collection/tx_collection.ts +3 -5
  136. package/src/test-helpers/testbench-utils.ts +29 -3
  137. package/src/testbench/p2p_client_testbench_worker.ts +6 -8
  138. package/dest/services/tx_collection/missing_txs_tracker.d.ts +0 -32
  139. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +0 -1
  140. package/dest/services/tx_collection/missing_txs_tracker.js +0 -27
  141. package/src/services/tx_collection/missing_txs_tracker.ts +0 -52
@@ -59,7 +59,11 @@ export interface TransactionValidator {
59
59
  * The `doubleSpendValidator` failure is special-cased by the caller (`handleGossipedTx`)
60
60
  * to determine severity based on how recently the nullifier appeared.
61
61
  */
62
- export declare function createFirstStageTxValidationsForGossipedTransactions(timestamp: UInt64, blockNumber: BlockNumber, worldStateSynchronizer: WorldStateSynchronizer, gasFees: GasFees, l1ChainId: number, rollupVersion: number, protocolContractsHash: Fr, contractDataSource: ContractDataSource, txsPermitted: boolean, allowedInSetup?: AllowedElement[], bindings?: LoggerBindings): Record<string, TransactionValidator>;
62
+ export declare function createFirstStageTxValidationsForGossipedTransactions(timestamp: UInt64, blockNumber: BlockNumber, worldStateSynchronizer: WorldStateSynchronizer, gasFees: GasFees, l1ChainId: number, rollupVersion: number, protocolContractsHash: Fr, contractDataSource: ContractDataSource, txsPermitted: boolean, allowedInSetup?: AllowedElement[], bindings?: LoggerBindings, gasLimitOpts?: {
63
+ rollupManaLimit?: number;
64
+ maxBlockL2Gas?: number;
65
+ maxBlockDAGas?: number;
66
+ }): Record<string, TransactionValidator>;
63
67
  /**
64
68
  * Second stage of gossip validation — expensive proof verification.
65
69
  *
@@ -93,7 +97,7 @@ export declare function createTxValidatorForBlockProposalReceivedTxs(verifier: C
93
97
  * (can be skipped for testing purposes). Fee enforcement is also optional (skipped for testing/dev).
94
98
  * Called from `AztecNodeService.isValidTx()`.
95
99
  */
96
- export declare function createTxValidatorForAcceptingTxsOverRPC(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, verifier: ClientProtocolCircuitVerifier | undefined, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber, txsPermitted }: {
100
+ export declare function createTxValidatorForAcceptingTxsOverRPC(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, verifier: ClientProtocolCircuitVerifier | undefined, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber, txsPermitted, rollupManaLimit, maxBlockL2Gas, maxBlockDAGas }: {
97
101
  l1ChainId: number;
98
102
  rollupVersion: number;
99
103
  setupAllowList: AllowedElement[];
@@ -102,6 +106,9 @@ export declare function createTxValidatorForAcceptingTxsOverRPC(db: MerkleTreeRe
102
106
  timestamp: UInt64;
103
107
  blockNumber: BlockNumber;
104
108
  txsPermitted: boolean;
109
+ rollupManaLimit: number;
110
+ maxBlockL2Gas?: number;
111
+ maxBlockDAGas?: number;
105
112
  }, bindings?: LoggerBindings): TxValidator<Tx>;
106
113
  /**
107
114
  * Validators for txs about to be included in a block by the sequencer.
@@ -125,5 +132,17 @@ export declare function createTxValidatorForBlockBuilding(db: MerkleTreeReadOper
125
132
  * Operates on `TxMetaData` rather than full `Tx` since metadata is pre-built by the pool.
126
133
  * Injected into `TxPoolV2` as the `createTxValidator` factory in `TxPoolV2Dependencies`.
127
134
  */
128
- export declare function createTxValidatorForTransactionsEnteringPendingTxPool(worldStateSynchronizer: WorldStateSynchronizer, timestamp: bigint, blockNumber: BlockNumber, bindings?: LoggerBindings): Promise<TxValidator<TxMetaData>>;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTVELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQ1YsY0FBYyxFQUNkLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFlNUU7Ozs7R0FJRztBQUNILE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsU0FBUyxFQUFFO1FBQ1QsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDakQsQ0FBQztJQUNGLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQztDQUM3QjtBQUVEOzs7Ozs7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
135
+ export declare function createTxValidatorForTransactionsEnteringPendingTxPool(worldStateSynchronizer: WorldStateSynchronizer, timestamp: bigint, blockNumber: BlockNumber, gasLimitOpts: {
136
+ rollupManaLimit?: number;
137
+ maxBlockL2Gas?: number;
138
+ maxBlockDAGas?: number;
139
+ }, bindings?: LoggerBindings): Promise<TxValidator<TxMetaData>>;
140
+ /**
141
+ * Creates a function that checks whether a tx's setup-phase calls are on the allow list.
142
+ *
143
+ * Uses the `PhasesTxValidator` on the full Tx. The result is stored as a boolean
144
+ * flag in `TxMetaData.allowedSetupCalls` at receipt time, so the pending pool
145
+ * migration validator can check it without needing the full Tx or its dependencies.
146
+ */
147
+ export declare function createCheckAllowedSetupCalls(contractDataSource: ContractDataSource, setupAllowList: AllowedElement[], getTimestamp: () => UInt64): (tx: Tx) => Promise<boolean>;
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTVELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQ1YsY0FBYyxFQUNkLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFlNUU7Ozs7R0FJRztBQUNILE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsU0FBUyxFQUFFO1FBQ1QsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDakQsQ0FBQztJQUNGLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQztDQUM3QjtBQUVEOzs7Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/factory.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ import { DoubleSpendTxValidator } from './double_spend_validator.js';
41
41
  import { GasLimitsValidator, GasTxValidator } from './gas_validator.js';
42
42
  import { MetadataTxValidator } from './metadata_validator.js';
43
43
  import { NullifierCache } from './nullifier_cache.js';
44
- import { PhasesTxValidator } from './phases_validator.js';
44
+ import { AllowedSetupCallsMetaValidator, PhasesTxValidator } from './phases_validator.js';
45
45
  import { SizeTxValidator } from './size_validator.js';
46
46
  import { TimestampTxValidator } from './timestamp_validator.js';
47
47
  import { TxPermittedValidator } from './tx_permitted_validator.js';
@@ -54,7 +54,7 @@ import { TxProofValidator } from './tx_proof_validator.js';
54
54
  *
55
55
  * The `doubleSpendValidator` failure is special-cased by the caller (`handleGossipedTx`)
56
56
  * to determine severity based on how recently the nullifier appeared.
57
- */ export function createFirstStageTxValidationsForGossipedTransactions(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, txsPermitted, allowedInSetup = [], bindings) {
57
+ */ export function createFirstStageTxValidationsForGossipedTransactions(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, txsPermitted, allowedInSetup = [], bindings, gasLimitOpts) {
58
58
  const merkleTree = worldStateSynchronizer.getCommitted();
59
59
  return {
60
60
  timestampValidator: {
@@ -100,7 +100,7 @@ import { TxProofValidator } from './tx_proof_validator.js';
100
100
  severity: PeerErrorSeverity.MidToleranceError
101
101
  },
102
102
  gasValidator: {
103
- validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees, bindings),
103
+ validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees, bindings, gasLimitOpts),
104
104
  severity: PeerErrorSeverity.MidToleranceError
105
105
  },
106
106
  dataValidator: {
@@ -162,7 +162,7 @@ import { TxProofValidator } from './tx_proof_validator.js';
162
162
  * Full validation — all state-dependent checks are run. Proof verification is optional
163
163
  * (can be skipped for testing purposes). Fee enforcement is also optional (skipped for testing/dev).
164
164
  * Called from `AztecNodeService.isValidTx()`.
165
- */ export function createTxValidatorForAcceptingTxsOverRPC(db, contractDataSource, verifier, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber, txsPermitted }, bindings) {
165
+ */ export function createTxValidatorForAcceptingTxsOverRPC(db, contractDataSource, verifier, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber, txsPermitted, rollupManaLimit, maxBlockL2Gas, maxBlockDAGas }, bindings) {
166
166
  const validators = [
167
167
  new TxPermittedValidator(txsPermitted, bindings),
168
168
  new TimestampTxValidator({
@@ -182,7 +182,11 @@ import { TxProofValidator } from './tx_proof_validator.js';
182
182
  new DataTxValidator(bindings)
183
183
  ];
184
184
  if (!skipFeeEnforcement) {
185
- validators.push(new GasTxValidator(new DatabasePublicStateSource(db), ProtocolContractAddress.FeeJuice, gasFees, bindings));
185
+ validators.push(new GasTxValidator(new DatabasePublicStateSource(db), ProtocolContractAddress.FeeJuice, gasFees, bindings, {
186
+ rollupManaLimit,
187
+ maxBlockL2Gas,
188
+ maxBlockDAGas
189
+ }));
186
190
  }
187
191
  if (verifier) {
188
192
  validators.push(new TxProofValidator(verifier, bindings));
@@ -224,7 +228,7 @@ function createTxValidatorForValidatingAgainstCurrentState(nullifierSource, arch
224
228
  *
225
229
  * Operates on `TxMetaData` rather than full `Tx` since metadata is pre-built by the pool.
226
230
  * Injected into `TxPoolV2` as the `createTxValidator` factory in `TxPoolV2Dependencies`.
227
- */ export async function createTxValidatorForTransactionsEnteringPendingTxPool(worldStateSynchronizer, timestamp, blockNumber, bindings) {
231
+ */ export async function createTxValidatorForTransactionsEnteringPendingTxPool(worldStateSynchronizer, timestamp, blockNumber, gasLimitOpts, bindings) {
228
232
  await worldStateSynchronizer.syncImmediate();
229
233
  const merkleTree = worldStateSynchronizer.getCommitted();
230
234
  const nullifierSource = {
@@ -238,8 +242,24 @@ function createTxValidatorForValidatingAgainstCurrentState(nullifierSource, arch
238
242
  return merkleTree.findLeafIndices(MerkleTreeId.ARCHIVE, archives);
239
243
  }
240
244
  };
241
- return new AggregateTxValidator(new GasLimitsValidator(bindings), new TimestampTxValidator({
245
+ return new AggregateTxValidator(new GasLimitsValidator({
246
+ ...gasLimitOpts,
247
+ bindings
248
+ }), new TimestampTxValidator({
242
249
  timestamp,
243
250
  blockNumber
244
- }, bindings), new DoubleSpendTxValidator(nullifierSource, bindings), new BlockHeaderTxValidator(archiveSource, bindings));
251
+ }, bindings), new DoubleSpendTxValidator(nullifierSource, bindings), new BlockHeaderTxValidator(archiveSource, bindings), new AllowedSetupCallsMetaValidator(bindings));
252
+ }
253
+ /**
254
+ * Creates a function that checks whether a tx's setup-phase calls are on the allow list.
255
+ *
256
+ * Uses the `PhasesTxValidator` on the full Tx. The result is stored as a boolean
257
+ * flag in `TxMetaData.allowedSetupCalls` at receipt time, so the pending pool
258
+ * migration validator can check it without needing the full Tx or its dependencies.
259
+ */ export function createCheckAllowedSetupCalls(contractDataSource, setupAllowList, getTimestamp) {
260
+ return async (tx)=>{
261
+ const validator = new PhasesTxValidator(contractDataSource, setupAllowList, getTimestamp());
262
+ const result = await validator.validateTx(tx);
263
+ return result.result === 'valid';
264
+ };
245
265
  }
@@ -33,9 +33,14 @@ export interface HasGasLimitData {
33
33
  */
34
34
  export declare class GasLimitsValidator<T extends HasGasLimitData> implements TxValidator<T> {
35
35
  #private;
36
- constructor(bindings?: LoggerBindings);
36
+ constructor(opts?: {
37
+ rollupManaLimit?: number;
38
+ maxBlockL2Gas?: number;
39
+ maxBlockDAGas?: number;
40
+ bindings?: LoggerBindings;
41
+ });
37
42
  validateTx(tx: T): Promise<TxValidationResult>;
38
- /** Checks gas limits are >= fixed minimums and <= AVM max processable L2 gas. */
43
+ /** Checks gas limits are >= fixed minimums and <= effective max gas (L2 and DA). */
39
44
  validateGasLimit(tx: T): TxValidationResult;
40
45
  }
41
46
  /**
@@ -56,7 +61,11 @@ export declare class GasLimitsValidator<T extends HasGasLimitData> implements Tx
56
61
  export declare class GasTxValidator implements TxValidator<Tx> {
57
62
  #private;
58
63
  private bindings?;
59
- constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees, bindings?: LoggerBindings | undefined);
64
+ constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees, bindings?: LoggerBindings | undefined, opts?: {
65
+ rollupManaLimit?: number;
66
+ maxBlockL2Gas?: number;
67
+ maxBlockDAGas?: number;
68
+ });
60
69
  validateTx(tx: Tx): Promise<TxValidationResult>;
61
70
  /**
62
71
  * Checks the fee payer has enough FeeJuice balance to cover the tx's fee limit.
@@ -64,4 +73,4 @@ export declare class GasTxValidator implements TxValidator<Tx> {
64
73
  */
65
74
  validateTxFee(tx: Tx): Promise<TxValidationResult>;
66
75
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUtMLEtBQUssRUFBRSxFQUNQLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLG9HQUFvRztBQUNwRyxNQUFNLFdBQVcsZUFBZTtJQUM5QixNQUFNLEVBQUU7UUFBRSxRQUFRLElBQUksTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUMvQixJQUFJLEVBQUU7UUFFSixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDcEIsU0FBUyxFQUFFO1lBQ1QsU0FBUyxFQUFFO2dCQUNULFdBQVcsRUFBRTtvQkFBRSxTQUFTLEVBQUUsR0FBRyxDQUFBO2lCQUFFLENBQUM7YUFDakMsQ0FBQztTQUNILENBQUM7S0FDSCxDQUFDO0NBQ0g7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHFCQUFhLGtCQUFrQixDQUFDLENBQUMsU0FBUyxlQUFlLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUdsRixZQUFZLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFFcEM7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FFN0M7SUFFRCxpRkFBaUY7SUFDakYsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0F3QjFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHFCQUFhLGNBQWUsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQVVsRCxPQUFPLENBQUMsUUFBUSxDQUFDO0lBSm5CLFlBQ0UsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQ25DLGVBQWUsRUFBRSxZQUFZLEVBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQ1IsUUFBUSxDQUFDLDRCQUFnQixFQU1sQztJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQVNwRDtJQXlCRDs7O09BR0c7SUFDVSxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F5QjlEO0NBQ0YifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUtMLEtBQUssRUFBRSxFQUNQLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLG9HQUFvRztBQUNwRyxNQUFNLFdBQVcsZUFBZTtJQUM5QixNQUFNLEVBQUU7UUFBRSxRQUFRLElBQUksTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUMvQixJQUFJLEVBQUU7UUFFSixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDcEIsU0FBUyxFQUFFO1lBQ1QsU0FBUyxFQUFFO2dCQUNULFdBQVcsRUFBRTtvQkFBRSxTQUFTLEVBQUUsR0FBRyxDQUFBO2lCQUFFLENBQUM7YUFDakMsQ0FBQztTQUNILENBQUM7S0FDSCxDQUFDO0NBQ0g7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHFCQUFhLGtCQUFrQixDQUFDLENBQUMsU0FBUyxlQUFlLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQVFsRixZQUFZLElBQUksQ0FBQyxFQUFFO1FBQ2pCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN6QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkIsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3ZCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQztLQUMzQixFQU9BO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBRTdDO0lBRUQsb0ZBQW9GO0lBQ3BGLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBbUMxQztDQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxxQkFBYSxjQUFlLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFXbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUpuQixZQUNFLGdCQUFnQixFQUFFLGlCQUFpQixFQUNuQyxlQUFlLEVBQUUsWUFBWSxFQUM3QixPQUFPLEVBQUUsT0FBTyxFQUNSLFFBQVEsQ0FBQyw0QkFBZ0IsRUFDakMsSUFBSSxDQUFDLEVBQUU7UUFBRSxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxFQU9wRjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQVlwRDtJQXlCRDs7O09BR0c7SUFDVSxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F5QjlEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/gas_validator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,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,oGAAoG;AACpG,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAC;IAC/B,IAAI,EAAE;QAEJ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,WAAW,EAAE;oBAAE,SAAS,EAAE,GAAG,CAAA;iBAAE,CAAC;aACjC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,eAAe,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAGlF,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE7C;IAED,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAwB1C;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAUlD,OAAO,CAAC,QAAQ,CAAC;IAJnB,YACE,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,OAAO,EACR,QAAQ,CAAC,4BAAgB,EAMlC;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASpD;IAyBD;;;OAGG;IACU,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":"AAOA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,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,oGAAoG;AACpG,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAC;IAC/B,IAAI,EAAE;QAEJ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,WAAW,EAAE;oBAAE,SAAS,EAAE,GAAG,CAAA;iBAAE,CAAC;aACjC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,eAAe,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAQlF,YAAY,IAAI,CAAC,EAAE;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;KAC3B,EAOA;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE7C;IAED,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAmC1C;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAWlD,OAAO,CAAC,QAAQ,CAAC;IAJnB,YACE,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,OAAO,EACR,QAAQ,CAAC,4BAAgB,EACjC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAOpF;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYpD;IAyBD;;;OAGG;IACU,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB9D;CACF"}
@@ -1,4 +1,4 @@
1
- import { MAX_PROCESSABLE_L2_GAS, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
1
+ import { MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, MAX_PROCESSABLE_L2_GAS, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { computeFeePayerBalanceStorageSlot } from '@aztec/protocol-contracts/fee-juice';
4
4
  import { Gas } from '@aztec/stdlib/gas';
@@ -17,13 +17,23 @@ import { getFeePayerClaimAmount, getTxFeeLimit } from './fee_payer_balance.js';
17
17
  * Used by: pending pool migration (via factory), and indirectly by {@link GasTxValidator}.
18
18
  */ export class GasLimitsValidator {
19
19
  #log;
20
- constructor(bindings){
21
- this.#log = createLogger('sequencer:tx_validator:tx_gas', bindings);
20
+ #effectiveMaxL2Gas;
21
+ #effectiveMaxDAGas;
22
+ #rollupManaLimit;
23
+ #maxBlockL2Gas;
24
+ #maxBlockDAGas;
25
+ constructor(opts){
26
+ this.#log = createLogger('sequencer:tx_validator:tx_gas', opts?.bindings);
27
+ this.#rollupManaLimit = opts?.rollupManaLimit ?? Infinity;
28
+ this.#maxBlockL2Gas = opts?.maxBlockL2Gas ?? Infinity;
29
+ this.#maxBlockDAGas = opts?.maxBlockDAGas ?? Infinity;
30
+ this.#effectiveMaxL2Gas = Math.min(MAX_PROCESSABLE_L2_GAS, this.#rollupManaLimit, this.#maxBlockL2Gas);
31
+ this.#effectiveMaxDAGas = Math.min(MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, this.#maxBlockDAGas);
22
32
  }
23
33
  validateTx(tx) {
24
34
  return Promise.resolve(this.validateGasLimit(tx));
25
35
  }
26
- /** Checks gas limits are >= fixed minimums and <= AVM max processable L2 gas. */ validateGasLimit(tx) {
36
+ /** Checks gas limits are >= fixed minimums and <= effective max gas (L2 and DA). */ validateGasLimit(tx) {
27
37
  const gasLimits = tx.data.constants.txContext.gasSettings.gasLimits;
28
38
  const minGasLimits = new Gas(TX_DA_GAS_OVERHEAD, tx.data.forPublic ? PUBLIC_TX_L2_GAS_OVERHEAD : PRIVATE_TX_L2_GAS_OVERHEAD);
29
39
  if (minGasLimits.gtAny(gasLimits)) {
@@ -38,10 +48,25 @@ import { getFeePayerClaimAmount, getTxFeeLimit } from './fee_payer_balance.js';
38
48
  ]
39
49
  };
40
50
  }
41
- if (gasLimits.l2Gas > MAX_PROCESSABLE_L2_GAS) {
42
- this.#log.verbose(`Rejecting transaction due to the gas limit(s) being higher than the maximum processable gas`, {
51
+ if (gasLimits.l2Gas > this.#effectiveMaxL2Gas) {
52
+ this.#log.verbose(`Rejecting transaction due to the L2 gas limit being higher than the effective maximum`, {
43
53
  gasLimits,
44
- minGasLimits
54
+ effectiveMaxL2Gas: this.#effectiveMaxL2Gas,
55
+ rollupManaLimit: this.#rollupManaLimit,
56
+ maxBlockL2Gas: this.#maxBlockL2Gas
57
+ });
58
+ return {
59
+ result: 'invalid',
60
+ reason: [
61
+ TX_ERROR_GAS_LIMIT_TOO_HIGH
62
+ ]
63
+ };
64
+ }
65
+ if (gasLimits.daGas > this.#effectiveMaxDAGas) {
66
+ this.#log.verbose(`Rejecting transaction due to the DA gas limit being higher than the effective maximum`, {
67
+ gasLimits,
68
+ effectiveMaxDAGas: this.#effectiveMaxDAGas,
69
+ maxBlockDAGas: this.#maxBlockDAGas
45
70
  });
46
71
  return {
47
72
  result: 'invalid',
@@ -75,15 +100,20 @@ import { getFeePayerClaimAmount, getTxFeeLimit } from './fee_payer_balance.js';
75
100
  #publicDataSource;
76
101
  #feeJuiceAddress;
77
102
  #gasFees;
78
- constructor(publicDataSource, feeJuiceAddress, gasFees, bindings){
103
+ #gasLimitOpts;
104
+ constructor(publicDataSource, feeJuiceAddress, gasFees, bindings, opts){
79
105
  this.bindings = bindings;
80
106
  this.#log = createLogger('sequencer:tx_validator:tx_gas', bindings);
81
107
  this.#publicDataSource = publicDataSource;
82
108
  this.#feeJuiceAddress = feeJuiceAddress;
83
109
  this.#gasFees = gasFees;
110
+ this.#gasLimitOpts = opts;
84
111
  }
85
112
  async validateTx(tx) {
86
- const gasLimitValidation = new GasLimitsValidator(this.bindings).validateGasLimit(tx);
113
+ const gasLimitValidation = new GasLimitsValidator({
114
+ ...this.#gasLimitOpts,
115
+ bindings: this.bindings
116
+ }).validateGasLimit(tx);
87
117
  if (gasLimitValidation.result === 'invalid') {
88
118
  return Promise.resolve(gasLimitValidation);
89
119
  }
@@ -12,4 +12,24 @@ export declare class PhasesTxValidator implements TxValidator<Tx> {
12
12
  validateTx(tx: Tx): Promise<TxValidationResult>;
13
13
  private checkAllowList;
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFRTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXNDcEQ7WUFHYSxjQUFjO0NBa0U3QiJ9
15
+ /** Structural interface for the allowed-setup-calls flag check. */
16
+ export interface HasAllowedSetupCallsData {
17
+ txHash: {
18
+ toString(): string;
19
+ };
20
+ allowedSetupCalls: boolean;
21
+ }
22
+ /**
23
+ * Validates that a transaction's setup-phase calls were allowed at receipt time.
24
+ *
25
+ * Checks the precomputed `allowedSetupCalls` flag on TxMetaData. The flag is
26
+ * computed by running the PhasesTxValidator on the full Tx when it first enters
27
+ * the pool. This lightweight validator is used during pending pool migration to
28
+ * reject txs whose setup calls are not on the allow list.
29
+ */
30
+ export declare class AllowedSetupCallsMetaValidator<T extends HasAllowedSetupCallsData> implements TxValidator<T> {
31
+ #private;
32
+ constructor(bindings?: LoggerBindings);
33
+ validateTx(tx: T): Promise<TxValidationResult>;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFRTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXNDcEQ7WUFHYSxjQUFjO0NBa0U3QjtBQUVELG1FQUFtRTtBQUNuRSxNQUFNLFdBQVcsd0JBQXdCO0lBQ3ZDLE1BQU0sRUFBRTtRQUFFLFFBQVEsSUFBSSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQy9CLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztDQUM1QjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSw4QkFBOEIsQ0FBQyxDQUFDLFNBQVMsd0JBQXdCLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUd2RyxZQUFZLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFFcEM7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FNN0M7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAGvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAQL,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,CAsCpD;YAGa,cAAc;CAkE7B"}
1
+ {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAGvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAQL,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,CAsCpD;YAGa,cAAc;CAkE7B;AAED,mEAAmE;AACnE,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA8B,CAAC,CAAC,SAAS,wBAAwB,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAGvG,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAM7C;CACF"}
@@ -112,3 +112,30 @@ export class PhasesTxValidator {
112
112
  return TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED;
113
113
  }
114
114
  }
115
+ /**
116
+ * Validates that a transaction's setup-phase calls were allowed at receipt time.
117
+ *
118
+ * Checks the precomputed `allowedSetupCalls` flag on TxMetaData. The flag is
119
+ * computed by running the PhasesTxValidator on the full Tx when it first enters
120
+ * the pool. This lightweight validator is used during pending pool migration to
121
+ * reject txs whose setup calls are not on the allow list.
122
+ */ export class AllowedSetupCallsMetaValidator {
123
+ #log;
124
+ constructor(bindings){
125
+ this.#log = createLogger('sequencer:tx_validator:tx_phases_meta', bindings);
126
+ }
127
+ validateTx(tx) {
128
+ if (!tx.allowedSetupCalls) {
129
+ this.#log.verbose(`Rejecting tx ${tx.txHash} because its setup calls are not on the allow list`);
130
+ return Promise.resolve({
131
+ result: 'invalid',
132
+ reason: [
133
+ TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED
134
+ ]
135
+ });
136
+ }
137
+ return Promise.resolve({
138
+ result: 'valid'
139
+ });
140
+ }
141
+ }
@@ -2,6 +2,10 @@ import { TopicType } from '@aztec/stdlib/p2p';
2
2
  import type { RPC } from '@chainsafe/libp2p-gossipsub/message';
3
3
  import type { DataTransform } from '@chainsafe/libp2p-gossipsub/types';
4
4
  import type { Message } from '@libp2p/interface';
5
+ /** Thrown when a Snappy-compressed response exceeds the allowed decompressed size. */
6
+ export declare class OversizedSnappyResponseError extends Error {
7
+ constructor(decompressedSize: number, maxSizeKb: number);
8
+ }
5
9
  /**
6
10
  * The function used to generate a gossipsub message id
7
11
  * We use the first 8 bytes of SHA256(data) for content addressing
@@ -47,4 +51,4 @@ export declare function readSnappyPreamble(data: Uint8Array): {
47
51
  decompressedSize: number;
48
52
  bytesRead: number;
49
53
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWtCLFNBQVMsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWNqRDs7O0dBR0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FLdkQ7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUl0RDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUk5RTtBQWNEOztHQUVHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxhQUFhO0lBRWpELE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLE1BQU07SUFIaEIsWUFDVSxVQUFVLEdBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQXFCLEVBQ3pELGdCQUFnQixHQUFFLE1BQWtCLEVBQ3BDLE1BQU0seUNBQXVDLEVBQ25EO0lBR0osZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FHL0Q7SUFFTSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBWS9GO0lBR0QsaUJBQWlCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FFakU7SUFFTSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FLakQ7Q0FDRjtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUc7SUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FtQ3BHIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWtCLFNBQVMsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRCxzRkFBc0Y7QUFDdEYscUJBQWEsNEJBQTZCLFNBQVEsS0FBSztJQUNyRCxZQUFZLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUd0RDtDQUNGO0FBV0Q7OztHQUdHO0FBQ0gsd0JBQWdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBS3ZEO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FJdEQ7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FJOUU7QUFjRDs7R0FFRztBQUNILHFCQUFhLGVBQWdCLFlBQVcsYUFBYTtJQUVqRCxPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxNQUFNO0lBSGhCLFlBQ1UsVUFBVSxHQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFxQixFQUN6RCxnQkFBZ0IsR0FBRSxNQUFrQixFQUNwQyxNQUFNLHlDQUF1QyxFQUNuRDtJQUdKLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRy9EO0lBRU0sb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQVkvRjtJQUdELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRWpFO0lBRU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBS2pEO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHO0lBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBbUNwRyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAcjD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAI9E;AAcD;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEjD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IAHhB,YACU,UAAU,GAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAqB,EACzD,gBAAgB,GAAE,MAAkB,EACpC,MAAM,yCAAuC,EACnD;IAGJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAG/D;IAEM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;IAGD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAEjE;IAEM,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmCpG"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,sFAAsF;AACtF,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAGtD;CACF;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAI9E;AAcD;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEjD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IAHhB,YACU,UAAU,GAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAqB,EACzD,gBAAgB,GAAE,MAAkB,EACpC,MAAM,yCAAuC,EACnD;IAGJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAG/D;IAEM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;IAGD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAEjE;IAEM,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmCpG"}
@@ -4,6 +4,12 @@ import { MAX_TX_SIZE_KB, TopicType, getTopicFromString } from '@aztec/stdlib/p2p
4
4
  import { webcrypto } from 'node:crypto';
5
5
  import { compressSync, uncompressSync } from 'snappy';
6
6
  import xxhashFactory from 'xxhash-wasm';
7
+ /** Thrown when a Snappy-compressed response exceeds the allowed decompressed size. */ export class OversizedSnappyResponseError extends Error {
8
+ constructor(decompressedSize, maxSizeKb){
9
+ super(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
10
+ this.name = 'OversizedSnappyResponseError';
11
+ }
12
+ }
7
13
  // Load WASM
8
14
  const xxhash = await xxhashFactory();
9
15
  // Use salt to prevent msgId from being mined for collisions
@@ -75,7 +81,7 @@ const DefaultMaxSizesKb = {
75
81
  const { decompressedSize } = readSnappyPreamble(data);
76
82
  if (decompressedSize > maxSizeKb * 1024) {
77
83
  this.logger.warn(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
78
- throw new Error(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
84
+ throw new OversizedSnappyResponseError(decompressedSize, maxSizeKb);
79
85
  }
80
86
  return Buffer.from(uncompressSync(data, {
81
87
  asBuffer: true
@@ -6,7 +6,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store';
6
6
  import type { EthAddress, L2Block, L2BlockSource } from '@aztec/stdlib/block';
7
7
  import type { ContractDataSource } from '@aztec/stdlib/contract';
8
8
  import type { ClientProtocolCircuitVerifier, PeerInfo, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
9
- import { BlockProposal, CheckpointAttestation, CheckpointProposal, type CheckpointProposalCore, type Gossipable, type ValidationResult as P2PValidationResult, TopicType } from '@aztec/stdlib/p2p';
9
+ import { BlockProposal, CheckpointAttestation, CheckpointProposal, type CheckpointProposalCore, type Gossipable, TopicType } from '@aztec/stdlib/p2p';
10
10
  import { Tx, type TxValidator } from '@aztec/stdlib/tx';
11
11
  import type { UInt64 } from '@aztec/stdlib/types';
12
12
  import { type TelemetryClient, WithTracer } from '@aztec/telemetry-client';
@@ -234,17 +234,10 @@ export declare class LibP2PService extends WithTracer implements P2PService {
234
234
  protected createSecondStageMessageValidators(): Record<string, TransactionValidator>;
235
235
  private runValidations;
236
236
  private handleDoubleSpendFailure;
237
- /**
238
- * Validate a checkpoint attestation.
239
- *
240
- * @param attestation - The checkpoint attestation to validate.
241
- * @returns True if the checkpoint attestation is valid, false otherwise.
242
- */
243
- validateCheckpointAttestation(peerId: PeerId, attestation: CheckpointAttestation): Promise<P2PValidationResult>;
244
237
  getPeerScore(peerId: PeerId): number;
245
238
  handleAuthRequestFromPeer(authRequest: AuthRequest, peerId: PeerId): Promise<StatusMessage>;
246
239
  private sendToPeers;
247
240
  private stopLibP2P;
248
241
  }
249
242
  export {};
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBNkMsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2SCxPQUFPLEVBQ0wsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxVQUFVLEVBRWYsS0FBSyxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFHNUMsU0FBUyxFQUlWLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLEVBQUUsRUFBd0MsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBSUwsS0FBSyxlQUFlLEVBQ3BCLFVBQVUsRUFFWCxNQUFNLHlCQUF5QixDQUFDO0FBY2pDLE9BQU8s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
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBNkMsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2SCxPQUFPLEVBQ0wsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxVQUFVLEVBSWYsU0FBUyxFQUlWLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLEVBQUUsRUFBd0MsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBSUwsS0FBSyxlQUFlLEVBQ3BCLFVBQVUsRUFFWCxNQUFNLHlCQUF5QixDQUFDO0FBY2pDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBNEIsS0FBSyxNQUFN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
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}