-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: integrate base fee computation into rollup #10076
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
6e876c7
to
0608944
Compare
308a914
to
2d38c65
Compare
2d38c65
to
0d755a2
Compare
Running into the same failures as seen on master. |
0d755a2
to
b6096f8
Compare
62cdd66
to
96ccafe
Compare
96ccafe
to
c87ce1c
Compare
@@ -46,6 +46,10 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface { | |||
}); | |||
} | |||
|
|||
public async getCurrentBaseFees(): Promise<GasFees> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an issue to set the DA fee?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is not, it is just an initial simple model. From the description of the model: https://github.com/AztecProtocol/engineering-designs/blob/main/in-progress/8757-fees/design.md
@@ -217,7 +218,9 @@ export class PublicProcessor { | |||
: await this.worldStateDB.storageRead(feeJuiceAddress, balanceSlot); | |||
|
|||
if (balance.lt(txFee)) { | |||
throw new Error(`Not enough balance for fee payer to pay for transaction (got ${balance} needs ${txFee})`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should add an issue to move this check to when the transaction arrives?? In the p2p pool there is validation logic that should probably check this here, such that txs that are unable to cover the fee get dropped and not gossiped?
We can make an issue to add this rather than adding in this pr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe also have it there ye?
The processor also used when you are simulating your transaction before sending it, so would be useful to know if your tx fails before your send it as well.
@@ -456,7 +456,11 @@ function makeRollupTx(l2Block: L2Block) { | |||
const input = encodeFunctionData({ | |||
abi: RollupAbi, | |||
functionName: 'propose', | |||
args: [{ header, archive, blockHash, txHashes: [] }, [], body], | |||
args: [ | |||
{ header, archive, blockHash, oracleInput: { provingCostModifier: 0n, feeAssetPriceModifier: 0n }, txHashes: [] }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For an archiver test not sure we would really need to change it though 🤷.
l1-contracts/src/core/Rollup.sol
Outdated
L1FeeData memory fees = getCurrentL1Fees(); | ||
uint256 dataCost = | ||
Math.mulDiv(3 * BLOB_GAS_PER_BLOB, fees.blobFee, FeeMath.MANA_TARGET, Math.Rounding.Ceil); | ||
uint256 casUsed = FeeMath.L1_GAS_PER_BLOCK_PROPOSED + 3 * GAS_PER_BLOB_POINT_EVALUATION |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uint256 casUsed = FeeMath.L1_GAS_PER_BLOCK_PROPOSED + 3 * GAS_PER_BLOB_POINT_EVALUATION | |
uint256 gasUsed = FeeMath.L1_GAS_PER_BLOCK_PROPOSED + 3 * GAS_PER_BLOB_POINT_EVALUATION |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did I really not fix this 💀
); | ||
|
||
L1FeeData memory fees = getCurrentL1Fees(); | ||
uint256 dataCost = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assume there will always be 3 blobs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good some notes
@@ -11,6 +11,24 @@ import {Errors} from "@aztec/core/libraries/Errors.sol"; | |||
* @notice Decoding and validating an L2 block header | |||
* Concerned with readability and velocity of development not giving a damn about gas costs. | |||
* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lmao
c87ce1c
to
6bca6ff
Compare
@@ -757,6 +922,14 @@ contract Rollup is EIP712("Aztec Rollup", "1"), Leonidas, IRollup, ITestRollup { | |||
return tips.pendingBlockNumber; | |||
} | |||
|
|||
function getBlock(uint256 _blockNumber) public view override(IRollup) returns (BlockLog memory) { | |||
require( | |||
_blockNumber <= tips.pendingBlockNumber, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't imagine how many developer hours you saved.
6bca6ff
to
dd30fb6
Compare
This reverts commit 3417b22.
Reverts #10076 The `e2e-all` flag don't run the `bench-e2e` test so the prover tests were not being properly funded to pay fee for its transactions...
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.64.0</summary> ## [0.64.0](aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) ### Miscellaneous * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](#10165)) * add AztecAddress.isValid and make random be valid ([#10081](#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](#10081)) ([fbdf6b0](fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](b8bace9)) * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * **avm:** Integrate ephemeral trees ([#9917](#9917)) ([fbe1128](fbe1128)) * **avm:** More efficient low leaf search ([#9870](#9870)) ([f7bbd83](f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](#10083)) ([55564aa](55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](#10051)) ([133384c](133384c)) * Compute base-fee on l1 ([#9986](#9986)) ([4ab46fe](4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](b8bace9)) * E2e metrics reporting ([#9776](#9776)) ([9cab121](9cab121)) * Gating test ([#9918](#9918)) ([c6b65ab](c6b65ab)), closes [#9883](#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](#10031)) ([4d6da9b](4d6da9b)) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Initial gas oracle ([#9952](#9952)) ([e740d42](e740d42)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * Integrate base fee computation into rollup ([#10076](#10076)) ([3417b22](3417b22)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * New proving agent ([#9999](#9999)) ([9ad24dd](9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](b8bace9)) * Public network deployments ([#10089](#10089)) ([570f70a](570f70a)) * PXE handles reorgs ([#9913](#9913)) ([aafef9c](aafef9c)) * Rename SharedMutable methods ([#10165](#10165)) ([4fd70e8](4fd70e8)) * Reset pxe indexes ([#10093](#10093)) ([3848c01](3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](b8bace9)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](b8bace9)) * Sync tags as sender ([#10071](#10071)) ([122d2e4](122d2e4)) * Terraform for release deployments ([#10091](#10091)) ([dc528da](dc528da)), closes [#10144](#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](b8bace9)) * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) * Updating consensus payload ([#10017](#10017)) ([85c8a3b](85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](b8bace9)) * **val:** Reex ([#9768](#9768)) ([2e58f0a](2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](#10173)) ([2add6ae](2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](#9905)) ([e1ef998](e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](b8bace9)) * Allow unwinding multiple empty blocks ([#10084](#10084)) ([ec34442](ec34442)) * Boxes ([#10122](#10122)) ([10df7c5](10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](#9773)) ([2587ad5](2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](#9771)) ([cdabd85](cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](b8bace9)) * Potential e2e-p2p fix ([#10094](#10094)) ([820bcc6](820bcc6)) * Prover-agent.yaml syntax ([#10131](#10131)) ([a238fe6](a238fe6)) * Remove src build from doc build flow ([#10127](#10127)) ([fbfe1b1](fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](#10166)) ([1a207f5](1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](b8bace9)) * Sorting artifact props and members in metadata ([#9772](#9772)) ([aba568a](aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](b8bace9)) * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](b8bace9)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](b8bace9)) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](#10155)) ([f0f8d22](f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](b8bace9)) * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) * Fix pool metrics ([#9652](#9652)) ([233b387](233b387)) * Fix spartan deploy script ([#10078](#10078)) ([368ac8b](368ac8b)) * Initial draft of testnet-runbook ([#10085](#10085)) ([598c1b1](598c1b1)) * Lower throughput of ebs disks ([#9997](#9997)) ([698cd3d](698cd3d)) * Make tests not silent if DEBUG set ([#10130](#10130)) ([95e8406](95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](b8bace9)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](b8bace9)) * Pull across noir-lang/noir[#6558](#6558) ([#10037](#10037)) ([3014a69](3014a69)) * Pull out sync changes ([#10072](#10072)) ([06ef61e](06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) * Remove PublicExecutor ([#10028](#10028)) ([9643dcd](9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](b8bace9)) * Remove some unnecessary clones ([#10049](#10049)) ([8628b32](8628b32)) * Remove unused imports ([#10134](#10134)) ([8dbeda0](8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](b8bace9)) * Revert [#6375](#6375) (noir-lang/noir#6552) ([b8bace9](b8bace9)) * Skip emitting public bytecode ([#10009](#10009)) ([280d169](280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) * Re-arrange references section ([#10070](#10070)) ([375482f](375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
* master: (106 commits) feat: blobs. (#9302) chore(avm): operands reordering (#10182) feat: UltraRollupRecursiveFlavor (#10088) feat: one liner for nodes to join rough-rhino (#10168) feat!: rename sharedimmutable methods (#10164) chore(master): Release 0.64.0 (#10043) feat: e2e metrics reporting (#9776) chore: fix pool metrics (#9652) chore: Initial draft of testnet-runbook (#10085) feat: Improved data storage metrics (#10020) chore: Remove handling of duplicates from the note hash tree (#10016) fix: add curl to aztec nargo container (#10173) fix: Revert "feat: integrate base fee computation into rollup" (#10166) feat!: rename SharedMutable methods (#10165) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg feat: sync tags as sender (#10071) feat: integrate base fee computation into rollup (#10076) ...
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) ### Miscellaneous * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) * add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) ([fbdf6b0](AztecProtocol/aztec-packages@fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * **avm:** Integrate ephemeral trees ([#9917](AztecProtocol/aztec-packages#9917)) ([fbe1128](AztecProtocol/aztec-packages@fbe1128)) * **avm:** More efficient low leaf search ([#9870](AztecProtocol/aztec-packages#9870)) ([f7bbd83](AztecProtocol/aztec-packages@f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](AztecProtocol/aztec-packages#10083)) ([55564aa](AztecProtocol/aztec-packages@55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](AztecProtocol/aztec-packages#10051)) ([133384c](AztecProtocol/aztec-packages@133384c)) * Compute base-fee on l1 ([#9986](AztecProtocol/aztec-packages#9986)) ([4ab46fe](AztecProtocol/aztec-packages@4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * E2e metrics reporting ([#9776](AztecProtocol/aztec-packages#9776)) ([9cab121](AztecProtocol/aztec-packages@9cab121)) * Gating test ([#9918](AztecProtocol/aztec-packages#9918)) ([c6b65ab](AztecProtocol/aztec-packages@c6b65ab)), closes [#9883](AztecProtocol/aztec-packages#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](AztecProtocol/aztec-packages#10031)) ([4d6da9b](AztecProtocol/aztec-packages@4d6da9b)) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Initial gas oracle ([#9952](AztecProtocol/aztec-packages#9952)) ([e740d42](AztecProtocol/aztec-packages@e740d42)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * Integrate base fee computation into rollup ([#10076](AztecProtocol/aztec-packages#10076)) ([3417b22](AztecProtocol/aztec-packages@3417b22)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * New proving agent ([#9999](AztecProtocol/aztec-packages#9999)) ([9ad24dd](AztecProtocol/aztec-packages@9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Public network deployments ([#10089](AztecProtocol/aztec-packages#10089)) ([570f70a](AztecProtocol/aztec-packages@570f70a)) * PXE handles reorgs ([#9913](AztecProtocol/aztec-packages#9913)) ([aafef9c](AztecProtocol/aztec-packages@aafef9c)) * Rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) ([4fd70e8](AztecProtocol/aztec-packages@4fd70e8)) * Reset pxe indexes ([#10093](AztecProtocol/aztec-packages#10093)) ([3848c01](AztecProtocol/aztec-packages@3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync tags as sender ([#10071](AztecProtocol/aztec-packages#10071)) ([122d2e4](AztecProtocol/aztec-packages@122d2e4)) * Terraform for release deployments ([#10091](AztecProtocol/aztec-packages#10091)) ([dc528da](AztecProtocol/aztec-packages@dc528da)), closes [#10144](AztecProtocol/aztec-packages#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) * Updating consensus payload ([#10017](AztecProtocol/aztec-packages#10017)) ([85c8a3b](AztecProtocol/aztec-packages@85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **val:** Reex ([#9768](AztecProtocol/aztec-packages#9768)) ([2e58f0a](AztecProtocol/aztec-packages@2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](AztecProtocol/aztec-packages#10173)) ([2add6ae](AztecProtocol/aztec-packages@2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](AztecProtocol/aztec-packages#9905)) ([e1ef998](AztecProtocol/aztec-packages@e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Allow unwinding multiple empty blocks ([#10084](AztecProtocol/aztec-packages#10084)) ([ec34442](AztecProtocol/aztec-packages@ec34442)) * Boxes ([#10122](AztecProtocol/aztec-packages#10122)) ([10df7c5](AztecProtocol/aztec-packages@10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](AztecProtocol/aztec-packages#9773)) ([2587ad5](AztecProtocol/aztec-packages@2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](AztecProtocol/aztec-packages#9771)) ([cdabd85](AztecProtocol/aztec-packages@cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Potential e2e-p2p fix ([#10094](AztecProtocol/aztec-packages#10094)) ([820bcc6](AztecProtocol/aztec-packages@820bcc6)) * Prover-agent.yaml syntax ([#10131](AztecProtocol/aztec-packages#10131)) ([a238fe6](AztecProtocol/aztec-packages@a238fe6)) * Remove src build from doc build flow ([#10127](AztecProtocol/aztec-packages#10127)) ([fbfe1b1](AztecProtocol/aztec-packages@fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](AztecProtocol/aztec-packages#10166)) ([1a207f5](AztecProtocol/aztec-packages@1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sorting artifact props and members in metadata ([#9772](AztecProtocol/aztec-packages#9772)) ([aba568a](AztecProtocol/aztec-packages@aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](AztecProtocol/aztec-packages#10155)) ([f0f8d22](AztecProtocol/aztec-packages@f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) * Fix pool metrics ([#9652](AztecProtocol/aztec-packages#9652)) ([233b387](AztecProtocol/aztec-packages@233b387)) * Fix spartan deploy script ([#10078](AztecProtocol/aztec-packages#10078)) ([368ac8b](AztecProtocol/aztec-packages@368ac8b)) * Initial draft of testnet-runbook ([#10085](AztecProtocol/aztec-packages#10085)) ([598c1b1](AztecProtocol/aztec-packages@598c1b1)) * Lower throughput of ebs disks ([#9997](AztecProtocol/aztec-packages#9997)) ([698cd3d](AztecProtocol/aztec-packages@698cd3d)) * Make tests not silent if DEBUG set ([#10130](AztecProtocol/aztec-packages#10130)) ([95e8406](AztecProtocol/aztec-packages@95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Pull across noir-lang/noir[#6558](AztecProtocol/aztec-packages#6558) ([#10037](AztecProtocol/aztec-packages#10037)) ([3014a69](AztecProtocol/aztec-packages@3014a69)) * Pull out sync changes ([#10072](AztecProtocol/aztec-packages#10072)) ([06ef61e](AztecProtocol/aztec-packages@06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) * Remove PublicExecutor ([#10028](AztecProtocol/aztec-packages#10028)) ([9643dcd](AztecProtocol/aztec-packages@9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some unnecessary clones ([#10049](AztecProtocol/aztec-packages#10049)) ([8628b32](AztecProtocol/aztec-packages@8628b32)) * Remove unused imports ([#10134](AztecProtocol/aztec-packages#10134)) ([8dbeda0](AztecProtocol/aztec-packages@8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](AztecProtocol/aztec-packages@ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](AztecProtocol/aztec-packages@fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](AztecProtocol/aztec-packages@98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](AztecProtocol/aztec-packages@94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revert [#6375](AztecProtocol/aztec-packages#6375) (noir-lang/noir#6552) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Skip emitting public bytecode ([#10009](AztecProtocol/aztec-packages#10009)) ([280d169](AztecProtocol/aztec-packages@280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) * Re-arrange references section ([#10070](AztecProtocol/aztec-packages#10070)) ([375482f](AztecProtocol/aztec-packages@375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Fixes #9962 and #9721.
Notable changes:
HeaderLib
to support a faketotalManaUsed
such that we can neatly check the solidity parts without needing to wait for feat: addtotal_mana_used
to L2 block header #9716.FeeJuice::initialize
now takesinitial_mint
as argument to make it simpler/faster to update the value.FEE_JUICE_INITIAL_MINT
to20000000000000000000
as fees are much larger now.OracleInput
into theProposeArgs
OracleInput
with(0, 0)
, see feat: populate multipler oracle input #9963getCurrentBaseFees
function to the node and pxe to easily access it. Wallets implement pxe, so they also got it.profile.sh
as it was calling functions that don't exists, seems like it was not running in ci so was not caught earlier.default
etc should likely be considered again.