diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index fd3d459b..edb82ff2 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -19,6 +19,11 @@ jobs: with: submodules: recursive + - name: Set Node.js 18.18.x + uses: actions/setup-node@v3 + with: + node-version: 18.18.x + - name: Restore node modules from cache uses: ./.github/actions/node-cache diff --git a/docs/high-level-architecture.md b/docs/high-level-architecture.md index 2490e448..9c16781a 100644 --- a/docs/high-level-architecture.md +++ b/docs/high-level-architecture.md @@ -36,7 +36,7 @@ ## Introduction ### Purpose -This document outlines a high-level architecture and threat model for the token bridge between Ethereum ("Root" chain) and the Immutable zkEVM ("Child" chain) chains. The bridge facilitates the transfer of ETH, IMX, and standard ERC20 tokens between these chains, using an underlying General Message Passing (GMP) bridge, Axelar, for message transmission. This bridge is a critical piece of infrastructure for the Immutable zkEVM chain, that will potentially custody significant amount of user assets. +This document outlines a high-level architecture and threat model for the token bridge between Ethereum ("Root" chain) and the Immutable zkEVM ("Child" chain) chains. The bridge facilitates the transfer of ETH, IMX, and standard ERC20 tokens between these chains, using an underlying General Message Passing (GMP) bridge, Axelar, for message transmission. This bridge is a critical piece of infrastructure for the Immutable zkEVM chain. The purpose of this document is to two-fold: 1. Provide a high-level view of the Immutable zkEVM bridge's architecture, in terms of its core functionalities and use-cases, major components and their interactions, dependencies and architectural characteristics. diff --git a/foundry.toml b/foundry.toml index 0e7d2ae8..d768a863 100644 --- a/foundry.toml +++ b/foundry.toml @@ -5,4 +5,8 @@ libs = ["lib"] solc-version = "0.8.19" # Reason for why this flag is required can be found here: https://github.com/foundry-rs/foundry/issues/7607 unchecked_cheatcode_artifacts = true -# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options \ No newline at end of file +# Reasons for why this flag is required can be found here: https://book.getfoundry.sh/cheatcodes/expect-revert#description +allow_internal_expect_revert = true +# Required because of a breaking change in Foundry v1, which disabled optimizer by default: https://book.getfoundry.sh/guides/v1.0-migration#solc-optimizer-disabled-by-default +optimizer = true +optimizer_runs = 200 \ No newline at end of file