innerring

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2021 License: GPL-3.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParsePublicKeysFromStrings added in v0.13.0

func ParsePublicKeysFromStrings(pubKeys []string) ([]keys.PublicKey, error)

ParsePublicKeysFromStrings returns slice of neo public keys from slice of hex encoded strings.

Types

type ClientCache added in v0.14.0

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

func (*ClientCache) Get added in v0.14.0

func (c *ClientCache) Get(address string) (client.Client, error)

func (*ClientCache) GetHeader added in v0.14.0

func (c *ClientCache) GetHeader(task *audit.Task, node *netmap.Node, id *object.ID, relay bool) (*object.Object, error)

GetHeader requests node from the container under audit to return object header by id.

func (*ClientCache) GetRangeHash added in v0.14.0

func (c *ClientCache) GetRangeHash(task *audit.Task, node *netmap.Node, id *object.ID, rng *object.Range) ([]byte, error)

GetRangeHash requests node from the container under audit to return Tillich-Zemor hash of the payload range of the object with specified identifier.

func (*ClientCache) GetSG added in v0.14.0

func (c *ClientCache) GetSG(task *audit.Task, id *object.ID) (*storagegroup.StorageGroup, error)

GetSG polls the container from audit task to get the object by id. Returns storage groups structure from received object.

type ContractProcessor

type ContractProcessor interface {
	ListenerParsers() []event.ParserInfo
	ListenerHandlers() []event.HandlerInfo
	TimersHandlers() []event.HandlerInfo
}

ContractProcessor interface defines functions for binding event producers such as event.Listener and Timers with contract processor.

type Server

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

Server is the inner ring application structure, that contains all event processors, shared variables and event handlers.

func New

func New(ctx context.Context, log *zap.Logger, cfg *viper.Viper) (*Server, error)

New creates instance of inner ring sever structure.

func (*Server) EpochCounter

func (s *Server) EpochCounter() uint64

EpochCounter is a getter for a global epoch counter.

func (*Server) Index added in v0.12.0

func (s *Server) Index() int

Index is a getter for a global index of node in inner ring list. Negative index means that node is not in the inner ring list.

func (*Server) InitAndVoteForSidechainValidator added in v0.13.0

func (s *Server) InitAndVoteForSidechainValidator(validators []keys.PublicKey) error

InitAndVoteForSidechainValidator is a public function to use outside of inner ring daemon execution. It initialize inner ring structure with data from blockchain and then calls vote method on corresponding alphabet contract.

func (*Server) InnerRingSize added in v0.14.0

func (s *Server) InnerRingSize() int

InnerRingSize is a getter for a global size of inner ring list. This value paired with inner ring index.

func (*Server) IsActive

func (s *Server) IsActive() bool

IsActive is a getter for a global active flag state.

func (*Server) ResetEpochTimer added in v0.15.0

func (s *Server) ResetEpochTimer() error

ResetEpochTimer resets block timer that produces events to update epoch counter in netmap contract. Used to synchronize this even production based on block with notification of last epoch.

func (*Server) SetEpochCounter

func (s *Server) SetEpochCounter(val uint64)

SetEpochCounter is a setter for contract processors to update global epoch counter.

func (*Server) Start

func (s *Server) Start(ctx context.Context, intError chan<- error) error

Start runs all event providers.

func (*Server) Stop

func (s *Server) Stop()

Stop closes all subscription channels.

func (*Server) WriteReport added in v0.14.0

func (s *Server) WriteReport(r *audit.Report) error

WriteReport composes audit result structure from audit report and sends it to Audit contract.

Jump to

Keyboard shortcuts

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