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

chore: release v0.3.1 #147

Merged
merged 57 commits into from
Oct 29, 2024
Merged

chore: release v0.3.1 #147

merged 57 commits into from
Oct 29, 2024

Conversation

vcastellm
Copy link
Contributor

Release for v0.3.1

rachit77 and others added 30 commits September 18, 2024 18:20
* tests: PoC bridge testing with bats

* Run bats in e2e

* Remove unused make lines

* tests: wip

* test: better

* Let's see

* test: fix test

* test: use cdk image

* test: bats path

* test: fix

* test: deposit on 1

* test: wait for claim

* test: timeout

* test: timeout

* test: increase timeout

* test: apply feedback

* ci: lint action

* test: do not prepare if already present

* test: Send EOA and deploy contract E2E tests using Bats (#69)

* feat: add helper functions for contract deployment and sending transactions using cast commands

* feat: send EOA transaction test basic

* feat: add CDK_ERIGON_NODE_NAME var

* feat: invoke _common_setup function

* feat: deploy ERC20Mock contract E2E test

* feat: more strict assertions and use run instead of $

* feat: tweaks

* fix: change the way transaction hash is extracted

* fix: change the way transactionHash gets fetched from the output

* fix: cast call helper function and invocation of balanceOf function

* test: use RAW_PRIVATE_KEY env variable for sender private key

* fix: address feedback from @vcastellm

* fix: Linters warning fixes (#74)

* feat: use the latest golangci-lint version and fix config warnings

* fix: linter warnings

* fix: linter warnings (part 2)

* fix: propagate the error from aggregator.Start

* fix: format golangci config file

* fix: suppress gosec overflow issues

* fix: exclude G115 gosec linter rule

* fix: use crypto/rand number generator

* test: apply feedback

* test: lint

* ci: increase lint timeout

* test: balance check for ether transafers

* test: wip

* fix: apply feedback

* fix: cast commands

* test: add edge case

* fix: tests

* fix: resolve conflicts

* fix: tests

* fix: tests

* fix: rpc

* fix: typo

* fix: checkTransactionSuccess

* fix: send eoa transaction test

* refactor: feedback

* refactor: feedback

* fix: simplifications

* fix: even more simplifications

---------

Co-authored-by: Victor Castell <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>
- Update to zkevm-synchronizer-l1 v1.0.1
- Check unexpected/deprecateds fields on config file
* wip

* wip

* WIP

* decoding direct and indeirecr assets and messages works

* connect everything

* fix building contract scripts

* fix building contract scripts

* wip

* WIP

* tree migrated to SQLite

* wip

* wip

* bridgesync working with sqlite

* pass tests

* minor cleaning

* add GetBlockByLER func

* handle err not found

* merge develop

* use memory for sqlite on the tests

* increase timestamp to pass UT

* review

* finished implementation

* replace l1bridge2infosync for rpc logic

* ut wip

* unit tests for new rpc funcs

* add UTs for new methods in the l1infotreesync processor

* fix UTs

* pass linter

* add PR requests

* add missing processor calls

* fixx linter

* rephrase binnary search formula

* rephrase binnary search formula
* wip

* wip

* WIP

* decoding direct and indeirecr assets and messages works

* connect everything

* fix building contract scripts

* fix building contract scripts

* wip

* WIP

* tree migrated to SQLite

* wip

* wip

* bridgesync working with sqlite

* pass tests

* minor cleaning

* add GetBlockByLER func

* handle err not found

* merge develop

* use memory for sqlite on the tests

* increase timestamp to pass UT

* review

* finished implementation

* replace l1bridge2infosync for rpc logic

* ut wip

* unit tests for new rpc funcs

* add UTs for new methods in the l1infotreesync processor

* fix UTs

* pass linter

* add PR requests

* add missing processor calls

* fixx linter

* feat: add missing methods needed to generate PP certificate

* fix linter
* feat: sc tests

* fix: tests

* fix: test

* feat: more tests

* fix: tests

* fix: tests

* fix: seprate keys for contracts deployement

* fix: rename sender private key env var

* fix: failing e2e tests

* chore: rename functions ( bash style)

* fix: access lists e2e tests

* refactor: apply feedback

* fix: polycli version

* fix: polycli workflow

* refactor: apply feedback

---------

Co-authored-by: Stefan Negovanović <[email protected]>
* feat: Added e2e tests to the syncer

* fix: UTs

* fix: comments

* fix: comments 2

* fix: rebase

* fix: lint

* fix: rebase remove old test

* fix: another rebase fix

* fix: stress test

* fix: ut build

* fix: rebuild tree after reorg

* fix: comments

---------

Co-authored-by: Goran Rojovic <[email protected]>
- Fix l1infotreesync. Error UNIQUE constraint failed: rollup_exit_root.hash on VerifyBatches Event
- l1infotreesync: Add verification for contract address. The problem is that if you set bad address cdk run normally but you don't get any information about L1InfoTree.
- l1infotreesync: Add support to `InitL1InfoRootMap`
- Allow to use `InitL1InfoRootMap` if there are no leaves on L1InfoTree

Internal:
- Fix local config file generation for debug on vscode (`./scripts/local_config`)
    - Add support to `contractVersions`
    - Remove param `-custom-network-file` that is no longer used
- Refactor `l1infotreesync/processor.go` in multiples files
- Change some tree functions to use a `tx db.Querier` instead of `ctx context.Context`: context was not used to do DB query was using `db` directly. In some test I need to query over current tx
* fix: update zkevm-ethtx-manager version

* fix: UTs
* feat: implement batch interface

* feat: update sync lib

* feat: enable test

* feat: update config files

* feat: fix test

* feat: fix test

* feat: batch string method

* feat: update kurtosis commit

* fix: comments

* fix: comments

* fix: linter

* fix: vars

* fix: error return

* fix: regex

* fix: hex to to bytes

* feat: update kurtosis template
- The e2e test for CDK use a local configuration template instead of the one on kurtosis branch: to allow to develop changes on config file is more easy if we are able to use the config file on CDK repo. After that we can update config file and cdk image on kurtosis repo
- The local configuration for run on vscode use the same template (`test/config/kurtosis-cdk-node-config.toml.template`)  as the e2e test
- Fix error on CI `test-e2e.yml` with the duplicated `ref` key
-  update zkevm-synchronizer-l1 from [v1.0.1](https://github.com/0xPolygonHermez/zkevm-synchronizer-l1/releases/tag/v1.0.1) to [v1.0.2](https://github.com/0xPolygonHermez/zkevm-synchronizer-l1/releases/tag/v1.0.2): 
       - fix: [#119](0xPolygonHermez/zkevm-synchronizer-l1#119), fails if there are multiple sequencedBatch in same bock because a SQL have wrong order by 
       - feat: add check to DB configuration
       - fix: downgrade migrations sql lite, remove scheme prefix from tables names
Using a set of pre-defined combinations of components,
we're going to test the versions we're interested in.
* Initial for packagers
* Adding BUILD_SCRIPT_DISABLED=1 to debian packagers
* chore: fix comments

* feat: integrate the v0.2.0 eth tx manager spec

* fix: rename DBPath to StoragePath in the ethtxmanager config

* chore: rename according to golang guidelines

* chore: deprecate the PersistenceFilename config param

* test: unit test for obsoleted PersistenceFIlename configuration parameter
- Some request of ports return the protocol and another no so the code have been updated to support port with protocol or without (`http://127.0.0.1:8023` or `127.0.0.1:8023`) 
- Also, to support changing end-point names have include a list of 'end-points' to get the URL / port
- There was a hardcoded path in config file that have been changed by vars and left the absolute path used by kurtosis as deault value
* feat: proof cleaning

* feat: improve log
* ci: bump cdk-erigon

Also remove testing fork9-rollup
* fix: check ssender config

* feat: add default value
…#88)

* feat: dynamically generate erigon config

Render the config files in tmp and run erigon passing the path of the
config file.

* feat: add node components param
* docs: update readme
* refactor: remove admin address
* fix: adapt dockerfile
* refactor: tune makefile
rbpol and others added 20 commits October 14, 2024 15:02
* feat: retry on agglayer rate limit exceeded
* chore: reduce map indexing in syncEthTxResults and propagate an error

* chore: handle the context.Done and rely on ticker instead of time.Sleep in sequenceSending fn

* chore: introduce IsStopped func

* fix: failing unit tests

* chore: remove the mutex from updateLatestVirtualBatch

* chore: simplify the for loop when iterating through batches

* chore: simplify the marginTimeElapsed func

* chore: simplify waiting for time margin to elapse

* chore: simplify purge logic

* fix: wait for margin for latest l1 block

---------

Co-authored-by: Goran Rojovic <[email protected]>
* test: l1infotree

* test: merkle tree

* test: refactor

* fix: lint
* fix: Fix l1infotreesync tests
* fix: Fix l1infotreesync tests

Co-authored-by: rbpol <[email protected]>
* ci: bump kurtosis version

Also bumb necessary versions in combinations.

* test: compute gas-price
* test: remove txspammer
- Allow multiples config-files (it will merge it) in command linea (`-cfg`). It can be used for read `genesis.json` and specific `cdk-node.toml` file
- Added new command line flags: 
     - `-save-config-path` to save 'rendered' config file to specific path. It store
            -  `cdk_config.toml`: It's the final config file with all vars set and applied environment vars
            -  `cdk_config.toml.merged`: It's the merged config-files (command lines ones and internals)
     - `-disable-default-config-vars`: This force to all mandatory params be set on config-files / environment vars
     - `-allow-deprecated-fields`: This allow that config-files contains deprecated values (to keep compatibility)

---------

Co-authored-by: Stefan Negovanović <[email protected]>
Co-authored-by: Toni Ramírez <[email protected]>
Co-authored-by: Stefan Negovanović <[email protected]>
- L2 to L1 withdrawal test
- Refactor tests to reduce complexity
- Bump kurtosis-cdk version to v0.2.15
- Improve CI by dumping enclave logs + files in kurtosis
@vcastellm vcastellm changed the title Release/0.3.1 chore: release v0.3.1 Oct 28, 2024
@vcastellm vcastellm requested a review from a team October 28, 2024 17:26
@vcastellm vcastellm merged commit cb437cd into main Oct 29, 2024
27 of 29 checks passed
@vcastellm vcastellm deleted the release/0.3.1 branch October 29, 2024 10:00
@vcastellm vcastellm restored the release/0.3.1 branch October 29, 2024 10:00
@vcastellm vcastellm deleted the release/0.3.1 branch October 29, 2024 10:02
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.

10 participants