exec

package
v0.0.0-...-2935fa7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CallTypeInvalid  = CallType(1<<32 - 1)
	CallTypeCall     = CallType(0x00)
	CallTypeCode     = CallType(0x01)
	CallTypeDelegate = CallType(0x02)
	CallTypeStatic   = CallType(0x03)
)
View Source
const LogNKeyPrefix = "Log"

Variables

View Source
var (
	ErrInvalidLengthExec        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowExec          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupExec = fmt.Errorf("proto: unexpected end of group")
)

Functions

func EventStringAccountCall

func EventStringAccountCall(addr crypto.Address) string

func EventStringAccountInput

func EventStringAccountInput(addr crypto.Address) string

func EventStringAccountOutput

func EventStringAccountOutput(addr crypto.Address) string

func EventStringBlockExecution

func EventStringBlockExecution(height uint64) string

func EventStringGovernAccount

func EventStringGovernAccount(addr *crypto.Address) string

func EventStringLogEvent

func EventStringLogEvent(addr crypto.Address) string

func EventStringTxExecution

func EventStringTxExecution(txHash []byte) string

func LogNKey

func LogNKey(topic int) string

func LogNTextKey

func LogNTextKey(topic int) string

func NewLogFreeEventSink

func NewLogFreeEventSink(eventSink EventSink) *logFreeEventSink

func NewNoopEventSink

func NewNoopEventSink() *noopEventSink

func QueryForBlockExecution

func QueryForBlockExecution() *query.Builder

func QueryForBlockExecutionFromHeight

func QueryForBlockExecutionFromHeight(height uint64) *query.Builder

func QueryForTxExecution

func QueryForTxExecution(txHash []byte) query.Queryable

func SolidityEventID

func SolidityEventID(topics []Word256) abi.EventID

Types

type BeginBlock

type BeginBlock struct {
	// The height of this block
	Height uint64 `protobuf:"varint,1,opt,name=Height,proto3" json:"Height,omitempty"`
	// The number of transactions in the block (used as a checksum when consuming StreamEvents)
	NumTxs uint64 `protobuf:"varint,3,opt,name=NumTxs,proto3" json:"NumTxs,omitempty"`
	// The height of the most recent block we stored in state (which is the last non-empty block in current implementation)
	PredecessorHeight    uint64        `protobuf:"varint,4,opt,name=PredecessorHeight,proto3" json:"PredecessorHeight,omitempty"`
	Header               *types.Header `protobuf:"bytes,2,opt,name=Header,proto3" json:"Header,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*BeginBlock) Descriptor

func (*BeginBlock) Descriptor() ([]byte, []int)

func (*BeginBlock) GetHeader

func (m *BeginBlock) GetHeader() *types.Header

func (*BeginBlock) GetHeight

func (m *BeginBlock) GetHeight() uint64

func (*BeginBlock) GetNumTxs

func (m *BeginBlock) GetNumTxs() uint64

func (*BeginBlock) GetPredecessorHeight

func (m *BeginBlock) GetPredecessorHeight() uint64

func (*BeginBlock) Marshal

func (m *BeginBlock) Marshal() (dAtA []byte, err error)

func (*BeginBlock) MarshalTo

func (m *BeginBlock) MarshalTo(dAtA []byte) (int, error)

func (*BeginBlock) MarshalToSizedBuffer

func (m *BeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*BeginBlock) ProtoMessage

func (*BeginBlock) ProtoMessage()

func (*BeginBlock) Reset

func (m *BeginBlock) Reset()

func (*BeginBlock) Size

func (m *BeginBlock) Size() (n int)

func (*BeginBlock) String

func (m *BeginBlock) String() string

func (*BeginBlock) Unmarshal

func (m *BeginBlock) Unmarshal(dAtA []byte) error

func (*BeginBlock) XXX_DiscardUnknown

func (m *BeginBlock) XXX_DiscardUnknown()

func (*BeginBlock) XXX_Marshal

func (m *BeginBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BeginBlock) XXX_Merge

func (m *BeginBlock) XXX_Merge(src proto.Message)

func (*BeginBlock) XXX_MessageName

func (*BeginBlock) XXX_MessageName() string

func (*BeginBlock) XXX_Size

func (m *BeginBlock) XXX_Size() int

func (*BeginBlock) XXX_Unmarshal

func (m *BeginBlock) XXX_Unmarshal(b []byte) error

type BeginTx

type BeginTx struct {
	TxHeader *TxHeader `protobuf:"bytes,1,opt,name=TxHeader,proto3" json:"TxHeader,omitempty"`
	// The number of events generated by this transaction execution (used as a checksum when consuming StreamEvents)
	NumEvents uint64 `protobuf:"varint,5,opt,name=NumEvents,proto3" json:"NumEvents,omitempty"`
	// Result of tx execution
	Result *Result `protobuf:"bytes,2,opt,name=Result,proto3" json:"Result,omitempty"`
	// If tx execution was an exception
	Exception            *errors.Exception `protobuf:"bytes,4,opt,name=Exception,proto3" json:"Exception,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*BeginTx) Descriptor

func (*BeginTx) Descriptor() ([]byte, []int)

func (*BeginTx) GetException

func (m *BeginTx) GetException() *errors.Exception

func (*BeginTx) GetNumEvents

func (m *BeginTx) GetNumEvents() uint64

func (*BeginTx) GetResult

func (m *BeginTx) GetResult() *Result

func (*BeginTx) GetTxHeader

func (m *BeginTx) GetTxHeader() *TxHeader

func (*BeginTx) Marshal

func (m *BeginTx) Marshal() (dAtA []byte, err error)

func (*BeginTx) MarshalTo

func (m *BeginTx) MarshalTo(dAtA []byte) (int, error)

func (*BeginTx) MarshalToSizedBuffer

func (m *BeginTx) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*BeginTx) ProtoMessage

func (*BeginTx) ProtoMessage()

func (*BeginTx) Reset

func (m *BeginTx) Reset()

func (*BeginTx) Size

func (m *BeginTx) Size() (n int)

func (*BeginTx) String

func (m *BeginTx) String() string

func (*BeginTx) Unmarshal

func (m *BeginTx) Unmarshal(dAtA []byte) error

func (*BeginTx) XXX_DiscardUnknown

func (m *BeginTx) XXX_DiscardUnknown()

func (*BeginTx) XXX_Marshal

func (m *BeginTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BeginTx) XXX_Merge

func (m *BeginTx) XXX_Merge(src proto.Message)

func (*BeginTx) XXX_MessageName

func (*BeginTx) XXX_MessageName() string

func (*BeginTx) XXX_Size

func (m *BeginTx) XXX_Size() int

func (*BeginTx) XXX_Unmarshal

func (m *BeginTx) XXX_Unmarshal(b []byte) error

type BlockAccumulator

type BlockAccumulator struct {
	// contains filtered or unexported fields
}

func NewBlockAccumulator

func NewBlockAccumulator(continuityOptions ...ContinuityOpt) *BlockAccumulator

func (*BlockAccumulator) Consume

func (ba *BlockAccumulator) Consume(ev *StreamEvent) (*BlockExecution, error)

Consume will add the StreamEvent passed to the block accumulator and if the block complete is complete return the BlockExecution, otherwise will return nil

func (*BlockAccumulator) ConsumeBlockExecution

func (ba *BlockAccumulator) ConsumeBlockExecution(stream EventStream) (block *BlockExecution, err error)

type BlockExecution

type BlockExecution struct {
	// The height of this block
	Height uint64 `protobuf:"varint,1,opt,name=Height,proto3" json:"Height,omitempty"`
	// The height of the most recent block we stored in state (which is the last non-empty block in current implementation)
	PredecessorHeight    uint64         `protobuf:"varint,4,opt,name=PredecessorHeight,proto3" json:"PredecessorHeight,omitempty"`
	Header               *types.Header  `protobuf:"bytes,2,opt,name=Header,proto3" json:"Header,omitempty"`
	TxExecutions         []*TxExecution `protobuf:"bytes,3,rep,name=TxExecutions,proto3" json:"TxExecutions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*BlockExecution) AppendTxs

func (be *BlockExecution) AppendTxs(tail ...*TxExecution)

func (*BlockExecution) Descriptor

func (*BlockExecution) Descriptor() ([]byte, []int)

func (*BlockExecution) EventType

func (*BlockExecution) EventType() EventType

func (*BlockExecution) Get

func (be *BlockExecution) Get(key string) (interface{}, bool)

func (*BlockExecution) GetHeader

func (m *BlockExecution) GetHeader() *types.Header

func (*BlockExecution) GetHeight

func (m *BlockExecution) GetHeight() uint64

func (*BlockExecution) GetPredecessorHeight

func (m *BlockExecution) GetPredecessorHeight() uint64

func (*BlockExecution) GetTxExecutions

func (m *BlockExecution) GetTxExecutions() []*TxExecution

func (*BlockExecution) Marshal

func (m *BlockExecution) Marshal() (dAtA []byte, err error)

func (*BlockExecution) MarshalTo

func (m *BlockExecution) MarshalTo(dAtA []byte) (int, error)

func (*BlockExecution) MarshalToSizedBuffer

func (m *BlockExecution) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*BlockExecution) ProtoMessage

func (*BlockExecution) ProtoMessage()

func (*BlockExecution) Reset

func (m *BlockExecution) Reset()

func (*BlockExecution) Size

func (m *BlockExecution) Size() (n int)

func (*BlockExecution) StreamEvents

func (be *BlockExecution) StreamEvents() []*StreamEvent

Write out TxExecutions parenthetically

func (*BlockExecution) String

func (m *BlockExecution) String() string

func (*BlockExecution) Tx

func (be *BlockExecution) Tx(txEnv *txs.Envelope) *TxExecution

func (*BlockExecution) Unmarshal

func (m *BlockExecution) Unmarshal(dAtA []byte) error

func (*BlockExecution) XXX_DiscardUnknown

func (m *BlockExecution) XXX_DiscardUnknown()

func (*BlockExecution) XXX_Marshal

func (m *BlockExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BlockExecution) XXX_Merge

func (m *BlockExecution) XXX_Merge(src proto.Message)

func (*BlockExecution) XXX_MessageName

func (*BlockExecution) XXX_MessageName() string

func (*BlockExecution) XXX_Size

func (m *BlockExecution) XXX_Size() int

func (*BlockExecution) XXX_Unmarshal

func (m *BlockExecution) XXX_Unmarshal(b []byte) error

type CallData

type CallData struct {
	Caller github_com_klyed_hivesmartchain_crypto.Address  `protobuf:"bytes,1,opt,name=Caller,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Caller"`
	Callee github_com_klyed_hivesmartchain_crypto.Address  `protobuf:"bytes,2,opt,name=Callee,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Callee"`
	Data   github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,3,opt,name=Data,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"Data"`
	// Bytes of a big integer value
	Value                []byte   `protobuf:"bytes,4,opt,name=Value,proto3" json:"Value,omitempty"`
	Gas                  []byte   `protobuf:"bytes,5,opt,name=Gas,proto3" json:"Gas,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*CallData) Descriptor

func (*CallData) Descriptor() ([]byte, []int)

func (*CallData) GetGas

func (m *CallData) GetGas() []byte

func (*CallData) GetValue

func (m *CallData) GetValue() []byte

func (*CallData) Marshal

func (m *CallData) Marshal() (dAtA []byte, err error)

func (*CallData) MarshalTo

func (m *CallData) MarshalTo(dAtA []byte) (int, error)

func (*CallData) MarshalToSizedBuffer

func (m *CallData) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CallData) ProtoMessage

func (*CallData) ProtoMessage()

func (*CallData) Reset

func (m *CallData) Reset()

func (*CallData) Size

func (m *CallData) Size() (n int)

func (*CallData) String

func (m *CallData) String() string

func (*CallData) Unmarshal

func (m *CallData) Unmarshal(dAtA []byte) error

func (*CallData) XXX_DiscardUnknown

func (m *CallData) XXX_DiscardUnknown()

func (*CallData) XXX_Marshal

func (m *CallData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CallData) XXX_Merge

func (m *CallData) XXX_Merge(src proto.Message)

func (*CallData) XXX_MessageName

func (*CallData) XXX_MessageName() string

func (*CallData) XXX_Size

func (m *CallData) XXX_Size() int

func (*CallData) XXX_Unmarshal

func (m *CallData) XXX_Unmarshal(b []byte) error

type CallEvent

type CallEvent struct {
	CallType             CallType                                        `protobuf:"varint,5,opt,name=CallType,proto3,casttype=CallType" json:"CallType,omitempty"`
	CallData             *CallData                                       `protobuf:"bytes,1,opt,name=CallData,proto3" json:"CallData,omitempty"`
	Origin               github_com_klyed_hivesmartchain_crypto.Address  `protobuf:"bytes,2,opt,name=Origin,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Origin"`
	StackDepth           uint64                                          `protobuf:"varint,3,opt,name=StackDepth,proto3" json:"StackDepth,omitempty"`
	Return               github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,4,opt,name=Return,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"Return"`
	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
	XXX_unrecognized     []byte                                          `json:"-"`
	XXX_sizecache        int32                                           `json:"-"`
}

func (*CallEvent) Descriptor

func (*CallEvent) Descriptor() ([]byte, []int)

func (*CallEvent) GetCallData

func (m *CallEvent) GetCallData() *CallData

func (*CallEvent) GetCallType

func (m *CallEvent) GetCallType() CallType

func (*CallEvent) GetStackDepth

func (m *CallEvent) GetStackDepth() uint64

func (*CallEvent) Marshal

func (m *CallEvent) Marshal() (dAtA []byte, err error)

func (*CallEvent) MarshalTo

func (m *CallEvent) MarshalTo(dAtA []byte) (int, error)

func (*CallEvent) MarshalToSizedBuffer

func (m *CallEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CallEvent) ProtoMessage

func (*CallEvent) ProtoMessage()

func (*CallEvent) Reset

func (m *CallEvent) Reset()

func (*CallEvent) Size

func (m *CallEvent) Size() (n int)

func (*CallEvent) String

func (m *CallEvent) String() string

func (*CallEvent) Unmarshal

func (m *CallEvent) Unmarshal(dAtA []byte) error

func (*CallEvent) XXX_DiscardUnknown

func (m *CallEvent) XXX_DiscardUnknown()

func (*CallEvent) XXX_Marshal

func (m *CallEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CallEvent) XXX_Merge

func (m *CallEvent) XXX_Merge(src proto.Message)

func (*CallEvent) XXX_MessageName

func (*CallEvent) XXX_MessageName() string

func (*CallEvent) XXX_Size

func (m *CallEvent) XXX_Size() int

func (*CallEvent) XXX_Unmarshal

func (m *CallEvent) XXX_Unmarshal(b []byte) error

type CallType

type CallType uint32

func CallTypeFromString

func CallTypeFromString(name string) CallType

func (CallType) MarshalText

func (ct CallType) MarshalText() ([]byte, error)

func (CallType) String

func (ct CallType) String() string

func (*CallType) UnmarshalText

func (ct *CallType) UnmarshalText(data []byte) error

type ContinuityOpt

type ContinuityOpt byte
const (
	// Default - continuous blocks, txs, and events are always permitted
	Continuous ContinuityOpt = iota
	// Allows consumption of blocks where the next block has a different predecessor block to that which was last consumed
	NonConsecutiveBlocks
	// Allows consumption of transactions with non-monotonic index (within block) or a different number of transactions
	// to that which is expected
	NonConsecutiveTxs
	// Allows consumption of events with non-monotonic index (within transaction) or a different number of events
	// to that which is expected
	NonConsecutiveEvents
)

ContinuityOpt encodes the following possible relaxations in continuity

func GetContinuity

func GetContinuity(continuityOptions ...ContinuityOpt) ContinuityOpt

func (ContinuityOpt) Allows

func (so ContinuityOpt) Allows(opt ContinuityOpt) bool

type EndBlock

type EndBlock struct {
	Height               uint64   `protobuf:"varint,1,opt,name=Height,proto3" json:"Height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*EndBlock) Descriptor

func (*EndBlock) Descriptor() ([]byte, []int)

func (*EndBlock) GetHeight

func (m *EndBlock) GetHeight() uint64

func (*EndBlock) Marshal

func (m *EndBlock) Marshal() (dAtA []byte, err error)

func (*EndBlock) MarshalTo

func (m *EndBlock) MarshalTo(dAtA []byte) (int, error)

func (*EndBlock) MarshalToSizedBuffer

func (m *EndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EndBlock) ProtoMessage

func (*EndBlock) ProtoMessage()

func (*EndBlock) Reset

func (m *EndBlock) Reset()

func (*EndBlock) Size

func (m *EndBlock) Size() (n int)

func (*EndBlock) String

func (m *EndBlock) String() string

func (*EndBlock) Unmarshal

func (m *EndBlock) Unmarshal(dAtA []byte) error

func (*EndBlock) XXX_DiscardUnknown

func (m *EndBlock) XXX_DiscardUnknown()

func (*EndBlock) XXX_Marshal

func (m *EndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EndBlock) XXX_Merge

func (m *EndBlock) XXX_Merge(src proto.Message)

func (*EndBlock) XXX_MessageName

func (*EndBlock) XXX_MessageName() string

func (*EndBlock) XXX_Size

func (m *EndBlock) XXX_Size() int

func (*EndBlock) XXX_Unmarshal

func (m *EndBlock) XXX_Unmarshal(b []byte) error

type EndTx

type EndTx struct {
	// The hash of the transaction that caused this event to be generated
	TxHash               github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,3,opt,name=TxHash,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"TxHash"`
	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
	XXX_unrecognized     []byte                                          `json:"-"`
	XXX_sizecache        int32                                           `json:"-"`
}

func (*EndTx) Descriptor

func (*EndTx) Descriptor() ([]byte, []int)

func (*EndTx) Marshal

func (m *EndTx) Marshal() (dAtA []byte, err error)

func (*EndTx) MarshalTo

func (m *EndTx) MarshalTo(dAtA []byte) (int, error)

func (*EndTx) MarshalToSizedBuffer

func (m *EndTx) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EndTx) ProtoMessage

func (*EndTx) ProtoMessage()

func (*EndTx) Reset

func (m *EndTx) Reset()

func (*EndTx) Size

func (m *EndTx) Size() (n int)

func (*EndTx) String

func (m *EndTx) String() string

func (*EndTx) Unmarshal

func (m *EndTx) Unmarshal(dAtA []byte) error

func (*EndTx) XXX_DiscardUnknown

func (m *EndTx) XXX_DiscardUnknown()

func (*EndTx) XXX_Marshal

func (m *EndTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EndTx) XXX_Merge

func (m *EndTx) XXX_Merge(src proto.Message)

func (*EndTx) XXX_MessageName

func (*EndTx) XXX_MessageName() string

func (*EndTx) XXX_Size

func (m *EndTx) XXX_Size() int

func (*EndTx) XXX_Unmarshal

func (m *EndTx) XXX_Unmarshal(b []byte) error

type Event

type Event struct {
	Header               *Header             `protobuf:"bytes,1,opt,name=Header,proto3" json:"Header,omitempty"`
	Input                *InputEvent         `protobuf:"bytes,2,opt,name=Input,proto3" json:"Input,omitempty"`
	Output               *OutputEvent        `protobuf:"bytes,3,opt,name=Output,proto3" json:"Output,omitempty"`
	Call                 *CallEvent          `protobuf:"bytes,4,opt,name=Call,proto3" json:"Call,omitempty"`
	Log                  *LogEvent           `protobuf:"bytes,5,opt,name=Log,proto3" json:"Log,omitempty"`
	GovernAccount        *GovernAccountEvent `protobuf:"bytes,6,opt,name=GovernAccount,proto3" json:"GovernAccount,omitempty"`
	Print                *PrintEvent         `protobuf:"bytes,7,opt,name=Print,proto3" json:"Print,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*Event) Body

func (ev *Event) Body() string

func (*Event) Descriptor

func (*Event) Descriptor() ([]byte, []int)

func (*Event) EventType

func (ev *Event) EventType() EventType

func (*Event) Get

func (ev *Event) Get(key string) (value interface{}, ok bool)

func (*Event) GetCall

func (m *Event) GetCall() *CallEvent

func (*Event) GetGovernAccount

func (m *Event) GetGovernAccount() *GovernAccountEvent

func (*Event) GetHeader

func (m *Event) GetHeader() *Header

func (*Event) GetInput

func (m *Event) GetInput() *InputEvent

func (*Event) GetLog

func (m *Event) GetLog() *LogEvent

func (*Event) GetOutput

func (m *Event) GetOutput() *OutputEvent

func (*Event) GetPrint

func (m *Event) GetPrint() *PrintEvent

func (*Event) GetValue

func (this *Event) GetValue() interface{}

func (*Event) Marshal

func (m *Event) Marshal() (dAtA []byte, err error)

func (*Event) MarshalTo

func (m *Event) MarshalTo(dAtA []byte) (int, error)

func (*Event) MarshalToSizedBuffer

func (m *Event) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) Reset

func (m *Event) Reset()

func (*Event) SetValue

func (this *Event) SetValue(value interface{}) bool

func (*Event) Size

func (m *Event) Size() (n int)

func (*Event) String

func (ev *Event) String() string

func (*Event) Unmarshal

func (m *Event) Unmarshal(dAtA []byte) error

func (*Event) XXX_DiscardUnknown

func (m *Event) XXX_DiscardUnknown()

func (*Event) XXX_Marshal

func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Event) XXX_Merge

func (m *Event) XXX_Merge(src proto.Message)

func (*Event) XXX_MessageName

func (*Event) XXX_MessageName() string

func (*Event) XXX_Size

func (m *Event) XXX_Size() int

func (*Event) XXX_Unmarshal

func (m *Event) XXX_Unmarshal(b []byte) error

type EventSink

type EventSink interface {
	Call(call *CallEvent, exception *errors.Exception) error
	Log(log *LogEvent) error
	Print(print *PrintEvent) error
}

type EventStream

type EventStream interface {
	Recv() (*StreamEvent, error)
}

type EventType

type EventType uint32
const (
	TypeUnknown EventType = iota
	TypeCall
	TypeLog
	TypeAccountInput
	TypeAccountOutput
	TypeTxExecution
	TypeBlockExecution
	TypeGovernAccount
	TypeBeginBlock
	TypeBeginTx
	TypeEnvelope
	TypeEndTx
	TypeEndBlock
	TypePrint
)

Execution event types

func EventTypeFromString

func EventTypeFromString(name string) EventType

func (EventType) MarshalText

func (typ EventType) MarshalText() ([]byte, error)

func (EventType) String

func (typ EventType) String() string

func (*EventType) UnmarshalText

func (typ *EventType) UnmarshalText(data []byte) error

type Events

type Events []*Event

func (*Events) Append

func (evs *Events) Append(tail ...*Event)

func (*Events) Call

func (evs *Events) Call(call *CallEvent, exception *errors.Exception) error

func (Events) CallTrace

func (evs Events) CallTrace() string

func (Events) ExceptionalCalls

func (evs Events) ExceptionalCalls() []*Event

func (Events) Filter

func (evs Events) Filter(qry query.Query) Events

func (*Events) Log

func (evs *Events) Log(log *LogEvent) error

func (Events) NestedCallErrors

func (evs Events) NestedCallErrors() []errors.NestedCallError

func (*Events) Print

func (evs *Events) Print(print *PrintEvent) error

type GovernAccountEvent

type GovernAccountEvent struct {
	AccountUpdate        *spec.TemplateAccount `protobuf:"bytes,1,opt,name=AccountUpdate,proto3" json:"AccountUpdate,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (*GovernAccountEvent) Descriptor

func (*GovernAccountEvent) Descriptor() ([]byte, []int)

func (*GovernAccountEvent) GetAccountUpdate

func (m *GovernAccountEvent) GetAccountUpdate() *spec.TemplateAccount

func (*GovernAccountEvent) Marshal

func (m *GovernAccountEvent) Marshal() (dAtA []byte, err error)

func (*GovernAccountEvent) MarshalTo

func (m *GovernAccountEvent) MarshalTo(dAtA []byte) (int, error)

func (*GovernAccountEvent) MarshalToSizedBuffer

func (m *GovernAccountEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GovernAccountEvent) ProtoMessage

func (*GovernAccountEvent) ProtoMessage()

func (*GovernAccountEvent) Reset

func (m *GovernAccountEvent) Reset()

func (*GovernAccountEvent) Size

func (m *GovernAccountEvent) Size() (n int)

func (*GovernAccountEvent) String

func (m *GovernAccountEvent) String() string

func (*GovernAccountEvent) Unmarshal

func (m *GovernAccountEvent) Unmarshal(dAtA []byte) error

func (*GovernAccountEvent) XXX_DiscardUnknown

func (m *GovernAccountEvent) XXX_DiscardUnknown()

func (*GovernAccountEvent) XXX_Marshal

func (m *GovernAccountEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GovernAccountEvent) XXX_Merge

func (m *GovernAccountEvent) XXX_Merge(src proto.Message)

func (*GovernAccountEvent) XXX_MessageName

func (*GovernAccountEvent) XXX_MessageName() string

func (*GovernAccountEvent) XXX_Size

func (m *GovernAccountEvent) XXX_Size() int

func (*GovernAccountEvent) XXX_Unmarshal

func (m *GovernAccountEvent) XXX_Unmarshal(b []byte) error
type Header struct {
	// Transaction type
	TxType github_com_klyed_hivesmartchain_txs_payload.Type `protobuf:"varint,1,opt,name=TxType,proto3,casttype=github.com/klyed/hivesmartchain/txs/payload.Type" json:"TxType,omitempty"`
	// The hash of the transaction that caused this event to be generated
	TxHash github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,2,opt,name=TxHash,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"TxHash"`
	// The type of event
	EventType EventType `protobuf:"varint,3,opt,name=EventType,proto3,casttype=EventType" json:"EventType,omitempty"`
	// EventID published with event
	EventID string `protobuf:"bytes,4,opt,name=EventID,proto3" json:"EventID,omitempty"`
	// The block height at which this event was emitted
	Height uint64 `protobuf:"varint,5,opt,name=Height,proto3" json:"Height,omitempty"`
	// The index of this event relative to other events generated by the same transaction
	Index uint64 `protobuf:"varint,6,opt,name=Index,proto3" json:"Index,omitempty"`
	// If event is exception
	Exception            *errors.Exception `protobuf:"bytes,7,opt,name=Exception,proto3" json:"Exception,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*Header) Descriptor

func (*Header) Descriptor() ([]byte, []int)

func (*Header) GetEventID

func (m *Header) GetEventID() string

func (*Header) GetEventType

func (m *Header) GetEventType() EventType

func (*Header) GetException

func (m *Header) GetException() *errors.Exception

func (*Header) GetHeight

func (m *Header) GetHeight() uint64

func (*Header) GetIndex

func (m *Header) GetIndex() uint64

func (*Header) GetTxType

func (*Header) Marshal

func (m *Header) Marshal() (dAtA []byte, err error)

func (*Header) MarshalTo

func (m *Header) MarshalTo(dAtA []byte) (int, error)

func (*Header) MarshalToSizedBuffer

func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) Reset

func (m *Header) Reset()

func (*Header) Size

func (m *Header) Size() (n int)

func (*Header) String

func (h *Header) String() string

func (*Header) Unmarshal

func (m *Header) Unmarshal(dAtA []byte) error

func (*Header) XXX_DiscardUnknown

func (m *Header) XXX_DiscardUnknown()

func (*Header) XXX_Marshal

func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Header) XXX_Merge

func (m *Header) XXX_Merge(src proto.Message)

func (*Header) XXX_MessageName

func (*Header) XXX_MessageName() string

func (*Header) XXX_Size

func (m *Header) XXX_Size() int

func (*Header) XXX_Unmarshal

func (m *Header) XXX_Unmarshal(b []byte) error

type InputEvent

type InputEvent struct {
	Address              github_com_klyed_hivesmartchain_crypto.Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Address"`
	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
	XXX_unrecognized     []byte                                         `json:"-"`
	XXX_sizecache        int32                                          `json:"-"`
}

func (*InputEvent) Descriptor

func (*InputEvent) Descriptor() ([]byte, []int)

func (*InputEvent) Marshal

func (m *InputEvent) Marshal() (dAtA []byte, err error)

func (*InputEvent) MarshalTo

func (m *InputEvent) MarshalTo(dAtA []byte) (int, error)

func (*InputEvent) MarshalToSizedBuffer

func (m *InputEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*InputEvent) ProtoMessage

func (*InputEvent) ProtoMessage()

func (*InputEvent) Reset

func (m *InputEvent) Reset()

func (*InputEvent) Size

func (m *InputEvent) Size() (n int)

func (*InputEvent) String

func (m *InputEvent) String() string

func (*InputEvent) Unmarshal

func (m *InputEvent) Unmarshal(dAtA []byte) error

func (*InputEvent) XXX_DiscardUnknown

func (m *InputEvent) XXX_DiscardUnknown()

func (*InputEvent) XXX_Marshal

func (m *InputEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InputEvent) XXX_Merge

func (m *InputEvent) XXX_Merge(src proto.Message)

func (*InputEvent) XXX_MessageName

func (*InputEvent) XXX_MessageName() string

func (*InputEvent) XXX_Size

func (m *InputEvent) XXX_Size() int

func (*InputEvent) XXX_Unmarshal

func (m *InputEvent) XXX_Unmarshal(b []byte) error

type LogEvent

type LogEvent struct {
	Address              github_com_klyed_hivesmartchain_crypto.Address   `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Address"`
	Data                 github_com_klyed_hivesmartchain_binary.HexBytes  `protobuf:"bytes,2,opt,name=Data,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"Data"`
	Topics               []github_com_klyed_hivesmartchain_binary.Word256 `protobuf:"bytes,3,rep,name=Topics,proto3,customtype=github.com/klyed/hivesmartchain/binary.Word256" json:"Topics"`
	XXX_NoUnkeyedLiteral struct{}                                         `json:"-"`
	XXX_unrecognized     []byte                                           `json:"-"`
	XXX_sizecache        int32                                            `json:"-"`
}

func (*LogEvent) Descriptor

func (*LogEvent) Descriptor() ([]byte, []int)

func (*LogEvent) Get

func (log *LogEvent) Get(key string) (interface{}, bool)

func (*LogEvent) GetTopic

func (log *LogEvent) GetTopic(i int) Word256

func (*LogEvent) Marshal

func (m *LogEvent) Marshal() (dAtA []byte, err error)

func (*LogEvent) MarshalTo

func (m *LogEvent) MarshalTo(dAtA []byte) (int, error)

func (*LogEvent) MarshalToSizedBuffer

func (m *LogEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*LogEvent) ProtoMessage

func (*LogEvent) ProtoMessage()

func (*LogEvent) Reset

func (m *LogEvent) Reset()

func (*LogEvent) Size

func (m *LogEvent) Size() (n int)

func (*LogEvent) String

func (m *LogEvent) String() string

func (*LogEvent) Unmarshal

func (m *LogEvent) Unmarshal(dAtA []byte) error

func (*LogEvent) XXX_DiscardUnknown

func (m *LogEvent) XXX_DiscardUnknown()

func (*LogEvent) XXX_Marshal

func (m *LogEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LogEvent) XXX_Merge

func (m *LogEvent) XXX_Merge(src proto.Message)

func (*LogEvent) XXX_MessageName

func (*LogEvent) XXX_MessageName() string

func (*LogEvent) XXX_Size

func (m *LogEvent) XXX_Size() int

func (*LogEvent) XXX_Unmarshal

func (m *LogEvent) XXX_Unmarshal(b []byte) error

type Origin

type Origin struct {
	// The original ChainID from for this transaction
	ChainID string `protobuf:"bytes,1,opt,name=ChainID,proto3" json:"ChainID,omitempty"`
	// The original height at which this transaction was committed
	Height uint64 `protobuf:"varint,2,opt,name=Height,proto3" json:"Height,omitempty"`
	// The original index in the block
	Index uint64 `protobuf:"varint,3,opt,name=Index,proto3" json:"Index,omitempty"`
	// The original block time for this transaction
	Time                 time.Time `protobuf:"bytes,4,opt,name=Time,proto3,stdtime" json:"Time"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*Origin) Descriptor

func (*Origin) Descriptor() ([]byte, []int)

func (*Origin) GetChainID

func (m *Origin) GetChainID() string

func (*Origin) GetHeight

func (m *Origin) GetHeight() uint64

func (*Origin) GetIndex

func (m *Origin) GetIndex() uint64

func (*Origin) GetTime

func (m *Origin) GetTime() time.Time

func (*Origin) Marshal

func (m *Origin) Marshal() (dAtA []byte, err error)

func (*Origin) MarshalTo

func (m *Origin) MarshalTo(dAtA []byte) (int, error)

func (*Origin) MarshalToSizedBuffer

func (m *Origin) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Origin) ProtoMessage

func (*Origin) ProtoMessage()

func (*Origin) Reset

func (m *Origin) Reset()

func (*Origin) Size

func (m *Origin) Size() (n int)

func (*Origin) String

func (m *Origin) String() string

func (*Origin) Unmarshal

func (m *Origin) Unmarshal(dAtA []byte) error

func (*Origin) XXX_DiscardUnknown

func (m *Origin) XXX_DiscardUnknown()

func (*Origin) XXX_Marshal

func (m *Origin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Origin) XXX_Merge

func (m *Origin) XXX_Merge(src proto.Message)

func (*Origin) XXX_MessageName

func (*Origin) XXX_MessageName() string

func (*Origin) XXX_Size

func (m *Origin) XXX_Size() int

func (*Origin) XXX_Unmarshal

func (m *Origin) XXX_Unmarshal(b []byte) error

type OutputEvent

type OutputEvent struct {
	Address              github_com_klyed_hivesmartchain_crypto.Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Address"`
	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
	XXX_unrecognized     []byte                                         `json:"-"`
	XXX_sizecache        int32                                          `json:"-"`
}

func (*OutputEvent) Descriptor

func (*OutputEvent) Descriptor() ([]byte, []int)

func (*OutputEvent) Marshal

func (m *OutputEvent) Marshal() (dAtA []byte, err error)

func (*OutputEvent) MarshalTo

func (m *OutputEvent) MarshalTo(dAtA []byte) (int, error)

func (*OutputEvent) MarshalToSizedBuffer

func (m *OutputEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*OutputEvent) ProtoMessage

func (*OutputEvent) ProtoMessage()

func (*OutputEvent) Reset

func (m *OutputEvent) Reset()

func (*OutputEvent) Size

func (m *OutputEvent) Size() (n int)

func (*OutputEvent) String

func (m *OutputEvent) String() string

func (*OutputEvent) Unmarshal

func (m *OutputEvent) Unmarshal(dAtA []byte) error

func (*OutputEvent) XXX_DiscardUnknown

func (m *OutputEvent) XXX_DiscardUnknown()

func (*OutputEvent) XXX_Marshal

func (m *OutputEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*OutputEvent) XXX_Merge

func (m *OutputEvent) XXX_Merge(src proto.Message)

func (*OutputEvent) XXX_MessageName

func (*OutputEvent) XXX_MessageName() string

func (*OutputEvent) XXX_Size

func (m *OutputEvent) XXX_Size() int

func (*OutputEvent) XXX_Unmarshal

func (m *OutputEvent) XXX_Unmarshal(b []byte) error

type PrintEvent

type PrintEvent struct {
	Address              github_com_klyed_hivesmartchain_crypto.Address  `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/klyed/hivesmartchain/crypto.Address" json:"Address"`
	Data                 github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,2,opt,name=Data,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"Data"`
	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
	XXX_unrecognized     []byte                                          `json:"-"`
	XXX_sizecache        int32                                           `json:"-"`
}

func (*PrintEvent) Descriptor

func (*PrintEvent) Descriptor() ([]byte, []int)

func (*PrintEvent) Marshal

func (m *PrintEvent) Marshal() (dAtA []byte, err error)

func (*PrintEvent) MarshalTo

func (m *PrintEvent) MarshalTo(dAtA []byte) (int, error)

func (*PrintEvent) MarshalToSizedBuffer

func (m *PrintEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PrintEvent) ProtoMessage

func (*PrintEvent) ProtoMessage()

func (*PrintEvent) Reset

func (m *PrintEvent) Reset()

func (*PrintEvent) Size

func (m *PrintEvent) Size() (n int)

func (*PrintEvent) String

func (m *PrintEvent) String() string

func (*PrintEvent) Unmarshal

func (m *PrintEvent) Unmarshal(dAtA []byte) error

func (*PrintEvent) XXX_DiscardUnknown

func (m *PrintEvent) XXX_DiscardUnknown()

func (*PrintEvent) XXX_Marshal

func (m *PrintEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PrintEvent) XXX_Merge

func (m *PrintEvent) XXX_Merge(src proto.Message)

func (*PrintEvent) XXX_MessageName

func (*PrintEvent) XXX_MessageName() string

func (*PrintEvent) XXX_Size

func (m *PrintEvent) XXX_Size() int

func (*PrintEvent) XXX_Unmarshal

func (m *PrintEvent) XXX_Unmarshal(b []byte) error

type Result

type Result struct {
	// EVM execution return
	Return []byte `protobuf:"bytes,1,opt,name=Return,proto3" json:"Return,omitempty"`
	// Gas used in computation
	GasUsed uint64 `protobuf:"varint,2,opt,name=GasUsed,proto3" json:"GasUsed,omitempty"`
	// Name entry created
	NameEntry *names.Entry `protobuf:"bytes,3,opt,name=NameEntry,proto3" json:"NameEntry,omitempty"`
	// Permission update performed
	PermArgs             *permission.PermArgs `protobuf:"bytes,4,opt,name=PermArgs,proto3" json:"PermArgs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

Could structure this further if needed - sum type of various results relevant to different transaction types

func (*Result) Descriptor

func (*Result) Descriptor() ([]byte, []int)

func (*Result) GetGasUsed

func (m *Result) GetGasUsed() uint64

func (*Result) GetNameEntry

func (m *Result) GetNameEntry() *names.Entry

func (*Result) GetPermArgs

func (m *Result) GetPermArgs() *permission.PermArgs

func (*Result) GetReturn

func (m *Result) GetReturn() []byte

func (*Result) Marshal

func (m *Result) Marshal() (dAtA []byte, err error)

func (*Result) MarshalTo

func (m *Result) MarshalTo(dAtA []byte) (int, error)

func (*Result) MarshalToSizedBuffer

func (m *Result) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Result) ProtoMessage

func (*Result) ProtoMessage()

func (*Result) Reset

func (m *Result) Reset()

func (*Result) Size

func (m *Result) Size() (n int)

func (*Result) String

func (m *Result) String() string

func (*Result) Unmarshal

func (m *Result) Unmarshal(dAtA []byte) error

func (*Result) XXX_DiscardUnknown

func (m *Result) XXX_DiscardUnknown()

func (*Result) XXX_Marshal

func (m *Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Result) XXX_Merge

func (m *Result) XXX_Merge(src proto.Message)

func (*Result) XXX_MessageName

func (*Result) XXX_MessageName() string

func (*Result) XXX_Size

func (m *Result) XXX_Size() int

func (*Result) XXX_Unmarshal

func (m *Result) XXX_Unmarshal(b []byte) error

type StreamEvent

type StreamEvent struct {
	BeginBlock           *BeginBlock                                   `protobuf:"bytes,1,opt,name=BeginBlock,proto3" json:"BeginBlock,omitempty"`
	BeginTx              *BeginTx                                      `protobuf:"bytes,2,opt,name=BeginTx,proto3" json:"BeginTx,omitempty"`
	Envelope             *github_com_klyed_hivesmartchain_txs.Envelope `protobuf:"bytes,3,opt,name=Envelope,proto3,customtype=github.com/klyed/hivesmartchain/txs.Envelope" json:"Envelope,omitempty"`
	Event                *Event                                        `protobuf:"bytes,4,opt,name=Event,proto3" json:"Event,omitempty"`
	EndTx                *EndTx                                        `protobuf:"bytes,5,opt,name=EndTx,proto3" json:"EndTx,omitempty"`
	EndBlock             *EndBlock                                     `protobuf:"bytes,6,opt,name=EndBlock,proto3" json:"EndBlock,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                      `json:"-"`
	XXX_unrecognized     []byte                                        `json:"-"`
	XXX_sizecache        int32                                         `json:"-"`
}

func (*StreamEvent) Descriptor

func (*StreamEvent) Descriptor() ([]byte, []int)

func (*StreamEvent) EventType

func (ev *StreamEvent) EventType() EventType

func (*StreamEvent) Get

func (ev *StreamEvent) Get(key string) (interface{}, bool)

func (*StreamEvent) GetBeginBlock

func (m *StreamEvent) GetBeginBlock() *BeginBlock

func (*StreamEvent) GetBeginTx

func (m *StreamEvent) GetBeginTx() *BeginTx

func (*StreamEvent) GetEndBlock

func (m *StreamEvent) GetEndBlock() *EndBlock

func (*StreamEvent) GetEndTx

func (m *StreamEvent) GetEndTx() *EndTx

func (*StreamEvent) GetEvent

func (m *StreamEvent) GetEvent() *Event

func (*StreamEvent) GetValue

func (this *StreamEvent) GetValue() interface{}

func (*StreamEvent) Marshal

func (m *StreamEvent) Marshal() (dAtA []byte, err error)

func (*StreamEvent) MarshalTo

func (m *StreamEvent) MarshalTo(dAtA []byte) (int, error)

func (*StreamEvent) MarshalToSizedBuffer

func (m *StreamEvent) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StreamEvent) ProtoMessage

func (*StreamEvent) ProtoMessage()

func (*StreamEvent) Reset

func (m *StreamEvent) Reset()

func (*StreamEvent) SetValue

func (this *StreamEvent) SetValue(value interface{}) bool

func (*StreamEvent) Size

func (m *StreamEvent) Size() (n int)

func (*StreamEvent) String

func (m *StreamEvent) String() string

func (*StreamEvent) Unmarshal

func (m *StreamEvent) Unmarshal(dAtA []byte) error

func (*StreamEvent) XXX_DiscardUnknown

func (m *StreamEvent) XXX_DiscardUnknown()

func (*StreamEvent) XXX_Marshal

func (m *StreamEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StreamEvent) XXX_Merge

func (m *StreamEvent) XXX_Merge(src proto.Message)

func (*StreamEvent) XXX_MessageName

func (*StreamEvent) XXX_MessageName() string

func (*StreamEvent) XXX_Size

func (m *StreamEvent) XXX_Size() int

func (*StreamEvent) XXX_Unmarshal

func (m *StreamEvent) XXX_Unmarshal(b []byte) error

type StreamEvents

type StreamEvents struct {
	StreamEvents         []*StreamEvent `protobuf:"bytes,1,rep,name=StreamEvents,proto3" json:"StreamEvents,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

This message exists purely for framing []StreamEvent

func (*StreamEvents) Descriptor

func (*StreamEvents) Descriptor() ([]byte, []int)

func (*StreamEvents) GetStreamEvents

func (m *StreamEvents) GetStreamEvents() []*StreamEvent

func (*StreamEvents) Marshal

func (m *StreamEvents) Marshal() (dAtA []byte, err error)

func (*StreamEvents) MarshalTo

func (m *StreamEvents) MarshalTo(dAtA []byte) (int, error)

func (*StreamEvents) MarshalToSizedBuffer

func (m *StreamEvents) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StreamEvents) ProtoMessage

func (*StreamEvents) ProtoMessage()

func (*StreamEvents) Recv

func (ses *StreamEvents) Recv() (*StreamEvent, error)

func (*StreamEvents) Reset

func (m *StreamEvents) Reset()

func (*StreamEvents) Size

func (m *StreamEvents) Size() (n int)

func (*StreamEvents) String

func (m *StreamEvents) String() string

func (*StreamEvents) Unmarshal

func (m *StreamEvents) Unmarshal(dAtA []byte) error

func (*StreamEvents) XXX_DiscardUnknown

func (m *StreamEvents) XXX_DiscardUnknown()

func (*StreamEvents) XXX_Marshal

func (m *StreamEvents) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StreamEvents) XXX_Merge

func (m *StreamEvents) XXX_Merge(src proto.Message)

func (*StreamEvents) XXX_MessageName

func (*StreamEvents) XXX_MessageName() string

func (*StreamEvents) XXX_Size

func (m *StreamEvents) XXX_Size() int

func (*StreamEvents) XXX_Unmarshal

func (m *StreamEvents) XXX_Unmarshal(b []byte) error

type TxExecution

type TxExecution struct {
	*TxHeader `protobuf:"bytes,1,opt,name=Header,proto3,embedded=Header" json:"Header,omitempty"`
	// Signed Tx that triggered this execution
	Envelope *github_com_klyed_hivesmartchain_txs.Envelope `protobuf:"bytes,6,opt,name=Envelope,proto3,customtype=github.com/klyed/hivesmartchain/txs.Envelope" json:"Envelope,omitempty"`
	// Execution events
	Events []*Event `protobuf:"bytes,7,rep,name=Events,proto3" json:"Events,omitempty"`
	// The execution results
	Result *Result `protobuf:"bytes,8,opt,name=Result,proto3" json:"Result,omitempty"`
	// The transaction receipt
	Receipt *txs.Receipt `protobuf:"bytes,9,opt,name=Receipt,proto3" json:"Receipt,omitempty"`
	// If execution was an exception
	Exception *errors.Exception `protobuf:"bytes,10,opt,name=Exception,proto3" json:"Exception,omitempty"`
	// A proposal may contain other transactions
	TxExecutions         []*TxExecution `protobuf:"bytes,11,rep,name=TxExecutions,proto3" json:"TxExecutions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func NewTxExecution

func NewTxExecution(txEnv *txs.Envelope) *TxExecution

func (*TxExecution) Append

func (txe *TxExecution) Append(tail ...*Event)

func (*TxExecution) Call

func (txe *TxExecution) Call(call *CallEvent, exception *errors.Exception) error

func (*TxExecution) CallError

func (txe *TxExecution) CallError() *errors.CallError

func (*TxExecution) CallTrace

func (txe *TxExecution) CallTrace() string

func (*TxExecution) Descriptor

func (*TxExecution) Descriptor() ([]byte, []int)

func (*TxExecution) EventType

func (*TxExecution) EventType() EventType

func (*TxExecution) ExceptionalCalls

func (txe *TxExecution) ExceptionalCalls() []*Event

func (*TxExecution) Get

func (txe *TxExecution) Get(key string) (interface{}, bool)

Tags

func (*TxExecution) GetEvents

func (m *TxExecution) GetEvents() []*Event

func (*TxExecution) GetException

func (m *TxExecution) GetException() *errors.Exception

func (*TxExecution) GetReceipt

func (m *TxExecution) GetReceipt() *txs.Receipt

func (*TxExecution) GetResult

func (m *TxExecution) GetResult() *Result

func (*TxExecution) GetTxExecutions

func (m *TxExecution) GetTxExecutions() []*TxExecution

func (*TxExecution) GetTxHash

func (txe *TxExecution) GetTxHash() binary.HexBytes

func (*TxExecution) GovernAccount

func (txe *TxExecution) GovernAccount(governAccount *GovernAccountEvent, exception *errors.Exception)

func (*TxExecution) Header

func (txe *TxExecution) Header(eventType EventType, eventID string, exception *errors.Exception) *Header

func (*TxExecution) Input

func (txe *TxExecution) Input(address crypto.Address, exception *errors.Exception)

Emit events

func (*TxExecution) Log

func (txe *TxExecution) Log(log *LogEvent) error

func (*TxExecution) Marshal

func (m *TxExecution) Marshal() (dAtA []byte, err error)

func (*TxExecution) MarshalTo

func (m *TxExecution) MarshalTo(dAtA []byte) (int, error)

func (*TxExecution) MarshalToSizedBuffer

func (m *TxExecution) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxExecution) Name

func (txe *TxExecution) Name(entry *names.Entry)

func (*TxExecution) Output

func (txe *TxExecution) Output(address crypto.Address, exception *errors.Exception)

func (*TxExecution) Permission

func (txe *TxExecution) Permission(permArgs *permission.PermArgs)

func (*TxExecution) Print

func (txe *TxExecution) Print(print *PrintEvent) error

func (*TxExecution) ProtoMessage

func (*TxExecution) ProtoMessage()

func (*TxExecution) PushError

func (txe *TxExecution) PushError(err error) bool

Errors pushed to TxExecutions end up in merkle state so it is essential that they are deterministic and independent of the code path taken to execution (e.g. replay takes a different path to that of normal consensus reactor so stack traces may differ - as they may across architectures)

func (*TxExecution) Reset

func (m *TxExecution) Reset()

func (*TxExecution) Return

func (txe *TxExecution) Return(returnValue []byte, gasUsed uint64)

Set result

func (*TxExecution) Size

func (m *TxExecution) Size() (n int)

func (*TxExecution) StreamEvents

func (txe *TxExecution) StreamEvents() []*StreamEvent

func (*TxExecution) String

func (m *TxExecution) String() string

func (*TxExecution) TaggedEvents

func (txe *TxExecution) TaggedEvents() Events

func (*TxExecution) Unmarshal

func (m *TxExecution) Unmarshal(dAtA []byte) error

func (*TxExecution) XXX_DiscardUnknown

func (m *TxExecution) XXX_DiscardUnknown()

func (*TxExecution) XXX_Marshal

func (m *TxExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxExecution) XXX_Merge

func (m *TxExecution) XXX_Merge(src proto.Message)

func (*TxExecution) XXX_MessageName

func (*TxExecution) XXX_MessageName() string

func (*TxExecution) XXX_Size

func (m *TxExecution) XXX_Size() int

func (*TxExecution) XXX_Unmarshal

func (m *TxExecution) XXX_Unmarshal(b []byte) error

type TxExecutionKey

type TxExecutionKey struct {
	// The block height
	Height uint64 `protobuf:"varint,1,opt,name=Height,proto3" json:"Height,omitempty"`
	// The offset of the TxExecution in bytes
	Offset               uint64   `protobuf:"varint,2,opt,name=Offset,proto3" json:"Offset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TxExecutionKey) Descriptor

func (*TxExecutionKey) Descriptor() ([]byte, []int)

func (*TxExecutionKey) GetHeight

func (m *TxExecutionKey) GetHeight() uint64

func (*TxExecutionKey) GetOffset

func (m *TxExecutionKey) GetOffset() uint64

func (*TxExecutionKey) Marshal

func (m *TxExecutionKey) Marshal() (dAtA []byte, err error)

func (*TxExecutionKey) MarshalTo

func (m *TxExecutionKey) MarshalTo(dAtA []byte) (int, error)

func (*TxExecutionKey) MarshalToSizedBuffer

func (m *TxExecutionKey) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxExecutionKey) ProtoMessage

func (*TxExecutionKey) ProtoMessage()

func (*TxExecutionKey) Reset

func (m *TxExecutionKey) Reset()

func (*TxExecutionKey) Size

func (m *TxExecutionKey) Size() (n int)

func (*TxExecutionKey) String

func (m *TxExecutionKey) String() string

func (*TxExecutionKey) Unmarshal

func (m *TxExecutionKey) Unmarshal(dAtA []byte) error

func (*TxExecutionKey) XXX_DiscardUnknown

func (m *TxExecutionKey) XXX_DiscardUnknown()

func (*TxExecutionKey) XXX_Marshal

func (m *TxExecutionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxExecutionKey) XXX_Merge

func (m *TxExecutionKey) XXX_Merge(src proto.Message)

func (*TxExecutionKey) XXX_MessageName

func (*TxExecutionKey) XXX_MessageName() string

func (*TxExecutionKey) XXX_Size

func (m *TxExecutionKey) XXX_Size() int

func (*TxExecutionKey) XXX_Unmarshal

func (m *TxExecutionKey) XXX_Unmarshal(b []byte) error

type TxHeader

type TxHeader struct {
	// Transaction type
	TxType github_com_klyed_hivesmartchain_txs_payload.Type `protobuf:"varint,1,opt,name=TxType,proto3,casttype=github.com/klyed/hivesmartchain/txs/payload.Type" json:"TxType,omitempty"`
	// The hash of the transaction that caused this event to be generated
	TxHash github_com_klyed_hivesmartchain_binary.HexBytes `protobuf:"bytes,2,opt,name=TxHash,proto3,customtype=github.com/klyed/hivesmartchain/binary.HexBytes" json:"TxHash"`
	// The block height at which this transaction was included
	Height uint64 `protobuf:"varint,3,opt,name=Height,proto3" json:"Height,omitempty"`
	// The index of this transaction within the block
	Index uint64 `protobuf:"varint,4,opt,name=Index,proto3" json:"Index,omitempty"`
	// The origin information from the chain on which this tx was originally committed (if restored or otherwise imported)
	Origin               *Origin  `protobuf:"bytes,5,opt,name=Origin,proto3" json:"Origin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TxHeader) Descriptor

func (*TxHeader) Descriptor() ([]byte, []int)

func (*TxHeader) GetHeight

func (m *TxHeader) GetHeight() uint64

func (*TxHeader) GetIndex

func (m *TxHeader) GetIndex() uint64

func (*TxHeader) GetOrigin

func (m *TxHeader) GetOrigin() *Origin

func (*TxHeader) GetTxType

func (*TxHeader) Marshal

func (m *TxHeader) Marshal() (dAtA []byte, err error)

func (*TxHeader) MarshalTo

func (m *TxHeader) MarshalTo(dAtA []byte) (int, error)

func (*TxHeader) MarshalToSizedBuffer

func (m *TxHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxHeader) ProtoMessage

func (*TxHeader) ProtoMessage()

func (*TxHeader) Reset

func (m *TxHeader) Reset()

func (*TxHeader) Size

func (m *TxHeader) Size() (n int)

func (*TxHeader) String

func (m *TxHeader) String() string

func (*TxHeader) Unmarshal

func (m *TxHeader) Unmarshal(dAtA []byte) error

func (*TxHeader) XXX_DiscardUnknown

func (m *TxHeader) XXX_DiscardUnknown()

func (*TxHeader) XXX_Marshal

func (m *TxHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxHeader) XXX_Merge

func (m *TxHeader) XXX_Merge(src proto.Message)

func (*TxHeader) XXX_MessageName

func (*TxHeader) XXX_MessageName() string

func (*TxHeader) XXX_Size

func (m *TxHeader) XXX_Size() int

func (*TxHeader) XXX_Unmarshal

func (m *TxHeader) XXX_Unmarshal(b []byte) error

type TxStack

type TxStack struct {
	// contains filtered or unexported fields
}

TxStack is able to consume potentially nested txs

func (*TxStack) Consume

func (stack *TxStack) Consume(ev *StreamEvent) (*TxExecution, error)

Consume will add the StreamEvent to the transaction stack and if that completes a single outermost transaction returns the TxExecution otherwise will return nil

func (*TxStack) Length

func (stack *TxStack) Length() int

func (*TxStack) Peek

func (stack *TxStack) Peek() (*TxExecution, error)

func (*TxStack) Pop

func (stack *TxStack) Pop() (*TxExecution, error)

func (*TxStack) Push

func (stack *TxStack) Push(beginTx *BeginTx)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL