Skip to content
Open
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9f0d1d4
chore(customrawdb): delete customrawdb package and switch to avalanch…
powerslider Oct 3, 2025
96d4893
fix: rlpgen import issue and update to latest avalanchego version
powerslider Oct 6, 2025
74692e4
ci: update ci.yml with the updated avalanchego version
powerslider Oct 6, 2025
93eb1e6
chore: update to latest avalanchego version
powerslider Oct 8, 2025
52e1913
chore(go.mod) upgrade avalanchego to 3b08d6131a00bd55349321a58ae7e6cf…
powerslider Nov 21, 2025
181e587
fix(statesync): handle ErrNotFound when reading sync root
powerslider Nov 21, 2025
fe381d0
fix(vmtest): improve requireSyncPerformedHeight
powerslider Nov 21, 2025
8ed20f7
fix(statesync): handle ErrNotFound when reading sync root
powerslider Nov 21, 2025
18a61ea
fix(core): handle ErrNotFound when reading acceptor tip
powerslider Nov 21, 2025
591fc29
fix(snapshot): handle ErrNotFound in wipe test
powerslider Nov 21, 2025
0cfd4ad
fix(tracers): apply block override before creating block context
powerslider Nov 21, 2025
68b7e32
refactor(snapshot): improve error handling and test validation
powerslider Nov 24, 2025
b8b7be5
fix(customtypes): unalias math/rand package
powerslider Nov 24, 2025
1700205
refactor(vmtest): simplify requireSyncPerformedHeight signature
powerslider Nov 24, 2025
7212c83
chore(go.mod) upgrade avalanchego to ee44f6856445429c0a3358b6c51b3add…
powerslider Nov 27, 2025
dc77bea
ci(.github): remove unneeded ci.yml
powerslider Nov 27, 2025
484d76f
fix: necessary fixes
powerslider Nov 27, 2025
8d6e9ea
fix: apply go mod tidy
powerslider Nov 27, 2025
ffd26b6
fix: style improvements
powerslider Nov 28, 2025
5cdf50c
fix: add sentinel error
powerslider Nov 28, 2025
98a81dc
fix: reduce diff
powerslider Nov 28, 2025
17f9aa3
fix: reduce diff in journal.go
powerslider Dec 1, 2025
ef4dc7c
fix: reduce diff in hashing_test.go
powerslider Dec 1, 2025
a34b609
fix: reintroduce falsely removed check in journal.go
powerslider Dec 1, 2025
13ef109
Merge branch 'master' into powerslider/1302-delete-customrawdb-package
powerslider Dec 1, 2025
7207b18
fix: wrap customrawdb.ReadSnapshotBlockHash error result
powerslider Dec 1, 2025
edb90f3
Merge branch 'master' into powerslider/1302-delete-customrawdb-package
powerslider Dec 1, 2025
f4bab82
Merge branch 'master' into powerslider/1302-delete-customrawdb-package
powerslider Dec 3, 2025
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
16 changes: 12 additions & 4 deletions graft/coreth/core/blockchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,18 @@ import (
"sync/atomic"
"time"

"github.com/ava-labs/avalanchego/database"
"github.com/ava-labs/avalanchego/graft/coreth/consensus"
"github.com/ava-labs/avalanchego/graft/coreth/core/extstate"
"github.com/ava-labs/avalanchego/graft/coreth/core/state/snapshot"
"github.com/ava-labs/avalanchego/graft/coreth/internal/version"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customtypes"
"github.com/ava-labs/avalanchego/graft/coreth/triedb/firewood"
"github.com/ava-labs/avalanchego/graft/coreth/triedb/hashdb"
"github.com/ava-labs/avalanchego/graft/coreth/triedb/pathdb"
"github.com/ava-labs/avalanchego/vms/evm/acp176"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/lru"
"github.com/ava-labs/libevm/consensus/misc/eip4844"
Expand Down Expand Up @@ -488,7 +489,10 @@ func NewBlockChain(

// if txlookup limit is 0 (uindexing disabled), we don't need to repair the tx index tail.
if bc.cacheConfig.TransactionHistory != 0 {
latestStateSynced := customrawdb.GetLatestSyncPerformed(bc.db)
latestStateSynced, err := customrawdb.GetLatestSyncPerformed(bc.db)
if err != nil {
return nil, err
}
bc.repairTxIndexTail(latestStateSynced)
}

Expand Down Expand Up @@ -1832,7 +1836,11 @@ func (bc *BlockChain) initSnapshot(b *types.Header) {
func (bc *BlockChain) reprocessState(current *types.Block, reexec uint64) error {
origin := current.NumberU64()
acceptorTip, err := customrawdb.ReadAcceptorTip(bc.db)
if err != nil {
// If no acceptor tip exists, treat it as empty hash (not initialized).
switch {
case errors.Is(err, database.ErrNotFound):
acceptorTip = common.Hash{}
case err != nil:
return fmt.Errorf("%w: unable to get Acceptor tip", err)
}
log.Info("Loaded Acceptor tip", "hash", acceptorTip)
Expand Down Expand Up @@ -2060,7 +2068,7 @@ func (bc *BlockChain) populateMissingTries() error {
// Write marker to DB to indicate populate missing tries finished successfully.
// Note: writing the marker here means that we do allow consecutive runs of re-populating
// missing tries if it does not finish during the prior run.
if err := customrawdb.WritePopulateMissingTries(bc.db); err != nil {
if err := customrawdb.WritePopulateMissingTries(bc.db, time.Now()); err != nil {
return fmt.Errorf("failed to write offline pruning success marker: %w", err)
}

Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/blockchain_repair_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ import (

"github.com/ava-labs/avalanchego/graft/coreth/consensus/dummy"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/blockchain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/consensus/dummy"
"github.com/ava-labs/avalanchego/graft/coreth/core/state/pruner"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/avalanchego/upgrade"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/consensus/dummy"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/params/extras"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/avalanchego/graft/coreth/precompile/contracts/warp"
"github.com/ava-labs/avalanchego/graft/coreth/triedb/firewood"
"github.com/ava-labs/avalanchego/graft/coreth/triedb/pathdb"
"github.com/ava-labs/avalanchego/graft/coreth/utils"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
4 changes: 2 additions & 2 deletions graft/coreth/core/state/pruner/pruner.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import (
"time"

"github.com/ava-labs/avalanchego/graft/coreth/core/state/snapshot"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down Expand Up @@ -219,7 +219,7 @@ func prune(maindb ethdb.Database, stateBloom *stateBloom, bloomPath string, star

// Write marker to DB to indicate offline pruning finished successfully. We write before calling os.RemoveAll
// to guarantee that if the node dies midway through pruning, then this will run during RecoverPruning.
if err := customrawdb.WriteOfflinePruning(maindb); err != nil {
if err := customrawdb.WriteOfflinePruning(maindb, time.Now()); err != nil {
return fmt.Errorf("failed to write offline pruning success marker: %w", err)
}

Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/state/snapshot/disklayer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
"bytes"
"testing"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb/memorydb"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/state/snapshot/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ import (
"fmt"
"time"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/utils"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
35 changes: 20 additions & 15 deletions graft/coreth/core/state/snapshot/journal.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import (
"fmt"
"time"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
Expand All @@ -42,6 +42,13 @@ import (
"github.com/ava-labs/libevm/triedb"
)

var (
errSnapshotRootEmpty = errors.New("missing or corrupted snapshot, no snapshot root")
errSnapshotBlockHashEmpty = errors.New("missing or corrupted snapshot, no snapshot block hash")
errSnapshotRootMismatch = errors.New("snapshot root mismatch")
errSnapshotGeneratorMissing = errors.New("missing snapshot generator")
)

// journalGenerator is a disk layer entry containing the generator progress marker.
type journalGenerator struct {
// Indicator that whether the database was in progress of being wiped.
Expand All @@ -59,29 +66,27 @@ type journalGenerator struct {
// store. If loading the snapshot from disk is successful, this function also
// returns a boolean indicating whether or not the snapshot is fully generated.
func loadSnapshot(diskdb ethdb.KeyValueStore, triedb *triedb.Database, cache int, blockHash, root common.Hash, noBuild bool) (snapshot, bool, error) {
// Retrieve the block number and hash of the snapshot, failing if no snapshot
// is present in the database (or crashed mid-update).
baseBlockHash := customrawdb.ReadSnapshotBlockHash(diskdb)
if baseBlockHash == (common.Hash{}) {
return nil, false, errors.New("missing or corrupted snapshot, no snapshot block hash")
}
if baseBlockHash != blockHash {
return nil, false, fmt.Errorf("block hash stored on disk (%#x) does not match last accepted (%#x)", baseBlockHash, blockHash)
// Retrieve the block hash of the snapshot, failing if no snapshot is present.
baseBlockHash, err := customrawdb.ReadSnapshotBlockHash(diskdb)
if err != nil {
return nil, false, errSnapshotBlockHashEmpty
}

// Retrieve and validate the snapshot root.
baseRoot := rawdb.ReadSnapshotRoot(diskdb)
if baseRoot == (common.Hash{}) {
return nil, false, errors.New("missing or corrupted snapshot, no snapshot root")
}
if baseRoot != root {
return nil, false, fmt.Errorf("root stored on disk (%#x) does not match last accepted (%#x)", baseRoot, root)
switch {
case baseRoot == (common.Hash{}):
return nil, false, errSnapshotRootEmpty
case baseRoot != root:
return nil, false, fmt.Errorf("%w: stored %#x, expected %#x", errSnapshotRootMismatch, baseRoot, root)
}

// Retrieve the disk layer generator. It must exist, no matter the
// snapshot is fully generated or not. Otherwise the entire disk
// layer is invalid.
generatorBlob := rawdb.ReadSnapshotGenerator(diskdb)
if len(generatorBlob) == 0 {
return nil, false, errors.New("missing snapshot generator")
return nil, false, errSnapshotGeneratorMissing
}
var generator journalGenerator
if err := rlp.DecodeBytes(generatorBlob, &generator); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/state/snapshot/snapshot.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (
"sync"
"time"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
ethsnapshot "github.com/ava-labs/libevm/core/state/snapshot"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/state/snapshot/wipe.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
"bytes"
"time"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
Expand Down
22 changes: 17 additions & 5 deletions graft/coreth/core/state/snapshot/wipe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@
package snapshot

import (
"errors"
"math/rand"
"testing"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/database"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb/memorydb"
Expand Down Expand Up @@ -72,8 +74,12 @@ func TestWipe(t *testing.T) {
if items := count(); items != 128 {
t.Fatalf("snapshot size mismatch: have %d, want %d", items, 128)
}
if hash := customrawdb.ReadSnapshotBlockHash(db); hash == (common.Hash{}) {
t.Errorf("snapshot block hash marker mismatch: have %#x, want <not-nil>", hash)
blockHash, err := customrawdb.ReadSnapshotBlockHash(db)
switch {
case err != nil:
t.Fatalf("failed to read snapshot block hash before wipe: %v", err)
case blockHash == (common.Hash{}):
t.Fatalf("snapshot block hash is empty before wipe")
}
if hash := rawdb.ReadSnapshotRoot(db); hash == (common.Hash{}) {
t.Errorf("snapshot block root marker mismatch: have %#x, want <not-nil>", hash)
Expand All @@ -96,8 +102,14 @@ func TestWipe(t *testing.T) {
t.Fatalf("misc item count mismatch: have %d, want %d", items, 1000)
}

if hash := customrawdb.ReadSnapshotBlockHash(db); hash != (common.Hash{}) {
t.Errorf("snapshot block hash marker remained after wipe: %#x", hash)
// Verify snapshot markers are removed.
blockHash, err = customrawdb.ReadSnapshotBlockHash(db)
switch {
case errors.Is(err, database.ErrNotFound): // Expected: marker was deleted.
case err != nil:
t.Errorf("unexpected error reading snapshot block hash after wipe: %v", err)
case blockHash != (common.Hash{}):
t.Errorf("snapshot block hash marker remained after wipe: %#x", blockHash)
}
Comment on lines +107 to 113
Copy link
Contributor

Choose a reason for hiding this comment

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

This doesn't check the blockhash if the error is database.ErrNotFound. Is that expected? Just looks like a bug at first glance

Copy link
Contributor

Choose a reason for hiding this comment

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

In either case, this definitely seems like it's a symptom of racy code. Will you add a comment describing why the error may or may not be nil?

if hash := rawdb.ReadSnapshotRoot(db); hash != (common.Hash{}) {
t.Errorf("snapshot block root marker remained after wipe: %#x", hash)
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/core/state_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ package core
import (
"fmt"

"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/types"
"github.com/ava-labs/libevm/ethdb"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/api_debug.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ import (
"time"

"github.com/ava-labs/avalanchego/graft/coreth/internal/ethapi"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/rpc"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/hexutil"
"github.com/ava-labs/libevm/core/rawdb"
Expand Down
4 changes: 2 additions & 2 deletions graft/coreth/eth/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/miner"
"github.com/ava-labs/avalanchego/graft/coreth/node"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/rpc"
"github.com/ava-labs/avalanchego/utils/timer/mockable"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/accounts"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/bloombits"
Expand Down Expand Up @@ -151,7 +151,7 @@ func New(
"snapshot clean", common.StorageSize(config.SnapshotCache)*1024*1024,
)

scheme, err := customrawdb.ParseStateSchemeExt(config.StateScheme, chainDb)
scheme, err := customrawdb.ParseStateScheme(config.StateScheme, chainDb)
if err != nil {
return nil, err
}
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/filters/filter_system_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/core"
"github.com/ava-labs/avalanchego/graft/coreth/internal/ethapi"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customtypes"
"github.com/ava-labs/avalanchego/graft/coreth/rpc"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
ethereum "github.com/ava-labs/libevm"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/bloombits"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/filters/filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/consensus/dummy"
"github.com/ava-labs/avalanchego/graft/coreth/core"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/rpc"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/state_accessor.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/core"
"github.com/ava-labs/avalanchego/graft/coreth/core/extstate"
"github.com/ava-labs/avalanchego/graft/coreth/eth/tracers"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/state"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/tracers/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ import (
"github.com/ava-labs/avalanchego/graft/coreth/core"
"github.com/ava-labs/avalanchego/graft/coreth/internal/ethapi"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/rpc"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/hexutil"
"github.com/ava-labs/libevm/core/rawdb"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/eth/tracers/tracers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ import (

"github.com/ava-labs/avalanchego/graft/coreth/core"
"github.com/ava-labs/avalanchego/graft/coreth/params"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customrawdb"
"github.com/ava-labs/avalanchego/graft/coreth/plugin/evm/customtypes"
"github.com/ava-labs/avalanchego/graft/coreth/tests"
"github.com/ava-labs/avalanchego/vms/evm/sync/customrawdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/types"
Expand Down
2 changes: 1 addition & 1 deletion graft/coreth/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ go 1.24.9

require (
github.com/VictoriaMetrics/fastcache v1.12.1
github.com/ava-labs/avalanchego v1.14.1-0.20251120155522-df4a8e531761
github.com/ava-labs/avalanchego v1.14.1-0.20251126155231-ee44f6856445
github.com/ava-labs/firewood-go-ethhash/ffi v0.0.15
github.com/ava-labs/libevm v1.13.15-0.20251016142715-1bccf4f2ddb2
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
Expand Down
Loading