Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
26ccbc8
sae: Implement minimal C-Chain VM
StephenButtolph May 19, 2026
9c580fd
lint
StephenButtolph May 19, 2026
0e19552
nit
StephenButtolph May 19, 2026
eda656c
nit
StephenButtolph May 19, 2026
791223d
nit
StephenButtolph May 19, 2026
a5dcf13
nit
StephenButtolph May 19, 2026
b77e6a7
simplify
StephenButtolph May 19, 2026
ed51af8
nit: do not reply nil
StephenButtolph May 19, 2026
c142ea8
Test nonce changes
StephenButtolph May 19, 2026
aed9889
cchain > sae
StephenButtolph May 19, 2026
aa14881
Merge branch 'master' into StephenButtolph/minimal-hook
StephenButtolph May 19, 2026
7240b8e
suppress AfterExecutingBlock in API calls
StephenButtolph May 20, 2026
a93c6a4
nit
StephenButtolph May 20, 2026
39022b0
Merge branch 'master' into StephenButtolph/minimal-hook
StephenButtolph May 20, 2026
48c5ead
doc
StephenButtolph May 21, 2026
dac2669
nits
StephenButtolph May 21, 2026
7dc4343
Merge branch 'master' into StephenButtolph/minimal-hook
StephenButtolph May 21, 2026
115e52f
lint
StephenButtolph May 21, 2026
155496a
nit
StephenButtolph May 22, 2026
67c51f2
nit
StephenButtolph May 22, 2026
a83f838
nit
StephenButtolph May 22, 2026
912625a
wip
StephenButtolph May 22, 2026
fbcb61b
remove TODO
StephenButtolph May 22, 2026
6473143
add comment
StephenButtolph May 22, 2026
1612a0a
modern day plumber
StephenButtolph May 22, 2026
71a1167
nit
StephenButtolph May 22, 2026
3f1831d
Merge branch 'master' into StephenButtolph/minimal-hook
StephenButtolph May 22, 2026
d283531
oops
StephenButtolph May 22, 2026
14fb052
add ethclient
StephenButtolph May 22, 2026
745e668
ok
StephenButtolph May 22, 2026
c2c3ec3
nits
StephenButtolph May 26, 2026
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
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ require (
require (
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/VictoriaMetrics/fastcache v1.12.1 // indirect
github.com/ava-labs/avalanchego/graft/evm v1.14.2 // indirect
github.com/ava-labs/avalanchego/graft/evm v1.14.2
github.com/ava-labs/firewood-go-ethhash/ffi v0.5.0
github.com/ava-labs/simplex v0.0.0-20260429081342-03ce910391ad
github.com/beorn7/perks v1.0.1 // indirect
Expand Down
99 changes: 99 additions & 0 deletions vms/saevm/cchain/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//.bazel:defs.bzl", "go_test")

# gazelle:default_visibility //vms/saevm/cchain:__subpackages__,//vms/saevm/cchain:external_consumers

package(default_visibility = [
Expand All @@ -9,3 +12,99 @@ package_group(
name = "external_consumers",
packages = [],
)
Comment on lines 4 to 14
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(out of PR scope) The package_group is unnecessary here and could be removed if the # gazelle directive is also changed to remove it. That would have a lot of flow-on effects so could be done in a different PR.


go_library(
name = "cchain",
srcs = [
"api.go",
"hooks.go",
"vm.go",
],
importpath = "github.com/ava-labs/avalanchego/vms/saevm/cchain",
deps = [
"//api",
"//database",
"//database/prefixdb",
"//graft/coreth/core/extstate",
"//graft/coreth/plugin/evm/customtypes",
"//graft/evm/constants",
"//graft/evm/utils/rpc",
"//ids",
"//snow",
"//snow/engine/common",
"//snow/engine/snowman/block",
"//utils/constants",
"//utils/formatting",
"//utils/formatting/address",
"//utils/json",
"//utils/logging",
"//utils/rpc",
"//utils/set",
"//vms/components/avax",
"//vms/components/gas",
"//vms/evm/acp226",
"//vms/evm/database",
"//vms/saevm/cchain/state",
"//vms/saevm/cchain/tx",
"//vms/saevm/cchain/txpool",
"//vms/saevm/gastime",
"//vms/saevm/hook",
"//vms/saevm/sae",
"//vms/saevm/saedb",
"//vms/saevm/types",
"//x/blockdb",
"@com_github_ava_labs_libevm//common",
"@com_github_ava_labs_libevm//core",
"@com_github_ava_labs_libevm//core/rawdb",
"@com_github_ava_labs_libevm//core/state",
"@com_github_ava_labs_libevm//core/txpool/legacypool",
"@com_github_ava_labs_libevm//core/types",
"@com_github_ava_labs_libevm//libevm",
"@com_github_ava_labs_libevm//params",
"@com_github_ava_labs_libevm//trie",
"@com_github_ava_labs_libevm//triedb",
"@org_uber_go_zap//:zap",
],
)

go_test(
name = "cchain_test",
srcs = [
"api_test.go",
"hooks_test.go",
"vm_test.go",
],
embed = [":cchain"],
deps = [
"//chains/atomic",
"//database/memdb",
"//database/prefixdb",
"//graft/coreth/plugin/evm",
"//graft/coreth/plugin/evm/customtypes",
"//ids",
"//snow",
"//snow/engine/common",
"//snow/engine/enginetest",
"//snow/engine/snowman/block",
"//snow/snowtest",
"//utils/crypto/secp256k1",
"//utils/logging",
"//utils/set",
"//vms/components/avax",
"//vms/saevm/blocks",
"//vms/saevm/cchain/tx",
"//vms/saevm/cchain/tx/txtest",
"//vms/saevm/params",
"//vms/saevm/saetest",
"//vms/secp256k1fx",
"@com_github_ava_labs_libevm//common",
"@com_github_ava_labs_libevm//core",
"@com_github_ava_labs_libevm//core/types",
"@com_github_ava_labs_libevm//libevm/options",
"@com_github_google_go_cmp//cmp",
"@com_github_holiman_uint256//:uint256",
"@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require",
"@org_uber_go_goleak//:goleak",
],
)
Loading
Loading