Skip to content
14 changes: 14 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ tasks:
- task: generate-mocks
- task: check-clean-branch

check-generate-rlp:
desc: Checks that generated rlp files are up-to-date (requires a clean git working tree)
cmds:
- task: generate-rlp
- task: check-clean-branch

check-go-mod-tidy:
desc: Checks that go.mod and go.sum are up-to-date (requires a clean git working tree)
cmds:
Expand All @@ -83,6 +89,12 @@ tasks:
cmds:
- cmd: grep -lr -E '^// Code generated by MockGen\. DO NOT EDIT\.$' . | xargs -r rm
- cmd: go generate -run "go.uber.org/mock/mockgen" ./...

generate-rlp:
desc: Generates rlp files
cmds:
- cmd: grep -lr -E '^// Code generated by rlpgen\. DO NOT EDIT.\.$' . | xargs -r rm
- cmd: go generate -run "github.com/ava-labs/libevm/rlp/rlpgen" ./...

install-avalanchego-release:
desc: Download and install AvalancheGo release binary for testing, with fallback to building from source
Expand All @@ -100,6 +112,7 @@ tasks:
- shellcheck
- check-generate-codec
- check-generate-mocks
- check-generate-rlp

lint-all-ci:
desc: Runs all lint checks one-by-one
Expand All @@ -109,6 +122,7 @@ tasks:
- task: shellcheck
- task: check-generate-codec
- task: check-generate-mocks
- task: check-generate-rlp

setup-contracts:
desc: Set up contracts by installing NPM dependencies, cleaning Hardhat cache, and compiling contracts
Expand Down
7 changes: 2 additions & 5 deletions plugin/evm/customtypes/gen_header_serializable_rlp.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion plugin/evm/customtypes/header_ext.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,11 @@ func (h *HeaderSerializable) updateToExtras(extras *HeaderExtra) {
extras.TimeMilliseconds = h.TimeMilliseconds
}

// NOTE: both generators currently do not support type aliases.
// We are using custom versions of these programs for now to support type aliases,
// see https://github.com/ava-labs/coreth/pull/746#discussion_r1969673252
//go:generate go run github.com/fjl/gencodec -type HeaderSerializable -field-override headerMarshaling -out gen_header_serializable_json.go
//go:generate go run github.com/ava-labs/libevm/rlp/rlpgen@739ba847f6f407f63fd6a24175b24e56fea583a1 -type HeaderSerializable -out gen_header_serializable_rlp.go
//go:generate go run github.com/ava-labs/libevm/rlp/rlpgen -type HeaderSerializable -out gen_header_serializable_rlp.go

// HeaderSerializable defines the header of a block in the Ethereum blockchain,
// as it is to be serialized into RLP and JSON. Note it must be exported so that
Expand Down
Loading