Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Lifecycle ¶
func Lifecycle( startCtx, lifecycleCtx context.Context, p fraud.ProofType, fraudServ fraud.Service, start, stop func(context.Context) error, ) error
Lifecycle controls the lifecycle of service depending on fraud proofs. It starts the service only if no fraud-proof exists and stops the service automatically if a proof arrives after the service was started.
Types ¶
type API ¶ added in v0.5.0
type API struct { Internal struct { Subscribe func(context.Context, fraud.ProofType) (<-chan Proof, error) `perm:"public"` Get func(context.Context, fraud.ProofType) ([]Proof, error) `perm:"public"` } }
API is a wrapper around Module for the RPC. TODO(@distractedm1nd): These structs need to be autogenerated.
type Module ¶
type Module interface { // Subscribe allows to subscribe on a Proof pub sub topic by its type. Subscribe(context.Context, fraud.ProofType) (<-chan Proof, error) // Get fetches fraud proofs from the disk by its type. Get(context.Context, fraud.ProofType) ([]Proof, error) }
Module encompasses the behavior necessary to subscribe and broadcast fraud proofs within the network. Any method signature changed here needs to also be changed in the API struct.
type Proof ¶ added in v0.5.0
Proof embeds the fraud.Proof interface type to provide a concrete type for JSON serialization.
func (*Proof) MarshalJSON ¶ added in v0.5.0
func (*Proof) UnmarshalJSON ¶ added in v0.5.0
Click to show internal directories.
Click to hide internal directories.