Documentation ¶
Index ¶
- Constants
- func GetPackingTypes(args []Argument) []interface{}
- func Pack(argSpec []Argument, args ...interface{}) ([]byte, error)
- func PackIntoStruct(argSpec []Argument, st interface{}) ([]byte, error)
- func Packer(abiData, funcName string, args ...string) ([]byte, error)
- func ReadAbiFormulateCall(abiSpecBytes []byte, funcName string, args []string) ([]byte, error)
- func ReadAbiFormulateCallFile(abiLocation, binPath, funcName string, args []string) ([]byte, error)
- func Unpack(argSpec []Argument, data []byte, args ...interface{}) error
- func UnpackIntoStruct(argSpec []Argument, data []byte, st interface{}) error
- type AbiSpec
- type AbiSpecJSON
- type Argument
- type ArgumentJSON
- type EVMAddress
- type EVMBool
- type EVMBytes
- type EVMFixed
- type EVMInt
- type EVMString
- type EVMType
- type EVMUint
- type Event
- type FunctionID
- type FunctionSpec
- type Variable
Constants ¶
View Source
const ElementSize = 32
EVM Solidity calls and return values are packed into pieces of 32 bytes, including a bool (wasting 255 out of 256 bits)
View Source
const FunctionIDSize = 4
Variables ¶
This section is empty.
Functions ¶
func GetPackingTypes ¶ added in v0.20.1
func GetPackingTypes(args []Argument) []interface{}
func PackIntoStruct ¶ added in v0.20.1
func ReadAbiFormulateCall ¶ added in v0.20.1
func ReadAbiFormulateCallFile ¶ added in v0.20.1
func UnpackIntoStruct ¶ added in v0.20.1
Types ¶
type AbiSpec ¶ added in v0.20.1
type AbiSpec struct { Constructor FunctionSpec Fallback FunctionSpec Functions map[string]FunctionSpec Events map[string]Event }
func ReadAbiSpec ¶ added in v0.20.1
func ReadAbiSpecFile ¶ added in v0.20.1
type AbiSpecJSON ¶ added in v0.20.1
type AbiSpecJSON struct { Name string Type string Inputs []ArgumentJSON Outputs []ArgumentJSON Constant bool Payable bool StateMutability string Anonymous bool }
type Argument ¶ added in v0.20.1
func EVMTypeFromReflect ¶ added in v0.20.1
type ArgumentJSON ¶ added in v0.20.1
type ArgumentJSON struct { Name string Type string Components []ArgumentJSON Indexed bool }
type EVMAddress ¶ added in v0.20.1
type EVMAddress struct { }
func (EVMAddress) GetSignature ¶ added in v0.20.1
func (e EVMAddress) GetSignature() string
type EVMBool ¶ added in v0.20.1
type EVMBool struct { }
func (EVMBool) GetSignature ¶ added in v0.20.1
type EVMBytes ¶ added in v0.20.1
type EVMBytes struct {
M uint64
}
func (EVMBytes) GetSignature ¶ added in v0.20.1
type EVMFixed ¶ added in v0.20.1
type EVMFixed struct {
N, M uint64
// contains filtered or unexported fields
}
func (EVMFixed) GetSignature ¶ added in v0.20.1
type EVMInt ¶ added in v0.20.1
type EVMInt struct {
M uint64
}
func (EVMInt) GetSignature ¶ added in v0.20.1
type EVMString ¶ added in v0.20.1
type EVMString struct { }
func (EVMString) GetSignature ¶ added in v0.20.1
type EVMType ¶ added in v0.20.1
type EVMType interface { GetSignature() string // contains filtered or unexported methods }
type EVMUint ¶ added in v0.20.1
type EVMUint struct {
M uint64
}
func (EVMUint) GetSignature ¶ added in v0.20.1
type FunctionID ¶
type FunctionID [FunctionIDSize]byte
func GetFunctionID ¶ added in v0.20.1
func GetFunctionID(signature string) (id FunctionID)
func (FunctionID) Bytes ¶ added in v0.20.1
func (fs FunctionID) Bytes() []byte
type FunctionSpec ¶ added in v0.20.1
type FunctionSpec struct { FunctionID FunctionID Inputs []Argument Outputs []Argument }
func SpecFromFunctionReflect ¶ added in v0.20.1
func SpecFromFunctionReflect(fname string, v reflect.Value, skipIn, skipOut int) *FunctionSpec
func SpecFromStructReflect ¶ added in v0.20.1
SpecFromStructReflect generates a FunctionSpec where the arguments and return values are described a struct. Both args and rets should be set to the return value of reflect.TypeOf() with the respective struct as an argument.
func (*FunctionSpec) SetFunctionID ¶ added in v0.20.1
func (functionSpec *FunctionSpec) SetFunctionID(functionName string)
type Variable ¶ added in v0.20.1
func ReadAndDecodeContractReturn ¶ added in v0.20.1
Click to show internal directories.
Click to hide internal directories.