Documentation ¶
Overview ¶
Package logicrunner - infrastructure for executing smartcontracts
Index ¶
- func HashInterface(in interface{}) []byte
- func MakeBaseMessage(req rpctypes.UpBaseReq) message.BaseLogicMessage
- type Consensus
- type ConsensusRecord
- type ExecutionState
- type LogicRunner
- func (lr *LogicRunner) Execute(ctx core.Context, inmsg core.Message) (core.Reply, error)
- func (lr *LogicRunner) ExecutorResults(ctx core.Context, inmsg core.Message) (core.Reply, error)
- func (lr *LogicRunner) GetConsensus(r Ref) (*Consensus, bool)
- func (lr *LogicRunner) GetExecutor(t core.MachineType) (core.MachineLogicExecutor, error)
- func (lr *LogicRunner) OnPulse(pulse core.Pulse) error
- func (lr *LogicRunner) ProcessValidationResults(ctx core.Context, inmsg core.Message) (core.Reply, error)
- func (lr *LogicRunner) RegisterExecutor(t core.MachineType, e core.MachineLogicExecutor) error
- func (lr *LogicRunner) Start(c core.Components) error
- func (lr *LogicRunner) Stop() error
- func (lr *LogicRunner) UpsertExecution(ref Ref) *ExecutionState
- func (lr *LogicRunner) Validate(ref Ref, p core.Pulse, cr []core.CaseRecord) (int, error)
- func (lr *LogicRunner) ValidateCaseBind(ctx core.Context, inmsg core.Message) (core.Reply, error)
- type RPC
- func (gpr *RPC) DeactivateObject(req rpctypes.UpDeactivateObjectReq, rep *rpctypes.UpDeactivateObjectResp) error
- func (gpr *RPC) GetCode(req rpctypes.UpGetCodeReq, reply *rpctypes.UpGetCodeResp) error
- func (gpr *RPC) GetDelegate(req rpctypes.UpGetDelegateReq, rep *rpctypes.UpGetDelegateResp) error
- func (gpr *RPC) GetObjChildren(req rpctypes.UpGetObjChildrenReq, rep *rpctypes.UpGetObjChildrenResp) error
- func (gpr *RPC) RouteCall(req rpctypes.UpRouteReq, rep *rpctypes.UpRouteResp) error
- func (gpr *RPC) SaveAsChild(req rpctypes.UpSaveAsChildReq, rep *rpctypes.UpSaveAsChildResp) error
- func (gpr *RPC) SaveAsDelegate(req rpctypes.UpSaveAsDelegateReq, rep *rpctypes.UpSaveAsDelegateResp) error
- type Ref
- type ValidationBehaviour
- type ValidationChecker
- func (vb ValidationChecker) Begin(refs Ref, record core.CaseRecord)
- func (vb ValidationChecker) End(refs Ref, record core.CaseRecord)
- func (vb ValidationChecker) ModifyContext(ctx *core.LogicCallContext)
- func (vb ValidationChecker) NeedSave() bool
- func (vb ValidationChecker) RegisterRequest(m message.IBaseLogicMessage) (*Ref, error)
- type ValidationSaver
- func (vb ValidationSaver) Begin(refs Ref, record core.CaseRecord)
- func (vb ValidationSaver) End(refs Ref, record core.CaseRecord)
- func (vb ValidationSaver) ModifyContext(ctx *core.LogicCallContext)
- func (vb ValidationSaver) NeedSave() bool
- func (vb ValidationSaver) RegisterRequest(m message.IBaseLogicMessage) (*Ref, error)
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 Consensus ¶ added in v0.6.1
type Consensus struct { Have int Need int Total int Results map[Ref]ConsensusRecord CaseRecords []core.CaseRecord }
Consensus is an object for one validation process where all validated results will be compared.
func (*Consensus) AddExecutor ¶ added in v0.6.1
func (c *Consensus) AddExecutor(m *message.ExecutorResults)
func (*Consensus) AddValidated ¶ added in v0.6.1
func (c *Consensus) AddValidated(m *message.ValidationResults)
AddValidated adds results from validators
func (*Consensus) CheckReady ¶ added in v0.6.1
func (c *Consensus) CheckReady()
type ConsensusRecord ¶ added in v0.6.1
type ExecutionState ¶ added in v0.6.1
type ExecutionState struct {
// contains filtered or unexported fields
}
Context of one contract execution
type LogicRunner ¶
type LogicRunner struct { Executors [core.MachineTypesLastID]core.MachineLogicExecutor ArtifactManager core.ArtifactManager MessageBus core.MessageBus Ledger core.Ledger Network core.Network Cfg *configuration.LogicRunner Pulse core.Pulse // pulse info for this bind // 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
Execute runs a method on an object, ATM just thin proxy to `GoPlugin.Exec`
func (*LogicRunner) ExecutorResults ¶ added in v0.6.0
func (*LogicRunner) GetConsensus ¶ added in v0.6.1
func (lr *LogicRunner) GetConsensus(r Ref) (*Consensus, bool)
func (*LogicRunner) GetExecutor ¶ added in v0.0.3
func (lr *LogicRunner) GetExecutor(t core.MachineType) (core.MachineLogicExecutor, error)
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) ProcessValidationResults ¶ added in v0.6.0
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) UpsertExecution ¶ added in v0.6.1
func (lr *LogicRunner) UpsertExecution(ref Ref) *ExecutionState
func (*LogicRunner) Validate ¶ added in v0.5.0
func (lr *LogicRunner) Validate(ref Ref, p core.Pulse, cr []core.CaseRecord) (int, error)
func (*LogicRunner) ValidateCaseBind ¶ added in v0.6.0
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) DeactivateObject ¶ added in v0.6.0
func (gpr *RPC) DeactivateObject(req rpctypes.UpDeactivateObjectReq, rep *rpctypes.UpDeactivateObjectResp) error
DeactivateObject is an RPC saving data as memory of a contract as child a parent
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 Ref, record core.CaseRecord) End(refs Ref, record core.CaseRecord) ModifyContext(ctx *core.LogicCallContext) NeedSave() bool RegisterRequest(m message.IBaseLogicMessage) (*Ref, error) }
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 Ref, record core.CaseRecord)
func (ValidationChecker) End ¶ added in v0.5.0
func (vb ValidationChecker) End(refs Ref, 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
func (ValidationChecker) RegisterRequest ¶ added in v0.6.1
func (vb ValidationChecker) RegisterRequest(m message.IBaseLogicMessage) (*Ref, error)
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 Ref, record core.CaseRecord)
func (ValidationSaver) End ¶ added in v0.5.0
func (vb ValidationSaver) End(refs Ref, 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
func (ValidationSaver) RegisterRequest ¶ added in v0.6.1
func (vb ValidationSaver) RegisterRequest(m message.IBaseLogicMessage) (*Ref, error)
Source Files ¶
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 |