diff --git a/rpc/types.go b/rpc/types.go index 83542c83db..205b58b0a2 100644 --- a/rpc/types.go +++ b/rpc/types.go @@ -74,6 +74,14 @@ func newHexData(input interface{}) *hexdata { } else { d.data = input.Bytes() } + case types.Bloom: + d.data = input.Bytes() + case *types.Bloom: + if input == nil { + d.isNil = true + } else { + d.data = input.Bytes() + } case *big.Int: d.data = input.Bytes() case int64: @@ -86,6 +94,18 @@ func newHexData(input interface{}) *hexdata { d.data = big.NewInt(int64(input)).Bytes() case uint: d.data = big.NewInt(int64(input)).Bytes() + case int8: + d.data = big.NewInt(int64(input)).Bytes() + case uint8: + d.data = big.NewInt(int64(input)).Bytes() + case int16: + d.data = big.NewInt(int64(input)).Bytes() + case uint16: + d.data = big.NewInt(int64(input)).Bytes() + case int32: + d.data = big.NewInt(int64(input)).Bytes() + case uint32: + d.data = big.NewInt(int64(input)).Bytes() case string: // hexstring d.data = common.Big(input).Bytes() default: