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 UnpackEvent(eventSpec Event, topics []burrow_binary.Word256, data []byte, ...) error
 - func UnpackIntoStruct(argSpec []Argument, data []byte, st interface{}) error
 - func UnpackRevert(data []byte) (message *string, err 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 UnpackEvent ¶ added in v0.22.0
func UnpackEvent(eventSpec Event, topics []burrow_binary.Word256, data []byte, args ...interface{}) error
* Given a eventSpec, get all the fields (topic fields or not)
func UnpackIntoStruct ¶ added in v0.20.1
func UnpackRevert ¶ added in v0.22.0
UnpackRevert decodes the revert reason if a contract called revert. If no reason was given, message will be nil else it will point to the string
Types ¶
type AbiSpec ¶ added in v0.20.1
type AbiSpec struct {
	Constructor FunctionSpec
	Fallback    FunctionSpec
	Functions   map[string]FunctionSpec
	Events      map[string]Event
}
    var RevertAbi *AbiSpec
    func ReadAbiSpec ¶ added in v0.20.1
func ReadAbiSpecFile ¶ added in v0.20.1
func (*AbiSpec) UnpackWithID ¶ added in v0.22.0
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
type Argument struct {
	Name        string
	EVM         EVMType
	IsArray     bool
	Indexed     bool
	Hashed      bool
	ArrayLength uint64
}
    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.