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
52 changes: 24 additions & 28 deletions accounts/abi/bind/bind_extra_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ import (
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/crypto"
"github.com/stretchr/testify/require"
)

// TestGetSenderNativeAssetCall checks that the NativeAssetCall proxies the
// caller address This behavior is disabled on the network and is only to test
// previous behavior. Note the test uses ApricotPhase2Config.
// previous behavior. Note the test uses [params.TestApricotPhase2Config].
func TestGetSenderNativeAssetCall(t *testing.T) {
// pragma solidity >=0.8.0 <0.9.0;
// contract GetSenderNativeAssetCall {
Expand All @@ -34,7 +35,7 @@ func TestGetSenderNativeAssetCall(t *testing.T) {
// _sender = msg.sender;
// }
// }
rawABI := `[
const rawABI = `[
{
"inputs": [],
"name": "getSender",
Expand All @@ -51,17 +52,17 @@ func TestGetSenderNativeAssetCall(t *testing.T) {
}
]`
bytecode := common.FromHex(`6080604052348015600f57600080fd5b506101608061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806350c36a521461003b5780635e01eb5a14610045575b600080fd5b610043610063565b005b61004d6100a5565b60405161005a919061010f565b60405180910390f35b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100f9826100ce565b9050919050565b610109816100ee565b82525050565b60006020820190506101246000830184610100565b9291505056fea26469706673582212209023ce54f38e749b58f44e8da750354578080ce16df95037b7305ed7e480c36d64736f6c634300081b0033`)
setSenderMethodName := "setSender"
getSenderMethodName := "getSender"
const setSenderMethodName = "setSender"
const getSenderMethodName = "getSender"

parsedABI, err := abi.JSON(bytes.NewReader([]byte(rawABI)))
if err != nil {
t.Fatalf("Failed to parse ABI: %v", err)
}
require.NoError(t, err, "Failed to parse ABI")

// Generate a new random account and a funded simulator
key, _ := crypto.GenerateKey()
auth, _ := bind.NewKeyedTransactorWithChainID(key, big.NewInt(1337))
key, err := crypto.GenerateKey()
require.NoError(t, err, "Failed to generate key")
auth, err := bind.NewKeyedTransactorWithChainID(key, big.NewInt(1337))
require.NoError(t, err, "Failed to create transactor")
alloc := types.GenesisAlloc{auth.From: {Balance: big.NewInt(1000000000000000000)}}
atApricotPhase2 := func(nodeConf *node.Config, ethConf *ethconfig.Config) {
chainConfig := *params.TestApricotPhase2Config
Expand All @@ -73,13 +74,14 @@ func TestGetSenderNativeAssetCall(t *testing.T) {
Backend: b,
Client: b.Client(),
}
defer sim.Close()
t.Cleanup(func() {
err = sim.Close()
require.NoError(t, err, "Failed to close simulator")
})

// Deploy the get/setSender contract
_, _, interactor, err := bind.DeployContract(auth, parsedABI, bytecode, sim)
if err != nil {
t.Fatalf("Failed to deploy interactor contract: %v", err)
}
require.NoError(t, err, "Failed to deploy interactor contract")
sim.Commit(false)

// Setting NativeAssetCall in the transact opts will proxy the call through
Expand All @@ -91,21 +93,15 @@ func TestGetSenderNativeAssetCall(t *testing.T) {
AssetAmount: big.NewInt(0),
},
}
if _, err := interactor.Transact(opts, setSenderMethodName); err != nil {
t.Fatalf("Failed to set sender: %v", err)
}
_, err = interactor.Transact(opts, setSenderMethodName)
require.NoError(t, err, "Failed to set sender")
sim.Commit(true)

var results []interface{}
if err := interactor.Call(nil, &results, getSenderMethodName); err != nil {
t.Fatalf("Failed to get sender: %v", err)
}
if len(results) != 1 {
t.Fatalf("Expected one result, got %d", len(results))
}
if addr, ok := results[0].(common.Address); !ok {
t.Fatalf("Expected address, got %T", results[0])
} else if addr != auth.From {
t.Fatalf("Address mismatch: have '%v'", addr)
}
var results []any
err = interactor.Call(nil, &results, getSenderMethodName)
require.NoError(t, err, "Failed to get sender")
require.Len(t, results, 1)
addr, ok := results[0].(common.Address)
require.Truef(t, ok, "Expected %T, got %T", common.Address{}, results[0])
require.Equal(t, addr, auth.From, "Address mismatch")
}
2 changes: 1 addition & 1 deletion core/bench_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ import (
"testing"

"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/math"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/crypto"
"github.com/ava-labs/libevm/ethdb"
Expand Down
19 changes: 10 additions & 9 deletions core/blockchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,17 @@ import (

"github.com/ava-labs/coreth/consensus"
"github.com/ava-labs/coreth/consensus/misc/eip4844"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/core/state/snapshot"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/internal/version"
"github.com/ava-labs/coreth/params"
customrawdb "github.com/ava-labs/coreth/plugin/evm/rawdb"
"github.com/ava-labs/coreth/triedb/hashdb"
"github.com/ava-labs/coreth/triedb/pathdb"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/lru"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/ethdb"
"github.com/ava-labs/libevm/event"
Expand Down Expand Up @@ -448,7 +449,7 @@ 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 := rawdb.GetLatestSyncPerformed(bc.db)
latestStateSynced := customrawdb.GetLatestSyncPerformed(bc.db)
bc.repairTxIndexTail(latestStateSynced)
}

Expand Down Expand Up @@ -481,7 +482,7 @@ func (bc *BlockChain) batchBlockAcceptedIndices(batch ethdb.Batch, b *types.Bloc
if !bc.cacheConfig.SkipTxIndexing {
rawdb.WriteTxLookupEntriesByBlock(batch, b)
}
if err := rawdb.WriteAcceptorTip(batch, b.Hash()); err != nil {
if err := customrawdb.WriteAcceptorTip(batch, b.Hash()); err != nil {
return fmt.Errorf("%w: failed to write acceptor tip key", err)
}
return nil
Expand Down Expand Up @@ -1745,7 +1746,7 @@ func (bc *BlockChain) initSnapshot(b *types.Header) {
// state that reprocessing will start from.
func (bc *BlockChain) reprocessState(current *types.Block, reexec uint64) error {
origin := current.NumberU64()
acceptorTip, err := rawdb.ReadAcceptorTip(bc.db)
acceptorTip, err := customrawdb.ReadAcceptorTip(bc.db)
if err != nil {
return fmt.Errorf("%w: unable to get Acceptor tip", err)
}
Expand Down Expand Up @@ -1876,9 +1877,9 @@ func (bc *BlockChain) reprocessState(current *types.Block, reexec uint64) error

func (bc *BlockChain) protectTrieIndex() error {
if !bc.cacheConfig.Pruning {
return rawdb.WritePruningDisabled(bc.db)
return customrawdb.WritePruningDisabled(bc.db)
}
pruningDisabled, err := rawdb.HasPruningDisabled(bc.db)
pruningDisabled, err := customrawdb.HasPruningDisabled(bc.db)
if err != nil {
return fmt.Errorf("failed to check if the chain has been run with pruning disabled: %w", err)
}
Expand Down Expand Up @@ -1963,7 +1964,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 := rawdb.WritePopulateMissingTries(bc.db); err != nil {
if err := customrawdb.WritePopulateMissingTries(bc.db); err != nil {
return fmt.Errorf("failed to write offline pruning success marker: %w", err)
}

Expand Down Expand Up @@ -2061,9 +2062,9 @@ func (bc *BlockChain) ResetToStateSyncedBlock(block *types.Block) error {
}
rawdb.WriteHeadBlockHash(batch, block.Hash())
rawdb.WriteHeadHeaderHash(batch, block.Hash())
rawdb.WriteSnapshotBlockHash(batch, block.Hash())
customrawdb.WriteSnapshotBlockHash(batch, block.Hash())
rawdb.WriteSnapshotRoot(batch, block.Root())
if err := rawdb.WriteSyncPerformed(batch, block.NumberU64()); err != nil {
if err := customrawdb.WriteSyncPerformed(batch, block.NumberU64()); err != nil {
return err
}

Expand Down
2 changes: 1 addition & 1 deletion core/blockchain_log_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ import (

"github.com/ava-labs/coreth/accounts/abi"
"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/crypto"
"github.com/stretchr/testify/require"
Expand Down
2 changes: 1 addition & 1 deletion core/blockchain_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ package core

import (
"github.com/ava-labs/coreth/consensus"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/core/state/snapshot"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/event"
"github.com/ava-labs/libevm/triedb"
Expand Down
2 changes: 1 addition & 1 deletion core/blockchain_repair_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ import (
"testing"

"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/crypto"
"github.com/ava-labs/libevm/triedb"
Expand Down
2 changes: 1 addition & 1 deletion core/blockchain_snapshot_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ import (

"github.com/ava-labs/coreth/consensus"
"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/ethdb"
)
Expand Down
5 changes: 3 additions & 2 deletions core/blockchain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ import (

"github.com/ava-labs/avalanchego/upgrade"
"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/core/state/pruner"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/params/extras"
customrawdb "github.com/ava-labs/coreth/plugin/evm/rawdb"
"github.com/ava-labs/coreth/plugin/evm/upgrade/ap3"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/crypto"
"github.com/ava-labs/libevm/eth/tracers/logger"
Expand Down Expand Up @@ -239,7 +240,7 @@ func TestCorruptSnapshots(t *testing.T) {
create := func(db ethdb.Database, gspec *Genesis, lastAcceptedHash common.Hash) (*BlockChain, error) {
// Delete the snapshot block hash and state root to ensure that if we die in between writing a snapshot
// diff layer to disk at any point, we can still recover on restart.
rawdb.DeleteSnapshotBlockHash(db)
customrawdb.DeleteSnapshotBlockHash(db)
rawdb.DeleteSnapshotRoot(db)

return createBlockChain(db, pruningConfig, gspec, lastAcceptedHash)
Expand Down
2 changes: 1 addition & 1 deletion core/bloom_indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ import (
"time"

"github.com/ava-labs/coreth/core/bloombits"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/bitutil"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
)

Expand Down
2 changes: 1 addition & 1 deletion core/chain_indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ import (
"sync/atomic"
"time"

"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
"github.com/ava-labs/libevm/event"
"github.com/ava-labs/libevm/log"
Expand Down
2 changes: 1 addition & 1 deletion core/chain_indexer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ import (
"testing"
"time"

"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
)

// Runs multiple tests with randomized parameters.
Expand Down
2 changes: 1 addition & 1 deletion core/chain_makers.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ import (

"github.com/ava-labs/coreth/consensus"
"github.com/ava-labs/coreth/consensus/misc/eip4844"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/plugin/evm/header"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/ethdb"
"github.com/ava-labs/libevm/triedb"
Expand Down
2 changes: 1 addition & 1 deletion core/chain_makers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ import (
"math/big"

"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/crypto"
"github.com/ava-labs/libevm/triedb"
Expand Down
2 changes: 1 addition & 1 deletion core/extstate/test_statedb.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ package extstate
import (
"testing"

"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/precompile/contract"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/stretchr/testify/require"
)

Expand Down
2 changes: 1 addition & 1 deletion core/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import (
"fmt"
"math/big"

"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/state"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
Expand All @@ -42,6 +41,7 @@ import (
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/hexutil"
"github.com/ava-labs/libevm/common/math"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
"github.com/ava-labs/libevm/log"
"github.com/ava-labs/libevm/trie"
Expand Down
2 changes: 1 addition & 1 deletion core/genesis_extra_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ import (
"testing"
"time"

"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/params/extras"
"github.com/ava-labs/coreth/utils"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/triedb"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion core/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import (
"testing"

"github.com/ava-labs/coreth/consensus/dummy"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/coreth/params/extras"
Expand All @@ -43,6 +42,7 @@ import (
"github.com/ava-labs/coreth/triedb/pathdb"
"github.com/ava-labs/coreth/utils"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/core/vm"
"github.com/ava-labs/libevm/ethdb"
"github.com/ava-labs/libevm/trie"
Expand Down
2 changes: 1 addition & 1 deletion core/headerchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ import (
"sync/atomic"

"github.com/ava-labs/coreth/consensus"
"github.com/ava-labs/coreth/core/rawdb"
"github.com/ava-labs/coreth/core/types"
"github.com/ava-labs/coreth/params"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/lru"
"github.com/ava-labs/libevm/core/rawdb"
"github.com/ava-labs/libevm/ethdb"
)

Expand Down
Loading
Loading