session

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2025 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSessionTreeClosed                   = sdkerrors.Register(codespace, 1, "session tree already closed")
	ErrSessionTreeNotClosed                = sdkerrors.Register(codespace, 2, "session tree not closed")
	ErrSessionTreeStorePathExists          = sdkerrors.Register(codespace, 3, "session tree store path already exists")
	ErrSessionTreeProofPathMismatch        = sdkerrors.Register(codespace, 4, "session tree proof path mismatch")
	ErrSessionTreeUndefinedStoresDirectory = sdkerrors.Register(codespace, 5, "session tree key-value store directory undefined for where they will be saved on disk")
	ErrSessionTreeAlreadyMarkedAsClaimed   = sdkerrors.Register(codespace, 6, "session tree already marked as claimed")
	ErrSessionSupplierClientNotFound       = sdkerrors.Register(codespace, 7, "supplier client not found")
	ErrSessionUpdatingTree                 = sdkerrors.Register(codespace, 8, "error updating session SMST")
	ErrSessionRelayMetaHasNoServiceID      = sdkerrors.Register(codespace, 9, "service ID not specified in relay metadata")
	ErrSessionRelayMetaHasInvalidServiceID = sdkerrors.Register(codespace, 10, "service specified in relay metadata not found")
)
View Source
var ClamAndProofGasCost = sdktypes.NewInt64Coin(volatile.DenomuPOKT, 50000)

The cumulative fees of creating a single claim, followed by submitting a single proof. The value was obtained empirically by observing logs during load testing and observing the claim & proof lifecycle. The gas price at the time of observance was 0.01uPOKT. The value is subject to change as the network parameters change.

Functions

func NewRelayerSessions

func NewRelayerSessions(
	deps depinject.Config,
	opts ...relayer.RelayerSessionsManagerOption,
) (_ relayer.RelayerSessionsManager, err error)

NewRelayerSessions creates a new relayerSessions.

Required dependencies:

  • client.BlockClient
  • client.BlockQueryClient
  • client.SupplierClientMap
  • client.SharedQueryClient
  • client.ServiceQueryClient
  • client.ProofQueryClient
  • client.BankQueryClient
  • polylog.Logger

Available options:

  • WithStoresDirectory
  • WithSigningKeyNames

func NewSessionTree

func NewSessionTree(
	sessionHeader *sessiontypes.SessionHeader,
	supplierOperatorAddress string,
	storesDirectory string,
	logger polylog.Logger,
) (relayer.SessionTree, error)

NewSessionTree creates a new sessionTree from a Session and a storePrefix. It also takes a function removeFromRelayerSessions that removes the sessionTree from the RelayerSessionsManager. It returns an error if the KVStore fails to be created.

func WithSessionTreesInspector added in v0.1.2

func WithSessionTreesInspector(sessionTreeMap *SessionsTreesMap) relayer.RelayerSessionsManagerOption

WithSessionTreesInspector allows setting the relay session manager's session tree map via a pointer. In other words, it exposes the session trees map for testing purposes. This shouldn't be used in production, but useful for testing so internal structures can be accessed and validated for expected state.

func WithStoresDirectory

func WithStoresDirectory(storesDirectory string) relayer.RelayerSessionsManagerOption

WithStoresDirectory sets the path on disk where KVStore data files used to store SMST of work sessions are created.

Types

type SessionsTreesMap added in v0.1.2

type SessionsTreesMap = map[string]map[int64]map[string]relayer.SessionTree

SessionTreesMap is an alias type for a map of supplierOperatorAddress -> sessionEndHeight -> sessionId -> SessionTree.

It keeps track of the sessions created by RelayMiner in memory. The sessions are group by their end block height, session id and supplier operator address.

Jump to

Keyboard shortcuts

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