@aztec/stdlib 5.2.0 → 5.3.0-nightly.20260819
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.
|
@@ -94,9 +94,9 @@ export declare class GasSettings {
|
|
|
94
94
|
* the effective gas available for app logic is gasLimits - teardownGasLimits - privateOverhead.
|
|
95
95
|
* To ensure estimation never hits gas caps, we set both limits above what the protocol allows:
|
|
96
96
|
* teardown gets MAX_PROCESSABLE and gasLimits gets teardown + MAX_PROCESSABLE, so the full
|
|
97
|
-
* processable amount remains available for each phase independently.
|
|
98
|
-
*
|
|
99
|
-
*
|
|
97
|
+
* processable amount remains available for each phase independently. Tx validation exempts
|
|
98
|
+
* simulated txs from gas-limit admission (`isValidTx` with `isSimulation: true`), so these
|
|
99
|
+
* inflated limits pass validation; the wallet clamps the real tx to the admission limit afterward.
|
|
100
100
|
*/
|
|
101
101
|
static forEstimation(overrides: {
|
|
102
102
|
gasLimits?: Gas;
|
package/dest/gas/gas_settings.js
CHANGED
|
@@ -86,9 +86,9 @@ export const GAS_ESTIMATION_DA_GAS_LIMIT = GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT
|
|
|
86
86
|
* the effective gas available for app logic is gasLimits - teardownGasLimits - privateOverhead.
|
|
87
87
|
* To ensure estimation never hits gas caps, we set both limits above what the protocol allows:
|
|
88
88
|
* teardown gets MAX_PROCESSABLE and gasLimits gets teardown + MAX_PROCESSABLE, so the full
|
|
89
|
-
* processable amount remains available for each phase independently.
|
|
90
|
-
*
|
|
91
|
-
*
|
|
89
|
+
* processable amount remains available for each phase independently. Tx validation exempts
|
|
90
|
+
* simulated txs from gas-limit admission (`isValidTx` with `isSimulation: true`), so these
|
|
91
|
+
* inflated limits pass validation; the wallet clamps the real tx to the admission limit afterward.
|
|
92
92
|
*/ static forEstimation(overrides) {
|
|
93
93
|
return GasSettings.from({
|
|
94
94
|
gasLimits: overrides.gasLimits ?? {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0-nightly.20260819",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -92,13 +92,13 @@
|
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
95
|
-
"@aztec/bb.js": "5.
|
|
96
|
-
"@aztec/blob-lib": "5.
|
|
97
|
-
"@aztec/constants": "5.
|
|
98
|
-
"@aztec/ethereum": "5.
|
|
99
|
-
"@aztec/foundation": "5.
|
|
100
|
-
"@aztec/l1-artifacts": "5.
|
|
101
|
-
"@aztec/noir-noirc_abi": "5.
|
|
95
|
+
"@aztec/bb.js": "5.3.0-nightly.20260819",
|
|
96
|
+
"@aztec/blob-lib": "5.3.0-nightly.20260819",
|
|
97
|
+
"@aztec/constants": "5.3.0-nightly.20260819",
|
|
98
|
+
"@aztec/ethereum": "5.3.0-nightly.20260819",
|
|
99
|
+
"@aztec/foundation": "5.3.0-nightly.20260819",
|
|
100
|
+
"@aztec/l1-artifacts": "5.3.0-nightly.20260819",
|
|
101
|
+
"@aztec/noir-noirc_abi": "5.3.0-nightly.20260819",
|
|
102
102
|
"@google-cloud/storage": "^7.15.0",
|
|
103
103
|
"axios": "^1.15.1",
|
|
104
104
|
"json-stringify-deterministic": "1.0.12",
|
package/src/gas/README.md
CHANGED
|
@@ -226,7 +226,8 @@ must also be buildable into a block and fit a valid checkpoint.
|
|
|
226
226
|
### Per-tx protocol maxima
|
|
227
227
|
|
|
228
228
|
Hard ceilings on what any single tx may declare, independent of network configuration. Declaring more is
|
|
229
|
-
rejected
|
|
229
|
+
rejected by `GasLimitsValidator` at every tx validation entry point except simulation, which is exempt
|
|
230
|
+
because gas estimation deliberately declares limits above the per-tx maximum.
|
|
230
231
|
|
|
231
232
|
- **`MAX_TX_DA_GAS`** (271,200) — `MAX_TX_BLOB_DATA_SIZE_IN_FIELDS` (8,475) × `DA_GAS_PER_FIELD` (32). This
|
|
232
233
|
is the most DA a single tx's effects can encode into a blob, so it is the most DA gas a tx could ever use.
|
|
@@ -300,8 +301,8 @@ The outermost limits, enforced as proposal validity in `validateCheckpointLimits
|
|
|
300
301
|
|
|
301
302
|
| Limit | Value (mainnet defaults) | Scope | Where enforced |
|
|
302
303
|
| --------------------------------------- | ------------------------------- | ------------- | ----------------------------------------------------------- |
|
|
303
|
-
| `MAX_TX_DA_GAS` | 271,200 | per-tx |
|
|
304
|
-
| `MAX_PROCESSABLE_L2_GAS` | 6,540,000 | per-tx |
|
|
304
|
+
| `MAX_TX_DA_GAS` | 271,200 | per-tx | `GasLimitsValidator` (hard ceiling; simulation exempt) |
|
|
305
|
+
| `MAX_PROCESSABLE_L2_GAS` | 6,540,000 | per-tx | `GasLimitsValidator` (hard ceiling; simulation exempt) |
|
|
305
306
|
| Network DA admission limit | min(271,200, ceil(784,448/10×1.5)) = 117,668 | per-tx (relay) | RPC, gossip, pending pool (`GasLimitsValidator`) |
|
|
306
307
|
| Network L2 admission limit | min(6,540,000, ceil(manaLimit/10×1.2)) | per-tx (relay) | RPC, gossip, pending pool (`GasLimitsValidator`) |
|
|
307
308
|
| Per-block fair share + caps | remaining budget / blocks × multiplier, min absolute caps & blob-field cap | per-block | `CheckpointBuilder.capLimitsByCheckpointBudgets` |
|
package/src/gas/gas_settings.ts
CHANGED
|
@@ -132,9 +132,9 @@ export class GasSettings {
|
|
|
132
132
|
* the effective gas available for app logic is gasLimits - teardownGasLimits - privateOverhead.
|
|
133
133
|
* To ensure estimation never hits gas caps, we set both limits above what the protocol allows:
|
|
134
134
|
* teardown gets MAX_PROCESSABLE and gasLimits gets teardown + MAX_PROCESSABLE, so the full
|
|
135
|
-
* processable amount remains available for each phase independently.
|
|
136
|
-
*
|
|
137
|
-
*
|
|
135
|
+
* processable amount remains available for each phase independently. Tx validation exempts
|
|
136
|
+
* simulated txs from gas-limit admission (`isValidTx` with `isSimulation: true`), so these
|
|
137
|
+
* inflated limits pass validation; the wallet clamps the real tx to the admission limit afterward.
|
|
138
138
|
*/
|
|
139
139
|
static forEstimation(overrides: {
|
|
140
140
|
gasLimits?: Gas;
|