logicrunner

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2018 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package logicrunner - infrastructure for executing smartcontracts

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashInterface added in v0.4.0

func HashInterface(in interface{}) []byte

func MakeBaseMessage added in v0.5.0

func MakeBaseMessage(req rpctypes.UpBaseReq) message.BaseLogicMessage

MakeBaseMessage makes base of logicrunner event from base of up request

Types

type LogicRunner

type LogicRunner struct {
	Executors       [core.MachineTypesLastID]core.MachineLogicExecutor
	ArtifactManager core.ArtifactManager
	MessageBus      core.MessageBus

	Cfg *configuration.LogicRunner
	// contains filtered or unexported fields
}

LogicRunner is a general interface of contract executor

func NewLogicRunner added in v0.0.3

func NewLogicRunner(cfg *configuration.LogicRunner) (*LogicRunner, error)

NewLogicRunner is constructor for LogicRunner

func (*LogicRunner) Execute added in v0.0.3

func (lr *LogicRunner) Execute(inmsg core.Message) (core.Reply, error)

Execute runs a method on an object, ATM just thin proxy to `GoPlugin.Exec`

func (*LogicRunner) GetExecutor added in v0.0.3

GetExecutor returns an executor for the `MachineType` if it was registered (`RegisterExecutor`), returns error otherwise

func (*LogicRunner) OnPulse added in v0.4.0

func (lr *LogicRunner) OnPulse(pulse core.Pulse) error

func (*LogicRunner) RegisterExecutor added in v0.0.3

func (lr *LogicRunner) RegisterExecutor(t core.MachineType, e core.MachineLogicExecutor) error

RegisterExecutor registers an executor for particular `MachineType`

func (*LogicRunner) Start

func (lr *LogicRunner) Start(c core.Components) error

Start starts logic runner component

func (*LogicRunner) Stop

func (lr *LogicRunner) Stop() error

Stop stops logic runner component and its executors

func (*LogicRunner) Validate added in v0.5.0

func (lr *LogicRunner) Validate(ref core.RecordRef, p core.Pulse, cr []core.CaseRecord) (int, error)

type RPC added in v0.4.0

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

RPC is a RPC interface for runner to use for various tasks, e.g. code fetching

func StartRPC added in v0.4.0

func StartRPC(lr *LogicRunner) *RPC

StartRPC starts RPC server for isolated executors to use

func (*RPC) GetCode added in v0.4.0

func (gpr *RPC) GetCode(req rpctypes.UpGetCodeReq, reply *rpctypes.UpGetCodeResp) error

GetCode is an RPC retrieving a code by its reference

func (*RPC) GetDelegate added in v0.4.0

func (gpr *RPC) GetDelegate(req rpctypes.UpGetDelegateReq, rep *rpctypes.UpGetDelegateResp) error

GetDelegate is an RPC saving data as memory of a contract as child a parent

func (*RPC) GetObjChildren added in v0.4.0

func (gpr *RPC) GetObjChildren(req rpctypes.UpGetObjChildrenReq, rep *rpctypes.UpGetObjChildrenResp) error

GetObjChildren is an RPC returns set of object children

func (*RPC) RouteCall added in v0.4.0

func (gpr *RPC) RouteCall(req rpctypes.UpRouteReq, rep *rpctypes.UpRouteResp) error

RouteCall routes call from a contract to a contract through event bus.

func (*RPC) SaveAsChild added in v0.4.0

func (gpr *RPC) SaveAsChild(req rpctypes.UpSaveAsChildReq, rep *rpctypes.UpSaveAsChildResp) error

SaveAsChild is an RPC saving data as memory of a contract as child a parent

func (*RPC) SaveAsDelegate added in v0.4.0

func (gpr *RPC) SaveAsDelegate(req rpctypes.UpSaveAsDelegateReq, rep *rpctypes.UpSaveAsDelegateResp) error

SaveAsDelegate is an RPC saving data as memory of a contract as child a parent

type ValidationBehaviour added in v0.5.0

type ValidationBehaviour interface {
	Begin(refs core.RecordRef, record core.CaseRecord)
	End(refs core.RecordRef, record core.CaseRecord)
	ModifyContext(ctx *core.LogicCallContext)
	NeedSave() bool
}

ValidationBehaviour is a special object that responsible for validation behavior of other methods.

type ValidationChecker added in v0.5.0

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

func (ValidationChecker) Begin added in v0.5.0

func (vb ValidationChecker) Begin(refs core.RecordRef, record core.CaseRecord)

func (ValidationChecker) End added in v0.5.0

func (vb ValidationChecker) End(refs core.RecordRef, record core.CaseRecord)

func (ValidationChecker) ModifyContext added in v0.5.0

func (vb ValidationChecker) ModifyContext(ctx *core.LogicCallContext)

func (ValidationChecker) NeedSave added in v0.5.0

func (vb ValidationChecker) NeedSave() bool

type ValidationSaver added in v0.5.0

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

func (ValidationSaver) Begin added in v0.5.0

func (vb ValidationSaver) Begin(refs core.RecordRef, record core.CaseRecord)

func (ValidationSaver) End added in v0.5.0

func (vb ValidationSaver) End(refs core.RecordRef, record core.CaseRecord)

func (ValidationSaver) ModifyContext added in v0.5.0

func (vb ValidationSaver) ModifyContext(ctx *core.LogicCallContext)

func (ValidationSaver) NeedSave added in v0.5.0

func (vb ValidationSaver) NeedSave() bool

Directories

Path Synopsis
Package builtin is implementation of builtin contracts engine
Package builtin is implementation of builtin contracts engine
Package goplugin - golang plugin in docker runner
Package goplugin - golang plugin in docker runner
foundation
Package foundation server implementation of smartcontract functions
Package foundation server implementation of smartcontract functions

Jump to

Keyboard shortcuts

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