Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

develop -> v0.5.0 #284

Closed
wants to merge 34 commits into from
Closed

develop -> v0.5.0 #284

wants to merge 34 commits into from

Conversation

joanestebanr
Copy link
Contributor

Description

Please include a summary of the change and which issue is fixed. Also, include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

joanestebanr and others added 30 commits November 27, 2024 11:31
- Issues a long integration: 
- Wrong process of unknown error field `PError` on certificate header
- Fix use of aggsender log (to be able to filter by module)
- Fix a bad condition to show a warning of a reopen certificate
- Improved test for epoch notifier
- Fix certificate on local DB but AggLayer have none certificate (CDK-604)
- Add logs to `synv/evmdownloader.go` to have more information on error: `error calling FilterLogs to eth client: invalid params`
Support `agglayer:0.2.0-rc.15` the responses of ` CertificateHeader` add a new field: `PreviousLocalExitRoot`
- Fixes error calculating  previousLocalExitRoot on new certificate if a certificate is inError

NOTE: **Database incompatibility with previous version!, require to delete it!**
)

* chore: kurtosis-cdk bump (gas token update)

* test

* chore: use new kurtosis-cdk tag

* chore: nit

* chore: clean up
- Avoid to log full certificate because it's too long
- Add logs to `bridgesync` creation
- Reduce log for `l1infotreesync/processor.go:401`  `block 7157878 processed with 0 events` in case of 0 events
---------

Co-authored-by: Stefan Negovanović <[email protected]>
New struct CertificateMetadata to represent the data serialized and deserialized to the Certificate.metadata field.

The new data, FromBlock and CreatedAt is stored in the hash as bigints
* fix: clean proof table on start
* change to run gha

* better wait for processot

* handle context cancel

* handle context cancel

* add mutex to halt

* add mutex to halt

* better wait

* better mutex for halted

* lint

* fix wait

* fix wait

* wip

* wip

* cascade

* wip

* wip

* test passing

* clean

* linter

* fix UTs

* increase coverage

* increase coverage

* increase coverage

* reduce code dup

* reduce code dup

* fix conflicts

* fix conflicts

* fix conflicts

* fix conflicts

* fix conflicts
* feat: limit cert by estimated size (#217)

This set a limit on certificate size that can be set on config file (the size of certificate it's an estimation)
There are a special situation that is going to send a certificate bigger than maximium:
- [ initial_block, end_block ] -> size exceed
- [ initial_block, (end_block -1) ] -> no bridges, so we have to send previous one even that exceed the maximum size

MaxCertSize: max size in bytes of certificate. Default 8Mb. Currently the maximum on Agglayer is 10Mb
```
[AggSender]
MaxCertSize = 8388608
```

* feat: return an error in case agglayer returns certificate with height lower than in local storage (#209)


---------

Co-authored-by: Stefan Negovanović <[email protected]>
The certificate field `metadata`  of `BridgeExit` and `ImportedBridgeExit` instead of containing the full metadata are going to have the hash if length > 0. 
This behevaiour can be configured using a new config param `AggSender.BridgeMetadataAsHash` (by default: `true`)

Other fixes: 
- Missing missing default values for `L1InfoTreeSync.RetryAfterErrorPeriod` and `MaxRetryAttemptsAfterError`
- Improved estimateSize of certificate
- Added e2e bridge messages but disabled because it keep failing (maybe we neeed another PR to fix that)

Co-authored-by: Joan Esteban <[email protected]>
* feat: calculate network id (#212)

* feat: calculate network id

* feat: refactor

* feat: refactor

* feat: separeted function to obtain the rollupID

* feat: obtain RollupID without etherman instance

* Update etherman/etherman.go

Co-authored-by: Stefan Negovanović <[email protected]>

* Update etherman/etherman.go

Co-authored-by: Stefan Negovanović <[email protected]>

* Update etherman/etherman.go

Co-authored-by: Stefan Negovanović <[email protected]>

---------

Co-authored-by: joanestebanr <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>

* fix: typo

---------

Co-authored-by: joanestebanr <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>
* fix: use hex instead of byte arrays

* feat: UT

* fix: change estimated certificate size

* fix: UT coverage

* fix: metadata hex in marshal

* fix: underflow fix

* fix: revert underflow fix
…agglayer (#227) (#236)

* chore: update the versions.json

* Remove PPError interface and use the error instead

* Remove non-applicable test cases

* Rename

* test: increase UT coverage

* test: certificate status unmarshal json

* test: TestMerkleProofString

* test: TestGlobalIndexString

* test: move helper functions to a separate file

* test: TestL1InfoTreeLeafString

* test: TestClaimType

* test: parallel execution, renames
* feat: remove sender address from aggoracle

* fix: localize ticker and stop it. Renames

* feat: split GER processing into small functions

* name functions consistently in ChainSender interface
* refactor: encode metadata to be backwards compatible (#216)

* refactor: encode metadata to be backwards compatible

* tests: fix UT

* apply feedback

* test: fix

* fix merge issues

* refactor: metadata cert versioning

* test: fix ut

* fix: typo

* use the CertificateBuildParams

* test: fix ut

* Apply feedback

* fix: lint

* fix: Aggsender high cpu usage (#235)

- fix aggsender is using about 200% of CPU
- add a warning if decrease blockNumber (from L1 provider)

* fix: calculate correct root for `LER` merkle proof and fix `BridgeExit` hash (#237)

* fix: calculate correct root for LER merkle proof, and fix BridgeExit hash

* fix: UTs

* fix: comments

* fix: sqlite3 config improvements

Set some recommended params for sqlite connection.

* fix: lint

---------

Co-authored-by: Victor Castell <[email protected]>
Co-authored-by: Joan Esteban <[email protected]>
Co-authored-by: Victor Castell <[email protected]>
- E2E to test L2 to L2 bridges
- RPC for aggsender: changes components names
- Added `tools` folder that contains `aggsender_find_imported_bridge` required by e2e test
- Add configuration to aggsender: `DryRun` and `EnableRPC`
---------

Co-authored-by: Stefan Negovanović <[email protected]>
Co-authored-by: Rachit Sonthalia <[email protected]>
Co-authored-by: Goran Rojovic <[email protected]>
* integrate new contracts for the aggoracle (wip)

* feat: integrate the GlobalExitRootManager L2 sovereign chain

* fix: backport changes from fep-type1 branch

* chore: remove empty test/e2e.go

* test: update the aggoracle e2e test

* fix: logs

* refactor: rely only on single L1 bridge syncer in the e2e, cleanup logs, handle context cancellation

* refactor: simulated backend so that it correctly initializes bridge contract

* fix: tests

* fix: bridge balance logs

* add extract rpc error data helper function

* extract L1SetupResult and L2SetupResult

* some more cleanups

* fix: update import paths for l2-sovereign-chain contracts and use the Shanghai spec

* refactor: rename waitTxToBeSuccessOrFail to waitForTxResult and update logging messages

* chore: update cdk-contracts-tooling dependency to v0.0.1

* fix: remove duplicated recipes in test/makefile

* test: chaingersender ut

* test: IsGERInjected unit test

* remove removal of mock files

* rename
* added doc

* docs: add the reference to aggoracle doc to the summary

---------

Co-authored-by: Stefan Negovanović <[email protected]>
* fix: multi pp e2e tests

* chore: remove polycli installation from e2e workflow

* fix: update cdk erigon node image version in fork12-pessimistic.yml

* fix: downgrade Kurtosis CDK reference version in test-e2e workflow

* fix: remove redundant build-docker step

* fix: add zkevm bridge proxy and service images to pessimistic multi configurations

* fix: update zkevm bridge proxy and service image versions in pessimistic configurations

* remove bridge from second cdk because it is unsupported

* downgrade bridge service
* fix: bug fix and UTs

* fix: comments
…277)

* cherry-pick #275
* fix: case of eth_getBlockByHash response null or tstamp zero
---------

Co-authored-by: Toni Ramírez <[email protected]>
* fix: downloader

* fix: driver handling closing download channel

* fix: e2e tests

* fix: increase log level

* fix: new logic

* fix: block finality config

* feat: add an init log to downloader

* fix: comments

* fix: lint

* fix: comments about not adding finalized blocks to reorg detector

* fix: UTs

* fix: comments
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.27.0 to 0.31.0.
- [Commits](golang/crypto@v0.27.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 3 commits January 24, 2025 08:46
)

Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](golang-jwt/jwt@v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: cherry pick

* fix: lint
@joanestebanr joanestebanr marked this pull request as draft January 24, 2025 09:40
@joanestebanr joanestebanr changed the title Develop develop -> v0.5.0 Jan 24, 2025
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.29.0 to 0.33.0.
- [Commits](golang/net@v0.29.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants