diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index b1298f8f..0e811e0a 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -22,9 +22,6 @@ on: prover_changed: required: true type: string - traces_api_facade_changed: - required: true - type: string transaction_exclusion_api_changed: required: true type: string @@ -37,9 +34,6 @@ on: postman_image_tagged: required: true type: string - traces_api_facade_image_tagged: - required: true - type: string transaction_exclusion_api_image_tagged: required: true type: string @@ -80,16 +74,6 @@ jobs: push_image: ${{ inputs.push_image }} secrets: inherit - traces-api-facade: - uses: ./.github/workflows/traces-api-facade-build-and-publish.yml - if: ${{ always() && (inputs.traces_api_facade_changed == 'true' || inputs.traces_api_facade_image_tagged != 'true') }} - with: - commit_tag: ${{ inputs.commit_tag }} - develop_tag: ${{ inputs.develop_tag }} - image_name: consensys/linea-traces-api-facade - push_image: ${{ inputs.push_image }} - secrets: inherit - transaction_exclusion_api: uses: ./.github/workflows/transaction-exclusion-api-build-and-publish.yml if: ${{ always() && (inputs.transaction_exclusion_api_changed == 'true' || inputs.transaction_exclusion_api_image_tagged != 'true') }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2a59c435..e9fae2d2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,6 @@ jobs: staterecovery: ${{ steps.filter.outputs.staterecovery }} postman: ${{ steps.filter.outputs.postman }} prover: ${{ steps.filter.outputs.prover }} - traces-api-facade: ${{ steps.filter.outputs.traces-api-facade }} transaction-exclusion-api: ${{ steps.filter.outputs.transaction-exclusion-api }} has-changes-requiring-build: ${{ steps.exclusion-filter.outputs.has-changes-requiring-build }} contracts-excluding-local-deployment-artifacts: ${{ steps.exclusion-filter.outputs.contracts-excluding-local-deployment-artifacts }} @@ -82,26 +81,6 @@ jobs: - '.github/workflows/main.yml' - '.github/workflows/reuse-*.yml' - 'constraints' - traces-api-facade: - - 'traces-api-facade/**' - - 'jvm-libs/linea/core/domain-models/**' - - 'jvm-libs/linea/core/traces/**' - - 'jvm-libs/linea/core/metrics/**' - - 'jvm-libs/generic/json-rpc/**' - - 'jvm-libs/generic/extensions/kotlin/**' - - 'jvm-libs/generic/extensions/futures/**' - - 'jvm-libs/generic/vertx-helper/**' - - 'jvm-libs/linea/metrics/**' - - 'config/common/traces-limits-v1.toml' - - '.github/workflows/traces-api-facade-*.yml' - - '.github/workflows/build-and-publish.yml' - - '.github/workflows/main.yml' - - '.github/workflows/reuse-*.yml' - - 'buildSrc/**' - - 'gradle/**' - - 'build.gradle' - - 'gradle.properties' - - 'settings.gradle' transaction-exclusion-api: - 'transaction-exclusion-api/**' - 'jvm-libs/generic/extensions/futures/**' @@ -159,7 +138,6 @@ jobs: coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }} postman_changed: ${{ needs.filter-commit-changes.outputs.postman }} prover_changed: ${{ needs.filter-commit-changes.outputs.prover }} - traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }} transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }} secrets: inherit @@ -174,7 +152,6 @@ jobs: prover_changed: ${{ needs.filter-commit-changes.outputs.prover }} smart_contracts_changed: ${{ needs.filter-commit-changes.outputs.smart-contracts }} staterecovery_changed: ${{ needs.filter-commit-changes.outputs.staterecovery }} - traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }} transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }} secrets: inherit @@ -209,30 +186,13 @@ jobs: coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }} postman_changed: ${{ needs.filter-commit-changes.outputs.postman }} prover_changed: ${{ needs.filter-commit-changes.outputs.prover }} - traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }} transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }} coordinator_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_coordinator }} postman_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_postman }} prover_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_prover }} - traces_api_facade_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_traces_api_facade }} transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }} secrets: inherit - run-e2e-tests-geth-tracing: - needs: [ store-image-name-and-tags, docker-build, get-has-changes-requiring-e2e-testing, manual-docker-build-and-e2e-tests ] - # Make this execute for has-changes-requiring-e2e-testing == 'false' so that we can get to the required job @ which is in reuse-run-e2e-tests.yml - if: ${{ always() && needs.get-has-changes-requiring-e2e-testing.outputs.has-changes-requiring-e2e-testing == 'false' || needs.docker-build.result == 'success' }} - concurrency: - group: run-e2e-tests-geth-tracing-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - uses: ./.github/workflows/reuse-run-e2e-tests.yml - with: - commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }} - tracing-engine: 'geth' - e2e-tests-logs-dump: true - has-changes-requiring-e2e-testing: ${{ needs.get-has-changes-requiring-e2e-testing.outputs.has-changes-requiring-e2e-testing }} - secrets: inherit - run-e2e-tests: needs: [ store-image-name-and-tags, docker-build, get-has-changes-requiring-e2e-testing, manual-docker-build-and-e2e-tests ] # Make this execute for has-changes-requiring-e2e-testing == 'false' so that we can get to the required job @ which is in reuse-run-e2e-tests.yml @@ -243,14 +203,13 @@ jobs: uses: ./.github/workflows/reuse-run-e2e-tests.yml with: commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }} - tracing-engine: 'besu' e2e-tests-logs-dump: true has-changes-requiring-e2e-testing: ${{ needs.get-has-changes-requiring-e2e-testing.outputs.has-changes-requiring-e2e-testing }} secrets: inherit publish-images-after-run-tests-success-on-main: - needs: [ store-image-name-and-tags, testing, run-e2e-tests, run-e2e-tests-geth-tracing ] - if: ${{ always() && github.ref == 'refs/heads/main' && needs.testing.result == 'success' && needs.run-e2e-tests.outputs.tests_outcome == 'success' && needs.run-e2e-tests-geth-tracing.outputs.tests_outcome == 'success' }} + needs: [ store-image-name-and-tags, testing, run-e2e-tests ] + if: ${{ always() && github.ref == 'refs/heads/main' && needs.testing.result == 'success' && needs.run-e2e-tests.outputs.tests_outcome == 'success' }} uses: ./.github/workflows/build-and-publish.yml with: push_image: true @@ -259,17 +218,15 @@ jobs: coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }} postman_changed: ${{ needs.filter-commit-changes.outputs.postman }} prover_changed: ${{ needs.filter-commit-changes.outputs.prover }} - traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }} transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }} coordinator_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_coordinator }} postman_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_postman }} prover_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_prover }} - traces_api_facade_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_traces_api_facade }} transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }} secrets: inherit cleanup-deployments: - needs: [ run-e2e-tests, run-e2e-tests-geth-tracing ] + needs: [ run-e2e-tests ] if: ${{ always() }} runs-on: gha-runner-scale-set-ubuntu-22.04-amd64-small steps: diff --git a/.github/workflows/reuse-check-images-tags-and-push.yml b/.github/workflows/reuse-check-images-tags-and-push.yml index 9b2d8248..748cc246 100644 --- a/.github/workflows/reuse-check-images-tags-and-push.yml +++ b/.github/workflows/reuse-check-images-tags-and-push.yml @@ -20,9 +20,6 @@ on: prover_changed: required: true type: string - traces_api_facade_changed: - required: true - type: string transaction_exclusion_api_changed: required: true type: string @@ -33,8 +30,6 @@ on: value: ${{ jobs.image_tag_push.outputs.image_tagged_prover }} image_tagged_postman: value: ${{ jobs.image_tag_push.outputs.image_tagged_postman }} - image_tagged_traces_api_facade: - value: ${{ jobs.image_tag_push.outputs.image_tagged_traces_api_facade }} image_tagged_transaction_exclusion_api: value: ${{ jobs.image_tag_push.outputs.image_tagged_transaction_exclusion_api }} secrets: @@ -55,7 +50,6 @@ jobs: last_commit_tag_exists_coordinator: ${{ steps.check_image_tags_exist_coordinator.outputs.last_commit_tag_exists }} last_commit_tag_exists_postman: ${{ steps.check_image_tags_exist_postman.outputs.last_commit_tag_exists }} last_commit_tag_exists_prover: ${{ steps.check_image_tags_exist_prover.outputs.last_commit_tag_exists }} - last_commit_tag_exists_traces_api_facade: ${{ steps.check_image_tags_exist_traces_api_facade.outputs.last_commit_tag_exists }} last_commit_tag_exists_transaction_exclusion_api: ${{ steps.check_image_tags_exist_transaction_exclusion_api.outputs.last_commit_tag_exists }} steps: - name: Checkout @@ -85,14 +79,6 @@ jobs: last_commit_tag: ${{ inputs.last_commit_tag }} image_name: consensys/linea-prover - - name: Check image tags exist for traces-api-facade - uses: ./.github/actions/check-image-tags-exist - if: ${{ inputs.traces_api_facade_changed == 'false' }} - id: check_image_tags_exist_traces_api_facade - with: - last_commit_tag: ${{ inputs.last_commit_tag }} - image_name: consensys/linea-traces-api-facade - - name: Check image tags exist for transaction-exclusion-api uses: ./.github/actions/check-image-tags-exist if: ${{ inputs.transaction_exclusion_api_changed == 'false' }} @@ -110,7 +96,6 @@ jobs: image_tagged_coordinator: ${{ steps.image_tag_push_coordinator.outputs.image_tagged }} image_tagged_prover: ${{ steps.image_tag_push_prover.outputs.image_tagged }} image_tagged_postman: ${{ steps.image_tag_push_postman.outputs.image_tagged }} - image_tagged_traces_api_facade: ${{ steps.image_tag_push_traces_api_facade.outputs.image_tagged }} image_tagged_transaction_exclusion_api: ${{ steps.image_tag_push_transaction_exclusion_api.outputs.image_tagged }} steps: - name: Checkout @@ -155,19 +140,6 @@ jobs: docker_username: ${{ secrets.DOCKERHUB_USERNAME }} docker_password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push traces api facade image - id: image_tag_push_traces_api_facade - uses: ./.github/actions/image-tag-and-push - if: ${{ inputs.traces_api_facade_changed == 'false' }} - with: - commit_tag: ${{ inputs.commit_tag }} - last_commit_tag: ${{ inputs.last_commit_tag }} - develop_tag: ${{ inputs.develop_tag }} - image_name: consensys/linea-traces-api-facade - last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_traces_api_facade }} - docker_username: ${{ secrets.DOCKERHUB_USERNAME }} - docker_password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Tag and push transaction exclusion api image id: image_tag_push_transaction_exclusion_api uses: ./.github/actions/image-tag-and-push diff --git a/.github/workflows/reuse-run-e2e-tests.yml b/.github/workflows/reuse-run-e2e-tests.yml index d6c97e46..6ff3f840 100644 --- a/.github/workflows/reuse-run-e2e-tests.yml +++ b/.github/workflows/reuse-run-e2e-tests.yml @@ -6,10 +6,6 @@ on: description: 'The commit tag to use' required: true type: string - tracing-engine: - description: Variable option for running tests against [besu] or [geth] stack - required: true - type: string e2e-tests-with-ssh: description: Run end to end tests with ability to ssh into environment required: false @@ -30,10 +26,6 @@ on: commit_tag: required: true type: string - tracing-engine: - description: Variable option for running tests against [besu] or [geth] stack - required: true - type: string e2e-tests-with-ssh: description: Run end to end tests with ability to ssh into environment required: false @@ -69,7 +61,6 @@ jobs: COORDINATOR_TAG: ${{ inputs.commit_tag }} POSTMAN_TAG: ${{ inputs.commit_tag }} PROVER_TAG: ${{ inputs.commit_tag }} - TRACES_API_TAG: ${{ inputs.commit_tag }} TRANSACTION_EXCLUSION_API_TAG: ${{ inputs.commit_tag }} DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} @@ -116,23 +107,9 @@ jobs: gunzip -c $GITHUB_WORKSPACE/linea-coordinator/linea-coordinator-docker-image.tar.gz | docker load && gunzip -c $GITHUB_WORKSPACE/linea-postman/linea-postman-docker-image.tar.gz | docker load && gunzip -c $GITHUB_WORKSPACE/linea-prover/linea-prover-docker-image.tar.gz | docker load && - gunzip -c $GITHUB_WORKSPACE/linea-traces-api-facade/linea-traces-api-facade-docker-image.tar.gz | docker load && gunzip -c $GITHUB_WORKSPACE/linea-transaction-exclusion-api/linea-transaction-exclusion-api-docker-image.tar.gz | docker load shell: bash - - name: Spin up fresh environment with geth tracing with retry - if: ${{ inputs.tracing-engine == 'geth' }} - uses: nick-fields/retry@v3 - with: - max_attempts: 10 - retry_on: error - retry_wait_seconds: 30 - timeout_minutes: 10 - command: | - make start-env-with-tracing-v1-ci CLEAN_PREVIOUS_ENV=false - on_retry_command: | - make clean-environment - name: Spin up fresh environment with besu tracing with retry - if: ${{ inputs.tracing-engine == 'besu' }} uses: nick-fields/retry@v3 with: max_attempts: 10 @@ -165,13 +142,11 @@ jobs: find tmp/local/ >> docker_logs/files_in_shared_dir.txt || true docker ps -a >> docker_logs/docker_ps.txt || true docker logs coordinator --since 1h &>> docker_logs/coordinator.txt || true - docker logs prover --since 1h &>> docker_logs/prover.txt || true docker logs prover-v3 --since 1h &>> docker_logs/prover-v3.txt || true docker logs shomei --since 1h &>> docker_logs/shomei.txt || true docker logs zkbesu-shomei --since 1h &>> docker_logs/zkbesu-shomei.txt || true docker logs shomei-frontend --since 1h &>> docker_logs/shomei-frontend.txt || true docker logs postman --since 1h &>> docker_logs/postman.txt || true - docker logs traces-node --since 1h &>> docker_logs/traces-node.txt || true docker logs traces-node-v2 --since 1h &>> docker_logs/traces-node-v2.txt || true docker logs l2-node-besu --since 1h &>> docker_logs/l2-node-besu.txt || true docker logs transaction-exclusion-api --since 1h &>> docker_logs/transaction-exclusion-api.txt || true @@ -180,7 +155,7 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ failure() && inputs.e2e-tests-logs-dump }} with: - name: end-2-end-debug-logs-${{ inputs.tracing-engine }} + name: end-2-end-debug-logs if-no-files-found: error path: | docker_logs/**/* diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 008d8339..26963453 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -18,9 +18,6 @@ on: prover_changed: required: true type: string - traces_api_facade_changed: - required: true - type: string transaction_exclusion_api_changed: required: true type: string @@ -47,10 +44,6 @@ jobs: if: ${{ inputs.postman_changed == 'true' }} secrets: inherit - traces-api-facade: - uses: ./.github/workflows/traces-api-facade-testing.yml - if: ${{ inputs.traces_api_facade_changed == 'true' }} - transaction-exclusion-api: uses: ./.github/workflows/transaction-exclusion-api-testing.yml if: ${{ inputs.transaction_exclusion_api_changed == 'true' }} @@ -71,7 +64,7 @@ jobs: # If all jobs are skipped, the workflow will still succeed. always_succeed: runs-on: ubuntu-24.04 - if: ${{ inputs.coordinator_changed == 'false' && inputs.prover_changed == 'false' && inputs.postman_changed == 'false' && inputs.traces_api_facade_changed == 'false' && inputs.transaction_exclusion_api_changed == 'false' }} + if: ${{ inputs.coordinator_changed == 'false' && inputs.prover_changed == 'false' && inputs.postman_changed == 'false' && inputs.transaction_exclusion_api_changed == 'false' }} steps: - name: Ensure Workflow Success run: echo "All jobs were skipped, but workflow succeeds." diff --git a/.github/workflows/traces-api-facade-build-and-publish.yml b/.github/workflows/traces-api-facade-build-and-publish.yml deleted file mode 100644 index 47985aab..00000000 --- a/.github/workflows/traces-api-facade-build-and-publish.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: Traces-api-facade build and publish CI - -on: - workflow_call: - inputs: - commit_tag: - required: true - type: string - develop_tag: - required: true - type: string - image_name: - required: true - type: string - push_image: - required: false - type: boolean - default: false - secrets: - DOCKERHUB_USERNAME: - required: false - DOCKERHUB_TOKEN: - required: false - workflow_dispatch: - inputs: - commit_tag: - description: 'Image tag' - required: true - type: string - develop_tag: - description: 'Image tag will be "develop" if target branch is main' - required: true - type: choice - options: - - develop - default: 'develop' - image_name: - description: 'Image name' - required: true - type: string - default: 'consensys/linea-traces-api-facade' - push_image: - description: 'Toggle whether to push image to docker registry' - required: false - type: boolean - default: true - -concurrency: - group: traces-api-facade-build-and-publish-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - -jobs: - build-and-publish: - runs-on: gha-runner-scale-set-ubuntu-22.04-amd64-med - name: Traces api facade build - env: - COMMIT_TAG: ${{ inputs.commit_tag }} - DEVELOP_TAG: ${{ inputs.develop_tag }} - IMAGE_NAME: ${{ inputs.image_name }} - PUSH_IMAGE: ${{ inputs.push_image }} - TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }} - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} - steps: - - name: Set develop tag if main branch - if: ${{ github.ref == 'refs/heads/main' }} - run: | - echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 21 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - - name: Build dist - run: | - ./gradlew traces-api-facade:app:shadowJar - echo ${{ github.workspace }} - - name: Login to Docker Hub - if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }} - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - name: Docker meta - id: traces-api-facade - uses: docker/metadata-action@v5 - with: - images: consensys/linea-traces-api-facade - - name: Build for testing - uses: docker/build-push-action@v6 - if: ${{ env.PUSH_IMAGE == 'false' }} - with: - context: . - build-contexts: jar=./traces-api-facade/app/build/libs/ - file: ./traces-api-facade/Dockerfile - platforms: linux/amd64 - load: true - push: false - tags: ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} - - name: Save Docker image as artifact - if: ${{ env.PUSH_IMAGE == 'false' }} - run: | - docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-traces-api-facade-docker-image.tar.gz - shell: bash - - name: Upload Docker image artifact - if: ${{ env.PUSH_IMAGE == 'false' }} - uses: actions/upload-artifact@v4 - with: - name: linea-traces-api-facade - path: linea-traces-api-facade-docker-image.tar.gz - - name: Build & push - uses: docker/build-push-action@v6 - if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }} - with: - context: . - build-contexts: jar=./traces-api-facade/app/build/libs/ - file: ./traces-api-facade/Dockerfile - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ env.TAGS }} - cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache - cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max diff --git a/.github/workflows/traces-api-facade-testing.yml b/.github/workflows/traces-api-facade-testing.yml deleted file mode 100644 index a0256530..00000000 --- a/.github/workflows/traces-api-facade-testing.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: traces-api-facade-testing - -on: - workflow_call: - - workflow_dispatch: - inputs: - coverage: - description: To generate test report - required: false - type: boolean - default: false - -concurrency: - group: traces-api-facade-testing-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} - -jobs: - run-tests: - # ~2 mins saved vs small - runs-on: gha-runner-scale-set-ubuntu-22.04-amd64-med - name: Traces api facade tests - steps: - - name: Checkout - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 21 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - - name: Run tests with coverage - uses: nick-fields/retry@v3 - if: ${{ inputs.coverage }} - with: - max_attempts: 2 - retry_on: error - timeout_minutes: 20 - command: | - ./gradlew -V traces-api-facade:app:buildNeeded jacocoRootReport - - name: Run tests without coverage - uses: nick-fields/retry@v3 - if: ${{ !inputs.coverage }} - with: - max_attempts: 2 - retry_on: error - timeout_minutes: 20 - command: | - ./gradlew -V traces-api-facade:app:buildNeeded diff --git a/Makefile b/Makefile index 697ea0cd..b5af1729 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ include makefile-contracts.mk docker-pull-images-external-to-monorepo: - docker compose -f docker/compose-tracing-v1-ci-extension.yml -f docker/compose-tracing-v2-ci-extension.yml --profile external-to-monorepo pull + docker compose -f docker/compose-tracing-v2-ci-extension.yml --profile external-to-monorepo pull clean-local-folders: make clean-smc-folders @@ -12,8 +12,8 @@ clean-testnet-folders: rm -rf tmp/testnet/* || true # ignore failure if folders do not exist already clean-environment: - docker compose -f docker/compose-tracing-v1-ci-extension.yml -f docker/compose-tracing-v2-ci-extension.yml -f docker/compose-tracing-v2-staterecovery-extension.yml --profile l1 --profile l2 --profile debug --profile staterecovery kill -s 9 || true; - docker compose -f docker/compose-tracing-v1-ci-extension.yml -f docker/compose-tracing-v2-ci-extension.yml -f docker/compose-tracing-v2-staterecovery-extension.yml --profile l1 --profile l2 --profile debug --profile staterecovery down || true; + docker compose -f docker/compose-tracing-v2-ci-extension.yml -f docker/compose-tracing-v2-staterecovery-extension.yml --profile l1 --profile l2 --profile debug --profile staterecovery kill -s 9 || true; + docker compose -f docker/compose-tracing-v2-ci-extension.yml -f docker/compose-tracing-v2-staterecovery-extension.yml --profile l1 --profile l2 --profile debug --profile staterecovery down || true; make clean-local-folders; docker volume rm linea-local-dev linea-logs || true; # ignore failure if volumes do not exist already docker system prune -f || true; @@ -60,12 +60,6 @@ fresh-start-l2-blockchain-only: ## Creating new targets to avoid conflicts with existing targets ## Redundant targets above will cleanup once this get's merged ## -start-env-with-tracing-v1: - make start-env COMPOSE_FILE=docker/compose-tracing-v1.yml LINEA_PROTOCOL_CONTRACTS_ONLY=true - -start-env-with-tracing-v1-ci: - make start-env COMPOSE_FILE=docker/compose-tracing-v1-ci-extension.yml DISABLE_JSON_RPC_PRICING_PROPAGATION=false - start-env-with-tracing-v2: make start-env COMPOSE_FILE=docker/compose-tracing-v2.yml LINEA_PROTOCOL_CONTRACTS_ONLY=true diff --git a/config/traces-api/log4j2-dev.xml b/config/traces-api/log4j2-dev.xml deleted file mode 100644 index 2408e82f..00000000 --- a/config/traces-api/log4j2-dev.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/config/traces-api/traces-app-docker.config.toml b/config/traces-api/traces-app-docker.config.toml deleted file mode 100644 index 885c2893..00000000 --- a/config/traces-api/traces-app-docker.config.toml +++ /dev/null @@ -1,11 +0,0 @@ -input_traces_directory = "/data/traces/raw" -output_traces_directory = "/data/traces/v1/conflated" -traces_api_version = "0.2.0" -traces_file_extension = "json.gz" - -[api] -port = 8080 -path = "/" -# if =0, it will create one verticle per core (or hyperthread if supported) -number_of_verticles = 2 -observability_port = 8090 diff --git a/config/traces-api/traces-app-local-dev.config.overrides.toml b/config/traces-api/traces-app-local-dev.config.overrides.toml deleted file mode 100644 index 6d6983dc..00000000 --- a/config/traces-api/traces-app-local-dev.config.overrides.toml +++ /dev/null @@ -1,6 +0,0 @@ -input_traces_directory = "tmp/local/traces/raw" -output_traces_directory = "tmp/local/traces/v1/conflated" -traces_version = "0.2.0" - -[api] -port = 8081 diff --git a/config/traces-api/vertx-options.json b/config/traces-api/vertx-options.json deleted file mode 100644 index 6fa83073..00000000 --- a/config/traces-api/vertx-options.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "preferNativeTransport": true, - "logStacktraceThreshold": 500, - "maxEventLoopExecuteTime": 2, - "maxEventLoopExecuteTimeUnit": "MINUTES", - "warnEventLoopBlocked": 5000, - "maxWorkerExecuteTime": 2, - "maxWorkerExecuteTimeUnit": "MINUTES", - "metricsOptions": { - "enabled": true, - "prometheusOptions": { - "enabled": true, - "publishQuantiles": true - } - } -} diff --git a/docker/compose-spec-l2-services.yml b/docker/compose-spec-l2-services.yml index a85ee2f8..a556970b 100644 --- a/docker/compose-spec-l2-services.yml +++ b/docker/compose-spec-l2-services.yml @@ -126,39 +126,6 @@ services: linea: ipv4_address: 11.11.11.119 - traces-node: - container_name: traces-node - hostname: traces-node - image: consensys/linea-geth:${ZKGETH_TAG:-0588665} - platform: linux/amd64 - profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ] - depends_on: - sequencer: - condition: service_healthy - ports: - - "8645:8545" # http - - "8646:8546" # websockets - - "8651:8551" # engine_ API - environment: - DATA_DIR: "/l2-zkgeth-traces-node/" - NETRESTRICT: "11.11.11.0/24" - # ETHSTATS_URL: "zkgeth-traces-node:${WS_SECRET:-dummy-secret}@l2-ethstats:3000" - BOOTNODES: "enode://14408801a444dafc44afbccce2eb755f902aed3b5743fed787b3c790e021fef28b8c827ed896aa4e8fb46e22bd67c39f994a73768b4b382f8597b0d44370e15d@11.11.11.101:30303" - TRACES_DIR: "/data/traces/raw" - MAX_BLOCK_GAS: 10000000 #10M - MAX_BLOCKDATA_BYTES: 35000 #35 KBytes - MAX_TXDATA_BYTES: 30000 #30 KBytes - VERSION: "0.2.0" - TRACES_FILE_EXTENSION: ".json.gz" - entrypoint: [ "sh", "/scripts/node.sh", "1337", "/genesis.json", "0xa", "0x1C9C380", "0xF4240" ] - volumes: - - ./geth/scripts:/scripts:ro - - ./config/linea-local-dev-genesis-PoA-geth.json:/genesis.json:ro - - ../tmp/local/:/data/ - networks: - linea: - ipv4_address: 11.11.11.102 - traces-node-v2: hostname: traces-node-v2 container_name: traces-node-v2 @@ -199,34 +166,10 @@ services: linea: ipv4_address: 11.11.11.115 - prover: - container_name: prover - hostname: prover - image: consensys/linea-prover:b4550ce-untested - platform: linux/amd64 - # to avoid spinning up on CI for now - profiles: [ "l2" ] - environment: - GOMAXPROCS: 16 - CONTROLLER_CONFIG: "/opt/linea/prover/config/controller/controller.config.toml" - GOMEMLIMIT: "10GiB" - WORKER_ID: prover-i1 # keep this prover- to mimic prod env prover-aggregation-91 - volumes: - - logs:/logs - - ../tmp/local/:/data/ - - ./config/prover/v2/prover-controller.config.toml:/opt/linea/prover/config/controller/controller.config.toml - - ./config/prover/v2/prover-execution.config.toml:/opt/linea/prover/config/executor/execution.config.toml - - ./config/prover/v2/prover-decompression.config.toml:/opt/linea/prover/config/executor/decompression.config.toml - - ./config/prover/v2/prover-aggregation.config.toml:/opt/linea/prover/config/executor/aggregation.config.toml - - ../config/common/traces-limits-v1.toml:/opt/linea/prover/config/executor/traces-limits-M.toml - networks: - linea: - ipv4_address: 11.11.11.108 - prover-v3: # prover compatible with the traces from zkbesu container_name: prover-v3 hostname: prover-v3 - image: consensys/linea-prover:${PROVER_TAG:-811743b} + image: consensys/linea-prover:${PROVER_TAG:-052958b} platform: linux/amd64 # to avoid spinning up on CI for now profiles: [ "l2" ] @@ -247,7 +190,7 @@ services: postman: container_name: postman hostname: postman - image: consensys/linea-postman:${POSTMAN_TAG:-b021601} + image: consensys/linea-postman:${POSTMAN_TAG:-052958b} profiles: [ "l2", "debug" ] platform: linux/amd64 restart: on-failure @@ -265,31 +208,10 @@ services: linea: ipv4_address: 11.11.11.222 - traces-api: - hostname: traces-api - container_name: traces-api - image: consensys/linea-traces-api-facade:${TRACES_API_TAG:-811743b} - profiles: [ "l2", "debug" ] - restart: on-failure - depends_on: - traces-node: - condition: service_started - ports: - - "8080:8080" - command: [ 'java', '-Dvertx.configurationFile=config/vertx-options.json', '-Dlog4j2.configurationFile=config/log4j2-dev.xml', '-jar', 'libs/app-all.jar', 'config/traces-app-docker.config.toml', ] - volumes: - - ../config/traces-api/traces-app-docker.config.toml:/opt/consensys/linea/traces-api-facade/config/traces-app-docker.config.toml:ro - - ../config/traces-api/vertx-options.json:/opt/consensys/linea/traces-api-facade/config/vertx-options.json:ro - - ../config/traces-api/log4j2-dev.xml:/opt/consensys/linea/traces-api-facade/config/log4j2-dev.xml:ro - - ../tmp/local/:/data/ - networks: - linea: - ipv4_address: 11.11.11.105 - coordinator: hostname: coordinator container_name: coordinator - image: consensys/linea-coordinator:${COORDINATOR_TAG:-811743b} + image: consensys/linea-coordinator:${COORDINATOR_TAG:-052958b} platform: linux/amd64 profiles: [ "l2", "debug" ] depends_on: @@ -492,7 +414,7 @@ services: transaction-exclusion-api: hostname: transaction-exclusion-api container_name: transaction-exclusion-api - image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-811743b} + image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-052958b} profiles: [ "l2", "debug" ] restart: on-failure depends_on: diff --git a/docker/compose-tracing-v1-ci-extension.yml b/docker/compose-tracing-v1-ci-extension.yml deleted file mode 100644 index 7b815641..00000000 --- a/docker/compose-tracing-v1-ci-extension.yml +++ /dev/null @@ -1,33 +0,0 @@ -include: - - compose-tracing-v1.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 - image: consensys/linea-besu-package:${BESU_PACKAGE_TAG:-mainnet-402ebda} - environment: - BESU_PLUGINS: "LineaEstimateGasEndpointPlugin,LineaL1FinalizationTagUpdaterPlugin,LineaExtraDataPlugin,LineaTransactionPoolValidatorPlugin" - volumes: - - ../config/common/traces-limits-besu-v1.toml:/var/lib/besu/traces-limits.toml:ro - - shomei-frontend: - extends: - file: compose-spec-l2-services.yml - service: shomei-frontend - - postman: - extends: - file: compose-spec-l2-services.yml - service: postman - - transaction-exclusion-api: - extends: - file: compose-spec-l2-services.yml - service: transaction-exclusion-api diff --git a/docker/compose-tracing-v1.yml b/docker/compose-tracing-v1.yml deleted file mode 100644 index 18e3062f..00000000 --- a/docker/compose-tracing-v1.yml +++ /dev/null @@ -1,92 +0,0 @@ -volumes: - local-dev: - name: "linea-local-dev" - logs: - name: "linea-logs" - -networks: - linea: - driver: bridge - ipam: - config: - - subnet: 11.11.11.0/24 - l1network: - driver: bridge - ipam: - config: - - subnet: 10.10.10.0/24 - -# To debug inside the network and volumes -# docker run --rm -it --network=docker_linea -v=linea-local-dev:/data -v=linea-logs:/logs weibeld/ubuntu-networking bash - -services: - l1-el-node: - extends: - file: compose-spec-l1-services.yml - service: l1-el-node - - l1-cl-node: - extends: - file: compose-spec-l1-services.yml - service: l1-cl-node - - l1-node-genesis-generator: - extends: - file: compose-spec-l1-services.yml - service: l1-node-genesis-generator - - sequencer: - extends: - file: compose-spec-l2-services.yml - service: sequencer - image: consensys/linea-besu-package:${BESU_PACKAGE_TAG:-mainnet-402ebda} - environment: - BESU_PLUGINS: "LineaEstimateGasEndpointPlugin,LineaL1FinalizationTagUpdaterPlugin,LineaExtraDataPlugin,LineaTransactionPoolValidatorPlugin" - volumes: - - ../config/common/traces-limits-besu-v1.toml:/var/lib/besu/traces-limits.toml:ro - - traces-node: - extends: - file: compose-spec-l2-services.yml - service: traces-node - - traces-api: - extends: - file: compose-spec-l2-services.yml - service: traces-api - - prover: - extends: - file: compose-spec-l2-services.yml - service: prover - - coordinator: - extends: - file: compose-spec-l2-services.yml - service: coordinator - 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 - command: [ 'java', '-Dvertx.configurationFile=/var/lib/coordinator/vertx-options.json', '-Dlog4j2.configurationFile=/var/lib/coordinator/log4j2-dev.xml', '-jar', 'libs/coordinator.jar', '--traces-limits', 'config/traces-limits-v1.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-web3signer-override.config.toml' ] - volumes: - - ../config/common/traces-limits-v1.toml:/opt/consensys/linea/coordinator/config/traces-limits-v1.toml:ro - - web3signer: - extends: - file: compose-spec-l2-services.yml - service: web3signer - - postgres: - extends: - file: compose-spec-l2-services.yml - service: postgres - - zkbesu-shomei: - extends: - file: compose-spec-l2-services.yml - service: zkbesu-shomei - - shomei: - extends: - file: compose-spec-l2-services.yml - service: shomei diff --git a/docker/config/prover/v2/prover-aggregation.config.toml b/docker/config/prover/v2/prover-aggregation.config.toml deleted file mode 100644 index 7bb76e31..00000000 --- a/docker/config/prover/v2/prover-aggregation.config.toml +++ /dev/null @@ -1,7 +0,0 @@ -dev_mode = true -version = "v2.0.0" -exec_proof_dir = "/data/prover/v2/execution/responses" -decompress_proof_dir = "/data/prover/v2/compression/responses" - -[bn254_circuit] -verifier_id = 0 diff --git a/docker/config/prover/v2/prover-controller.config.toml b/docker/config/prover/v2/prover-controller.config.toml deleted file mode 100644 index d614943b..00000000 --- a/docker/config/prover/v2/prover-controller.config.toml +++ /dev/null @@ -1,120 +0,0 @@ -# The version. We used it to generate the filename. -version = "2.0.0" - -# Log level of the controller (does not leak to the prover job) -# -# 0 = panic -# 1 = fatal -# 2 = error -# 3 = warn -# 4 = info -# 5 = debug -# 6 = trace -# -# Default to 4 -# -log_level = 4 - -# The directory where we write the logs (stdout/stderr) -dir_logs = "/tmp/logs" - -# The maximal return size of ls that we take into account -listing_limit = 100 - -# The delays at which we retry when we find no files in the queue. If this -# is set to [0, 1, 2, 3, 4, 5]. It will retry after 0 sec the first time it -# cannot find a file in the queue, 1 sec the second time and so on. Once it -# reaches the final value it keeps it as a final retry delay. Here we choose -# a value that works for local deployment because we would have only a single -# prover. But with many provers and a large queue, this can potentially -# overwhelm the EFS. -retry_delays = [0, 1] - -# Suffix to add to signify that a file is in progress -inprogress_suffix = "inprogress" - -# Suffix to add in case of error. If set to `code`, it will return `code_77` in -# case the job exited with a code 77. The suffix is applied both when the job -# is dropped or when it is defered to the large prover. -fail_suffix = "code" - -# Suffix to add to successful job when they are done -success_suffix = "success" - -[prometheus] -port = 9090 - -[execution] - - # Path to the executable to run for the command - bin = "/opt/linea/prover/execprover" - - # The go template of the command to run. The template should have a go - # template command structure. The template may use the fields: - # - .Bin (or .BinLarge) - # - .InFile - # - .OutFile - # - .ConfFile (or .ConfFileLarge) - command = "{{.Bin}} --in {{.InFile}} --out {{.OutFile}} --config {{.ConfFile}} --traces /opt/linea/prover/config/executor/traces-limits-M.toml" - - # The config file to use for the command - conf_file = "/opt/linea/prover/config/executor/execution.config.toml" - - # The directory where we read the files to handle - dir_from = "/data/prover/v2/execution/requests" - - # The directory where we write the generated file - dir_to = "/data/prover/v2/execution/responses" - - # The directory where we move the files when they have been handled. - dir_done = "/data/prover/v2/execution/requests-done" - -[compression] - - # Path to the executable to run for the command - bin = "/opt/linea/prover/decomprover" - - # The go template of the command to run. The template should have a go - # template command structure. The template may use the fields: - # - .Bin (or .BinLarge) - # - .InFile - # - .OutFile - # - .ConfFile (or .ConfFileLarge) - command = "{{.Bin}} --in {{.InFile}} --out {{.OutFile}} --config {{.ConfFile}}" - - # the configuration file to use for the command - conf_file = "/opt/linea/prover/config/executor/decompression.config.toml" - - # The directory where we read the files to handle - dir_from = "/data/prover/v2/compression/requests" - - # The directory where we write the generated file - dir_to = "/data/prover/v2/compression/responses" - - # The directory where we move the files when they have been handled. - dir_done = "/data/prover/v2/compression/requests-done" - -[aggregation] - - # Path to the executable to run for the command - bin = "/opt/linea/prover/aggregprover" - - # The go template of the command to run. The template should have a go - # template command structure. The template may use the fields: - # - .Bin (or .BinLarge) - # - .InFile - # - .OutFile - # - .ConfFile (or .ConfFileLarge) - command = "{{.Bin}} --in {{.InFile}} --out {{.OutFile}} --config {{.ConfFile}}" - - # the configuration file to use for the command - conf_file = "/opt/linea/prover/config/executor/aggregation.config.toml" - - # The directory where we read the files to handle - dir_from = "/data/prover/v2/aggregation/requests" - - # The directory where we write the generated file - dir_to = "/data/prover/v2/aggregation/responses" - - # The directory where we move the files when they have been handled. - dir_done = "/data/prover/v2/aggregation/requests-done" diff --git a/docker/config/prover/v2/prover-decompression.config.toml b/docker/config/prover/v2/prover-decompression.config.toml deleted file mode 100644 index 6cd96a14..00000000 --- a/docker/config/prover/v2/prover-decompression.config.toml +++ /dev/null @@ -1,5 +0,0 @@ -# This file is empty, partly because we have not determined what should be the -# the exact configuration of the prover-compression yet. We leave it as a placeholder. -# NOTE: It will be passed to the prover-compression, but it will not be opened by the -# command. -dev_mode = true diff --git a/docker/config/prover/v2/prover-execution.config.toml b/docker/config/prover/v2/prover-execution.config.toml deleted file mode 100644 index 58b5de8c..00000000 --- a/docker/config/prover/v2/prover-execution.config.toml +++ /dev/null @@ -1,41 +0,0 @@ -tolerate_parent_state_root_hash_mismatch = true - -[logging] -# level: trace=1|debug=2|info=3|warn=4|error=5|fatal=6 -level = 2 -file = "" - -[monitoring] -profiling = true -tracing = true - -[prover] -version = "v2.0.0" -# type: development|partial|full|proofless -type = "development" -# size: medium|large -size = "medium" - -[files] -out_folder = "/opt/linea/prover/setup/light/d1624b8" -pkey_file = "proving_key.bin" -vkey_file = "verifying_key.bin" -circuit_file = "circuit.bin" - -[verifier_contract] -verifier_id_partial_m = 1 -verifier_id_full_m = 2 -verifier_id_full_l = 3 - -[inputs] -# @alex: Hotfix, although the exec prover runs in dev mode. It will still check -# if the conflated traces dir exists. -conflated_traces_dir = "/" - -[feature_gates] -with_keccak = true -with_ecdsa = false - -[layer2] -message_service_contract = "0xe537D669CA013d86EBeF1D64e40fC74CADC91987" -chain_id = 1337 diff --git a/e2e/src/common/utils.ts b/e2e/src/common/utils.ts index 5d119638..d638c3ca 100644 --- a/e2e/src/common/utils.ts +++ b/e2e/src/common/utils.ts @@ -59,7 +59,6 @@ export async function isSendBundleMethodNotFound(rpcEndpoint: URL, targetBlockNu } catch (err) { if (err instanceof Error) { if (err.message === "Method not found") { - // Bundle request doesn't support in traces-v1 besu nodes return true; } } diff --git a/e2e/src/config/global.d.ts b/e2e/src/config/global.d.ts index 322a5e09..dd0b3bd5 100644 --- a/e2e/src/config/global.d.ts +++ b/e2e/src/config/global.d.ts @@ -4,7 +4,6 @@ import { Logger } from "winston"; declare global { var stopL2TrafficGeneration: () => void; - var shouldSkipBundleTests: boolean; var logger: Logger; } diff --git a/e2e/src/config/jest/global-setup.ts b/e2e/src/config/jest/global-setup.ts index 4c6cbe00..13adf86e 100644 --- a/e2e/src/config/jest/global-setup.ts +++ b/e2e/src/config/jest/global-setup.ts @@ -3,11 +3,7 @@ import { ethers } from "ethers"; import { config } from "../tests-config"; import { deployContract } from "../../common/deployments"; import { DummyContract__factory, TestContract__factory } from "../../typechain"; -import { - etherToWei, - isSendBundleMethodNotFound, - sendTransactionsToGenerateTrafficWithInterval, -} from "../../common/utils"; +import { etherToWei, sendTransactionsToGenerateTrafficWithInterval } from "../../common/utils"; import { EMPTY_CONTRACT_CODE } from "../../common/constants"; import { createTestLogger } from "../logger"; @@ -22,8 +18,6 @@ export default async (): Promise => { await configureOnceOffPrerequisities(); } - process.env.SHOULD_SKIP_BUNDLE_TESTS = (await isSendBundleMethodNotFound(config.getL2BesuNodeEndpoint()!)).toString(); - logger.info("Generating L2 traffic..."); const pollingAccount = await config.getL2AccountManager().generateAccount(etherToWei("200")); const stopPolling = await sendTransactionsToGenerateTrafficWithInterval(pollingAccount, 2_000); diff --git a/e2e/src/config/jest/setup.ts b/e2e/src/config/jest/setup.ts index 42715209..9e15b56f 100644 --- a/e2e/src/config/jest/setup.ts +++ b/e2e/src/config/jest/setup.ts @@ -1,4 +1,3 @@ import { createTestLogger } from "../logger"; global.logger = createTestLogger(); -global.shouldSkipBundleTests = process.env.SHOULD_SKIP_BUNDLE_TESTS === "true"; diff --git a/e2e/src/send-bundle.spec.ts b/e2e/src/send-bundle.spec.ts index b06dfdb3..f9b27cd8 100644 --- a/e2e/src/send-bundle.spec.ts +++ b/e2e/src/send-bundle.spec.ts @@ -10,12 +10,7 @@ import { } from "./common/utils"; import { ethers, TransactionRequest } from "ethers"; -const describeIf = shouldSkipBundleTests ? describe.skip : describe; -if (shouldSkipBundleTests) { - logger.info("Skip bundle tests due to tracing-v1 besu nodes"); -} - -describeIf("Send bundle test suite", () => { +describe("Send bundle test suite", () => { const l2AccountManager = config.getL2AccountManager(); const lineaCancelBundleClient = new LineaBundleClient(config.getSequencerEndpoint()!); const lineaSendBundleClient = new LineaBundleClient(config.getL2BesuNodeEndpoint()!);