From 8cb750e5eba37eb3cd4c55b784fb2dd715d0997a Mon Sep 17 00:00:00 2001 From: georgehao Date: Wed, 13 Dec 2023 15:45:14 +0800 Subject: [PATCH 1/3] feat(contract): change contract unit test coverage to codecov (#1046) Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com> --- .github/workflows/contracts.yml | 16 +++++++--------- codecov.yml | 5 +++++ contracts/src/README.md | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/contracts.yml b/.github/workflows/contracts.yml index 3ecd10075..aecf59402 100644 --- a/.github/workflows/contracts.yml +++ b/.github/workflows/contracts.yml @@ -82,17 +82,15 @@ jobs: run : forge coverage --report lcov - name : Prune coverage - run : lcov --remove ./lcov.info -o ./lcov.info.pruned 'src/mocks/*' 'src/test/*' 'scripts/*' 'node_modules/*' 'lib/*' + run : lcov --rc branch_coverage=1 --remove ./lcov.info -o ./lcov.info.pruned 'src/mocks/*' 'src/test/*' 'scripts/*' 'node_modules/*' 'lib/*' - - name: Report code coverage - uses: zgosalvez/github-actions-report-lcov@v3 + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: - coverage-files: contracts/lcov.info.pruned - minimum-coverage: 0 - artifact-name: code-coverage-report - github-token: ${{ secrets.GITHUB_TOKEN }} - working-directory: contracts - update-comment: true + files: contracts/lcov.info.pruned + flags: contracts hardhat: if: github.event.pull_request.draft == false diff --git a/codecov.yml b/codecov.yml index 26ed42752..a3ef51f02 100644 --- a/codecov.yml +++ b/codecov.yml @@ -36,3 +36,8 @@ flag_management: - type: project target: auto threshold: 1% + - name: contracts + statuses: + - type: project + target: auto + threshold: 1% diff --git a/contracts/src/README.md b/contracts/src/README.md index 212ad0426..b0ac540f6 100644 --- a/contracts/src/README.md +++ b/contracts/src/README.md @@ -4,7 +4,7 @@ This library includes contracts and interfaces needed to interact with the Scrol # Overview -## Instalation +## Installations ```bash npm install @scroll-tech/contracts From db07180e7a632b1bd643ab9d7e5fcae35e3fc8f7 Mon Sep 17 00:00:00 2001 From: momodaka <463435681@qq.com> Date: Wed, 13 Dec 2023 15:56:03 +0800 Subject: [PATCH 2/3] docs: fix typos (#1013) Co-authored-by: georgehao --- bridge-history-api/crossmsg/messageproof/withdraw_trie.go | 2 +- contracts/src/gas-swap/GasSwap.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bridge-history-api/crossmsg/messageproof/withdraw_trie.go b/bridge-history-api/crossmsg/messageproof/withdraw_trie.go index 4dbd300eb..a5e37ab4a 100644 --- a/bridge-history-api/crossmsg/messageproof/withdraw_trie.go +++ b/bridge-history-api/crossmsg/messageproof/withdraw_trie.go @@ -6,7 +6,7 @@ import ( "bridge-history-api/utils" ) -// MaxHeight is the maixium possible height of withdraw trie +// MaxHeight is the maximum possible height of withdraw trie const MaxHeight = 40 // WithdrawTrie is an append only merkle trie diff --git a/contracts/src/gas-swap/GasSwap.sol b/contracts/src/gas-swap/GasSwap.sol index e962e2fa8..7b3800f41 100644 --- a/contracts/src/gas-swap/GasSwap.sol +++ b/contracts/src/gas-swap/GasSwap.sol @@ -124,7 +124,7 @@ contract GasSwap is ERC2771Context, Ownable, ReentrancyGuard { _outputTokenAmount = _outputTokenAmount - _fee; require(_outputTokenAmount >= _swap.minOutput, "insufficient output amount"); - // tranfer ETH to sender + // transfer ETH to sender (_success, ) = _sender.call{value: _outputTokenAmount}(""); require(_success, "transfer ETH failed"); From b8c463ffbe0a03f5a4a3dd363525d83bf4049f2c Mon Sep 17 00:00:00 2001 From: colin <102356659+colinlyguo@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:37:55 +0800 Subject: [PATCH 3/3] fix(test): chain monitor server endpoint conflict (#1047) Co-authored-by: georgehao --- common/version/version.go | 2 +- rollup/internal/controller/relayer/relayer_test.go | 7 +++++++ rollup/tests/bridge_test.go | 8 ++++++++ rollup/tests/process_start_test.go | 12 ++++++------ 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/common/version/version.go b/common/version/version.go index a97953e2d..c8b2aed09 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.3.43" +var tag = "v4.3.44" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { diff --git a/rollup/internal/controller/relayer/relayer_test.go b/rollup/internal/controller/relayer/relayer_test.go index 519408aa4..6ca76d8cf 100644 --- a/rollup/internal/controller/relayer/relayer_test.go +++ b/rollup/internal/controller/relayer/relayer_test.go @@ -1,8 +1,11 @@ package relayer import ( + "crypto/rand" "encoding/json" + "math/big" "os" + "strconv" "testing" "github.com/scroll-tech/go-ethereum/common" @@ -52,6 +55,10 @@ func setupEnv(t *testing.T) { MaxOpenNum: base.DBConfig.MaxOpenNum, MaxIdleNum: base.DBConfig.MaxIdleNum, } + port, err := rand.Int(rand.Reader, big.NewInt(10000)) + assert.NoError(t, err) + svrPort := strconv.FormatInt(port.Int64()+50000, 10) + cfg.L2Config.RelayerConfig.ChainMonitor.BaseURL = "http://localhost:" + svrPort // Create l2geth client. l2Cli, err = base.L2Client() diff --git a/rollup/tests/bridge_test.go b/rollup/tests/bridge_test.go index 34a6ba6d6..57ab7dac1 100644 --- a/rollup/tests/bridge_test.go +++ b/rollup/tests/bridge_test.go @@ -2,7 +2,10 @@ package tests import ( "context" + "crypto/rand" + "math/big" "net/http" + "strconv" "strings" "testing" @@ -84,6 +87,11 @@ func setupEnv(t *testing.T) { l2Auth, err = bind.NewKeyedTransactorWithChainID(rollupApp.Config.L1Config.RelayerConfig.GasOracleSenderPrivateKey, base.L2gethImg.ChainID()) assert.NoError(t, err) + + port, err := rand.Int(rand.Reader, big.NewInt(10000)) + assert.NoError(t, err) + svrPort := strconv.FormatInt(port.Int64()+40000, 10) + rollupApp.Config.L2Config.RelayerConfig.ChainMonitor.BaseURL = "http://localhost:" + svrPort } func mockChainMonitorServer(baseURL string) (*http.Server, error) { diff --git a/rollup/tests/process_start_test.go b/rollup/tests/process_start_test.go index 58fe9eef9..83189cb97 100644 --- a/rollup/tests/process_start_test.go +++ b/rollup/tests/process_start_test.go @@ -31,19 +31,19 @@ func testProcessStartEnableMetrics(t *testing.T) { db := setupDB(t) defer database.CloseDB(db) - port, err := rand.Int(rand.Reader, big.NewInt(2000)) + port, err := rand.Int(rand.Reader, big.NewInt(10000)) assert.NoError(t, err) - svrPort := strconv.FormatInt(port.Int64()+50000, 10) + svrPort := strconv.FormatInt(port.Int64()+10000, 10) rollupApp.RunApp(t, cutils.EventWatcherApp, "--metrics", "--metrics.addr", "localhost", "--metrics.port", svrPort) - port, err = rand.Int(rand.Reader, big.NewInt(2000)) + port, err = rand.Int(rand.Reader, big.NewInt(10000)) assert.NoError(t, err) - svrPort = strconv.FormatInt(port.Int64()+50000, 10) + svrPort = strconv.FormatInt(port.Int64()+20000, 10) rollupApp.RunApp(t, cutils.GasOracleApp, "--metrics", "--metrics.addr", "localhost", "--metrics.port", svrPort) - port, err = rand.Int(rand.Reader, big.NewInt(2000)) + port, err = rand.Int(rand.Reader, big.NewInt(10000)) assert.NoError(t, err) - svrPort = strconv.FormatInt(port.Int64()+50000, 10) + svrPort = strconv.FormatInt(port.Int64()+30000, 10) rollupApp.RunApp(t, cutils.RollupRelayerApp, "--metrics", "--metrics.addr", "localhost", "--metrics.port", svrPort) rollupApp.WaitExit()