feat: merge-train/spartan#24528
Merged
Merged
Conversation
…24434) ## Summary Prep for the foundation / node / fairies repo split: make `l1-contracts` own the canonical L1 contract configuration defaults instead of deriving them from `spartan/environments/network-defaults.yml`. The new source of truth is `l1-contracts/scripts/network-defaults.json`, published via `@aztec/l1-artifacts` and consumed directly by both the Solidity deploy scripts and `@aztec/ethereum`. This breaks the dependency to `spartan <- l1-contracts`. Worth noting - The defaults in `@aztec/ethereum` read from the JSON in `@aztec/l1-artifacts` and NOT from the yml files. - The yml files are for kubernetes deployment and are separately maintained. - The local network config stays the same. The ultimate fallback is to the defaults in `@aztec/ethereum` which as mentioned before now come from the JSON. ## Changes - Add `l1-contracts/scripts/network-defaults.json` as the committed, canonical set of L1 contract defaults. This replaces the gitignored `l1-contracts/generated/default.json` that used to be generated from the yaml at bootstrap. It also adds the parameters `RollupConfiguration.sol` reads that were previously only defaulted in Solidity (`AZTEC_SLASHING_QUORUM`, `AZTEC_ENTRY_QUEUE_*`). - Publish the JSON through `@aztec/l1-artifacts` (new package export + copied into the bundled foundry subtree by `copy-foundry-artifacts.sh`). - `@aztec/ethereum`'s config now imports the JSON from `@aztec/l1-artifacts` directly (`import … with { type: 'json' }`). Deleted the generated `l1-contracts-defaults.ts` and its generator (`scripts/generate.sh`), and dropped `ethereum` from the yarn-project bootstrap generate step. - `l1-contracts/scripts/load_network_defaults.sh` now reads the JSON — network-agnostic, no network argument, no yaml. `spartan`'s `deploy_rollup_upgrade.sh` switches to spartan's own network-aware yaml loader for its per-network needs. - `foundry.toml` fs_permissions and the deploy `.t.sol` scripts read from `scripts/network-defaults.json`. - The `l1-contracts` section of `network-defaults.yml` is now a hand-synced mirror of the JSON (it still feeds the `slasher` / `cli` generators and the `networks` presets). Docs updated: `spartan/CLAUDE.md`, the yaml header, and the governance rollup-upgrade tutorial. - `RollupConfiguration.sol` now reads parameters via `vm.envUint/envBool` (required) instead of `vm.envOr` (silent Solidity fallback). Consequently the deploy-script tests (`DeployAztecL1Contracts.t.sol`, `DeployRollupForUpgrade.t.sol`) now forward those env vars from the JSON in `setUp()`. ## Behaviour change in l1-contracts tests The tests now use the values in the network-agnostic JSON and therefore do NOT use the same values as before (devnet). ## Testing - `l1-contracts`: `forge test` passes for both deploy suites — `DeployAztecL1ContractsTest::test_SmokeTest` and `DeployRollupForUpgradeTest::test_DeployThenUpgrade`. - `@aztec/ethereum`: builds cleanly; `DefaultL1ContractsConfig` loads from the JSON at runtime with exact `bigint` threshold values (no precision loss). Closes https://linear.app/aztec-labs/issue/A-1358/decouple-spartan-network-configuration-and-l1-contracts
Fix A-1365
Fix A-1402
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEGIN_COMMIT_OVERRIDE
refactor: move L1 network defaults source of truth to l1-contracts (#24434)
feat: expose prover node RPC (#24531)
chore: update staging api keys (#24533)
chore: roll pods only when necessary (#24540)
fix: cors (#24544)
END_COMMIT_OVERRIDE