Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 12 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,15 @@
go-version-file: ./go.mod
- name: E2E Tests
run: make test-e2e

evm-tests:
name: Run EVM Execution Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up go
uses: actions/setup-go@v5
with:
go-version-file: ./go.mod
- name: EVM Tests
run: make test-evm
Comment on lines +62 to +71

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium test

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 8 months ago

To fix the issue, we will add a permissions block to the workflow. Since the workflow primarily involves building, testing, and uploading coverage reports, it does not require write permissions. We will set contents: read at the workflow level to apply to all jobs. If any job requires additional permissions, we will define them specifically for that job.


Suggested changeset 1
.github/workflows/test.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -3,2 +3,4 @@
 name: Tests / Code Coverage
+permissions:
+  contents: read
 on:
EOF
@@ -3,2 +3,4 @@
name: Tests / Code Coverage
permissions:
contents: read
on:
Copilot is powered by AI and may make mistakes. Always verify output.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ build
.aider*
.DS_Store
coverage.out
execution/evm/jwttoken
36 changes: 19 additions & 17 deletions apps/evm/based/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
"path/filepath"

"github.com/ethereum/go-ethereum/common"
"github.com/rollkit/go-execution-evm"

coreda "github.com/rollkit/rollkit/core/da"
"github.com/rollkit/rollkit/execution/evm" // Import the evm flags package

"github.com/rollkit/rollkit/da/jsonrpc"
rollcmd "github.com/rollkit/rollkit/pkg/cmd"
Expand All @@ -17,6 +18,7 @@
"github.com/rollkit/rollkit/pkg/p2p/key"
"github.com/rollkit/rollkit/pkg/store"
"github.com/rollkit/rollkit/sequencers/based"

"github.com/spf13/cobra"
)

Expand All @@ -42,25 +44,25 @@
PreRunE: func(cmd *cobra.Command, args []string) error {
var err error

ethURL, err = cmd.Flags().GetString("evm.eth-url")
ethURL, err = cmd.Flags().GetString(evm.FlagEvmEthURL)

Check warning on line 47 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L47

Added line #L47 was not covered by tests
if err != nil {
return fmt.Errorf("failed to get 'evm.eth-url' flag: %w", err)
return fmt.Errorf("failed to get '%s' flag: %w", evm.FlagEvmEthURL, err)

Check warning on line 49 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L49

Added line #L49 was not covered by tests
}
engineURL, err = cmd.Flags().GetString("evm.engine-url")
engineURL, err = cmd.Flags().GetString(evm.FlagEvmEngineURL)

Check warning on line 51 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L51

Added line #L51 was not covered by tests
if err != nil {
return fmt.Errorf("failed to get 'evm.engine-url' flag: %w", err)
return fmt.Errorf("failed to get '%s' flag: %w", evm.FlagEvmEngineURL, err)

Check warning on line 53 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L53

Added line #L53 was not covered by tests
}
jwtSecret, err = cmd.Flags().GetString("evm.jwt-secret")
jwtSecret, err = cmd.Flags().GetString(evm.FlagEvmJWTSecret)

Check warning on line 55 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L55

Added line #L55 was not covered by tests
if err != nil {
return fmt.Errorf("failed to get 'evm.jwt-secret' flag: %w", err)
return fmt.Errorf("failed to get '%s' flag: %w", evm.FlagEvmJWTSecret, err)

Check warning on line 57 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L57

Added line #L57 was not covered by tests
}
genesisHash, err = cmd.Flags().GetString("evm.genesis-hash")
genesisHash, err = cmd.Flags().GetString(evm.FlagEvmGenesisHash)

Check warning on line 59 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L59

Added line #L59 was not covered by tests
if err != nil {
return fmt.Errorf("failed to get 'evm.genesis-hash' flag: %w", err)
return fmt.Errorf("failed to get '%s' flag: %w", evm.FlagEvmGenesisHash, err)

Check warning on line 61 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L61

Added line #L61 was not covered by tests
}
feeRecipient, err = cmd.Flags().GetString("evm.fee-recipient")
feeRecipient, err = cmd.Flags().GetString(evm.FlagEvmFeeRecipient)

Check warning on line 63 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L63

Added line #L63 was not covered by tests
if err != nil {
return fmt.Errorf("failed to get 'evm.fee-recipient' flag: %w", err)
return fmt.Errorf("failed to get '%s' flag: %w", evm.FlagEvmFeeRecipient, err)

Check warning on line 65 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L65

Added line #L65 was not covered by tests
}

basedURL, err = cmd.Flags().GetString(based.FlagBasedURL)
Expand Down Expand Up @@ -100,7 +102,7 @@
return fmt.Errorf("failed to parse config: %w", err)
}

executor, err := execution.NewEngineExecutionClient(
executor, err := evm.NewEngineExecutionClient( // Use renamed import

Check warning on line 105 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L105

Added line #L105 was not covered by tests
ethURL, engineURL, jwtSecret, common.HexToHash(genesisHash), common.HexToAddress(feeRecipient),
)
if err != nil {
Expand Down Expand Up @@ -176,11 +178,11 @@
}

rollconf.AddFlags(cmd)
cmd.Flags().StringVar(&ethURL, "evm.eth-url", "http://localhost:8545", "Ethereum JSON-RPC URL")
cmd.Flags().StringVar(&engineURL, "evm.engine-url", "http://localhost:8551", "Engine API URL")
cmd.Flags().StringVar(&jwtSecret, "evm.jwt-secret", "", "JWT secret for Engine API")
cmd.Flags().StringVar(&genesisHash, "evm.genesis-hash", "", "Genesis block hash")
cmd.Flags().StringVar(&feeRecipient, "evm.fee-recipient", "", "Fee recipient address")
cmd.Flags().StringVar(&ethURL, evm.FlagEvmEthURL, "http://localhost:8545", "Ethereum JSON-RPC URL")
cmd.Flags().StringVar(&engineURL, evm.FlagEvmEngineURL, "http://localhost:8551", "Engine API URL")
cmd.Flags().StringVar(&jwtSecret, evm.FlagEvmJWTSecret, "", "JWT secret for Engine API")
cmd.Flags().StringVar(&genesisHash, evm.FlagEvmGenesisHash, "", "Genesis block hash")
cmd.Flags().StringVar(&feeRecipient, evm.FlagEvmFeeRecipient, "", "Fee recipient address")

Check warning on line 185 in apps/evm/based/cmd/run.go

View check run for this annotation

Codecov / codecov/patch

apps/evm/based/cmd/run.go#L181-L185

Added lines #L181 - L185 were not covered by tests
cmd.Flags().StringVar(&basedURL, based.FlagBasedURL, "http://localhost:26658", "Based API URL")
cmd.Flags().StringVar(&basedAuth, based.FlagBasedAuth, "", "Authentication token for Based API")
cmd.Flags().StringVar(&basedNamespace, based.FlagBasedNamespace, "", "Namespace for Based API")
Expand Down
11 changes: 4 additions & 7 deletions apps/evm/based/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@ replace (
github.com/rollkit/rollkit => ../../../
github.com/rollkit/rollkit/core => ../../../core
github.com/rollkit/rollkit/da => ../../../da
github.com/rollkit/rollkit/execution/evm => ../../../execution/evm
github.com/rollkit/rollkit/sequencers/based => ../../../sequencers/based
)

require (
github.com/ethereum/go-ethereum v1.15.0
github.com/rollkit/go-execution-evm v0.1.1-0.20250328070936-d9a866002f5f
github.com/rollkit/rollkit v0.14.2-0.20250317130407-e9e0a1b0485e
github.com/rollkit/rollkit/core v0.0.0-20250317130407-e9e0a1b0485e
github.com/rollkit/rollkit/da v0.0.0-20250317130407-e9e0a1b0485e
github.com/rollkit/rollkit/execution/evm v0.0.0-00010101000000-000000000000
github.com/rollkit/rollkit/sequencers/based v0.0.0-00010101000000-000000000000
github.com/spf13/cobra v1.9.1
)
Expand All @@ -26,9 +27,7 @@ require (
connectrpc.com/connect v1.18.1 // indirect
connectrpc.com/grpcreflect v1.3.0 // indirect
cosmossdk.io/log v1.6.0 // indirect
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/BurntSushi/toml v1.4.0 // indirect
github.com/Masterminds/semver/v3 v3.3.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/StackExchange/wmi v1.2.1 // indirect
github.com/benbjohnson/clock v1.3.5 // indirect
Expand Down Expand Up @@ -69,7 +68,7 @@ require (
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/goccy/go-yaml v1.17.1 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/gofrs/flock v0.8.1 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v5 v5.2.2 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
Expand Down Expand Up @@ -113,7 +112,7 @@ require (
github.com/libp2p/go-netroute v0.2.2 // indirect
github.com/libp2p/go-reuseport v0.4.0 // indirect
github.com/libp2p/go-yamux/v5 v5.0.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/magiconair/properties v1.8.10 // indirect
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
Expand Down Expand Up @@ -216,8 +215,6 @@ require (
golang.org/x/tools v0.31.0 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
gonum.org/v1/gonum v0.15.1 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect
google.golang.org/grpc v1.70.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Expand Down
Loading
Loading