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:
@ -22,7 +22,6 @@ import (
|
||||
"math/big"
|
||||
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/ethereum/go-ethereum/ethclient"
|
||||
)
|
||||
|
||||
@ -191,7 +190,7 @@ func (ec *EthereumClient) FilterLogs(ctx *Context, query *FilterQuery) (logs *Lo
|
||||
return nil, err
|
||||
}
|
||||
// Temp hack due to vm.Logs being []*vm.Log
|
||||
res := make(vm.Logs, len(rawLogs))
|
||||
res := make([]*types.Log, len(rawLogs))
|
||||
for i, log := range rawLogs {
|
||||
res[i] = &log
|
||||
}
|
||||
@ -208,7 +207,7 @@ type FilterLogsHandler interface {
|
||||
// SubscribeFilterLogs subscribes to the results of a streaming filter query.
|
||||
func (ec *EthereumClient) SubscribeFilterLogs(ctx *Context, query *FilterQuery, handler FilterLogsHandler, buffer int) (sub *Subscription, _ error) {
|
||||
// Subscribe to the event internally
|
||||
ch := make(chan vm.Log, buffer)
|
||||
ch := make(chan types.Log, buffer)
|
||||
rawSub, err := ec.client.SubscribeFilterLogs(ctx.context, query.query, ch)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -21,13 +21,13 @@ package geth
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
)
|
||||
|
||||
// Log represents a contract log event. These events are generated by the LOG
|
||||
// opcode and stored/indexed by the node.
|
||||
type Log struct {
|
||||
log *vm.Log
|
||||
log *types.Log
|
||||
}
|
||||
|
||||
func (l *Log) GetAddress() *Address { return &Address{l.log.Address} }
|
||||
@ -40,7 +40,7 @@ func (l *Log) GetBlockHash() *Hash { return &Hash{l.log.BlockHash} }
|
||||
func (l *Log) GetIndex() int { return int(l.log.Index) }
|
||||
|
||||
// Logs represents a slice of VM logs.
|
||||
type Logs struct{ logs vm.Logs }
|
||||
type Logs struct{ logs []*types.Log }
|
||||
|
||||
// Size returns the number of logs in the slice.
|
||||
func (l *Logs) Size() int {
|
||||
|
Reference in New Issue
Block a user