diff --git a/chain/events/filter/index.go b/chain/events/filter/index.go index 55b0639a2..45cabaa11 100644 --- a/chain/events/filter/index.go +++ b/chain/events/filter/index.go @@ -154,7 +154,10 @@ func (ei *EventIndex) CollectEvents(ctx context.Context, te *TipSetEvents, rever } isIndexedValue := func(b uint8) bool { - return b&types.EventFlagIndexedValue == types.EventFlagIndexedValue + // currently we mark the full entry as indexed if either the key + // or the value are indexed; in the future we will need finer-grained + // management of indices + return b&(types.EventFlagIndexedKey|types.EventFlagIndexedValue) > 0 } for msgIdx, em := range ems { diff --git a/chain/types/ethtypes/rlp.go b/chain/types/ethtypes/rlp.go index c906c60dc..049ea6fc4 100644 --- a/chain/types/ethtypes/rlp.go +++ b/chain/types/ethtypes/rlp.go @@ -18,7 +18,7 @@ func EncodeRLP(val interface{}) ([]byte, error) { } func encodeRLPListItems(list []interface{}) (result []byte, err error) { - var res []byte + res := []byte{} for _, elem := range list { encoded, err := encodeRLP(elem) if err != nil { @@ -165,7 +165,7 @@ func decodeLength(data []byte, lenInBytes int) (length int, err error) { func decodeListElems(data []byte, length int) (res []interface{}, err error) { totalConsumed := 0 - var result []interface{} + result := []interface{}{} for i := 0; totalConsumed < length && i < maxListElements; i++ { elem, consumed, err := decodeRLP(data[totalConsumed:])