feat: remove l2-node in e2e test and make it to run in local stack op… (#1001)

* feat: remove l2-node in e2e test and make it to run in local stack optionally

* fix: l2 spec transaction data size limit e2e test

* feat: revise blockscout configs

* feat: revised comment in Makefile

* feat: update transaction-exclusion-api and postman image

* feat: remove expected-traces-api-version-v2 from coordinator local overrides toml

* feat: remove shomei-frontend from ci and add disabled option in Type2StateProofProviderConfig

* feat: add endpoint for type2-state-proof-provider

* feat: revise coordinator local-dev override configs

* feat: remove white space
This commit is contained in:
jonesho
2025-05-22 23:27:14 +08:00
committed by GitHub
parent c07457ebba
commit 7e306e2658
22 changed files with 171 additions and 149 deletions

View File

@@ -23,6 +23,7 @@ start-env: CLEAN_PREVIOUS_ENV:=true
start-env: COMPOSE_FILE:=docker/compose-tracing-v2.yml
start-env: L1_CONTRACT_VERSION:=6
start-env: SKIP_CONTRACTS_DEPLOYMENT:=false
start-env: SKIP_L1_L2_NODE_HEALTH_CHECK:=false
start-env: LINEA_PROTOCOL_CONTRACTS_ONLY:=false
start-env:
@if [ "$(CLEAN_PREVIOUS_ENV)" = "true" ]; then \
@@ -32,8 +33,9 @@ start-env:
fi; \
mkdir -p tmp/local; \
COMPOSE_PROFILES=$(COMPOSE_PROFILES) docker compose -f $(COMPOSE_FILE) up -d; \
while [ "$$(docker compose -f $(COMPOSE_FILE) ps -q l1-el-node | xargs docker inspect -f '{{.State.Health.Status}}')" != "healthy" ] || \
[ "$$(docker compose -f $(COMPOSE_FILE) ps -q sequencer | xargs docker inspect -f '{{.State.Health.Status}}')" != "healthy" ]; do \
while [ "$(SKIP_L1_L2_NODE_HEALTH_CHECK)" = "false" ] && \
{ [ "$$(docker compose -f $(COMPOSE_FILE) ps -q l1-el-node | xargs docker inspect -f '{{.State.Health.Status}}')" != "healthy" ] || \
[ "$$(docker compose -f $(COMPOSE_FILE) ps -q sequencer | xargs docker inspect -f '{{.State.Health.Status}}')" != "healthy" ]; }; do \
sleep 2; \
echo "Checking health status of l1-el-node and sequencer..."; \
done
@@ -44,17 +46,17 @@ start-env:
fi
start-l1:
command start-env COMPOSE_PROFILES:=l1 COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true
make start-env COMPOSE_PROFILES:=l1 COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true SKIP_L1_L2_NODE_HEALTH_CHECK:=true
start-l2:
command start-env COMPOSE_PROFILES:=l2 COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true
start-l1-l2:
make start-env COMPOSE_PROFILES:=l1,l2 COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true SKIP_L1_L2_NODE_HEALTH_CHECK:=true
start-l2-blockchain-only:
command start-env COMPOSE_PROFILES:=l2-bc COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true
make start-env COMPOSE_PROFILES:=l2-bc COMPOSE_FILE:=docker/compose-tracing-v2.yml SKIP_CONTRACTS_DEPLOYMENT:=true SKIP_L1_L2_NODE_HEALTH_CHECK:=true
fresh-start-l2-blockchain-only:
make clean-environment
make start-l2-blockchain-only
make clean-environment
make start-l2-blockchain-only
##
## Creating new targets to avoid conflicts with existing targets
@@ -63,8 +65,12 @@ fresh-start-l2-blockchain-only:
start-env-with-tracing-v2:
make start-env COMPOSE_FILE=docker/compose-tracing-v2.yml LINEA_PROTOCOL_CONTRACTS_ONLY=true
## Enable L2 geth node
start-env-with-tracing-v2-extra:
make start-env COMPOSE_PROFILES:=l1,l2 COMPOSE_FILE:=docker/compose-tracing-v2-extra-extension.yml LINEA_PROTOCOL_CONTRACTS_ONLY=true DISABLE_JSON_RPC_PRICING_PROPAGATION=false DISABLE_TYPE2_STATE_PROOF_PROVIDER=false
start-env-with-tracing-v2-ci:
make start-env COMPOSE_FILE=docker/compose-tracing-v2-ci-extension.yml DISABLE_JSON_RPC_PRICING_PROPAGATION=false
make start-env COMPOSE_FILE=docker/compose-tracing-v2-ci-extension.yml
start-env-with-staterecovery: COMPOSE_PROFILES:=l1,l2,staterecovery
start-env-with-staterecovery: L1_CONTRACT_VERSION:=6

View File

@@ -85,7 +85,7 @@ allprojects {
systemProperty("L1_RPC_URL", "http://localhost:8445")
systemProperty("L2_RPC_URL", "http://localhost:8545")
systemProperty("L1_GENESIS", "docker/config/l1-node/el/genesis.json")
systemProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis-PoA-geth.json")
systemProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis-PoA-besu.json")
systemProperties["junit.jupiter.execution.timeout.default"] = "5 m" // 5 minutes
systemProperties["junit.jupiter.execution.parallel.enabled"] = true

View File

@@ -18,8 +18,8 @@ BLOCKSCOUT_PROTOCOL=http #use https for prod
# SECRET_KEY_BASE=
# CHECK_ORIGIN=
PORT=4000
COIN=GOERLI-ETH
COIN_NAME="Test Eth"
COIN="ethereum"
COIN_NAME="ETH"
# METADATA_CONTRACT=
# VALIDATORS_CONTRACT=
# KEYS_MANAGER_CONTRACT=
@@ -88,7 +88,7 @@ TXS_STATS_DAYS_TO_COMPILE_AT_INIT=10
COIN_BALANCE_HISTORY_DAYS=90
APPS_MENU=false
# GAS_PRICE=
CHAIN_ID=19940131
CHAIN_ID=31648428
MAX_SIZE_UNLESS_HIDE_ARRAY=50
HIDE_BLOCK_MINER=false
DISPLAY_TOKEN_ICONS=false

View File

@@ -1,6 +1,6 @@
# DOC of ENV https://docs.blockscout.com/for-developers/information-and-settings/env-variables
# DOCKER_TAG=
ETHEREUM_JSONRPC_VARIANT=geth
ETHEREUM_JSONRPC_VARIANT=besu
NETWORK=Ethereum
SUBNETWORK="Local Linea"
LOGO=/images/blockscout_logo.svg
@@ -14,8 +14,8 @@ API_PATH=/
SOCKET_ROOT=/
BLOCKSCOUT_PROTOCOL=http #use https for prod
PORT=4000
COIN=GOERLI-ETH
COIN_NAME="Goerli Eth"
COIN="ethereum"
COIN_NAME="ETH"
CHAIN_SPEC_PATH=/app/genesis.json
POOL_SIZE=20
POOL_SIZE_API=5
@@ -62,7 +62,7 @@ TXS_HISTORIAN_INIT_LAG=0
TXS_STATS_DAYS_TO_COMPILE_AT_INIT=10
COIN_BALANCE_HISTORY_DAYS=90
APPS_MENU=false
CHAIN_ID=59140
CHAIN_ID=1337
MAX_SIZE_UNLESS_HIDE_ARRAY=50
HIDE_BLOCK_MINER=false
DISPLAY_TOKEN_ICONS=false

View File

@@ -9,11 +9,6 @@ fs-responses-directory = "tmp/local/prover/v3/compression/responses"
fs-requests-directory = "tmp/local/prover/v3/aggregation/requests"
fs-responses-directory = "tmp/local/prover/v3/aggregation/responses"
[dynamic-gas-price-service]
geth-gas-price-update-recipients=[
"http://127.0.0.1:8845"
]
[l2]
rpc-endpoint="http://127.0.0.1:8745"
blocks-to-finalization=0
@@ -30,4 +25,4 @@ endpoints=[]
[l2-network-gas-pricing.json-rpc-pricing-propagation]
disabled=true
geth-gas-price-update-recipients=[]
besu-gas-price-update-recipients=["http://127.0.0.1:9045"]
besu-gas-price-update-recipients=[]

View File

@@ -12,19 +12,18 @@ endpoint="http://127.0.0.1:9000"
[prover]
[prover.execution]
fs-requests-directory = "tmp/local/prover/v3/execution/requests"
fs-responses-directory = "tmp/local/prover/v3/execution/responses"
fs-requests-directory="tmp/local/prover/v3/execution/requests"
fs-responses-directory="tmp/local/prover/v3/execution/responses"
[prover.blob-compression]
fs-requests-directory = "tmp/local/prover/v3/compression/requests"
fs-responses-directory = "tmp/local/prover/v3/compression/responses"
fs-requests-directory="tmp/local/prover/v3/compression/requests"
fs-responses-directory="tmp/local/prover/v3/compression/responses"
[prover.proof-aggregation]
fs-requests-directory = "tmp/local/prover/v2/aggregation/requests"
fs-responses-directory = "tmp/local/prover/v2/aggregation/responses"
fs-requests-directory="tmp/local/prover/v3/aggregation/requests"
fs-responses-directory="tmp/local/prover/v3/aggregation/responses"
# Config of Traces API Facade endpoint
[traces]
blob-compressor-version="V1_2"
expected-traces-api-version-v2="beta-v2.1-rc14"
[traces.counters-v2]
endpoints=["http://127.0.0.1:8745/"]
[traces.conflation-v2]
@@ -33,12 +32,17 @@ endpoints=["http://127.0.0.1:8745/"]
[state-manager]
endpoints=["http://127.0.0.1:8998/"]
[type2-state-proof-provider]
disabled=true
endpoints=["http://127.0.0.1:8889/"]
[l2-network-gas-pricing.extra-data-pricing-propagation]
extra-data-update-recipient = "http://127.0.0.1:8545/"
extra-data-update-recipient="http://127.0.0.1:8545/"
[l2-network-gas-pricing.json-rpc-pricing-propagation]
geth-gas-price-update-recipients = ["http://127.0.0.1:8845"]
besu-gas-price-update-recipients = []
disabled=true
geth-gas-price-update-recipients=["http://127.0.0.1:8845/"]
besu-gas-price-update-recipients=[]
[l1]
rpc-endpoint="http://127.0.0.1:8445"
@@ -52,7 +56,7 @@ finalized-block-tag="finalized"
earliestBlock=0
[l2]
rpc-endpoint="http://127.0.0.1:8845"
rpc-endpoint="http://127.0.0.1:9045"
blocks-to-finalization=0
[database]
@@ -60,12 +64,3 @@ host="localhost"
[api]
observability_port=9546
[type2-state-proof-provider]
endpoints = ["http://127.0.0.1:8889/"]
[conflation]
#switch-block-number=20
[type2-state-proof-provider]
endpoints=[]

View File

@@ -1077,7 +1077,10 @@ class L1DependentApp(
l2Web3jClient: Web3j,
vertx: Vertx
): LongRunningService {
if (type2StateProofProviderConfig == null || type2StateProofProviderConfig.endpoints.isEmpty()) {
if (type2StateProofProviderConfig == null ||
type2StateProofProviderConfig.disabled ||
type2StateProofProviderConfig.endpoints.isEmpty()
) {
return DisabledLongRunningService
}

View File

@@ -479,11 +479,12 @@ data class SmartContractErrorCodesConfig(val smartContractErrors: SmartContractE
data class GasPriceCapTimeOfDayMultipliersConfig(val gasPriceCapTimeOfDayMultipliers: TimeOfDayMultipliers)
data class Type2StateProofProviderConfig(
override var disabled: Boolean = false,
val endpoints: List<URL>,
val l1QueryBlockTag: BlockParameter.Tag = BlockParameter.Tag.LATEST,
val l1PollingInterval: Duration = Duration.ofSeconds(12),
override val requestRetry: RequestRetryConfigTomlFriendly
) : RequestRetryConfigurable
) : FeatureToggleable, RequestRetryConfigurable
data class TracesLimitsV2ConfigFile(val tracesLimits: Map<TracingModuleV2, UInt>)

View File

@@ -229,7 +229,7 @@ object L1AccountManager : AccountManager by WhaleBasedAccountManager(
object L2AccountManager : AccountManager by WhaleBasedAccountManager(
web3jClient = Web3jClientManager.l2Client,
genesisFile = getPathTo(System.getProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis-PoA-geth.json")),
genesisFile = getPathTo(System.getProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis-PoA-besu.json")),
log = LogManager.getLogger(L2AccountManager::class.java)
)

View File

@@ -36,22 +36,22 @@ services:
depends_on:
postgres:
condition: service_healthy
l2-node:
l2-node-besu:
condition: service_started
# - smart-contract-verifier not supported for v0.1
command: bash -c "bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\" && bin/blockscout start"
env_file:
- ../config/blockscout/l2-blockscout.env
environment:
ETHEREUM_JSONRPC_HTTP_URL: http://l2-node:8545/
ETHEREUM_JSONRPC_TRACE_URL: http://l2-node:8545/
ETHEREUM_JSONRPC_WS_URL: ws://l2-node:8546/
ETHEREUM_JSONRPC_HTTP_URL: http://l2-node-besu:8545/
ETHEREUM_JSONRPC_TRACE_URL: http://l2-node-besu:8545/
ETHEREUM_JSONRPC_WS_URL: ws://l2-node-besu:8546/
DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/l2_blockscout_db?ssl=false
ECTO_USE_SSL: 'false'
ports:
- "4000:4000"
volumes:
- ./config/linea-local-dev-genesis-PoA-geth.json:/app/genesis.json:ro
- ./config/linea-local-dev-genesis-PoA-besu.json:/app/genesis.json:ro
networks:
- linea

View File

@@ -48,7 +48,7 @@ services:
hostname: l2-node
image: consensys/linea-geth:${ZKGETH_TAG:-0588665}
platform: linux/amd64
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
profiles: [ "l2", "debug" ]
depends_on:
sequencer:
condition: service_healthy
@@ -181,7 +181,7 @@ services:
postman:
container_name: postman
hostname: postman
image: consensys/linea-postman:${POSTMAN_TAG:-c332ec7}
image: consensys/linea-postman:${POSTMAN_TAG:-8a0bcc8}
profiles: [ "l2", "debug" ]
platform: linux/amd64
restart: on-failure
@@ -221,7 +221,7 @@ services:
restart: on-failure
environment:
config__override__l2-network-gas-pricing__json-rpc-pricing-propagation__disabled: ${DISABLE_JSON_RPC_PRICING_PROPAGATION:-true}
config__override__type2-state-proof-provider__endpoints: # leave empty to disable
config__override__type2-state-proof-provider__disabled: ${DISABLE_TYPE2_STATE_PROOF_PROVIDER:-true}
command: [ 'java', '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005','-Dvertx.configurationFile=/var/lib/coordinator/vertx-options.json', '-Dlog4j2.configurationFile=/var/lib/coordinator/log4j2-dev.xml', '-jar', 'libs/coordinator.jar', '--traces-limits-v2', 'config/traces-limits-v2.toml', '--smart-contract-errors', 'config/smart-contract-errors.toml', '--gas-price-cap-time-of-day-multipliers', 'config/gas-price-cap-time-of-day-multipliers.toml', 'config/coordinator-docker.config.toml', 'config/coordinator-docker-traces-v2-override.config.toml' ]
volumes:
- ../config/coordinator/coordinator-docker.config.toml:/opt/consensys/linea/coordinator/config/coordinator-docker.config.toml:ro
@@ -369,7 +369,7 @@ services:
image: consensys/linea-shomei:2.3.0
hostname: shomei-frontend
container_name: shomei-frontend
profiles: [ "l2", "l2-bc", "external-to-monorepo" ]
profiles: [ "l2", "l2-bc" ]
depends_on:
zkbesu-shomei:
condition: service_started
@@ -410,7 +410,7 @@ services:
transaction-exclusion-api:
hostname: transaction-exclusion-api
container_name: transaction-exclusion-api
image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-c332ec7}
image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-8a0bcc8}
profiles: [ "l2", "debug" ]
restart: on-failure
depends_on:

View File

@@ -2,21 +2,11 @@ include:
- compose-tracing-v2.yml
services:
l2-node:
extends:
file: compose-spec-l2-services.yml
service: l2-node
l2-node-besu:
extends:
file: compose-spec-l2-services.yml
service: l2-node-besu
shomei-frontend:
extends:
file: compose-spec-l2-services.yml
service: shomei-frontend
postman:
extends:
file: compose-spec-l2-services.yml

View File

@@ -0,0 +1,29 @@
include:
- compose-tracing-v2.yml
services:
shomei-frontend:
extends:
file: compose-spec-l2-services.yml
service: shomei-frontend
l2-node:
extends:
file: compose-spec-l2-services.yml
service: l2-node
l2-node-besu:
extends:
file: compose-spec-l2-services.yml
service: l2-node-besu
postman:
extends:
file: compose-spec-l2-services.yml
service: postman
transaction-exclusion-api:
extends:
file: compose-spec-l2-services.yml
service: transaction-exclusion-api

View File

@@ -46,6 +46,7 @@ plugin-linea-tx-pool-profitability-check-api-enabled=true
plugin-linea-tx-pool-simulation-check-api-enabled=true
plugin-linea-tx-pool-simulation-check-p2p-enabled=true
plugin-linea-extra-data-pricing-enabled=true
plugin-linea-max-tx-calldata-size=30000 # lower this to 30000 (default 60000) for the transaction data limit e2e test
plugin-linea-tx-pool-min-margin="0.8"
plugin-linea-min-margin="1.0"
plugin-linea-fixed-gas-cost-wei=30000000

View File

@@ -1,5 +1,5 @@
{
"@_WARNING": "THIS FILE IS FOR LOCAL DEVELOPMENT ONLY! DO NOT REUSE ELSEWHERE",
"@WARNING": "THIS FILE IS FOR LOCAL DEVELOPMENT ONLY! DO NOT REUSE ELSEWHERE",
"config": {
"chainId": 1337,
"homesteadBlock": 0,
@@ -26,150 +26,150 @@
"nonce": "0x0",
"timestamp": "0x645580D1",
"baseFeePerGas": "0x7",
"@_WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"alloc": {
"1b9abeec3215d8ade8a33607f2cf0f4f60e5f0d0": {
"balance": "90000000000000000000000",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x1dd171cec7e2995408b5513004e8207fe88d6820aeff0d82463b3e41df251aae",
"@comment": "Contract deployer account"
"privateKey": "0x1dd171cec7e2995408b5513004e8207fe88d6820aeff0d82463b3e41df251aae",
"comment": "Contract deployer account",
"balance": "90000000000000000000000"
},
"fe3b557e8fb62b89f4916b721be55ceb828dbd73": {
"balance": "90000000000000000000001",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63",
"@comment": "Used for OPCODE testing, do not use elsewhere"
"privateKey": "8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63",
"comment": "Used for OPCODE testing, do not use elsewhere",
"balance": "90000000000000000000001"
},
"627306090abaB3A6e1400e9345bC60c78a8BEf57": {
"balance": "90000000000000000000002",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3",
"@comment": "account 2, can be used as end user"
"privateKey": "c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3",
"comment": "account 2, can be used as end user",
"balance": "90000000000000000000002"
},
"f17f52151EbEF6C7334FAD080c5704D77216b732": {
"balance": "90000000000000000000003",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f",
"@comment": "account 3, can be used as end user"
"privateKey": "ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f",
"comment": "L2 Security Council",
"balance": "90000000000000000000003"
},
"6d26dcc30a1693043aefa35ed9171c16da53f275": {
"balance": "90000000000000000000004",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x47629fbb4a7ad7772b4d1cc92f26b325577b70f1ed5940e1859b92d690f8a2bf",
"@comment": "account 4, can be used as end user"
"privateKey": "0x47629fbb4a7ad7772b4d1cc92f26b325577b70f1ed5940e1859b92d690f8a2bf",
"comment": "account 4, can be used as end user",
"balance": "90000000000000000000004"
},
"e00cad48944330a60bbaedfbf2e0ac97e9762a1e": {
"balance": "90000000000000000000005",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x4f78823f38639b9ef15392eb8024ace1d7b991ea820b0dd36a15d14d1a6785",
"@comment": "account 5, can be used as end user"
"privateKey": "0x004f78823f38639b9ef15392eb8024ace1d7b991ea820b0dd36a15d14d1a6785",
"comment": "account 5, can be used as end user",
"balance": "90000000000000000000005"
},
"2257ae433e214df824eb2ade79d2b305ca61a4f4": {
"balance": "90000000000000000000006",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x327456c797d6300e11051c0c19b9dbe480fe57cdfcb8033d313e80c7c2e10369",
"@comment": "account 6, can be used as end user"
"privateKey": "0x327456c797d6300e11051c0c19b9dbe480fe57cdfcb8033d313e80c7c2e10369",
"comment": "account 6, can be used as end user",
"balance": "90000000000000000000006"
},
"0d4278da2f55cf21a014b7fee0a2cb799ce17ede": {
"balance": "90000000000000000000007",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x9ffda2814ee771e0af8018aeea65f9eabd47ea9f2a5b628a4571adeafea692d1",
"@comment": "account 7, can be used as end user"
"privateKey": "0x9ffda2814ee771e0af8018aeea65f9eabd47ea9f2a5b628a4571adeafea692d1",
"comment": "account 7, can be used as end user",
"balance": "90000000000000000000007"
},
"994f4c82683f666d13d03a131078f1b94777790c": {
"balance": "90000000000000000000008",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xcd3a170ec22b2f3e4aee76356df0c34712db8c24f8d836bce1e4a79299c87053",
"@comment": "account 8, can be used as end user"
"privateKey": "0xcd3a170ec22b2f3e4aee76356df0c34712db8c24f8d836bce1e4a79299c87053",
"comment": "account 8, can be used as end user",
"balance": "90000000000000000000008"
},
"9d14ef14d4c90436a062efd7dc8354a7ded9712e": {
"balance": "90000000000000000000009",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x4a954bb197f7a27a5427f29180fbfd0b32ee0344b4f85c8184ca593cf152866a",
"@comment": "account 9, can be used as end user"
"privateKey": "0x4a954bb197f7a27a5427f29180fbfd0b32ee0344b4f85c8184ca593cf152866a",
"comment": "account 9, can be used as end user",
"balance": "90000000000000000000009"
},
"29a6b94168f04956c6fd1a2c3fdd1f6f7c468148": {
"balance": "900000000000000000000010",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x745dda33b5d813bda7f52d646a56498c1539290f59d064b13161f84a1f0a7b4b",
"@comment": "account 10, can be used as end user"
"privateKey": "0x745dda33b5d813bda7f52d646a56498c1539290f59d064b13161f84a1f0a7b4b",
"comment": "account 10, can be used as end user",
"balance": "900000000000000000000010"
},
"dca74800d7ce103a5e6a3f6028ab0963c46e7422": {
"balance": "900000000000000000000011",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x75b9700016469b0d7f12c0d6a0225cd9a59818a4bd1437cf9583ca0ffa1d111a",
"@comment": "account 11, can be used as end user"
"privateKey": "0x75b9700016469b0d7f12c0d6a0225cd9a59818a4bd1437cf9583ca0ffa1d111a",
"comment": "account 11, can be used as end user",
"balance": "900000000000000000000011"
},
"9ad149426800dc9e65754a5ceab6bc1f41cc92a7": {
"balance": "900000000000000000000012",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xe08f03f96ff2f4e107a50da222e281db39cd528c8c35e25a17f0a71a4d279da5",
"@comment": "account 12, can be used as end user"
"privateKey": "0xe08f03f96ff2f4e107a50da222e281db39cd528c8c35e25a17f0a71a4d279da5",
"comment": "account 12, can be used as end user",
"balance": "900000000000000000000012"
},
"b3c150df38e91149e260c3233f3121810d4d2976": {
"balance": "900000000000000000000013",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x7303d2fadd895018075cbe76d8a700bc65b4a1b8641b97d660533f0e029e3954",
"@comment": "account 13, can be used as end user"
"privateKey": "0x7303d2fadd895018075cbe76d8a700bc65b4a1b8641b97d660533f0e029e3954",
"comment": "account 13, can be used as end user",
"balance": "900000000000000000000013"
},
"42232eab8cfd6b489efe79d3bdcc12f07a9fbac6": {
"balance": "900000000000000000000014",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xc5453712de35e7dc2c599b5f86df5d4f0de442d86a2865cfe557acd6d131aa6f",
"@comment": "account 14, can be used as end user"
"privateKey": "0xc5453712de35e7dc2c599b5f86df5d4f0de442d86a2865cfe557acd6d131aa6f",
"comment": "account 14, can be used as end user",
"balance": "900000000000000000000014"
},
"30b080749e44112c3e679c5e4117dd2d884ec7da": {
"balance": "900000000000000000000015",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xa8cc1b4bf5cd228cfe63c1b73a5515721e72b487cf8b82a285023aa0ed1ef839",
"@comment": "account 15, can be used as end user"
"privateKey": "0xa8cc1b4bf5cd228cfe63c1b73a5515721e72b487cf8b82a285023aa0ed1ef839",
"comment": "account 15, can be used as end user",
"balance": "900000000000000000000015"
},
"82f93ea98b24441dc3e0b2413cc1cbb02f33d7e5": {
"balance": "900000000000000000000016",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x8c1c8a65947b79ef919261364e9044d89ffe26fb764d8cd72db0446d6cf56664",
"@comment": "account 16, can be used as end user"
"privateKey": "0x8c1c8a65947b79ef919261364e9044d89ffe26fb764d8cd72db0446d6cf56664",
"comment": "account 16, can be used as end user",
"balance": "900000000000000000000016"
},
"bae3c3fcd73ccf7755ec8a10664f218ad6bbc775": {
"balance": "900000000000000000000017",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xb35972d9380d1be620a2c61da77f68f127ef248ec55e1bc6033d20a7e13ef3fa",
"@comment": "account 17, can be used as end user"
"privateKey": "0xb35972d9380d1be620a2c61da77f68f127ef248ec55e1bc6033d20a7e13ef3fa",
"comment": "account 17, can be used as end user",
"balance": "900000000000000000000017"
},
"54d450f4d728da50f1271a1700b42657940324aa": {
"balance": "900000000000000000000018",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x234d87442cf7d43841fbe280febcdfabfb646added67bc19f7e42a5483f614c4",
"@comment": "account 18, can be used as end user"
"privateKey": "0x234d87442cf7d43841fbe280febcdfabfb646added67bc19f7e42a5483f614c4",
"comment": "account 18, can be used as end user",
"balance": "900000000000000000000018"
},
"d42e308fc964b71e18126df469c21b0d7bcb86cc": {
"balance": "900000000000000000000019",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x4d01ae6487860981699236a58b68f807ee5f17b12df5740b85cf4c4653be0f55",
"@comment": "Message anchorer account"
"privateKey": "0x4d01ae6487860981699236a58b68f807ee5f17b12df5740b85cf4c4653be0f55",
"comment": "Message anchorer account",
"balance": "900000000000000000000019"
},
"c8c92fe825d8930b9357c006e0af160dfa727a62": {
"balance": "900000000000000000000020",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xfcf854e0a0bc6fd7e97d7050e61a362c915cecd6767a32267b22e8b7af572e58",
"@comment": "account 20, can be used as end user"
"privateKey": "0xfcf854e0a0bc6fd7e97d7050e61a362c915cecd6767a32267b22e8b7af572e58",
"comment": "L2 postman account",
"balance": "900000000000000000000020"
},
"e537D669CA013d86EBeF1D64e40fC74CADC91987": {
"balance": "900000000000000000000021",
"0xe537D669CA013d86EBeF1D64e40fC74CADC91987": {
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"comment": "account 21, can be used as end user"
"comment": "account 21, can be used as end user",
"balance": "900000000000000000000021"
},
"8cdcc370846c9f669489227465f80e6cc4ecd050": {
"balance": "90000000000000000000000",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0xb17202c37cce9498e6f7dcdc1abd207802d09b5eee96677ea219ac867a198b91",
"@comment": "Account used for smart contract deployment on L1 and L2"
"privateKey": "0xb17202c37cce9498e6f7dcdc1abd207802d09b5eee96677ea219ac867a198b91",
"comment": "Account used for smart contract deployment on L1 and L2",
"balance": "90000000000000000000000"
},
"d0584d4d37157f7105a4b41ed8ecbdfafdb2547f": {
"balance": "90000000000000000000000",
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"@privateKey": "0x202454d1b4e72c41ebf58150030f649648d3cf5590297fb6718e27039ed9c86d",
"@comment": "Operator account"
"privateKey": "0x202454d1b4e72c41ebf58150030f649648d3cf5590297fb6718e27039ed9c86d",
"comment": "Operator account",
"balance": "90000000000000000000000"
}
}
}

View File

@@ -59,7 +59,7 @@
},
"e00cad48944330a60bbaedfbf2e0ac97e9762a1e": {
"@WARNING": "FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE",
"privateKey": "0x4f78823f38639b9ef15392eb8024ace1d7b991ea820b0dd36a15d14d1a6785",
"privateKey": "0x004f78823f38639b9ef15392eb8024ace1d7b991ea820b0dd36a15d14d1a6785",
"comment": "account 5, can be used as end user",
"balance": "90000000000000000000005"
},

View File

@@ -7,7 +7,7 @@ L1_LISTENER_INITIAL_FROM_BLOCK=0
L1_LISTENER_BLOCK_CONFIRMATION=1
L1_MAX_BLOCKS_TO_FETCH_LOGS=1000
L1_MAX_GAS_FEE_ENFORCED=true
L2_RPC_URL=http://l2-node:8545
L2_RPC_URL=http://l2-node-besu:8545
L2_CONTRACT_ADDRESS=0xe537D669CA013d86EBeF1D64e40fC74CADC91987
# WARNING=FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE
L2_SIGNER_PRIVATE_KEY=0xfcf854e0a0bc6fd7e97d7050e61a362c915cecd6767a32267b22e8b7af572e58
@@ -38,7 +38,7 @@ POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postman_db
DB_CLEANER_ENABLED=false
ENABLE_LINEA_ESTIMATE_GAS=false
ENABLE_LINEA_ESTIMATE_GAS=true
API_PORT=3000
L1_L2_ENABLE_POSTMAN_SPONSORING=true
L2_L1_ENABLE_POSTMAN_SPONSORING=false

View File

@@ -27,7 +27,7 @@ export default async (): Promise<void> => {
async function configureOnceOffPrerequisities() {
const account = config.getL1AccountManager().whaleAccount(0);
const l2Account = config.getL2AccountManager().whaleAccount(0);
const l2Account = config.getL2AccountManager().whaleAccount(0).connect(config.getL2SequencerProvider()!);
const lineaRollup = config.getLineaRollupContract(account);
const [l1AccountNonce, l2AccountNonce] = await Promise.all([account.getNonce(), l2Account.getNonce()]);

View File

@@ -4,7 +4,7 @@ import { GenesisBasedAccountManager } from "../accounts/genesis-based-account-ma
import { Config } from "../types";
const L1_RPC_URL = new URL("http://localhost:8445");
const L2_RPC_URL = new URL("http://localhost:8845");
const L2_RPC_URL = new URL("http://localhost:9045");
const L2_BESU_NODE_RPC_URL = new URL("http://localhost:9045");
const SHOMEI_ENDPOINT = new URL("http://localhost:8998");
const SHOMEI_FRONTEND_ENDPOINT = new URL("http://localhost:8889");
@@ -43,7 +43,7 @@ const config: Config = {
new ethers.JsonRpcProvider(L2_RPC_URL.toString()),
path.resolve(
process.env.LOCAL_L2_GENESIS ||
path.resolve(__dirname, "../../../../..", "docker/config", "linea-local-dev-genesis-PoA-geth.json"),
path.resolve(__dirname, "../../../../..", "docker/config", "linea-local-dev-genesis-PoA-besu.json"),
),
),
shomeiEndpoint: SHOMEI_ENDPOINT,

View File

@@ -17,7 +17,9 @@ describe("Layer 2 test suite", () => {
const oversizedData = ethers.randomBytes(TRANSACTION_CALLDATA_LIMIT);
logger.debug(`Generated oversized transaction data. dataLength=${oversizedData.length}`);
await expect(dummyContract.connect(account).setPayload(oversizedData)).rejects.toThrow("missing revert data");
await expect(dummyContract.connect(account).setPayload(oversizedData)).rejects.toThrow(
"Calldata of transaction is greater than the allowed max of 30000",
);
logger.debug("Transaction correctly reverted due to oversized data.");
});

View File

@@ -45,7 +45,7 @@ class EventBasedContractDeploymentBlockNumberProvider(
}
.whenException {
log.error(
"Failed to get deployment block number for contract={} errorMessage=",
"Failed to get deployment block number for contract={} errorMessage={}",
contractAddress,
it.message
)

View File

@@ -7,7 +7,7 @@ L1_LISTENER_INTERVAL=2000
L1_LISTENER_BLOCK_CONFIRMATION=1
L1_MAX_BLOCKS_TO_FETCH_LOGS=1000
L1_MAX_GAS_FEE_ENFORCED=false
L2_RPC_URL=http://localhost:8845
L2_RPC_URL=http://localhost:9045
L2_CONTRACT_ADDRESS=0xe537D669CA013d86EBeF1D64e40fC74CADC91987
# Only use the following PRIVATE KEY for testing
L2_SIGNER_PRIVATE_KEY=0xfcf854e0a0bc6fd7e97d7050e61a362c915cecd6767a32267b22e8b7af572e58