context

package
v0.0.0-...-2da98db Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package context provides global app context for ZetaClient

Index

Constants

This section is empty.

Variables

View Source
var ErrNotSet = errors.New("AppContext is not set in the context.Context")

Functions

func Copy

func Copy(from, to goctx.Context) goctx.Context

Copy copies AppContext from one context to another (is present). This is useful when you want to drop timeouts and deadlines from the context (e.g. run something in another goroutine).

func WithAppContext

func WithAppContext(ctx goctx.Context, app *AppContext) goctx.Context

WithAppContext applied AppContext to standard Go context.Context.

Types

type AppContext

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

AppContext represents application context.

func FromContext

func FromContext(ctx goctx.Context) (*AppContext, error)

FromContext extracts AppContext from context.Context

func New

func New(cfg config.Config, logger zerolog.Logger) *AppContext

New creates and returns new AppContext

func (*AppContext) Config

func (a *AppContext) Config() config.Config

Config returns the config of the app

func (*AppContext) GetAdditionalChains

func (a *AppContext) GetAdditionalChains() []chains.Chain

GetAdditionalChains returns additional chains

func (*AppContext) GetAllEVMChainParams

func (a *AppContext) GetAllEVMChainParams() map[int64]*observertypes.ChainParams

GetAllEVMChainParams returns all chain params for EVM chains

func (*AppContext) GetAllHeaderEnabledChains

func (a *AppContext) GetAllHeaderEnabledChains() []lightclienttypes.HeaderSupportedChain

GetAllHeaderEnabledChains returns all verification flags

func (*AppContext) GetBTCChainAndConfig

func (a *AppContext) GetBTCChainAndConfig() (chains.Chain, config.BTCConfig, bool)

GetBTCChainAndConfig returns btc chain and config if enabled

func (*AppContext) GetBTCChainParams

func (a *AppContext) GetBTCChainParams() (chains.Chain, *observertypes.ChainParams, bool)

GetBTCChainParams returns (chain, chain params, found) for bitcoin chain

func (*AppContext) GetBlockHeaderEnabledChains

func (a *AppContext) GetBlockHeaderEnabledChains(chainID int64) (lightclienttypes.HeaderSupportedChain, bool)

GetBlockHeaderEnabledChains checks if block header verification is enabled for a specific chain

func (*AppContext) GetCrossChainFlags

func (a *AppContext) GetCrossChainFlags() observertypes.CrosschainFlags

GetCrossChainFlags returns crosschain flags

func (*AppContext) GetCurrentTssPubKey

func (a *AppContext) GetCurrentTssPubKey() string

GetCurrentTssPubKey returns the current tss pubkey

func (*AppContext) GetEVMChainParams

func (a *AppContext) GetEVMChainParams(chainID int64) (*observertypes.ChainParams, bool)

GetEVMChainParams returns chain params for a specific EVM chain

func (*AppContext) GetEnabledChains

func (a *AppContext) GetEnabledChains() []chains.Chain

GetEnabledChains returns all enabled chains including zetachain

func (*AppContext) GetEnabledExternalChains

func (a *AppContext) GetEnabledExternalChains() []chains.Chain

GetEnabledExternalChains returns all enabled external chains

func (*AppContext) GetKeygen

func (a *AppContext) GetKeygen() observertypes.Keygen

GetKeygen returns the current keygen

func (*AppContext) IsInboundObservationEnabled

func (a *AppContext) IsInboundObservationEnabled(chainParams observertypes.ChainParams) bool

IsInboundObservationEnabled returns true if the chain is supported and inbound flag is enabled

func (*AppContext) IsOutboundObservationEnabled

func (a *AppContext) IsOutboundObservationEnabled(chainParams observertypes.ChainParams) bool

IsOutboundObservationEnabled returns true if the chain is supported and outbound flag is enabled

func (*AppContext) Update

func (a *AppContext) Update(
	keygen *observertypes.Keygen,
	newChains []chains.Chain,
	evmChainParams map[int64]*observertypes.ChainParams,
	btcChainParams *observertypes.ChainParams,
	tssPubKey string,
	crosschainFlags observertypes.CrosschainFlags,
	additionalChains []chains.Chain,
	blockHeaderEnabledChains []lightclienttypes.HeaderSupportedChain,
	init bool,
)

Update updates zetacore context and params for all chains this must be the ONLY function that writes to zetacore context

Jump to

Keyboard shortcuts

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