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

fix ut #49

Merged
merged 154 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
2ef0c25
fix null effective_percentage
ToniRamirezM Jun 30, 2023
7980151
fix forkID calculation
ToniRamirezM Jun 30, 2023
224a11e
fix script
ToniRamirezM Jun 30, 2023
13bcd29
generate json-schema + docs for node config file and network_custom
joanestebanr Jul 4, 2023
41c63ab
fix unittest
joanestebanr Jul 5, 2023
5a85d85
Hotfixv0.1.4 to v0.2.0 (#2255)
ARR552 Jul 5, 2023
d055c40
Effective GasPrice refactor+fixes (#2247)
agnusmor Jul 5, 2023
76dc7d5
Fix/#2257 effective gas price receipt (#2258)
ARR552 Jul 5, 2023
87200f1
bugfix: fixing l2blocks timestamp for the fist batch (#2260)
ARR552 Jul 5, 2023
9f39433
add more comments, and removed fields PrivateKeyPath and PrivateKeyPa…
joanestebanr Jul 6, 2023
b21258d
add info to git action
joanestebanr Jul 6, 2023
7197f4e
add info to git action
joanestebanr Jul 6, 2023
7e3d34d
fix github action
joanestebanr Jul 6, 2023
8566eed
Merge remote-tracking branch 'origin/develop' into feature/#2200-add-…
joanestebanr Jul 7, 2023
b6e034f
updated comments
joanestebanr Jul 7, 2023
71541ee
updated comments
joanestebanr Jul 7, 2023
623089a
Fix/#2263 gas used (#2264)
ARR552 Jul 10, 2023
9d03f8b
Fix pending tx when duplicate nonce (#2270)
agnusmor Jul 10, 2023
40b084b
Only return a tx from the pool if tx is in pending status (#2273)
ARR552 Jul 10, 2023
17a95f5
Merge pull request #2252 from 0xPolygonHermez/feature/#2200-add-docum…
joanestebanr Jul 11, 2023
867aaaf
fix documentation with config file
joanestebanr Jul 11, 2023
198243a
improve: adding check to skip appending effectivePercentage if curren…
Psykepro Jul 11, 2023
c00e4fa
Merge pull request #2275 from 0xPolygonHermez/improve/add-check-for-f…
Psykepro Jul 11, 2023
861dbba
Fiex effectiveGasprice unsigned txs with forkId lower than 5 (#2278)
ARR552 Jul 11, 2023
e7e9f5b
feat: adding functionality to stop sequencer on specific batch num fr…
Psykepro Jul 12, 2023
caa9a3a
Merge pull request #2282 from 0xPolygonHermez/feature/stop-sequencer-…
Psykepro Jul 13, 2023
a4d0b88
patch: adding print for X-Real-IP in JSON-RPC
Psykepro Jul 14, 2023
32bf764
Fix checkIfSynced (#2289)
ARR552 Jul 14, 2023
b5d5145
[Rehashing] Check logs order and fix blockhash and blockNumber in the…
ARR552 Jul 14, 2023
2b1ea5f
Merge pull request #2286 from 0xPolygonHermez/patch/add-print-for-X-R…
Psykepro Jul 14, 2023
e314df2
flushID synchronizer (#2287)
ARR552 Jul 14, 2023
c9b4057
executor error refactor (#2299)
ToniRamirezM Jul 19, 2023
80c471d
handle invalid rlp ROM error (#2297)
ToniRamirezM Jul 19, 2023
13cafe2
add maxL2GasPrice (#2294)
ToniRamirezM Jul 19, 2023
c761cea
Error refactor (#2302)
ToniRamirezM Jul 19, 2023
9b409e4
Fix replaced tx as failed when duplicated nonce (#2308)
agnusmor Jul 20, 2023
31eb8a4
log reprocess need (#2309)
ToniRamirezM Jul 20, 2023
978e77b
Feature/2300 synchronizer detect if executor restart (#2306)
joanestebanr Jul 21, 2023
a814dc0
Update prover images (#2311)
ToniRamirezM Jul 21, 2023
c66222f
add doc, and fix dockers to be able to use snap/restore feature (#2315)
joanestebanr Jul 21, 2023
2da46fd
Update docker-compose.yml
ToniRamirezM Jul 21, 2023
6fd4c75
Update docker-compose.yml
ToniRamirezM Jul 21, 2023
44356c8
do not add tx to the pool in case err != nil
ToniRamirezM Jul 26, 2023
822858c
do not add tx into the pool if a fatal error in the executor happens …
ToniRamirezM Jul 26, 2023
7d10f46
fix dbMultiWriteSinglePosition config value
tclemos Jul 27, 2023
6a6fc6f
workarround for the error error closing batch
joanestebanr Jul 28, 2023
d6aa5e0
workarround for the error error closing batch
joanestebanr Jul 28, 2023
203751a
workarround for the error error closing batch
joanestebanr Jul 28, 2023
d0e95a8
workaround for the error of closing batch, another case
joanestebanr Jul 28, 2023
38a97f0
`Worker`'s `AddTxTracker` Bug Fix (#2343)
Psykepro Jul 31, 2023
80c8f20
rename config files (#2349)
ToniRamirezM Aug 1, 2023
1389c6b
fix closing batch + logs (#2348)
ARR552 Aug 1, 2023
c99bc9f
Update README.md
ToniRamirezM Aug 1, 2023
7036565
Update release.yml
ToniRamirezM Aug 1, 2023
4806b58
bugfix: fixing place where we need to increment the wg per address fo…
Psykepro Aug 2, 2023
dce5cd0
Merge pull request #2356 from 0xPolygonHermez/bufix/worker-addrqueue-…
Psykepro Aug 2, 2023
2298c8f
Store batchL2Data when the batch is opened (#2358)
ARR552 Aug 3, 2023
24cbf1a
add GasPriceMarginFactor and MaxGasPrice to eth-tx-manager (#2360)
tclemos Aug 3, 2023
9c32934
bugfix: attaching missing TxTracker.From to pending txs to store for …
Psykepro Aug 3, 2023
de6206f
Update README.md
ToniRamirezM Aug 3, 2023
8ec1474
improve: adding logs (#2373)
Psykepro Aug 4, 2023
e15805d
bugfix: fixing finalizer's handling. (#2375)
Psykepro Aug 4, 2023
ca3cc9d
Update README.md
ToniRamirezM Aug 4, 2023
81a6bf6
change hashdb go package
ToniRamirezM Aug 3, 2023
901466f
new hashdb interface
ToniRamirezM Aug 3, 2023
8275016
aggregator pb refactor
ToniRamirezM Aug 3, 2023
9a5b26e
new prover image
ToniRamirezM Aug 3, 2023
6dffbfb
change prover config
ToniRamirezM Aug 3, 2023
4dcd6b0
update prover image
ToniRamirezM Aug 3, 2023
c53d87a
update to latest proto and prover image
ToniRamirezM Aug 5, 2023
8d4ba17
Refactor nonce calculation for addQueue (#2382)
ToniRamirezM Aug 7, 2023
23f4290
fix script
ToniRamirezM Aug 7, 2023
c05398c
check to avoid data inconsistencies (#2387)
ARR552 Aug 8, 2023
8848855
Refactor: avoid delete addrQueue if it has pending txs to store (#2391)
agnusmor Aug 9, 2023
5784aea
Sort txs in worker by gasPrice (remove efficiency sort) (#2392)
agnusmor Aug 9, 2023
072be43
use useMainExecGenerated (#2393)
ToniRamirezM Aug 9, 2023
b4e9dfb
Fix store forced batch tx (#2394)
agnusmor Aug 9, 2023
f041a1b
l2coinbase (#2400)
ARR552 Aug 11, 2023
994cb2c
Check flushID != 0 (#2406)
ARR552 Aug 14, 2023
f494784
Show tx.GasPrice in the worker logs (instead of tx.Cost) (#2416)
agnusmor Aug 17, 2023
caf26bd
Check flushID != 0 in Sequencer (#2415)
agnusmor Aug 17, 2023
5040346
update config params for Prover v2.1.0 (#2418)
agnusmor Aug 17, 2023
59eaa75
cherry-pick #2385 and #2396 from develop into v0.2.6 (#2412)
tclemos Aug 17, 2023
c95cce4
new block endpoints and improvements to batch endpoint (#2411)
tclemos Aug 17, 2023
3b98022
Add forced batches tx to addrQueue (#2398)
ToniRamirezM Aug 18, 2023
4e31815
bugifx: adding missing tx.BreakEvenGasPrice nil check
Psykepro Aug 23, 2023
9d9801f
Merge pull request #2452 from 0xPolygonHermez/bugfix/effectiveGasPric…
Psykepro Aug 23, 2023
667d846
Sync halt (#2428)
ARR552 Aug 23, 2023
c1dd19c
cherry-pick #2245 and #2424 from develop into v0.2.6 (#2447)
tclemos Aug 23, 2023
2983243
New executor errors refactor (#2438)
ToniRamirezM Aug 23, 2023
da77be4
Reprocess full batch in parallel (sanity check) (#2425)
agnusmor Aug 23, 2023
9537f04
Speed up deleting batches from stateDB creating an index for state.re…
ToniRamirezM Aug 24, 2023
eb11e0f
Feature/#2429 fork id improvement (#2450)
ARR552 Aug 24, 2023
f1440a3
fix check storedFlushID (#2458)
ToniRamirezM Aug 24, 2023
5bdc061
remove stored flush id 0 (#2459)
ToniRamirezM Aug 24, 2023
f16d9ae
Feature/#2403 snap (#2404)
ARR552 Aug 28, 2023
307e83e
bugfix: removing measuring of metrics from async batch reprocessing f…
Psykepro Aug 28, 2023
4257f3f
update prover images (#2473)
ToniRamirezM Aug 28, 2023
375bffa
Update production-setup.md
agnusmor Aug 28, 2023
32ce2e9
init
zjg555543 Sep 12, 2023
145ff5d
update
zjg555543 Sep 13, 2023
e9ab3d2
update
zjg555543 Sep 13, 2023
8cc879f
update
zjg555543 Sep 13, 2023
8a44abf
update
zjg555543 Sep 13, 2023
121d0c7
update
zjg555543 Sep 13, 2023
2c7466e
Merge pull request #9 from okx/zjg/fork5-dac
KamiD Oct 12, 2023
6fff3f4
Add logs for sequencer (#14)
giskook Oct 12, 2023
401e252
support innertx (#16)
giskook Oct 12, 2023
49481a5
add switch for pending transaction filter (#18)
lyh169 Oct 12, 2023
a444b66
suport free gas to claim asset (#22)
chengzhinei Oct 12, 2023
c9c53c6
add gp adjust (#17)
lyh169 Oct 12, 2023
216c926
rebranding (#23)
zjg555543 Oct 13, 2023
d16d4a4
rename to xgon (#24)
zjg555543 Oct 16, 2023
892686e
validium/rollup switch (#26)
zjg555543 Oct 23, 2023
4d65247
support nacos (#27)
giskook Oct 23, 2023
6991c3b
sync fix ws debug (#28)
lyh169 Oct 27, 2023
c05ac23
fix ut and e2e test (#29)
zjg555543 Nov 1, 2023
6de0441
Support websocket to register nacos (#33)
giskook Nov 6, 2023
2bafd67
support flatCallTracer and result limit for trace transaction (#40)
ylsGit Nov 14, 2023
ba6ae61
rebranding to X1 (#36)
zjg555543 Nov 14, 2023
9e945f8
fix make deploy-sc error (#38)
zjg555543 Nov 14, 2023
6b55630
add gas price dynamic adjust in follower mode (#34)
lyh169 Dec 4, 2023
6603ea7
Merge branch 'release/v0.1.1' into scf-v041-pr
scf0220 Dec 13, 2023
f8fdd58
first commit
scf0220 Dec 13, 2023
acfc066
Update db.go
scf0220 Dec 13, 2023
79b32a4
Update datacommittee_test.go
scf0220 Dec 13, 2023
d9b74e5
format
scf0220 Dec 13, 2023
0cc9117
fmt
scf0220 Dec 13, 2023
659cf7d
goimport
Dec 13, 2023
d60777c
1
scf0220 Dec 13, 2023
b6d1239
1
scf0220 Dec 13, 2023
5d37cf4
fix
scf0220 Dec 13, 2023
34f2096
Update start.go
scf0220 Dec 13, 2023
8b9f1b7
1
scf0220 Dec 13, 2023
4eb20c5
a
Dec 13, 2023
16311d4
1
scf0220 Dec 13, 2023
adecaa7
Merge branch 'scf-v041-pr-fix-test' of https://github.com/okx/x1-node…
scf0220 Dec 13, 2023
dd71a1b
a
Dec 13, 2023
863c463
Update Makefile
scf0220 Dec 13, 2023
ea649ea
fix test
scf0220 Dec 13, 2023
389070c
Update setup.go
scf0220 Dec 13, 2023
69a484f
a
Dec 14, 2023
3583f66
update makefile
zjg555543 Dec 14, 2023
5e4306c
update makefile
zjg555543 Dec 14, 2023
5f2a7b0
fix ut
zjg555543 Dec 14, 2023
6b71012
update
zjg555543 Dec 14, 2023
1e8ee00
update
zjg555543 Dec 14, 2023
8ca5c23
update
zjg555543 Dec 14, 2023
05f9da5
disabel
zjg555543 Dec 14, 2023
ac87a06
udpate
zjg555543 Dec 14, 2023
afcdff4
update
zjg555543 Dec 14, 2023
d43951e
update
zjg555543 Dec 14, 2023
520d32c
fix e2e
zjg555543 Dec 14, 2023
e8d726d
update permissionless-node
zjg555543 Dec 14, 2023
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
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
name: Report a bug
about: Something with Polygon zkEVM is not working as expected
about: Something with X1 is not working as expected
title: ''
labels: 'type:bug'
assignees: ''
---

#### System information

zkEVM Node version: `v0.0.X-RCXX`
X1 Node version: `v0.0.X-RCXX`
OS & Version: `Windows/Linux/OSX`
Commit hash : (if `develop`)
Network: `Mainnet/Testnet`
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
matrix:
go-version: [ 1.21.x ]
goarch: [ "amd64" ]
e2e-group: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
e2e-group: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, dac-1 ]
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-from-prover.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Test from zkevm-prover call
name: Test from x1-prover call
on:
workflow_call:
inputs:
Expand All @@ -25,7 +25,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3
with:
repository: 0xPolygonHermez/zkevm-node
repository: okx/x1-node

- name: Install Go
uses: actions/setup-go@v3
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ RUN cd /src && make build

# CONTAINER FOR RUNNING BINARY
FROM alpine:3.18.0
COPY --from=build /src/dist/xgon-node /app/xgon-node
COPY --from=build /src/dist/x1-node /app/x1-node
COPY --from=build /src/config/environments/testnet/node.config.toml /app/example.config.toml
RUN apk update && apk add postgresql15-client
EXPOSE 8123
CMD ["/bin/sh", "-c", "/app/xgon-node run"]
CMD ["/bin/sh", "-c", "/app/x1-node run"]
14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ endif
GOBASE := $(shell pwd)
GOBIN := $(GOBASE)/dist
GOENVVARS := GOBIN=$(GOBIN) CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH)
GOBINARY := xgon-node
GOBINARY := x1-node
GOCMD := $(GOBASE)/cmd

LDFLAGS += -X 'github.com/0xPolygonHermez/zkevm-node.Version=$(VERSION)'
Expand Down Expand Up @@ -80,21 +80,21 @@ build: ## Builds the binary locally into ./dist

.PHONY: build-docker
build-docker: ## Builds a docker image with the node binary
docker build -t xgon-node -f ./Dockerfile .
docker build -t x1-node -f ./Dockerfile .

.PHONY: build-docker-nc
build-docker-nc: ## Builds a docker image with the node binary - but without build cache
docker build --no-cache=true -t xgon-node -f ./Dockerfile .
docker build --no-cache=true -t x1-node -f ./Dockerfile .

.PHONY: run-rpc
run-rpc: ## Runs all the services needed to run a local zkEVM RPC node
docker-compose up -d xgon-state-db xgon-pool-db
docker-compose up -d x1-state-db x1-pool-db
sleep 2
docker-compose up -d xgon-prover
docker-compose up -d x1-prover
sleep 5
docker-compose up -d xgon-sync
docker-compose up -d x1-sync
sleep 2
docker-compose up -d xgon-rpc
docker-compose up -d x1-rpc

.PHONY: stop
stop: ## Stops all services
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# zkEVM Node
# X1 Node

zkEVM Node is a Go implementation of a node that operates the Polygon zkEVM Network.
X1 Node is a Go implementation of a node that operates the X1 Network.

## About the Polygon zkEVM network
## About the X1 network

Since this is an implementation of a protocol it's fundamental to understand it, [here](https://zkevm.polygon.technology/docs/zknode/zknode-overview) you can find the specification of the protocol.
Since this is an implementation of a protocol it's fundamental to understand it, [here]() you can find the specification of the protocol.

Glossary:

- L1: Base blockchain where the rollup smart contracts are deployed. It's Ethereum or a testnet of Ethereum, but it could be any EVM compatible blockchain.
- L2: the rollup network aka the Polygon zkEVM network.
- Batch: a group of transactions that are executed/proved, using the [zkEVM prover](https://github.com/0xPolygonHermez/zkevm-prover) and sent to / synchronized from L1
- L2: the rollup network aka the X1 network.
- Batch: a group of transactions that are executed/proved, using the [X1 prover]() and sent to / synchronized from L1
- Sequencer: the actor that is responsible for selecting transactions, putting them in a specific order, and sending them in batches to L1
- Trusted sequencer: sequencer that has special privileges, there can only be one trusted sequencer. The privileges granted to the trusted sequencer allow it to forecast the batches that will be applied to L1. This way it can commit to a specific sequence before interacting with L1. This is done to achieve fast finality and reduce costs associated with using the network (lower gas fees)
- Permissionless sequencer: sequencer role that can be performed by anyone. It has competitive disadvantages compared to the trusted sequencer (slow finality, MEV attacks). Its main purpose is to provide censorship resistance and unstoppability features to the network.
Expand All @@ -20,7 +20,7 @@ Glossary:
- Trusted state: state reached through processing transactions that have been shared by the trusted sequencer. This state is considered trusted as the trusted sequencer could commit to a certain sequence, and then send a different one to L1
- Virtual state: state reached through processing transactions that have already been submitted to L1. These transactions are sent in batches by either trusted or permissionless sequencers. Those batches are also called virtual batches. Note that this state is trustless as it relies on L1 security assumptions
- Consolidated state: state that is proven on-chain by submitting a ZKP (Zero Knowledge Proof) that proves the execution of a sequence of the last virtual batch.
- Invalid transaction: a transaction that can't be processed and doesn't affect the state. Note that such a transaction could be included in a virtual batch. The reason for a transaction to be invalid could be related to the Ethereum protocol (invalid nonce, not enough balance, ...) or due to limitations introduced by the zkEVM (each batch can make use of a limited amount of resources such as the total amount of keccak hashes that can be computed)
- Invalid transaction: a transaction that can't be processed and doesn't affect the state. Note that such a transaction could be included in a virtual batch. The reason for a transaction to be invalid could be related to the Ethereum protocol (invalid nonce, not enough balance, ...) or due to limitations introduced by the X1 (each batch can make use of a limited amount of resources such as the total amount of keccak hashes that can be computed)
- Reverted transaction: a transaction that is executed, but is reverted (because of smart contract logic). The main difference with *invalid transaction* is that this transaction modifies the state, at least to increment nonce of the sender.

## Architecture
Expand All @@ -31,7 +31,7 @@ Glossary:

The diagram represents the main components of the software and how they interact between them. Note that this reflects a single entity running a node, in particular a node that acts as the trusted sequencer. But there are many entities running nodes in the network, and each of these entities can perform different roles. More on this later.

- (JSON) RPC: an HTTP interface that allows users (dApps, metamask, etherscan, ...) to interact with the node. Fully compatible with Ethereum RPC + some extra [custom endpoints](./docs/zkEVM-custom-endpoints.md) specifics of the network. It interacts with the `state` (to get data and process transactions) as well as the `pool` (to store transactions).
- (JSON) RPC: an HTTP interface that allows users (dApps, metamask, etherscan, ...) to interact with the node. Fully compatible with Ethereum RPC + some extra [custom endpoints]() specifics of the network. It interacts with the `state` (to get data and process transactions) as well as the `pool` (to store transactions).
- L2GasPricer: it fetches the L1 gas price and applies some formula to calculate the gas price that will be suggested for the users to use for paying fees on L2. The suggestions are stored on the `pool`, and will be consumed by the `rpc`
- Pool: DB that stores transactions by the `RPC` to be selected/discarded by the `sequencer` later on
- Sequencer: responsible for building the trusted state. To do so, it gets transactions from the pool and puts them in a specific order. It needs to take care of opening and closing batches while trying to make them as full as possible. To achieve this it needs to use the executor to actually process the transaction not only to execute the state transition (and update the hashDB) but also to check the consumed resources by the transactions and the remaining resources of the batch. After executing a transaction that fits into a batch, it gets stored on the `state`. Once transactions are added into the state, they are immediately available through the `rpc`.
Expand All @@ -42,7 +42,7 @@ The diagram represents the main components of the software and how they interact
- State: Responsible for managing the state data (batches, blocks, transactions, ...) that is stored on the `state SB`. It also handles the integration with the `executor` and the `Merkletree` service
- State DB: persistence layer for the state data (except the Merkletree that is handled by the `HashDB` service), it stores informationrelated to L1 (blocks, global exit root updates, ...) and L2 (batches, L2 blocks, transactions, ...)
- Aggregator: consolidates batches by generating ZKPs (Zero Knowledge proofs). To do so it gathers the necessary data that the `prover` needs as input through the `state` and sends a request to it. Once the proof is generated it sends a request to send an L1 tx to verify the proof and move the state from virtual to verified to the `ethtxmanager`. Note that provers connect to the aggregator and not the other way arround. The aggregator can handle multiple connected provers at once and make them work concurrently in the generation of different proofs
- Prover/Executor/hashDB: service that generates ZK proofs. Note that this component is not implemented in this repository, and it's treated as a "black box" from the perspective of the node. The prover/executor has two implementations: [JS reference implementation](https://github.com/0xPolygonHermez/zkevm-proverjs) and [C production-ready implementation](https://github.com/0xPolygonHermez/zkevm-prover). Although it's the same software/binary, it implements three services:
- Prover/Executor/hashDB: service that generates ZK proofs. Note that this component is not implemented in this repository, and it's treated as a "black box" from the perspective of the node. The prover/executor has two implementations: [JS reference implementation](https://github.com/okx/x1-proverjs) and [C production-ready implementation](https://github.com/okx/x1-prover). Although it's the same software/binary, it implements three services:
- Executor: Provides an EVM implementation that allows processing batches as well as getting metadata (state root, transaction receipts, logs, ...) of all the needed results.
- Prover: Generates ZKPs for batches, batches aggregation, and final proofs.
- HashDB: service that stores the Merkletree, containing all the account information (balances, nonces, smart contract code, and smart contract storage)
Expand All @@ -64,8 +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 endpoints`](./docs/json-rpc-endpoints.md)
- [`zkEVM RPC Custom endpoints documentation`](./docs/zkEVM-custom-endpoints.md)
- [`X1 RPC endpoints`](./docs/json-rpc-endpoints.md)
- [`X1 RPC Custom endpoints documentation`]()

### Trusted sequencer

Expand Down
5 changes: 3 additions & 2 deletions aggregator/prover/aggregator.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions aggregator/prover/aggregator_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions ci/e2e-group-dac-1/datacommittee_test.go
15 changes: 8 additions & 7 deletions cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ import (
"crypto/ecdsa"
"errors"
"fmt"
"net"
"net/http"
"net/http/pprof"
"os"
"os/signal"
"runtime"
"time"

dataCommitteeClient "github.com/0xPolygon/cdk-data-availability/client"
datastreamerlog "github.com/0xPolygonHermez/zkevm-data-streamer/log"
"github.com/0xPolygonHermez/zkevm-node"
Expand Down Expand Up @@ -34,13 +42,6 @@ import (
"github.com/jackc/pgx/v4/pgxpool"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/urfave/cli/v2"
"net"
"net/http"
"net/http/pprof"
"os"
"os/signal"
"runtime"
"time"
)

func start(cliCtx *cli.Context) error {
Expand Down
12 changes: 6 additions & 6 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ func Test_Defaults(t *testing.T) {
expectedValue: types.NewDuration(5 * time.Second),
},
{
path: "SequenceSender.MaxTxSizeForL1",
expectedValue: uint64(131072),
path: "SequenceSender.MaxBatchesForL1",
expectedValue: uint64(10),
},
{
path: "SequenceSender.GasOffset",
Expand Down Expand Up @@ -210,7 +210,7 @@ func Test_Defaults(t *testing.T) {
},
{
path: "MTClient.URI",
expectedValue: "zkevm-prover:50061",
expectedValue: "x1-prover:50061",
},
{
path: "State.DB.User",
Expand All @@ -226,7 +226,7 @@ func Test_Defaults(t *testing.T) {
},
{
path: "State.DB.Host",
expectedValue: "zkevm-state-db",
expectedValue: "x1-state-db",
},
{
path: "State.DB.Port",
Expand Down Expand Up @@ -315,7 +315,7 @@ func Test_Defaults(t *testing.T) {
},
{
path: "Pool.DB.Host",
expectedValue: "zkevm-pool-db",
expectedValue: "x1-pool-db",
},
{
path: "Pool.DB.Port",
Expand Down Expand Up @@ -399,7 +399,7 @@ func Test_Defaults(t *testing.T) {
},
{
path: "Executor.URI",
expectedValue: "zkevm-prover:50071",
expectedValue: "x1-prover:50071",
},
{
path: "Executor.MaxResourceExhaustedAttempts",
Expand Down
12 changes: 6 additions & 6 deletions config/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Outputs = ["stderr"]
User = "state_user"
Password = "state_password"
Name = "state_db"
Host = "xgon-state-db"
Host = "x1-state-db"
Port = "5432"
EnableLog = false
MaxConns = 200
Expand Down Expand Up @@ -58,7 +58,7 @@ FreeGasAddress = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
User = "pool_user"
Password = "pool_password"
Name = "pool_db"
Host = "xgon-pool-db"
Host = "x1-pool-db"
Port = "5432"
EnableLog = false
MaxConns = 200
Expand Down Expand Up @@ -146,7 +146,7 @@ MaxTxLifetime = "3h"
[SequenceSender]
WaitPeriodSendSequence = "5s"
LastBatchVirtualizationTimeMaxWaitPeriod = "5s"
MaxTxSizeForL1 = 1000
MaxBatchesForL1 = 10
L2Coinbase = "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
PrivateKey = {Path = "/pk/sequencer.keystore", Password = "testonly"}
UseValidium = true
Expand Down Expand Up @@ -174,10 +174,10 @@ CleanHistoryPeriod = "1h"
CleanHistoryTimeRetention = "5m"

[MTClient]
URI = "xgon-prover:50061"
URI = "x1-prover:50061"

[Executor]
URI = "xgon-prover:50071"
URI = "x1-prover:50071"
MaxResourceExhaustedAttempts = 3
WaitOnResourceExhaustion = "1s"
MaxGRPCMessageSize = 100000000
Expand All @@ -191,7 +191,7 @@ Enabled = false
User = "prover_user"
Password = "prover_pass"
Name = "prover_db"
Host = "xgon-state-db"
Host = "x1-state-db"
Port = "5432"
EnableLog = false
MaxConns = 200
Expand Down
Loading
Loading