Skip to content

Commit

Permalink
[New Sequencer] Merge develop into new sequencer branch (#1602)
Browse files Browse the repository at this point in the history
* Backport v0.0.1-RC4 & RC5 to develop (#1483)

* update poe sc to security mechanisms version (#1467)

* update poe sc to security mechanisms version

* updated names, fix tests and remove ger timestamp and other fixes

* fix rlp tool

* fix linter

* new genesis + fix

* new smc

* Update executor errors

* Update executor errors

* Update executor errors

* Update executor errors

* new l2 contract names

* sequencewr unit test commented

* fix test

Co-authored-by: Alonso <ARR551@protonmail.com>
Co-authored-by: ToniRamirezM <toni@iden3.com>

* Fix/1472 verify batches timeout (#1473)

Closes #1472

### What does this PR do?

During testing we faced an issue of two consecutive verified batches on L1 without respecting the time spacing.
The problem was that we were relying on the timer to check if we can start generating a new final proof. That timer is only reset after the final proof is sent to L1. This means that there's a time window between the generation of a final proof and its verification in which a new proof eligible to be final can be generated and immediately trigger another final proof generation.

The fix introduced here is to have a `verifyingProof` flag that gets checked when the final proof generation process begins and released only when the verification phase ends (or in case of errors).

Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>
Co-authored-by: Alonso <ARR551@protonmail.com>
Co-authored-by: ToniRamirezM <toni@iden3.com>

* fix unpack the revert reason (#1475)

Co-authored-by: tclemos <thiago@iden3.com>

* fix: update the genesis file (#1489)

* update the genesis

* revert bytecode

* upgrade git hub actions to the latest versions (#1471)

* build(deps): bump github.com/go-git/go-billy/v5 from 5.3.1 to 5.4.0 (#1492)

Bumps [github.com/go-git/go-billy/v5](https://github.com/go-git/go-billy) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/go-git/go-billy/releases)
- [Commits](go-git/go-billy@v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-billy/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fatals changed to return error (#1494)

* fatals changed to return error

* comments

* [Aggregator] Add metrics package and ConnectedProvers metric (#1502)

* feat: add metrics pkg and connected provers metric

This commit adds the `metrics` subpackage in the `aggregator` package.
It also adds the connected provers gauge metric to keep track of
the number of currently connected provers.

Signed-off-by: Paolo Grisoli <paolo_g84@icloud.com>

* chore: expose aggregator metrics port

This commit exposes the aggregator metrics port in
`test/docker-compose.yml`.

Signed-off-by: Paolo Grisoli <paolo_g84@icloud.com>

* feat: add WorkingProvers gauge metric (#1504)

Closes #1503 

### What does this PR do?

This PR adds the `aggregator_current_working_provers` gauge metric to keep track of the number of Provers that are busy generating a proof at any point in time.

* build(deps): bump google.golang.org/grpc from 1.51.0 to 1.52.0 (#1525)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.51.0 to 1.52.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.51.0...v1.52.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#1510)

Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](gorilla/websocket@v1.4.2...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/prometheus/common from 0.37.0 to 0.39.0 (#1511)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.37.0 to 0.39.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.37.0...v0.39.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feature/#1506 forced batch (#1523)

* ForceBatch unit test

* SequenceForceBatch unit test

* Fix forcedBatch check

* linter

* Fix reset forcedBatch

* batch and forcedbatch table modified

* fix

* Handle and log ROM OOC errors in executor (#1528)

* Handle and log ROM OOC errors in executor

* Fix IP

* linter

* improve test

* solve conflicts

* Feature/#1515 migration (#1531)

* rpc and broadcast without migrations

* mock

* linter

* fix unit test

* migration flag for synchronizer and checkMigrations

* run/stop aggregator command

* discard invalid txs in the pool when checking for an underpriced tx (#1563)

* allow array config params to be set via env vars (#1553)

* new eth tx manager (#1484)

* Fix: typos (#1567)

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Fix: typo

Fix: typo

* Merge release/v0.0.1 into develop (#1561)

Merge release/v0.0.1 changes into develop. The original release/v0.0.1 branch has been left intact to be able to perform hotfixes in case.

* build(deps): bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#1568)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/urfave/cli/v2 from 2.23.7 to 2.24.1 (#1573)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.23.7 to 2.24.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.23.7...v2.24.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Gas limit 150K + tests (#1551)

* Gas limit 150K + tests

* FreeClaimGasLimit as a config param

* linter

* fix config test

* Gas limit 150K + tests (#1551)

* Gas limit 150K + tests

* FreeClaimGasLimit as a config param

* linter

* fix config test

* Db flag to identify trusted verified batches (#1575)

* Db flag to identify trusted verified batches

* log

* Feature/#1549 genesis txs (#1574)

* genesis txs

* linter

* command removed

* fixes

* Feature/#1486 l2gasprice (#1548)

* gasPricer as a component with the follower

follower sets the l2gasprice depending on the l1 gas price

* make command

* Unit test + mocks

* linter

* fix

* suggestions

* suggestions

* log message

* suggesto to suggester + fix merge

* file name fixed

* jRPC - Batch methods and custom endpoint docs (#1554)

* build(deps): bump google.golang.org/grpc from 1.52.0 to 1.52.3 (#1588)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.0 to 1.52.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.52.0...v1.52.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* New smc version (#1581)

* New smc version

* linter

* fix

* linter

* genesis + network update

* l2 claim gas limit

* new aggregator wallet

* config

* add support to pre-EIP155 txs (#1582)

* add support to pre-EIP155 txs

* =)

* naming things

* add pre-EIP-155 tx e2e test

* fix merge with develop

* add check for the vitualized batch when testing pre-EIP155 tx

* remove dependency of iden3 package from jrpc (#1596)

* Merge

* Feature/#1577 force (#1599)

* forcedBatch Script

* Sequence forcedBatch

* linter

* linter

* linter

* migrations

* config

* state.exit_root

* state.exit_root

* state.exit_root

* state.exit_root

* state.exit_root

* state.exit_root

* merge state migrations

* merge state migrations

* remerge with develop

* Comment TestPreEIP155Tx

* remove not used test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Paolo Grisoli <paolo_g84@icloud.com>
Co-authored-by: Paolo Grisoli <paolo_g84@icloud.com>
Co-authored-by: Thiago Coimbra Lemos <tclemos@users.noreply.github.com>
Co-authored-by: Alonso <ARR551@protonmail.com>
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: tclemos <thiago@iden3.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alonso Rodriguez <ARR552@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
  • Loading branch information
9 people committed Jan 30, 2023
1 parent 79dd8ee commit 1cbcf9f
Show file tree
Hide file tree
Showing 192 changed files with 16,449 additions and 8,894 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@ on:
- master
- develop
- update-external-dependencies
- 'release/**'
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: 1.17.x
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Lint
run: |
make install-linter
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push-docker-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
Expand All @@ -17,7 +17,7 @@ jobs:
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
Expand All @@ -17,7 +17,7 @@ jobs:
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v3
with:
go-version: 1.17

Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- master
- develop
- update-external-dependencies
- 'release/**'
pull_request:
repository_dispatch:
types: [ok-to-test-command]
Expand All @@ -23,17 +24,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
env:
GOARCH: ${{ matrix.goarch }}

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down Expand Up @@ -62,19 +63,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Fork based /ok-to-test checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
env:
GOARCH: ${{ matrix.goarch }}

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-from-prover.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ jobs:
repository: 0xPolygonHermez/zkevm-node

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
env:
GOARCH: ${{ matrix.goarch }}

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/test-full-non-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- master
- develop
- update-external-dependencies
- 'release/**'
pull_request:
repository_dispatch:
types: [ok-to-test-command]
Expand All @@ -21,17 +22,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
env:
GOARCH: ${{ matrix.goarch }}

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand All @@ -58,19 +59,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Fork based /ok-to-test checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
env:
GOARCH: ${{ matrix.goarch }}

- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/updatedeps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v3
with:
go-version: "1.17.x"
env:
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@
.vscode
.idea/

out.dat
out.dat

cmd/__debug_bin
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ RUN cd /src && make build
# CONTAINER FOR RUNNING BINARY
FROM alpine:3.16.0
COPY --from=build /src/dist/zkevm-node /app/zkevm-node
COPY --from=build /src/config/environments/local/local.node.config.toml /app/example.config.toml
COPY --from=build /src/config/environments/public/public.node.config.toml /app/example.config.toml
EXPOSE 8123
CMD ["/bin/sh", "-c", "/app/zkevm-node run"]
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ Required services and components:

There must be only one synchronizer, and it's recommended that it has exclusive access to an executor instance, although it's not necessary. This role can perfectly be run in a single instance, however, the JSON RPC and executor services can benefit from running in multiple instances, if the performance decreases due to the number of requests received

[`zkEVM RPC Custom endpoints documentation`](./docs/zkEVM-custom-endpoints.md)

### Trusted sequencer

This role can only be performed by a single entity. This is enforced in the smart contract, as the related methods of the trusted sequencer can only be performed by the owner of a particular private key.
Expand Down Expand Up @@ -104,7 +106,7 @@ It's recommended to use `make` for building, and testing the code, ... Run `make

## Running the node

- [Running localy](docs/running_local.md)
- [Running locally](docs/running_local.md)
- [Running on production](docs/production-setup.md)

### Requirements
Expand Down
Loading

0 comments on commit 1cbcf9f

Please sign in to comment.