Skip to content

Commit 6902117

Browse files
Merge pull request #744 from 0xPolygon/jhilliard/aggsender-validator-committee
feat: aggsender-validator-committee + aggoracle-committee
2 parents c5309bd + 287f5f0 commit 6902117

45 files changed

Lines changed: 1325 additions & 275 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
deployment_stages:
2+
deploy_l2_contracts: true
3+
deploy_op_succinct: false
4+
deploy_cdk_bridge_infra: true
5+
deploy_optimism_rollup: false
6+
args:
7+
consensus_contract_type: ecdsa_multisig
8+
9+
# Aggsender-validator related params
10+
use_agg_sender_validator: false
11+
agg_sender_multisig_threshold: 1
12+
agg_sender_validator_total_number: 0
13+
14+
# Aggkit related params
15+
binary_name: aggkit
16+
aggkit_components: aggsender
17+
aggkit_image: ghcr.io/agglayer/aggkit:0.7.0-beta6
18+
19+
# Agglayer related params
20+
agglayer_contracts_image: jhkimqd/agglayer-contracts:v0.0.0-rc.0.fix.1.create.genesis-fork.12
21+
agglayer_prover_primary_prover: mock-prover
22+
zkevm_use_real_verifier: false
23+
sp1_prover_key: ""
24+
25+
# CDK-Erigon related params
26+
sequencer_type: erigon
27+
cdk_erigon_node_image: hermeznetwork/cdk-erigon:v2.63.0-rc4
28+
enable_normalcy: true
29+
erigon_strict_mode: false
30+
gas_token_enabled: false

.github/tests/cdk-erigon/sovereign.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ args:
77
sequencer_type: erigon
88
consensus_contract_type: pessimistic
99

10+
aggkit_image: ghcr.io/agglayer/aggkit:0.5.0-beta4
1011
agglayer_contracts_image: europe-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/agglayer-contracts:v11.0.0-rc.2-fork.12
1112
zkevm_prover_image: hermeznetwork/zkevm-prover:v8.0.0-RC16-fork.12
1213
cdk_erigon_node_image: hermeznetwork/cdk-erigon:v2.63.0-rc4
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# This args-file deploys the OP Succinct chain.
2+
deployment_stages:
3+
deploy_op_succinct: false
4+
5+
args:
6+
aggkit_image: "ghcr.io/agglayer/aggkit:0.7.0-beta6" # https://github.com/agglayer/aggkit/tree/v0.7.0-beta6
7+
8+
# Agghcain ecdsa_multisig consensus.
9+
consensus_contract_type: ecdsa_multisig
10+
use_agg_sender_validator: True
11+
# The below parameter will be used for aggsender multisig to have "agg_sender_validator_total_number" aggsender validators.
12+
agg_sender_validator_total_number: 1
13+
agg_sender_multisig_threshold: 1
14+
15+
# OP Networks rely on L1 blocks to have finalization on L2. This means if the L1 blocktime is very fast, OP Succinct proof requests will have to bundle many L1 blocks into a single proof.
16+
# This will significantly increase cycles even if the L2 network is empty. Instead of having 2s, for OP Succinct deployments, we recommend 12s.
17+
# Note this will noticeably increase the deployment time because of the increased L1 finality.
18+
l1_seconds_per_slot: 2 # TEMPORARY - DO NOT MERGE
19+
20+
optimism_package:
21+
chains:
22+
- proposer_params:
23+
enabled: false
24+
challenger_params:
25+
enabled: false
26+
network_params:
27+
name: "001"
28+
network_id: "2151908"
29+
seconds_per_slot: 1
30+
observability:
31+
enabled: false

.github/tests/op-geth/ecdsa.yml.norun

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/tests/op-geth/sovereign.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ deployment_stages:
22
deploy_optimism_rollup: true
33

44
args:
5+
aggkit_image: ghcr.io/agglayer/aggkit:0.5.0-beta4
6+
agglayer_contracts_image: europe-west2-docker.pkg.dev/prj-polygonlabs-devtools-dev/public/agglayer-contracts:v11.0.0-rc.2-fork.12
57
consensus_contract_type: pessimistic
68

79
optimism_package:

.github/tests/op-succinct/mock-prover.yml

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
11
# This args-file deploys the OP Succinct chain.
22
deployment_stages:
3-
deploy_op_succinct: true
3+
deploy_op_succinct: true
44

55
args:
6-
consensus_contract_type: fep
7-
# Using the network provers will use the real SP1 verifier contract which is also deployed together in the Kurtosis devnet.
8-
# A mock verifier is used otherwise.
9-
op_succinct_mock: true
10-
# Enable the integration with the Agglayer
11-
op_succinct_agglayer: true
12-
# Proof type. Must match the verifier gateway contract type. Options: "plonk", "groth16", "compressed", "core"
13-
op_succinct_agg_proof_mode: "compressed"
14-
# The minimum interval in L2 blocks at which checkpoints must be submitted. An aggregation proof can be posted for any range larger than this interval.
15-
op_succinct_submission_interval: "1"
16-
# The maximum number of concurrent proof requests to send to the `op-succinct-server`
17-
op_succinct_max_concurrent_proof_requests: "1"
18-
# The maximum number of concurrent witness generation processes to run on the `op-succinct-server`
19-
op_succinct_max_concurrent_witness_gen: "1"
20-
# Size of the range proof.
21-
op_succinct_range_proof_interval: "60"
6+
consensus_contract_type: fep
7+
# Using the network provers will use the real SP1 verifier contract which is also deployed together in the Kurtosis devnet.
8+
# A mock verifier is used otherwise.
9+
op_succinct_mock: true
10+
# Enable the integration with the Agglayer
11+
op_succinct_agglayer: true
12+
# Proof type. Must match the verifier gateway contract type. Options: "plonk", "groth16", "compressed", "core"
13+
op_succinct_agg_proof_mode: "compressed"
14+
# The minimum interval in L2 blocks at which checkpoints must be submitted. An aggregation proof can be posted for any range larger than this interval.
15+
op_succinct_submission_interval: "1"
16+
# The maximum number of concurrent proof requests to send to the `op-succinct-server`
17+
op_succinct_max_concurrent_proof_requests: "1"
18+
# The maximum number of concurrent witness generation processes to run on the `op-succinct-server`
19+
op_succinct_max_concurrent_witness_gen: "1"
20+
# Size of the range proof.
21+
op_succinct_range_proof_interval: "60"
2222

23-
# OP Networks rely on L1 blocks to have finalization on L2. This means if the L1 blocktime is very fast, OP Succinct proof requests will have to bundle many L1 blocks into a single proof.
24-
# This will significantly increase cycles even if the L2 network is empty. Instead of having 2s, for OP Succinct deployments, we recommend 12s.
25-
# Note this will noticeably increase the deployment time because of the increased L1 finality.
26-
l1_seconds_per_slot: 2 # TEMPORARY - DO NOT MERGE
23+
aggkit_image: "ghcr.io/agglayer/aggkit:0.7.0-beta6" # https://github.com/agglayer/aggkit/tree/v0.7.0-beta6
24+
# OP Networks rely on L1 blocks to have finalization on L2. This means if the L1 blocktime is very fast, OP Succinct proof requests will have to bundle many L1 blocks into a single proof.
25+
# This will significantly increase cycles even if the L2 network is empty. Instead of having 2s, for OP Succinct deployments, we recommend 12s.
26+
# Note this will noticeably increase the deployment time because of the increased L1 finality.
27+
l1_seconds_per_slot: 2 # TEMPORARY - DO NOT MERGE
2728

2829
optimism_package:
29-
chains:
30-
- proposer_params:
30+
chains:
31+
- proposer_params:
32+
enabled: false
33+
challenger_params:
34+
enabled: false
35+
network_params:
36+
name: "001"
37+
network_id: "2151908"
38+
seconds_per_slot: 1
39+
observability:
3140
enabled: false
32-
challenger_params:
33-
enabled: false
34-
network_params:
35-
name: "001"
36-
network_id: "2151908"
37-
seconds_per_slot: 1
38-
observability:
39-
enabled: false

.github/tests/op-succinct/real-prover.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ args:
3737
zkevm_rollup_id: 1
3838
# Size of the range proof.
3939
op_succinct_range_proof_interval: "1800"
40+
aggkit_image: "ghcr.io/agglayer/aggkit:0.7.0-beta6" # https://github.com/agglayer/aggkit/tree/v0.7.0-beta6
4041
# OP Networks rely on L1 blocks to have finalization on L2. This means if the L1 blocktime is very fast, OP Succinct proof requests will have to bundle many L1 blocks into a single proof.
4142
# This will significantly increase cycles even if the L2 network is empty. Instead of having 2s, for OP Succinct deployments, we recommend 12s.
4243
# Note this will noticeably increase the deployment time because of the increased L1 finality.
@@ -45,7 +46,7 @@ args:
4546
optimism_package:
4647
# We need this for pre-deployed allocs https://github.com/ethpandaops/optimism-package/compare/main...xavier-romero:optimism-package:main#diff-c479a5b20e37b19a976045939f01e8a6deb6a062a147e08b81049469d512d00cR235
4748
# "github.com/ethpandaops/optimism-package/main.star@884f4eb813884c4c8e5deead6ca4e0c54b85da90",
48-
source: "github.com/agglayer/optimism-package/main.star@cc37713aff9c4955dd6975cdbc34072a1286754e"
49+
source: "github.com/agglayer/optimism-package/main.star@a70f83d31c746139d8b6155bdec6a26fdd4afda0"
4950
predeployed_contracts: true
5051
chains:
5152
- participants:

.github/workflows/test.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ jobs:
239239
- name: Monitor pessimistic chain virtual batches (Central RPC)
240240
run: |
241241
result=$(yq --raw-output '.args.consensus_contract_type' ${{ matrix.file.path }})
242-
if [[ "$result" == "pessimistic" ]]; then
242+
if [[ "$result" == "pessimistic" ]] || [[ "$result" == "ecdsa_multisig" ]]; then
243243
echo "Skipping block verification as consensus is pessimistic."
244244
else
245245
sequencer_type=$(yq --raw-output '.args.sequencer_type' ${{ matrix.file.path }})
@@ -263,8 +263,8 @@ jobs:
263263
- name: Monitor CDK chain verified batches (zkEVM Permissionless RPC)
264264
run: |
265265
result=$(yq --raw-output '.args.consensus_contract_type' ${{ matrix.file.path }})
266-
if [[ "$result" == "pessimistic" ]]; then
267-
echo "Skipping block verification as consensus is pessimistic."
266+
if [[ "$result" == "pessimistic" ]] || [[ "$result" == "ecdsa_multisig" ]]; then
267+
echo "Skipping block verification as consensus is pessimistic or ecdsa_multisig."
268268
else
269269
result=$(yq --raw-output '.args.additional_services // [] | contains(["pless_zkevm_node"])' ${{ matrix.file.path }})
270270
if [[ "$result" == "true" ]]; then
@@ -306,6 +306,17 @@ jobs:
306306
steps:
307307
- uses: actions/checkout@v4
308308

309+
- name: Free up disk space
310+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
311+
with:
312+
tool-cache: false
313+
android: true
314+
dotnet: true
315+
haskell: true
316+
large-packages: false
317+
docker-images: true
318+
swap-storage: true
319+
309320
- name: Pre kurtosis run
310321
uses: ./.github/actions/kurtosis-pre-run
311322
with:
@@ -340,7 +351,7 @@ jobs:
340351
with:
341352
repository: agglayer/e2e
342353
path: agglayer-e2e
343-
ref: 4763c63cb11c5e605bff749823bf514abcdac7b6 # 2028-07-10
354+
ref: bcbff97a600e090dd5cd912a5838c9514f8724e5
344355

345356
- name: Run bridge tests and op optimistic mode tests
346357
run: |

0 commit comments

Comments
 (0)