🚀 What's New
- aggsender feat: add
signaturetoaggchain dataincertificate - aggsender feat: store more information in database:
- save non-accepted certificates to
db: You can find in aggsender databaseSELECT * FROM key_value WHERE key = non_accepted_cert AND owner = aggsender; - save type of certificate and the origin of the certificate
- save non-accepted certificates to
- aggsender feat: implementation optimistic mode
- aggoracle feat: sanity check at startup that key configure is able to update GERs
- aggsender fix: grpc error comparison
- aggsender fix: certificate size estimation for
grpc: the estimation of certificate size has been updated to reflect - aggsender fix: return error when limiting cert size for pessimistic proof and the certificate that fulfills the size has no bridges
- chore: update license: LICENSE-APACHE LICENSE-MIT
- aggsender support for limiting the maximum L2 block number to be included in a certificate. Also allow to stop when this happens
- include support for AWS KMS
- fix bug migration from v0.2.0 #654 . It also it's able to fix the database if the error is still there.
⚠️ Breaking Changes
- Removed field
AggSender.BridgeMetadataAsHashbecause is no longer required - New
Agglayerprotocol
📋 Configuration Updates
aggsender: Add timeout for generate aggchain proof (FEP).aggsender: AddAggSender.RequireNoFEPBlockGapto enable/disable a sanity checkaggoracle: Increase dafault time for submitting new Global Exit Root to 10s- New fields on
[Aggsender]:MaxL2BlockNumber: if it's equal to 0 means disabled. If not this is the maximum block that can be included in a certificate.StopOnFinishedSendingAllCertificates: if it's true it stop the process when the last certificate is settled
[AggSender]
MaxL2BlockNumber = 0
StopOnFinishedSendingAllCertificates = falseHere you can see:
- the internal default values (diff previous release)
- A example configuration file for FEP
✅ Testing & Validation
📦 Full Changelog
- chore(deps): bump google.golang.org/grpc from 1.67.3 to 1.72.0 by @dependabot in #430
- fix: cherry-pick #439 avoid infinete recursion and set e2e to use l2client in op mode by @joanestebanr in #447
- fix: cherry-pick error reading config for KMS (#441) to develop by @joanestebanr in #442
- feat: cherry-pick from release/0.3. Add sanity check for initial L2 block on FEP (#440) by @joanestebanr in #449
- chore: remove l1infotree by @temaniarpit27 in #410
- feat: code quality improvement by introducing
bridgeQuerierandgerQuerieronaggsenderby @goran-ethernal in #396 - feat: certificate status checker by @goran-ethernal in #411
- fix: recognize no proofs built yet error from the aggkit prover by @goran-ethernal in #452
- chore(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 by @dependabot in #461
- chore(deps): bump golang.org/x/net from 0.39.0 to 0.40.0 by @dependabot in #463
- feat: remove
BridgeMetadataAsHashconfig parameter by @goran-ethernal in #457 - chore: update zkevm-tx-manager by @rachit77 in #497
- chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 by @dependabot in #493
- chore(deps): bump github.com/knadh/koanf/v2 from 2.1.2 to 2.2.0 by @dependabot in #431
- chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 by @dependabot in #323
- fix: optimize check for pending certificates by @goran-ethernal in #454
- feat: cherry pick #471 - support
TLSingRPCby @goran-ethernal in #526 - feat: cherry picks #483, 486, 489 - block gap sanity checks by @goran-ethernal in #527
- chore(deps): bump go.opentelemetry.io/otel/metric from 1.35.0 to 1.36.0 by @dependabot in #535
- chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 by @dependabot in #533
- feat: store in DB the type of certificate (PP/FEP) by @joanestebanr in #528
- feat: cherry pick #503 - update
buf.buildsrefs by @goran-ethernal in #529 - feat: add
signaturetoaggchain dataincertificateby @goran-ethernal in #495 - chore(deps): bump modernc.org/sqlite from 1.37.0 to 1.37.1 by @dependabot in #532
- feat: add logs by @rachit77 in #539
- fix: shadowed
errindbtxn commit by @goran-ethernal in #544 - fix: grpc error comparison by @goran-ethernal in #547
- feat: save non-accepted certificates to
dbby @goran-ethernal in #545 - fix: certificate size estimation for
grpcby @goran-ethernal in #564 - feat: introduce golang vulnerability checks workflow by @Stefan-Ethernal in #563
- feat: sanity check aggoracle config and increase timeouts by @Stefan-Ethernal in #553
- fix: non-accepted cert to key value table by @goran-ethernal in #567
- fix: null exception on
aggsenderby @goran-ethernal in #582 - fix: audit reports typos and log messages in evm downloader by @Stefan-Ethernal in #588
- fix: return error when limiting cert size to empty certificate by @goran-ethernal in #585
- chore: fix bug by @temaniarpit27 in #591
- ci: update worflow by @rachit77 in #587
- chore: update license by @arnaubennassar in #593
- feat: optimistic mode by @joanestebanr in #472
- chore(deps): bump golang.org/x/sync from 0.14.0 to 0.15.0 by @dependabot in #598
- chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 by @dependabot in #599
- feat: add MaxL2BlockNumber config param by @joanestebanr in #648
- fix: migration 0.2 to 0.3 issue V2 by @joanestebanr in #661