import "github.com/ethereum/go-ethereum/common/hexutil"
Package hexutil implements hex encoding with 0x prefix. This encoding is used by the Ethereum RPC API to transport binary data in JSON payloads.
All hex data must have prefix "0x".
For byte slices, the hex data must be of even length. An empty byte slice encodes as "0x".
Integers are encoded using the least amount of digits (no leading zero digits). Their encoding may be of uneven length. The number zero encodes as "0x0".
var ( ErrEmptyString = &decError{"empty hex string"} ErrSyntax = &decError{"invalid hex string"} ErrMissingPrefix = &decError{"hex string without 0x prefix"} ErrOddLength = &decError{"hex string of odd length"} ErrEmptyNumber = &decError{"hex string \"0x\""} ErrLeadingZero = &decError{"hex number with leading zero digits"} ErrUint64Range = &decError{"hex number > 64 bits"} ErrUintRange = &decError{fmt.Sprintf("hex number > %d bits", uintBits)} ErrBig256Range = &decError{"hex number > 256 bits"} )
Errors
Decode decodes a hex string with 0x prefix.
DecodeBig decodes a hex string with 0x prefix as a quantity. Numbers larger than 256 bits are not accepted.
DecodeUint64 decodes a hex string with 0x prefix as a quantity.
Encode encodes b as a hex string with 0x prefix.
EncodeBig encodes bigint as a hex string with 0x prefix. The sign of the integer is ignored.
EncodeUint64 encodes i as a hex string with 0x prefix.
MustDecode decodes a hex string with 0x prefix. It panics for invalid input.
MustDecodeBig decodes a hex string with 0x prefix as a quantity. It panics for invalid input.
MustDecodeUint64 decodes a hex string with 0x prefix as a quantity. It panics for invalid input.
UnmarshalFixedJSON decodes the input as a string with 0x prefix. The length of out determines the required input length. This function is commonly used to implement the UnmarshalJSON method for fixed-size types.
UnmarshalFixedText decodes the input as a string with 0x prefix. The length of out determines the required input length. This function is commonly used to implement the UnmarshalText method for fixed-size types.
Code:
package main import ( "encoding/json" "fmt" "github.com/ethereum/go-ethereum/common/hexutil" ) type MyType [5]byte func (v *MyType) UnmarshalText(input []byte) error { return hexutil.UnmarshalFixedText("MyType", input, v[:]) } func (v MyType) String() string { return hexutil.Bytes(v[:]).String() } func main() { var v1, v2 MyType fmt.Println("v1 error:", json.Unmarshal([]byte(`"0x01"`), &v1)) fmt.Println("v2 error:", json.Unmarshal([]byte(`"0x0101010101"`), &v2)) fmt.Println("v2:", v2) }
UnmarshalFixedUnprefixedText decodes the input as a string with optional 0x prefix. The length of out determines the required input length. This function is commonly used to implement the UnmarshalText method for fixed-size types.
Big marshals/unmarshals as a JSON string with 0x prefix. The zero value marshals as "0x0".
Negative integers are not supported at this time. Attempting to marshal them will return an error. Values larger than 256bits are rejected by Unmarshal but will be marshaled without error.
ImplementsGraphQLType returns true if Big implements the provided GraphQL type.
MarshalText implements encoding.TextMarshaler
String returns the hex encoding of b.
ToInt converts b to a big.Int.
UnmarshalGraphQL unmarshals the provided GraphQL query data.
UnmarshalJSON implements json.Unmarshaler.
UnmarshalText implements encoding.TextUnmarshaler
Bytes marshals/unmarshals as a JSON string with 0x prefix. The empty slice marshals as "0x".
ImplementsGraphQLType returns true if Bytes implements the specified GraphQL type.
MarshalText implements encoding.TextMarshaler
String returns the hex encoding of b.
UnmarshalGraphQL unmarshals the provided GraphQL query data.
UnmarshalJSON implements json.Unmarshaler.
UnmarshalText implements encoding.TextUnmarshaler.
Uint marshals/unmarshals as a JSON string with 0x prefix. The zero value marshals as "0x0".
MarshalText implements encoding.TextMarshaler.
String returns the hex encoding of b.
UnmarshalJSON implements json.Unmarshaler.
UnmarshalText implements encoding.TextUnmarshaler.
Uint64 marshals/unmarshals as a JSON string with 0x prefix. The zero value marshals as "0x0".
ImplementsGraphQLType returns true if Uint64 implements the provided GraphQL type.
MarshalText implements encoding.TextMarshaler.
String returns the hex encoding of b.
UnmarshalGraphQL unmarshals the provided GraphQL query data.
UnmarshalJSON implements json.Unmarshaler.
UnmarshalText implements encoding.TextUnmarshaler
Package hexutil imports 6 packages (graph) and is imported by 3291 packages. Updated 2020-11-25. Refresh now. Tools for package owners.