Documentation

Index

Constants

View Source
const (
	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

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_hyperledger_burrow_crypto.Address  `protobuf:"bytes,1,opt,name=Caller,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"Caller"`
      	Callee               github_com_hyperledger_burrow_crypto.Address  `protobuf:"bytes,2,opt,name=Callee,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"Callee"`
      	Data                 github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,3,opt,name=Data,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"Data"`
      	Value                uint64                                        `protobuf:"varint,4,opt,name=Value,proto3" json:"Value,omitempty"`
      	Gas                  uint64                                        `protobuf:"varint,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() uint64

      func (*CallData) GetValue

      func (m *CallData) GetValue() uint64

      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_hyperledger_burrow_crypto.Address  `protobuf:"bytes,2,opt,name=Origin,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"Origin"`
      	StackDepth           uint64                                        `protobuf:"varint,3,opt,name=StackDepth,proto3" json:"StackDepth,omitempty"`
      	Return               github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,4,opt,name=Return,proto3,customtype=github.com/hyperledger/burrow/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 (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_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,3,opt,name=TxHash,proto3,customtype=github.com/hyperledger/burrow/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"`
        	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) 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
        }

        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
        )

          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

          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_hyperledger_burrow_txs_payload.Type `protobuf:"varint,1,opt,name=TxType,proto3,casttype=github.com/hyperledger/burrow/txs/payload.Type" json:"TxType,omitempty"`
          	// The hash of the transaction that caused this event to be generated
          	TxHash github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,2,opt,name=TxHash,proto3,customtype=github.com/hyperledger/burrow/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_hyperledger_burrow_crypto.Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/hyperledger/burrow/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_hyperledger_burrow_crypto.Address   `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"Address"`
          	Data                 github_com_hyperledger_burrow_binary.HexBytes  `protobuf:"bytes,2,opt,name=Data,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"Data"`
          	Topics               []github_com_hyperledger_burrow_binary.Word256 `protobuf:"bytes,3,rep,name=Topics,proto3,customtype=github.com/hyperledger/burrow/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) SolidityEventID

          func (log *LogEvent) SolidityEventID() abi.EventID

          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_hyperledger_burrow_crypto.Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/hyperledger/burrow/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 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_hyperledger_burrow_txs.Envelope `protobuf:"bytes,3,opt,name=Envelope,proto3,customtype=github.com/hyperledger/burrow/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_hyperledger_burrow_txs.Envelope `protobuf:"bytes,6,opt,name=Envelope,proto3,customtype=github.com/hyperledger/burrow/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) 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_hyperledger_burrow_txs_payload.Type `protobuf:"varint,1,opt,name=TxType,proto3,casttype=github.com/hyperledger/burrow/txs/payload.Type" json:"TxType,omitempty"`
                      	// The hash of the transaction that caused this event to be generated
                      	TxHash github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,2,opt,name=TxHash,proto3,customtype=github.com/hyperledger/burrow/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)