core/vm: move Log to core/types
This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
This commit is contained in:
@ -28,7 +28,7 @@ import (
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core"
|
||||
"github.com/ethereum/go-ethereum/core/state"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/ethdb"
|
||||
"github.com/ethereum/go-ethereum/logger/glog"
|
||||
"github.com/ethereum/go-ethereum/params"
|
||||
@ -146,7 +146,7 @@ func runStateTest(chainConfig *params.ChainConfig, test VmTest) error {
|
||||
ret []byte
|
||||
// gas *big.Int
|
||||
// err error
|
||||
logs vm.Logs
|
||||
logs []*types.Log
|
||||
)
|
||||
|
||||
ret, logs, _, _ = RunState(chainConfig, statedb, env, test.Transaction)
|
||||
@ -203,7 +203,7 @@ func runStateTest(chainConfig *params.ChainConfig, test VmTest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func RunState(chainConfig *params.ChainConfig, statedb *state.StateDB, env, tx map[string]string) ([]byte, vm.Logs, *big.Int, error) {
|
||||
func RunState(chainConfig *params.ChainConfig, statedb *state.StateDB, env, tx map[string]string) ([]byte, []*types.Log, *big.Int, error) {
|
||||
environment, msg := NewEVMEnvironment(false, chainConfig, statedb, env, tx)
|
||||
gaspool := new(core.GasPool).AddGas(common.Big(env["currentGasLimit"]))
|
||||
|
||||
|
@ -47,7 +47,7 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func checkLogs(tlog []Log, logs vm.Logs) error {
|
||||
func checkLogs(tlog []Log, logs []*types.Log) error {
|
||||
|
||||
if len(tlog) != len(logs) {
|
||||
return fmt.Errorf("log length mismatch. Expected %d, got %d", len(tlog), len(logs))
|
||||
@ -70,7 +70,7 @@ func checkLogs(tlog []Log, logs vm.Logs) error {
|
||||
}
|
||||
}
|
||||
}
|
||||
genBloom := common.LeftPadBytes(types.LogsBloom(vm.Logs{logs[i]}).Bytes(), 256)
|
||||
genBloom := common.LeftPadBytes(types.LogsBloom([]*types.Log{logs[i]}).Bytes(), 256)
|
||||
|
||||
if !bytes.Equal(genBloom, common.Hex2Bytes(log.BloomF)) {
|
||||
return fmt.Errorf("bloom mismatch")
|
||||
|
@ -26,6 +26,7 @@ import (
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/state"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/ethereum/go-ethereum/ethdb"
|
||||
"github.com/ethereum/go-ethereum/logger/glog"
|
||||
@ -164,7 +165,7 @@ func runVmTest(test VmTest) error {
|
||||
ret []byte
|
||||
gas *big.Int
|
||||
err error
|
||||
logs vm.Logs
|
||||
logs []*types.Log
|
||||
)
|
||||
|
||||
ret, logs, gas, err = RunVm(statedb, env, test.Exec)
|
||||
@ -211,7 +212,7 @@ func runVmTest(test VmTest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func RunVm(statedb *state.StateDB, env, exec map[string]string) ([]byte, vm.Logs, *big.Int, error) {
|
||||
func RunVm(statedb *state.StateDB, env, exec map[string]string) ([]byte, []*types.Log, *big.Int, error) {
|
||||
chainConfig := ¶ms.ChainConfig{
|
||||
HomesteadBlock: params.MainNetHomesteadBlock,
|
||||
DAOForkBlock: params.MainNetDAOForkBlock,
|
||||
|
Reference in New Issue
Block a user