include file missing in last commit

This commit is contained in:
Rader 2018-05-24 14:42:32 +08:00
parent 2d7074c09b
commit 36ff6dcae0

View file

@ -251,8 +251,14 @@ func (c *BoundContract) FilterLogs(opts *FilterOpts, name string, query ...[]int
if opts == nil { if opts == nil {
opts = new(FilterOpts) opts = new(FilterOpts)
} }
// Append the event selector to the query parameters and construct the topic set
query = append([][]interface{}{{c.abi.Events[name].Id()}}, query...) var e abi.Event
var exist bool
if e, exist = c.abi.Events[name]; !exist {
return nil, nil, fmt.Errorf("abi: event [%v] not found", name)
}
// Append the event selector to the query parameters and construct the topic seft
query = append([][]interface{}{{e.Id()}}, query...)
topics, err := makeTopics(query...) topics, err := makeTopics(query...)
if err != nil { if err != nil {
@ -300,8 +306,14 @@ func (c *BoundContract) WatchLogs(opts *WatchOpts, name string, query ...[]inter
if opts == nil { if opts == nil {
opts = new(WatchOpts) opts = new(WatchOpts)
} }
var e abi.Event
var exist bool
if e, exist = c.abi.Events[name]; !exist {
return nil, nil, fmt.Errorf("abi: event [%v] not found", name)
}
// Append the event selector to the query parameters and construct the topic set // Append the event selector to the query parameters and construct the topic set
query = append([][]interface{}{{c.abi.Events[name].Id()}}, query...) query = append([][]interface{}{{e.Id()}}, query...)
topics, err := makeTopics(query...) topics, err := makeTopics(query...)
if err != nil { if err != nil {
@ -325,14 +337,21 @@ func (c *BoundContract) WatchLogs(opts *WatchOpts, name string, query ...[]inter
} }
// UnpackLog unpacks a retrieved log into the provided output structure. // UnpackLog unpacks a retrieved log into the provided output structure.
func (c *BoundContract) UnpackLog(out interface{}, event string, log types.Log) error { func (c *BoundContract) UnpackLog(out interface{}, eventName string, log types.Log) error {
if len(log.Data) > 0 { if len(log.Data) > 0 {
if err := c.abi.Unpack(out, event, log.Data); err != nil { if err := c.abi.Unpack(out, eventName, log.Data); err != nil {
return err return err
} }
} }
var e abi.Event
var exist bool
if e, exist = c.abi.Events[eventName]; !exist {
return fmt.Errorf("abi: event [%v] not found", eventName)
}
var indexed abi.Arguments var indexed abi.Arguments
for _, arg := range c.abi.Events[event].Inputs { for _, arg := range e.Inputs {
if arg.Indexed { if arg.Indexed {
indexed = append(indexed, arg) indexed = append(indexed, arg)
} }