Skip to content

Commit 0e165f9

Browse files
authored
Merge pull request #582 from AztecProtocol/cb/merge-public-next-raw
chore: merge public-next into next (raw, conflict markers)
2 parents 0fbf179 + d5793cb commit 0e165f9

57 files changed

Lines changed: 1614 additions & 242 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/merge-train-create-pr.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ jobs:
5858
if [[ "$branch" == "merge-train/spartan" || "$branch" == "merge-train/spartan-v5" || "$branch" == "merge-train/spartan-v6" || "$branch" == "merge-train/ci" ]]; then
5959
labels="$labels,ci-full-no-test-cache"
6060
fi
61-
# Trains targeting the v5 release line are ports into v5-next.
62-
if [[ "$base_branch" == "v5-next" ]]; then
61+
# Trains targeting a v<N>-next release line (v5-next, v6-next) are
62+
# forward-ported into their base via the private-port-next driver.
63+
if [[ "$base_branch" =~ ^v[0-9]+-next$ ]]; then
6364
labels="$labels,private-port-next"
6465
fi
6566
gh pr create --base "$base_branch" --head "$branch" \

docs/docs-developers/docs/tutorials/testing_governance_rollup_upgrade.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ cp ~/.svm/0.8.30/solc-0.8.30 ./solc-0.8.30
7979
# Copy the HonkVerifier to the generated directory (required for build)
8080
mkdir -p generated
8181
cp src/HonkVerifier.sol generated/HonkVerifier.sol
82-
echo '{}' > generated/default.json
8382

8483
# Remove zkpassport-dependent files (not needed for rollup deployment)
8584
rm -f src/mock/StakingAssetHandler.sol

l1-contracts/.rebuild_patterns

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
^l1-contracts/foundry.lock
88
^l1-contracts/package.json
99
^l1-contracts/scripts/forge_broadcast.js
10+
^l1-contracts/scripts/network-defaults.json
1011
^l1-contracts/l1-artifacts/scripts/.*
1112
^l1-contracts/l1-artifacts/package.json
1213
^l1-contracts/l1-artifacts/tsconfig.json

l1-contracts/bootstrap.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ function build_verifier {
8787
if ! cache_download $artifact; then
8888
mkdir -p generated
8989

90-
# Generate network defaults from spartan (canonical source of truth for config values)
91-
yq -o json 'explode(.) | ."l1-contracts" // {}' ../spartan/environments/network-defaults.yml > generated/default.json
92-
9390
# Copy from noir-projects. Bootstrap must have ran in noir-projects.
9491
local rollup_verifier_path=../noir-projects/noir-protocol-circuits/target/keys/rollup_root_verifier.sol
9592
if [ -f "$rollup_verifier_path" ]; then

l1-contracts/foundry.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ fs_permissions = [
6161
{ access = "read", path = "./test/fixtures/boosted_rewards/shares.json" },
6262
{ access = "read", path = "./test/fixtures/boosted_rewards/activity_scores.json" },
6363
{ access = "read", path = "./script/registration_data.json" },
64-
# Network defaults - copied from spartan/environments/default.json by bootstrap.sh
65-
{ access = "read", path = "./generated/default.json" }
64+
# Network defaults - the canonical L1 contract config values (source of truth).
65+
{ access = "read", path = "./scripts/network-defaults.json" }
6666
]
6767
no_match_contract = "(ScreamAndShoutTest|UniswapPortalTest|MerkleCheck)"
6868

l1-contracts/l1-artifacts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.1.0",
44
"type": "module",
55
"exports": {
6+
"./network-defaults.json": "./l1-contracts/scripts/network-defaults.json",
67
"./*": "./dest/*.js",
78
".": "./dest/index.js"
89
},

l1-contracts/l1-artifacts/scripts/copy-foundry-artifacts.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ mkdir -p "l1-contracts/test/script"
2424
cp -p "$src/test/shouting.t.sol" "l1-contracts/test/"
2525
cp -p "$src"/test/script/*.sol "l1-contracts/test/script/"
2626
cp -p "$src"/{foundry.toml,foundry.lock,package.json,solc-*} "l1-contracts/"
27-
# Copy the forge broadcast wrapper (now a plain .js source file).
27+
# Copy the forge broadcast wrapper (now a plain .js source file) and the network defaults
28+
# (read at deploy time via foundry fs_permissions / vm.readFile).
2829
mkdir -p "l1-contracts/scripts"
2930
cp -p "$src/scripts/forge_broadcast.js" "l1-contracts/scripts/"
31+
cp -p "$src/scripts/network-defaults.json" "l1-contracts/scripts/"
3032
abs_dest=$(pwd)/l1-contracts
3133
# Keep only the foundry relevant files from lib
3234
(cd "$src" && find lib \( -name "*.sol" -o -name "remappings.txt" -o -name "foundry.toml" \) -exec cp --parents -t "$abs_dest" {} +)

l1-contracts/script/deploy/RollupConfiguration.sol

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ contract RollupConfiguration is IRollupConfiguration, Test {
7777

7878
function getStakingQueueConfiguration() external view returns (StakingQueueConfig memory) {
7979
return StakingQueueConfig({
80-
bootstrapValidatorSetSize: vm.envOr("AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE", uint256(0)),
81-
bootstrapFlushSize: vm.envOr("AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE", uint256(0)),
82-
normalFlushSizeMin: vm.envOr("AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN", uint256(48)),
83-
normalFlushSizeQuotient: vm.envOr("AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT", uint256(2)),
84-
maxQueueFlushSize: vm.envOr("AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE", uint256(48))
80+
bootstrapValidatorSetSize: vm.envUint("AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE"),
81+
bootstrapFlushSize: vm.envUint("AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE"),
82+
normalFlushSizeMin: vm.envUint("AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN"),
83+
normalFlushSizeQuotient: vm.envUint("AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT"),
84+
maxQueueFlushSize: vm.envUint("AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE")
8585
});
8686
}
8787

@@ -119,7 +119,7 @@ contract RollupConfiguration is IRollupConfiguration, Test {
119119
config.slashingExecutionDelayInRounds = vm.envUint("AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS");
120120
config.slashAmounts = _getSlashAmounts();
121121
config.slashingOffsetInRounds = _getSlashingOffset();
122-
config.slasherEnabled = vm.envOr("AZTEC_SLASHER_ENABLED", true);
122+
config.slasherEnabled = vm.envBool("AZTEC_SLASHER_ENABLED");
123123
config.slashingVetoer = vm.envAddress("AZTEC_SLASHING_VETOER");
124124
config.slashingDisableDuration = vm.envUint("AZTEC_SLASHING_DISABLE_DURATION");
125125
config.manaTarget = vm.envUint("AZTEC_MANA_TARGET");
Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,21 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
# Load L1 contract defaults from network-defaults.yml for a given network.
5-
# Exports AZTEC_* and ETHEREUM_* env vars with YAML anchor inheritance resolved.
4+
# Load the canonical L1 contract defaults from network-defaults.json.
5+
# Exports every key in the file as an env var (all AZTEC_* / ETHEREUM_*).
66
#
77
# Usage:
8-
# source ./scripts/load_network_defaults.sh <network>
9-
#
10-
# Networks: mainnet, testnet, devnet
8+
# source ./scripts/load_network_defaults.sh
119

12-
network="${1:?Usage: $0 <network>}"
1310
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
14-
network_defaults="${script_dir}/../../spartan/environments/network-defaults.yml"
11+
network_defaults="${script_dir}/network-defaults.json"
1512

1613
if [[ ! -f "$network_defaults" ]]; then
17-
echo "ERROR: network-defaults.yml not found at $network_defaults" >&2
14+
echo "ERROR: network-defaults.json not found at $network_defaults" >&2
1815
exit 1
1916
fi
2017

21-
# explode(.) resolves YAML anchors (<<: *prodlike inheritance)
22-
# Output as props, filter comments, normalize spacing
18+
# jq preserves large integer literals verbatim (e.g. 100000000000000000000), which vm.envUint requires.
2319
while IFS='=' read -r key value; do
2420
export "$key"="$value"
25-
done < <(yq -o=props "explode(.) | .networks.$network | with_entries(select(.key | test(\"^AZTEC_|^ETHEREUM_\")))" "$network_defaults" \
26-
| grep -v '^#' \
27-
| grep -v '^$' \
28-
| sed 's/ = /=/')
21+
done < <(jq -r 'to_entries[] | "\(.key)=\(.value)"' "$network_defaults")
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"ETHEREUM_SLOT_DURATION": 12,
3+
"AZTEC_SLOT_DURATION": 72,
4+
"AZTEC_EPOCH_DURATION": 32,
5+
"AZTEC_TARGET_COMMITTEE_SIZE": 48,
6+
"AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET": 2,
7+
"AZTEC_LAG_IN_EPOCHS_FOR_RANDAO": 2,
8+
"AZTEC_ACTIVATION_THRESHOLD": 100000000000000000000,
9+
"AZTEC_EJECTION_THRESHOLD": 50000000000000000000,
10+
"AZTEC_LOCAL_EJECTION_THRESHOLD": 98000000000000000000,
11+
"AZTEC_EXIT_DELAY_SECONDS": 172800,
12+
"AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE": 0,
13+
"AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE": 0,
14+
"AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN": 48,
15+
"AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT": 2,
16+
"AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE": 48,
17+
"AZTEC_INBOX_LAG": 1,
18+
"AZTEC_PROOF_SUBMISSION_EPOCHS": 1,
19+
"AZTEC_MANA_TARGET": 100000000,
20+
"AZTEC_PROVING_COST_PER_MANA": 100,
21+
"AZTEC_INITIAL_ETH_PER_FEE_ASSET": 10000000,
22+
"AZTEC_SLASHER_ENABLED": true,
23+
"AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS": 4,
24+
"AZTEC_SLASHING_QUORUM": 65,
25+
"AZTEC_SLASHING_LIFETIME_IN_ROUNDS": 5,
26+
"AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS": 0,
27+
"AZTEC_SLASHING_OFFSET_IN_ROUNDS": 2,
28+
"AZTEC_SLASHING_VETOER": "0x0000000000000000000000000000000000000000",
29+
"AZTEC_SLASHING_DISABLE_DURATION": 432000,
30+
"AZTEC_SLASH_AMOUNT_SMALL": 10000000000000000000,
31+
"AZTEC_SLASH_AMOUNT_MEDIUM": 20000000000000000000,
32+
"AZTEC_SLASH_AMOUNT_LARGE": 50000000000000000000,
33+
"AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE": 300
34+
}

0 commit comments

Comments
 (0)