Documentation
¶
Overview ¶
Package context provides global app context for ZetaClient
Index ¶
- Variables
- func Copy(from, to goctx.Context) goctx.Context
- func WithAppContext(ctx goctx.Context, app *AppContext) goctx.Context
- type AppContext
- func (a *AppContext) Config() config.Config
- func (a *AppContext) GetAdditionalChains() []chains.Chain
- func (a *AppContext) GetAllEVMChainParams() map[int64]*observertypes.ChainParams
- func (a *AppContext) GetAllHeaderEnabledChains() []lightclienttypes.HeaderSupportedChain
- func (a *AppContext) GetBTCChainAndConfig() (chains.Chain, config.BTCConfig, bool)
- func (a *AppContext) GetBTCChainParams() (chains.Chain, *observertypes.ChainParams, bool)
- func (a *AppContext) GetBlockHeaderEnabledChains(chainID int64) (lightclienttypes.HeaderSupportedChain, bool)
- func (a *AppContext) GetCrossChainFlags() observertypes.CrosschainFlags
- func (a *AppContext) GetCurrentTssPubKey() string
- func (a *AppContext) GetEVMChainParams(chainID int64) (*observertypes.ChainParams, bool)
- func (a *AppContext) GetEnabledChains() []chains.Chain
- func (a *AppContext) GetEnabledExternalChains() []chains.Chain
- func (a *AppContext) GetKeygen() observertypes.Keygen
- func (a *AppContext) IsInboundObservationEnabled(chainParams observertypes.ChainParams) bool
- func (a *AppContext) IsOutboundObservationEnabled(chainParams observertypes.ChainParams) bool
- func (a *AppContext) Update(keygen *observertypes.Keygen, newChains []chains.Chain, ...)
Constants ¶
This section is empty.
Variables ¶
var ErrNotSet = errors.New("AppContext is not set in the context.Context")
Functions ¶
func Copy ¶
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 ¶
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