innerring

package
v0.44.1 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2024 License: GPL-3.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParsePublicKeysFromStrings

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

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

Types

type AlphabetContracts added in v0.37.0

type AlphabetContracts map[GlagoliticLetter]util.Uint160

func NewAlphabetContracts added in v0.37.0

func NewAlphabetContracts() AlphabetContracts

func (AlphabetContracts) GetByIndex added in v0.37.0

func (a AlphabetContracts) GetByIndex(ind int) (util.Uint160, bool)

type ContractProcessor

type ContractProcessor interface {
	ListenerNotificationParsers() []event.NotificationParserInfo
	ListenerNotificationHandlers() []event.NotificationHandlerInfo
	ListenerNotaryParsers() []event.NotaryParserInfo
	ListenerNotaryHandlers() []event.NotaryHandlerInfo
}

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

type GlagoliticLetter

type GlagoliticLetter int8

func (GlagoliticLetter) String

func (l GlagoliticLetter) String() string

String returns l in config-compatible format.

type IrFetcherWithNotary

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

IrFetcherWithNotary fetches keys using notary contract. Must be created with NewIRFetcherWithNotary.

func NewIRFetcherWithNotary

func NewIRFetcherWithNotary(cli *client.Client) *IrFetcherWithNotary

NewIRFetcherWithNotary creates IrFetcherWithNotary.

IrFetcherWithNotary can be used to obtain innerring key list if network that client is connected to supports notary contract.

Passed client is required. Panics if nil.

func (IrFetcherWithNotary) InnerRingKeys

func (fN IrFetcherWithNotary) InnerRingKeys() (keys.PublicKeys, error)

InnerRingKeys fetches list of innerring keys from NeoFSAlphabet role in the sidechain.

type IrFetcherWithoutNotary

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

IrFetcherWithoutNotary fetches keys using netmap contract. Must be created with NewIRFetcherWithoutNotary.

func NewIRFetcherWithoutNotary

func NewIRFetcherWithoutNotary(nm *nmClient.Client) *IrFetcherWithoutNotary

NewIRFetcherWithoutNotary creates IrFetcherWithoutNotary.

IrFetcherWithoutNotary must be used to obtain innerring key list if network that netmap wrapper is connected to does not support notary contract.

Passed netmap wrapper is required. Panics if nil.

func (IrFetcherWithoutNotary) InnerRingKeys

func (f IrFetcherWithoutNotary) InnerRingKeys() (keys.PublicKeys, error)

InnerRingKeys fetches list of innerring keys from netmap contract in the sidechain.

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 *logger.Logger, cfg *viper.Viper, errChan chan<- error,
	metrics *metrics.InnerRingServiceMetrics, cmode *atomic.Bool, audit *atomic.Bool,
) (*Server, error)

New creates instance of inner ring sever structure.

func (*Server) AlphabetIndex

func (s *Server) AlphabetIndex(ctx context.Context) int

AlphabetIndex is a getter for a global index of node in alphabet list. Negative index means that node is not in the alphabet list.

func (*Server) CompareAndSwapHealthStatus added in v0.42.9

func (s *Server) CompareAndSwapHealthStatus(ctx context.Context, oldSt, newSt control.HealthStatus) (swapped bool)

func (*Server) EpochCounter

func (s *Server) EpochCounter() uint64

EpochCounter is a getter for a global epoch counter.

func (*Server) EpochDuration

func (s *Server) EpochDuration() uint64

EpochDuration is a getter for a global epoch duration.

func (*Server) HealthStatus

func (s *Server) HealthStatus() control.HealthStatus

HealthStatus returns the current health status of the IR application.

func (*Server) InnerRingIndex

func (s *Server) InnerRingIndex(ctx context.Context) int

InnerRingIndex 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) InnerRingSize

func (s *Server) InnerRingSize(ctx context.Context) 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(ctx context.Context) bool

IsActive is a getter for a global active flag state.

func (*Server) IsAlphabet

func (s *Server) IsAlphabet(ctx context.Context) bool

IsAlphabet is a getter for a global alphabet flag state.

func (*Server) ResetEpochTimer

func (s *Server) ResetEpochTimer(h uint32) error

ResetEpochTimer resets the block timer that produces events to update epoch counter in the netmap contract. It is used to synchronize this even production based on the block with a notification of the 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) SetEpochDuration

func (s *Server) SetEpochDuration(val uint64)

SetEpochDuration is a setter for the Netmap processor to update global epoch duration.

func (*Server) SetExtraWallets added in v0.37.0

func (s *Server) SetExtraWallets(cfg *viper.Viper) error

func (*Server) Start

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

Start runs all event providers.

func (*Server) Stop

func (s *Server) Stop(ctx context.Context)

Stop closes all subscription channels.

func (*Server) VoteForSidechainValidator

func (s *Server) VoteForSidechainValidator(ctx context.Context, prm governance.VoteValidatorPrm) error

VoteForSidechainValidator calls vote method on alphabet contracts with the provided list of keys.

Directories

Path Synopsis
netmap/nodevalidation/state
Package state collects functionality for verifying states of network map members.
Package state collects functionality for verifying states of network map members.

Jump to

Keyboard shortcuts

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