Skip to content
Merged
Show file tree
Hide file tree
Changes from 206 commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
cf89d94
feat: allow `CreatedAt` and `UpdatedAt` to be zero (#814)
goran-ethernal Aug 4, 2025
a15da3b
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Aug 8, 2025
0b8cd6a
feat: introduce `MultisigCommittee` (#832)
Stefan-Ethernal Aug 8, 2025
ff90cf9
feat: mechanism to calculate last settled block by not using `metadat…
goran-ethernal Aug 8, 2025
cf500c1
feat: decouple initial sync with `agglayer` from ceritificate `metada…
goran-ethernal Aug 8, 2025
189c89a
chore: remove phase 2 signature validator metadata (#843)
Stefan-Ethernal Aug 8, 2025
1057629
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Aug 8, 2025
5f8a816
feat: expose last l2 block in certificate to the aggsender validator …
Stefan-Ethernal Aug 11, 2025
f93d4a5
feat: decouple `aggsender-validator` from `metadata` field (#846)
goran-ethernal Aug 11, 2025
df24d54
feat: remove `metadata` from `aggsender` (#858)
goran-ethernal Aug 12, 2025
99a8dba
feat: update hash to sign by the aggsender validators (#847)
Stefan-Ethernal Aug 12, 2025
4a93548
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Aug 12, 2025
aa1cac7
feat: bump contracts and populate signers urls (#865)
Stefan-Ethernal Aug 13, 2025
5e8a98c
feat: `aggsender-validator` docs (#861)
goran-ethernal Aug 13, 2025
2c0d49d
feat: last L2 block in certificate sanity check on `aggsender-validat…
goran-ethernal Aug 13, 2025
4858f06
feat: integrate retrieval of aggchain signer infos at once from contr…
Stefan-Ethernal Aug 14, 2025
b19b04b
draft changes
temaniarpit27 Aug 14, 2025
92db034
feat: support `FEP` in `aggsender-validator` (#876)
goran-ethernal Aug 15, 2025
7608b03
feat: support multiple `claims` by `global index` (#881)
goran-ethernal Aug 15, 2025
2d84fc1
more code
temaniarpit27 Aug 15, 2025
f5ff283
feat: poll committee for signatures (#877)
Stefan-Ethernal Aug 15, 2025
2a21eac
Merge branch 'develop' into arpit/708
temaniarpit27 Aug 16, 2025
d2c155e
linters fix
temaniarpit27 Aug 16, 2025
8252037
add tests
temaniarpit27 Aug 16, 2025
9cb7d83
Merge commit 'a1765cd9734084b966b8a547d67cb3cb2537fbf1' into feat/agg…
goran-ethernal Aug 18, 2025
9cea1f7
add tests
temaniarpit27 Aug 18, 2025
85489bd
linters fix
temaniarpit27 Aug 18, 2025
1fbf8c1
review fixes
temaniarpit27 Aug 20, 2025
a1c4397
Merge branch 'develop' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Aug 20, 2025
f11dbbc
fixes
temaniarpit27 Aug 20, 2025
acb122a
fix testcase
temaniarpit27 Aug 20, 2025
419cc7c
fix testcase
temaniarpit27 Aug 20, 2025
2b5ac73
update ref
temaniarpit27 Aug 20, 2025
c5d44fb
update ref
temaniarpit27 Aug 20, 2025
8267b9d
update ref
temaniarpit27 Aug 20, 2025
f88d1b3
update lint version
temaniarpit27 Aug 20, 2025
bb34816
update lint version
temaniarpit27 Aug 20, 2025
46a4826
update def
temaniarpit27 Aug 20, 2025
7b80613
update ref
temaniarpit27 Aug 21, 2025
384444b
update go mod
temaniarpit27 Aug 21, 2025
e024347
update go mod
temaniarpit27 Aug 21, 2025
604298b
update buf
temaniarpit27 Aug 21, 2025
13682e3
update logs
temaniarpit27 Aug 21, 2025
548bc7e
update run local e2e
temaniarpit27 Aug 21, 2025
b734435
fixes
temaniarpit27 Aug 21, 2025
f5c0bd8
fixes tests syntax
temaniarpit27 Aug 21, 2025
b4f17e8
handle multiple claims
temaniarpit27 Aug 22, 2025
fdc6228
add tests
temaniarpit27 Aug 22, 2025
6009857
fix linters
temaniarpit27 Aug 22, 2025
7001f53
feat: don't use `debug` endpoint on `aggsender-validator`, instead ve…
goran-ethernal Aug 22, 2025
86bdd25
Merge commit '2caf95bfe00c4a9cc5b536b481121bb143520835' into feat/agg…
goran-ethernal Aug 28, 2025
de582f8
merge develop
temaniarpit27 Aug 28, 2025
f4bcd37
merge develop
temaniarpit27 Aug 28, 2025
492e3b7
fix linters
temaniarpit27 Aug 28, 2025
395899c
testing
temaniarpit27 Aug 28, 2025
9f2bf03
testing
temaniarpit27 Aug 28, 2025
5414366
add new test flow
temaniarpit27 Aug 28, 2025
67e2f69
add new test flow
temaniarpit27 Aug 28, 2025
2db1750
add new test flow
temaniarpit27 Aug 28, 2025
f444381
update ref
temaniarpit27 Aug 28, 2025
c021c5e
update test
temaniarpit27 Aug 28, 2025
884b21a
update test
temaniarpit27 Aug 28, 2025
8e27a94
Merge commit '67ef0c402613fdeb31ca27672d420bcffc231002' into feat/agg…
goran-ethernal Aug 28, 2025
9ad09a5
update test
temaniarpit27 Aug 28, 2025
8c6ee3a
update test
temaniarpit27 Aug 28, 2025
ed42d07
update ref
temaniarpit27 Aug 28, 2025
f14b61c
update ref
temaniarpit27 Aug 28, 2025
61c9949
remove code
temaniarpit27 Aug 28, 2025
2ea40a5
add code in PP flow
temaniarpit27 Aug 29, 2025
bac5860
fix linters
temaniarpit27 Aug 29, 2025
5c5b9b3
Merge branch 'develop' into arpit/708
temaniarpit27 Aug 29, 2025
e26ea12
fix tests
temaniarpit27 Aug 29, 2025
3da3c1a
fix tests
temaniarpit27 Aug 29, 2025
9defd6b
Merge branch 'develop' into arpit/708
temaniarpit27 Aug 29, 2025
e120f8a
Merge commit '5f9f7270ccc2f6f05a7cdb4318b80396363b9bfa' into feat/agg…
goran-ethernal Sep 1, 2025
ec55a2c
feat: new `aggsender` metrics (#920)
goran-ethernal Sep 1, 2025
081636f
feat: utilize network status `api` from `agglayer` (#913)
goran-ethernal Sep 2, 2025
379d1f3
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 3, 2025
c0dd242
feat: send `multisig` with certificate (#926)
goran-ethernal Sep 4, 2025
9dcc63e
feat: sanity check if `proposer` and `validator` are committee member…
goran-ethernal Sep 5, 2025
7144675
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 5, 2025
5234e00
merge develop
temaniarpit27 Sep 7, 2025
aa6cee9
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Sep 7, 2025
66745d1
fix tests
temaniarpit27 Sep 8, 2025
113d1af
feat: modify poll validator committee (#951)
goran-ethernal Sep 8, 2025
2da8c36
feat: remove `metadata` field (#954)
goran-ethernal Sep 8, 2025
925e8af
feat: remove old signing of certificates (#957)
goran-ethernal Sep 8, 2025
1cd0d32
fix: copilot comments
goran-ethernal Sep 8, 2025
9ac7b93
feat: remove TrustedSequencer retrieval (#955)
Stefan-Ethernal Sep 9, 2025
d38fbf3
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 9, 2025
72a2d3e
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 9, 2025
15d8241
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 9, 2025
307d746
feat: update `protobuf` version (#974)
goran-ethernal Sep 10, 2025
7e2cb43
merge develop
temaniarpit27 Sep 10, 2025
700581e
update ref
temaniarpit27 Sep 10, 2025
29f9197
fix: localValidator log error, fix conversion aggchainData (#978)
joanestebanr Sep 10, 2025
c99f38f
fix: remove block number and use the latest one when querying for the…
Stefan-Ethernal Sep 10, 2025
f169b3f
update code
temaniarpit27 Sep 11, 2025
e197db4
fix: optional `AggchainData` field treatment (#985)
Stefan-Ethernal Sep 11, 2025
485ad44
update version
temaniarpit27 Sep 11, 2025
f2aa8fa
Merge branch 'develop' into arpit/708
temaniarpit27 Sep 11, 2025
e40a817
update version
temaniarpit27 Sep 11, 2025
e7f4923
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Sep 11, 2025
5173447
fix: failed to validate the certificate (#989)
Stefan-Ethernal Sep 12, 2025
7fd7d8c
Merge branch 'develop' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Sep 13, 2025
0ac2681
add tests
temaniarpit27 Sep 13, 2025
719a30f
add tests
temaniarpit27 Sep 13, 2025
fd35e9e
add tests
temaniarpit27 Sep 13, 2025
1d7ea08
update ref
temaniarpit27 Sep 13, 2025
fbfeea2
add tests
temaniarpit27 Sep 13, 2025
894bebd
add tests
temaniarpit27 Sep 13, 2025
ae26708
fix linters, tests
temaniarpit27 Sep 14, 2025
6c92ce7
add tests
temaniarpit27 Sep 14, 2025
760653b
fix: aggsender proposer override multisig committee URL (#984)
joanestebanr Sep 15, 2025
3211c3b
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 15, 2025
1228026
merge develop
temaniarpit27 Sep 16, 2025
5ef7597
update ref
temaniarpit27 Sep 16, 2025
c08e96e
Merge branch 'develop' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Sep 16, 2025
1bf9eda
fix lints
temaniarpit27 Sep 16, 2025
1dbf936
update ref
temaniarpit27 Sep 16, 2025
861fd75
update ref
temaniarpit27 Sep 16, 2025
1fe3a27
fix bug
temaniarpit27 Sep 16, 2025
5bc63db
update ref, clean code
temaniarpit27 Sep 16, 2025
8821f52
remove mocks
temaniarpit27 Sep 16, 2025
cd77e62
update ref
temaniarpit27 Sep 16, 2025
e54209f
update ref
temaniarpit27 Sep 17, 2025
7510687
update ref
temaniarpit27 Sep 17, 2025
457ca4b
update ref
temaniarpit27 Sep 17, 2025
7eb2f3b
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 17, 2025
8773cc0
update ref
temaniarpit27 Sep 17, 2025
c44cf93
fix merge conflicts
Stefan-Ethernal Sep 17, 2025
4ddf2bf
chore: fix unittest for rate_limit_wrapper use right mock for Agglaye…
joanestebanr Sep 17, 2025
a0795e3
ci: fix single chain pessimistic proof tests (#998)
Stefan-Ethernal Sep 17, 2025
c0bc9ba
update ref
temaniarpit27 Sep 17, 2025
f0611ad
feat: autoconfigure aggsender mode #948 (#1017)
joanestebanr Sep 18, 2025
0f314eb
format kurtosis
temaniarpit27 Sep 18, 2025
3b423a1
fix: FEP cert validation (#1028) [INTEGRATION]
joanestebanr Sep 18, 2025
a773fc6
Update aggsender/flows/flow_base.go
temaniarpit27 Sep 18, 2025
35f136f
Merge branch 'develop' into arpit/708
temaniarpit27 Sep 18, 2025
e7735be
feat: improve request to committee logs #1023 [INTEGRATION] (#1034)
joanestebanr Sep 19, 2025
f2dc261
Merge branch 'develop' into feat/aggsender-multisig
Stefan-Ethernal Sep 22, 2025
da1e74d
Update e2e test args
temaniarpit27 Sep 22, 2025
a5b08ab
merge base branch
temaniarpit27 Sep 22, 2025
a2206d4
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Sep 22, 2025
e06de2e
minor changes
temaniarpit27 Sep 22, 2025
63f7ec6
minor changes
temaniarpit27 Sep 22, 2025
72ae2be
minor changes
temaniarpit27 Sep 22, 2025
dc18d45
fix: multi chains (2 chains) pessimistic proof e2e tests (#1024)
Stefan-Ethernal Sep 22, 2025
6a01e38
fix linters
temaniarpit27 Sep 23, 2025
1d115b6
merge base
temaniarpit27 Sep 23, 2025
545e19a
merge base
temaniarpit27 Sep 23, 2025
bbfd18c
merge develop
temaniarpit27 Oct 18, 2025
39fafa8
go mod tidy
temaniarpit27 Oct 20, 2025
9f04e04
fix issues
temaniarpit27 Oct 20, 2025
9543ea2
fixes
temaniarpit27 Oct 20, 2025
67fedc6
Merge branch 'develop' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Oct 20, 2025
f263a87
fixes
temaniarpit27 Oct 20, 2025
3d85e27
fixes
temaniarpit27 Oct 20, 2025
2f39025
fixes
temaniarpit27 Oct 20, 2025
9d1336a
resolve comments
temaniarpit27 Oct 20, 2025
6cb5122
resolve comments
temaniarpit27 Oct 20, 2025
20cc05c
fix tests
temaniarpit27 Oct 21, 2025
c3def3f
update ref
temaniarpit27 Oct 21, 2025
673f5f8
update ref
temaniarpit27 Oct 21, 2025
70ef41f
fixes
temaniarpit27 Oct 21, 2025
f7a8de2
fixes
temaniarpit27 Oct 21, 2025
f364415
fixes
temaniarpit27 Oct 21, 2025
75ed945
fixes
temaniarpit27 Oct 21, 2025
09e3afd
minor fix
temaniarpit27 Oct 21, 2025
1aca530
minor fix
temaniarpit27 Oct 21, 2025
03eddeb
Merge branch 'develop' into arpit/708
temaniarpit27 Oct 21, 2025
a7dce24
Merge branch 'develop' into arpit/708
temaniarpit27 Oct 21, 2025
326ff3e
fixes
temaniarpit27 Oct 21, 2025
e9b2039
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Oct 21, 2025
dfbb05b
update ref
temaniarpit27 Oct 21, 2025
cde9ea8
update ref
temaniarpit27 Oct 21, 2025
66a43bc
update ref
temaniarpit27 Oct 21, 2025
389f138
revert
temaniarpit27 Oct 21, 2025
9ed7ee9
fixes
temaniarpit27 Oct 21, 2025
2315ef1
merge develop
temaniarpit27 Oct 21, 2025
5ce628f
update ref
temaniarpit27 Oct 21, 2025
6f243a1
update ref
temaniarpit27 Oct 21, 2025
ffb8aa4
merge develop
temaniarpit27 Oct 29, 2025
4ef59bd
cr fix
temaniarpit27 Oct 29, 2025
1fe4826
cr fixes
temaniarpit27 Oct 29, 2025
59dc09c
cr fixes
temaniarpit27 Oct 29, 2025
352469d
cr fixes
temaniarpit27 Oct 29, 2025
407564a
cr fixes
temaniarpit27 Oct 29, 2025
9f38e6e
new proto
temaniarpit27 Oct 29, 2025
7d9f337
new proto
temaniarpit27 Oct 29, 2025
5aa683e
linters fix
temaniarpit27 Oct 29, 2025
1f01f90
update ref
temaniarpit27 Oct 29, 2025
33da61a
update ref
temaniarpit27 Oct 29, 2025
772070c
Merge branch 'develop' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Oct 29, 2025
ca694ba
update ref
temaniarpit27 Oct 29, 2025
93e52d6
fix issues
temaniarpit27 Oct 29, 2025
8414d4d
fix issues
temaniarpit27 Oct 29, 2025
7a5e64a
fix tests
temaniarpit27 Oct 29, 2025
916bb92
fix tests
temaniarpit27 Oct 30, 2025
6446c83
fixes
temaniarpit27 Oct 30, 2025
0898ccf
cr fixed
temaniarpit27 Oct 31, 2025
ed2575b
merge develop
temaniarpit27 Oct 31, 2025
30c3dd8
update ref
temaniarpit27 Oct 31, 2025
cff802b
rc fixed
temaniarpit27 Oct 31, 2025
f399a28
increase coverage
temaniarpit27 Oct 31, 2025
bad0343
update re
temaniarpit27 Oct 31, 2025
6a688cb
cr fix
temaniarpit27 Oct 31, 2025
6f6642e
increase coverage
temaniarpit27 Nov 3, 2025
4739b5b
test new aggkit with old agglayer
temaniarpit27 Nov 3, 2025
f498de0
update ref
temaniarpit27 Nov 3, 2025
414c8f8
update proto
temaniarpit27 Nov 3, 2025
f1c39d4
Merge branch 'develop' into arpit/708
temaniarpit27 Nov 3, 2025
b42ebe3
update ref
temaniarpit27 Nov 3, 2025
64c2e5a
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Nov 3, 2025
89a6f4f
Merge branch 'develop' into arpit/708
temaniarpit27 Nov 3, 2025
aa91e1d
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Nov 3, 2025
f28e2a0
update ref
temaniarpit27 Nov 3, 2025
09bc84f
update ref
temaniarpit27 Nov 4, 2025
6dceb47
Merge branch 'develop' into arpit/708
temaniarpit27 Nov 4, 2025
b581784
update ref
temaniarpit27 Nov 4, 2025
924fd02
Merge branch 'arpit/708' of github.com:agglayer/aggkit into arpit/708
temaniarpit27 Nov 4, 2025
479a6ac
update ref
temaniarpit27 Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/test_e2e_cdk_erigon_args_base.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
"gas_token_enabled": false,
"additional_services": []
}
}
}
2 changes: 1 addition & 1 deletion .github/test_e2e_cdk_erigon_custom_gas_token.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
"gas_token_enabled": true,
"gas_token_address": ""
}
}
}
8 changes: 3 additions & 5 deletions .github/test_e2e_op_args_base.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@
"agg_sender_multisig_threshold": 2,
"agg_sender_validator_total_number": 3,
"verbosity": "debug",
"agglayer_image": "ghcr.io/agglayer/agglayer:0.4.0-rc.18",
"additional_services": [
"bridge_spammer"
],
"aggkit_prover_image": "atanmarko/aggkit-prover:ger-removal",
"additional_services": [],
"binary_name": "aggkit",
"aggkit_components": "aggsender,aggoracle",
"zkevm_rollup_chain_id": 20201,
"zkevm_rollup_id": 1
}
}
}
5 changes: 3 additions & 2 deletions .github/test_e2e_op_succinct_args_base.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"op_succinct_submission_interval": "1",
"op_succinct_max_concurrent_proof_requests": "1",
"op_succinct_max_concurrent_witness_gen": "1",
"op_succinct_range_proof_interval": "60"
"op_succinct_range_proof_interval": "60",
"additional_services": []
}
}
}
34 changes: 20 additions & 14 deletions .github/workflows/test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
fi
else
# For push/workflow_dispatch, use the fixed commit
COMMIT="c32d3805ad1eb45a8b3ef91ec41610c6197c6379"
COMMIT="b994f76b85cfb256eb9fa8bbf98b3415e4fad704"
echo "Using fixed kurtosis-cdk commit: ${COMMIT}"
fi
echo "commit=${COMMIT}" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -173,19 +173,21 @@ jobs:
name: Single L2 chain tests (OP, pessimistic)
needs:
- build-aggkit-image
- build-tools
- read-aggkit-args
- get-kurtosis-cdk-commit
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@145cec24f0b94e92572139f63bd2652fd9be5bdb
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@39b7da5006d5a3a518542fec13acfd017e3a7ffc
secrets: inherit
with:
kurtosis-cdk-ref: ${{ needs.get-kurtosis-cdk-commit.outputs.kurtosis-commit }}
agglayer-e2e-ref: 145cec24f0b94e92572139f63bd2652fd9be5bdb
kurtosis-cdk-enclave-name: aggkit
agglayer-e2e-ref: 39b7da5006d5a3a518542fec13acfd017e3a7ffc
kurtosis-cdk-enclave-name: op
kurtosis-cdk-args: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-single-op-pessimistic }}
test-name: "test-single-l2-network-op-pessimistic"
event-name: ${{ github.event_name }}
aggsender-find-imported-bridge-artifact: aggsender_find_imported_bridge

check-single-l2-network-pessimistic-tests-result:
check-single-l2-network-op-pessimistic-tests-result:
name: Check results for single l2 network (OP, pessimistic)
needs:
- test-single-l2-network-op-pessimistic
Expand All @@ -198,15 +200,17 @@ jobs:
name: Single L2 chain tests (op-succinct)
needs:
- build-aggkit-image
- build-tools
- read-aggkit-args
- get-kurtosis-cdk-commit
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@145cec24f0b94e92572139f63bd2652fd9be5bdb
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@39b7da5006d5a3a518542fec13acfd017e3a7ffc
secrets: inherit
with:
kurtosis-cdk-ref: ${{ needs.get-kurtosis-cdk-commit.outputs.kurtosis-commit }}
agglayer-e2e-ref: 145cec24f0b94e92572139f63bd2652fd9be5bdb
agglayer-e2e-ref: 39b7da5006d5a3a518542fec13acfd017e3a7ffc # main
kurtosis-cdk-enclave-name: op
kurtosis-cdk-args: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-single-op-succinct }}
aggsender-find-imported-bridge-artifact: aggsender_find_imported_bridge
test-name: "test-single-l2-network-op-succinct"
event-name: ${{ github.event_name }}

Expand All @@ -223,17 +227,19 @@ jobs:
name: Single L2 chain tests (op-succinct with aggoracle committee)
needs:
- build-aggkit-image
- build-tools
- read-aggkit-args
- get-kurtosis-cdk-commit
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@145cec24f0b94e92572139f63bd2652fd9be5bdb
uses: agglayer/e2e/.github/workflows/aggkit-e2e-single-chain.yml@39b7da5006d5a3a518542fec13acfd017e3a7ffc
secrets: inherit
with:
kurtosis-cdk-ref: ${{ needs.get-kurtosis-cdk-commit.outputs.kurtosis-commit }}
agglayer-e2e-ref: 145cec24f0b94e92572139f63bd2652fd9be5bdb
agglayer-e2e-ref: 39b7da5006d5a3a518542fec13acfd017e3a7ffc
kurtosis-cdk-enclave-name: op
kurtosis-cdk-args: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-single-op-succinct-aggoracle-committee }}
test-name: "test-single-l2-network-op-succinct-aggoracle-committee"
event-name: ${{ github.event_name }}
aggsender-find-imported-bridge-artifact: aggsender_find_imported_bridge

check-single-l2-network-op-succinct-aggoracle-committee-tests-result:
name: Check results for single l2 network (op-succinct with aggoracle committee)
Expand All @@ -251,12 +257,12 @@ jobs:
- build-tools
- read-aggkit-args
- get-kurtosis-cdk-commit
uses: agglayer/e2e/.github/workflows/aggkit-e2e-multi-chains.yml@145cec24f0b94e92572139f63bd2652fd9be5bdb
uses: agglayer/e2e/.github/workflows/aggkit-e2e-multi-chains.yml@39b7da5006d5a3a518542fec13acfd017e3a7ffc
secrets: inherit
with:
kurtosis-cdk-ref: ${{ needs.get-kurtosis-cdk-commit.outputs.kurtosis-commit }}
agglayer-e2e-ref: 145cec24f0b94e92572139f63bd2652fd9be5bdb
kurtosis-cdk-enclave-name: aggkit
agglayer-e2e-ref: 39b7da5006d5a3a518542fec13acfd017e3a7ffc
kurtosis-cdk-enclave-name: op
aggsender-find-imported-bridge-artifact: aggsender_find_imported_bridge
kurtosis-cdk-args-1: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-1 }}
kurtosis-cdk-args-2: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-2 }}
Expand All @@ -277,11 +283,11 @@ jobs:
- build-tools
- read-aggkit-args
- get-kurtosis-cdk-commit
uses: agglayer/e2e/.github/workflows/aggkit-e2e-multi-chains.yml@145cec24f0b94e92572139f63bd2652fd9be5bdb
uses: agglayer/e2e/.github/workflows/aggkit-e2e-multi-chains.yml@39b7da5006d5a3a518542fec13acfd017e3a7ffc
secrets: inherit
with:
kurtosis-cdk-ref: ${{ needs.get-kurtosis-cdk-commit.outputs.kurtosis-commit }}
agglayer-e2e-ref: 145cec24f0b94e92572139f63bd2652fd9be5bdb
agglayer-e2e-ref: 39b7da5006d5a3a518542fec13acfd017e3a7ffc
kurtosis-cdk-enclave-name: aggkit
aggsender-find-imported-bridge-artifact: aggsender_find_imported_bridge
kurtosis-cdk-args-1: ${{ needs.read-aggkit-args.outputs.kurtosis-cdk-args-3 }}
Expand Down
15 changes: 14 additions & 1 deletion agglayer/types/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -862,10 +862,22 @@ func (l *L1InfoTreeLeaf) Validate() error {
return nil
}

type RemovedGER struct {
GlobalExitRoot common.Hash `json:"global_exit_root"`
BlockNumber uint64 `json:"block_number"`
LogIndex uint64 `json:"log_index"`
}

type Unclaim struct {
GlobalIndex *GlobalIndex `json:"global_index"`
BlockNumber uint64 `json:"block_number"`
LogIndex uint64 `json:"log_index"`
}

type ProvenInsertedGERWithBlockNumber struct {
BlockNumber uint64 `json:"block_number"`
ProvenInsertedGERLeaf ProvenInsertedGER `json:"inserted_ger_leaf"`
BlockIndex uint `json:"block_index"`
LogIndex uint64 `json:"log_index"`
}

type ProvenInsertedGER struct {
Expand All @@ -875,6 +887,7 @@ type ProvenInsertedGER struct {

type ImportedBridgeExitWithBlockNumber struct {
BlockNumber uint64 `json:"block_number"`
LogIndex uint64 `json:"log_index"`
ImportedBridgeExit *ImportedBridgeExit `json:"imported_bridge_exit"`
}

Expand Down
31 changes: 30 additions & 1 deletion aggsender/aggchainproofclient/aggchain_proof_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ func convertAggchainProofRequestToGrpcRequest(
}
convertedGerLeaves[k.String()] = &aggkitProverV1Proto.ProvenInsertedGERWithBlockNumber{
BlockNumber: v.BlockNumber,
BlockIndex: uint64(v.BlockIndex),
LogIndex: v.LogIndex,
ProvenInsertedGer: &aggkitProverV1Proto.ProvenInsertedGER{
ProofGerL1Root: &agglayerInteropTypesV1Proto.MerkleProof{
Root: &agglayerInteropTypesV1Proto.FixedBytes32{Value: v.ProvenInsertedGERLeaf.ProofGERToL1Root.Root[:]},
Expand Down Expand Up @@ -167,6 +167,7 @@ func convertAggchainProofRequestToGrpcRequest(
for i, importedBridgeExitWithBlockNumber := range req.ImportedBridgeExitsWithBlockNumber {
convertedImportedBridgeExitsWithBlockNumber[i] = &aggkitProverV1Proto.ImportedBridgeExitWithBlockNumber{
BlockNumber: importedBridgeExitWithBlockNumber.BlockNumber,
LogIndex: importedBridgeExitWithBlockNumber.LogIndex,
GlobalIndex: &agglayerInteropTypesV1Proto.FixedBytes32{
Value: common.BigToHash(bridgesync.GenerateGlobalIndex(
importedBridgeExitWithBlockNumber.ImportedBridgeExit.GlobalIndex.MainnetFlag,
Expand All @@ -180,6 +181,32 @@ func convertAggchainProofRequestToGrpcRequest(
}
}

convertedRemovedGers := make([]*aggkitProverV1Proto.RemovedGER, len(req.RemovedGERs))
for i, removedGER := range req.RemovedGERs {
convertedRemovedGers[i] = &aggkitProverV1Proto.RemovedGER{
GlobalExitRoot: &agglayerInteropTypesV1Proto.FixedBytes32{
Value: removedGER.GlobalExitRoot[:],
},
BlockNumber: removedGER.BlockNumber,
LogIndex: removedGER.LogIndex,
}
}

convertedUnclaims := make([]*aggkitProverV1Proto.Unclaim, len(req.Unclaims))
for i, unclaim := range req.Unclaims {
convertedUnclaims[i] = &aggkitProverV1Proto.Unclaim{
GlobalIndex: &agglayerInteropTypesV1Proto.FixedBytes32{
Value: common.BigToHash(bridgesync.GenerateGlobalIndex(
unclaim.GlobalIndex.MainnetFlag,
unclaim.GlobalIndex.RollupIndex,
unclaim.GlobalIndex.LeafIndex,
)).Bytes(),
},
BlockNumber: unclaim.BlockNumber,
LogIndex: unclaim.LogIndex,
}
}

request := &aggkitProverV1Proto.GenerateAggchainProofRequest{
LastProvenBlock: req.LastProvenBlock,
RequestedEndBlock: req.RequestedEndBlock,
Expand All @@ -188,6 +215,8 @@ func convertAggchainProofRequestToGrpcRequest(
L1InfoTreeMerkleProof: convertedMerkleProof,
GerLeaves: convertedGerLeaves,
ImportedBridgeExits: convertedImportedBridgeExitsWithBlockNumber,
RemovedGers: convertedRemovedGers,
Unclaims: convertedUnclaims,
}

return request
Expand Down
64 changes: 64 additions & 0 deletions aggsender/aggchainproofclient/aggchain_proof_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,38 @@ func TestGenerateAggchainProof_Success(t *testing.T) {
},
GERLeavesWithBlockNumber: nil,
ImportedBridgeExitsWithBlockNumber: nil,
RemovedGERs: []*agglayer.RemovedGER{
{
GlobalExitRoot: common.HexToHash("0x1111111111111111111111111111111111111111111111111111111111111111"),
BlockNumber: 150,
LogIndex: 1,
},
{
GlobalExitRoot: common.HexToHash("0x2222222222222222222222222222222222222222222222222222222222222222"),
BlockNumber: 175,
LogIndex: 2,
},
},
Unclaims: []*agglayer.Unclaim{
{
GlobalIndex: &agglayer.GlobalIndex{
MainnetFlag: true,
RollupIndex: 1,
LeafIndex: 1,
},
BlockNumber: 160,
LogIndex: 3,
},
{
GlobalIndex: &agglayer.GlobalIndex{
MainnetFlag: false,
RollupIndex: 2,
LeafIndex: 2,
},
BlockNumber: 185,
LogIndex: 4,
},
},
}

result, err := client.GenerateAggchainProof(context.Background(), request)
Expand Down Expand Up @@ -207,6 +239,38 @@ func TestGenerateAggchainProof_Error(t *testing.T) {
},
},
},
RemovedGERs: []*agglayer.RemovedGER{
{
GlobalExitRoot: common.HexToHash("0x5555555555555555555555555555555555555555555555555555555555555555"),
BlockNumber: 350,
LogIndex: 5,
},
{
GlobalExitRoot: common.HexToHash("0x6666666666666666666666666666666666666666666666666666666666666666"),
BlockNumber: 375,
LogIndex: 6,
},
},
Unclaims: []*agglayer.Unclaim{
{
GlobalIndex: &agglayer.GlobalIndex{
MainnetFlag: true,
RollupIndex: 3,
LeafIndex: 3,
},
BlockNumber: 360,
LogIndex: 7,
},
{
GlobalIndex: &agglayer.GlobalIndex{
MainnetFlag: false,
RollupIndex: 4,
LeafIndex: 4,
},
BlockNumber: 385,
LogIndex: 8,
},
},
}

result, err := client.GenerateAggchainProof(context.Background(), request)
Expand Down
2 changes: 2 additions & 0 deletions aggsender/aggsender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/agglayer/aggkit/aggsender/mocks"
aggsendertypes "github.com/agglayer/aggkit/aggsender/types"
"github.com/agglayer/aggkit/bridgesync"
bridgesynctypes "github.com/agglayer/aggkit/bridgesync/types"
aggkitcommon "github.com/agglayer/aggkit/common"
"github.com/agglayer/aggkit/config/types"
mocksdb "github.com/agglayer/aggkit/db/compatibility/mocks"
Expand Down Expand Up @@ -258,6 +259,7 @@ func TestSendCertificate_NoClaims(t *testing.T) {
DepositCount: 1,
},
}, []bridgesync.Claim{}, nil).Once()
mockL2BridgeQuerier.EXPECT().GetUnsetClaimsForBlockRange(mock.Anything, uint64(11), uint64(50)).Return([]bridgesynctypes.Unclaim{}, nil).Once()
mockL1Querier.EXPECT().GetLatestFinalizedL1InfoRoot(ctx).Return(&treetypes.Root{}, nil, nil).Once()
mockL2BridgeQuerier.EXPECT().GetExitRootByIndex(mock.Anything, uint32(1)).Return(common.Hash{}, nil).Once()
mockL2BridgeQuerier.EXPECT().OriginNetwork().Return(uint32(1)).Once()
Expand Down
2 changes: 2 additions & 0 deletions aggsender/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ type Config struct {
RequireCommitteeMembershipCheck bool `mapstructure:"RequireCommitteeMembershipCheck"`
// It allow to change committee URL for testing purposes
CommitteeOverride query.CommitteeOverride `mapstructure:"CommitteeOverride"`
// AgglayerBridgeL2Addr is the address of the bridge L2 sovereign contract on L2 sovereign chain
AgglayerBridgeL2Addr ethCommon.Address `mapstructure:"AgglayerBridgeL2Addr"`
}

func (c Config) CheckCertConfigBriefString() string {
Expand Down
7 changes: 7 additions & 0 deletions aggsender/flows/builder_flow_aggchain_prover.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@ func (a *AggchainProverBuilderFlow) GetCertificateBuildParams(
return nil, fmt.Errorf("aggchainProverFlow - error getting bridges and claims: %w", err)
}

unclaims, err := a.l2BridgeQuerier.GetUnsetClaimsForBlockRange(ctx,
fromBlock, toBlock)
if err != nil {
return nil, fmt.Errorf("error getting unset claims for block range: %w", err)
}

buildParams := &types.CertificateBuildParams{
FromBlock: fromBlock,
ToBlock: toBlock,
Expand All @@ -208,6 +214,7 @@ func (a *AggchainProverBuilderFlow) GetCertificateBuildParams(
LastSentCertificate: lastSentCert,
CreatedAt: lastSentCert.CreatedAt,
CertificateType: typeCert,
Unclaims: unclaims,
}
if a.featureMaxL2Block != nil {
// If the feature is enabled, we need to adapt the build params
Expand Down
Loading
Loading