runtime

package
v3.1.3 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

View Source
const ModuleName = "runtime"

Variables

This section is empty.

Functions

func KVStoreAdapter

func KVStoreAdapter(store store.KVStore) storetypes.KVStore

func NewEnvironment

func NewEnvironment(
	kvService store.KVStoreService,
	logger log.Logger,
	opts ...EnvOption,
) appmodule.Environment

NewEnvironment creates a new environment for the application For setting custom services that aren't set by default, use the EnvOption Note: Depinject always provide an environment with all services (mandatory and optional)

func NewEventManager

func NewEventManager(ctx context.Context) event.Manager

func NewKVStoreService

func NewKVStoreService(storeKey *storetypes.KVStoreKey) store.KVStoreService

func NewMemStoreService

func NewMemStoreService(storeKey *storetypes.MemoryStoreKey) store.MemoryStoreService

func NewMsgRouterService

func NewMsgRouterService(msgRouter baseapp.MessageRouter) router.Service

NewMsgRouterService implements router.Service.

func NewQueryRouterService

func NewQueryRouterService(queryRouter baseapp.QueryRouter) router.Service

NewQueryRouterService implements router.Service.

func NewTransientStoreService

func NewTransientStoreService(storeKey *storetypes.TransientStoreKey) store.TransientStoreService

func ProvideAppVersionModifier

func ProvideAppVersionModifier(app *AppBuilder) app.VersionModifier

func ProvideCometService

func ProvideCometService() comet.Service

func ProvideEnvironment

func ProvideEnvironment(
	logger log.Logger,
	config *runtimev1alpha1.Module,
	key depinject.ModuleKey,
	app *AppBuilder,
	msgServiceRouter *baseapp.MsgServiceRouter,
	queryServiceRouter *baseapp.GRPCQueryRouter,
) (store.KVStoreService, store.MemoryStoreService, appmodule.Environment)

func ProvideGenesisTxHandler

func ProvideGenesisTxHandler(appBuilder *AppBuilder) genesis.TxHandler

func ProvideKVStoreKey

func ProvideKVStoreKey(
	config *runtimev1alpha1.Module,
	key depinject.ModuleKey,
	app *AppBuilder,
) *storetypes.KVStoreKey

func ProvideMemoryStoreKey

func ProvideMemoryStoreKey(
	config *runtimev1alpha1.Module,
	key depinject.ModuleKey,
	app *AppBuilder,
) *storetypes.MemoryStoreKey

func ProvideModuleManager

func ProvideModuleManager(modules map[string]appmodule.AppModule) *module.Manager

func ProvideTransientStoreKey

func ProvideTransientStoreKey(
	config *runtimev1alpha1.Module,
	key depinject.ModuleKey,
	app *AppBuilder,
) *storetypes.TransientStoreKey

func ProvideTransientStoreService

func ProvideTransientStoreService(
	config *runtimev1alpha1.Module,
	key depinject.ModuleKey,
	app *AppBuilder,
) store.TransientStoreService

func SetupAppBuilder

func SetupAppBuilder(inputs AppInputs)

Types

type App

type App struct {
	*baseapp.BaseApp

	ModuleManager *module.Manager
	// contains filtered or unexported fields
}

App is a wrapper around BaseApp and ModuleManager that can be used in hybrid app.go/app config scenarios or directly as a servertypes.Application instance. To get an instance of *App, *AppBuilder must be requested as a dependency in a container which declares the runtime module and the AppBuilder.Build() method must be called.

App can be used to create a hybrid app.go setup where some configuration is done declaratively with an app config and the rest of it is done the old way. See simapp/app.go for an example of this setup.

func (*App) BeginBlocker

func (a *App) BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)

BeginBlocker application updates every begin block

func (*App) Configurator

func (a *App) Configurator() module.Configurator

Configurator returns the app's configurator.

func (*App) DefaultGenesis

func (a *App) DefaultGenesis() map[string]json.RawMessage

DefaultGenesis returns a default genesis from the registered AppModule's.

func (*App) EndBlocker

func (a *App) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)

EndBlocker application updates every end block

func (*App) GetStoreKeys

func (a *App) GetStoreKeys() []storetypes.StoreKey

GetStoreKeys returns all the stored store keys.

func (*App) InitChainer

func (a *App) InitChainer(ctx sdk.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error)

InitChainer initializes the chain.

func (*App) Load

func (a *App) Load(loadLatest bool) error

Load finishes all initialization operations and loads the app.

func (*App) LoadHeight

func (a *App) LoadHeight(height int64) error

LoadHeight loads a particular height

func (*App) PreBlocker

func (a *App) PreBlocker(ctx sdk.Context, _ *abci.FinalizeBlockRequest) error

PreBlocker application updates every pre block

func (*App) Precommiter

func (a *App) Precommiter(ctx sdk.Context)

Precommiter application updates every commit

func (*App) PrepareCheckStater

func (a *App) PrepareCheckStater(ctx sdk.Context)

PrepareCheckStater application updates every commit

func (*App) RegisterAPIRoutes

func (a *App) RegisterAPIRoutes(apiSvr *api.Server, _ config.APIConfig)

RegisterAPIRoutes registers all application module routes with the provided API server.

func (*App) RegisterModules

func (a *App) RegisterModules(modules ...module.AppModule) error

RegisterModules registers the provided modules with the module manager and the basic module manager. This is the primary hook for integrating with modules which are not registered using the app config.

func (*App) RegisterNodeService

func (a *App) RegisterNodeService(clientCtx client.Context, cfg config.Config)

RegisterNodeService registers the node gRPC service on the app gRPC router.

func (*App) RegisterStores

func (a *App) RegisterStores(keys ...storetypes.StoreKey) error

RegisterStores registers the provided store keys. This method should only be used for registering extra stores which is necessary for modules that not registered using the app config. To be used in combination of RegisterModules.

func (*App) RegisterTendermintService

func (a *App) RegisterTendermintService(clientCtx client.Context)

RegisterTendermintService implements the Application.RegisterTendermintService method.

func (*App) RegisterTxService

func (a *App) RegisterTxService(clientCtx client.Context)

RegisterTxService implements the Application.RegisterTxService method.

func (*App) SetInitChainer

func (a *App) SetInitChainer(initChainer sdk.InitChainer)

SetInitChainer sets the init chainer function It wraps `BaseApp.SetInitChainer` to allow setting a custom init chainer from an app.

func (*App) UnsafeFindStoreKey

func (a *App) UnsafeFindStoreKey(storeKey string) storetypes.StoreKey

UnsafeFindStoreKey fetches a registered StoreKey from the App in linear time.

NOTE: This should only be used in testing.

type AppBuilder

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

AppBuilder is a type that is injected into a container by the runtime module (as *AppBuilder) which can be used to create an app which is compatible with the existing app.go initialization conventions.

func (*AppBuilder) Build

func (a *AppBuilder) Build(db dbm.DB, traceStore io.Writer, baseAppOptions ...func(*baseapp.BaseApp)) *App

Build builds an *App instance.

func (*AppBuilder) DefaultGenesis

func (a *AppBuilder) DefaultGenesis() map[string]json.RawMessage

DefaultGenesis returns a default genesis from the registered modules.

type AppI

type AppI interface {
	// Name the assigned name of the app.
	Name() string

	// BeginBlocker updates every begin block.
	BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)

	// EndBlocker updates every end block.
	EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)

	// InitChainer update at chain (i.e app) initialization.
	InitChainer(ctx sdk.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error)

	// LoadHeight load the app at a given height.
	LoadHeight(height int64) error

	// ExportAppStateAndValidators exports the state of the application for a genesis file.
	ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (types.ExportedApp, error)
}

AppI implements the common methods for a Cosmos SDK-based application specific blockchain.

type AppInputs

type AppInputs struct {
	depinject.In

	Logger            log.Logger
	AppConfig         *appv1alpha1.Config
	Config            *runtimev1alpha1.Module
	AppBuilder        *AppBuilder
	ModuleManager     *module.Manager
	BaseAppOptions    []BaseAppOption
	InterfaceRegistry codectypes.InterfaceRegistry
	LegacyAmino       legacy.Amino
}

type AppSimI

type AppSimI interface {
	AppI
	// SimulationManager helper for the simulation framework.
	SimulationManager() *module.SimulationManager
}

AppSimI implements the common methods for a Cosmos SDK-based application specific blockchain that chooses to utilize the sdk simulation framework.

type BaseAppOption

type BaseAppOption func(*baseapp.BaseApp)

BaseAppOption is a depinject.AutoGroupType which can be used to pass BaseApp options into the depinject. It should be used carefully.

func (BaseAppOption) IsManyPerContainerType

func (b BaseAppOption) IsManyPerContainerType()

IsManyPerContainerType indicates that this is a depinject.ManyPerContainerType.

type BranchService

type BranchService struct{}

func (BranchService) Execute

func (b BranchService) Execute(ctx context.Context, f func(ctx context.Context) error) error

func (BranchService) ExecuteWithGasLimit

func (b BranchService) ExecuteWithGasLimit(ctx context.Context, gasLimit uint64, f func(ctx context.Context) error) (gasUsed uint64, err error)

type ContextAwareCometInfoService

type ContextAwareCometInfoService struct{}

ContextAwareCometInfoService provides CometInfo which is embedded as a value in a Context. This the legacy (server v1, baseapp) way of accessing CometInfo at the module level.

func NewContextAwareCometInfoService

func NewContextAwareCometInfoService() *ContextAwareCometInfoService

func (ContextAwareCometInfoService) CometInfo

type CoreGasmeter

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

CoreGasmeter is a wrapper around the SDK's GasMeter that implements the GasMeter interface.

func (CoreGasmeter) Consume

func (cgm CoreGasmeter) Consume(amount gas.Gas, descriptor string) error

func (CoreGasmeter) Limit

func (cgm CoreGasmeter) Limit() gas.Gas

func (CoreGasmeter) Refund

func (cgm CoreGasmeter) Refund(amount gas.Gas, descriptor string) error

func (CoreGasmeter) Remaining

func (cgm CoreGasmeter) Remaining() gas.Gas

type EnvOption

type EnvOption func(*appmodule.Environment)

func EnvWithMemStoreService

func EnvWithMemStoreService(memStoreService store.MemoryStoreService) EnvOption

func EnvWithMsgRouterService

func EnvWithMsgRouterService(msgServiceRouter *baseapp.MsgServiceRouter) EnvOption

func EnvWithQueryRouterService

func EnvWithQueryRouterService(queryServiceRouter *baseapp.GRPCQueryRouter) EnvOption

type EventService

type EventService struct {
	Events
}

func (EventService) EventManager

func (es EventService) EventManager(ctx context.Context) event.Manager

type Events

type Events struct {
	sdk.EventManagerI
}

func (Events) Emit

func (e Events) Emit(event gogoproto.Message) error

Emit emits an typed event that is defined in the protobuf file. In the future these events will be added to consensus.

func (Events) EmitKV

func (e Events) EmitKV(eventType string, attrs ...event.Attribute) error

EmitKV emits a key value pair event.

type GasConfig

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

func (GasConfig) DeleteCost

func (gc GasConfig) DeleteCost() gas.Gas

func (GasConfig) HasCost

func (gc GasConfig) HasCost() gas.Gas

func (GasConfig) IterNextCostFlat

func (gc GasConfig) IterNextCostFlat() gas.Gas

func (GasConfig) ReadCostFlat

func (gc GasConfig) ReadCostFlat() gas.Gas

func (GasConfig) ReadCostPerByte

func (gc GasConfig) ReadCostPerByte() gas.Gas

func (GasConfig) WriteCostFlat

func (gc GasConfig) WriteCostFlat() gas.Gas

func (GasConfig) WriteCostPerByte

func (gc GasConfig) WriteCostPerByte() gas.Gas

type GasService

type GasService struct{}

func (GasService) BlockGasMeter

func (g GasService) BlockGasMeter(ctx context.Context) gas.Meter

func (GasService) GasConfig

func (g GasService) GasConfig(ctx context.Context) gas.GasConfig

func (GasService) GasMeter

func (g GasService) GasMeter(ctx context.Context) gas.Meter

type HeaderService

type HeaderService struct{}

func (HeaderService) HeaderInfo

func (h HeaderService) HeaderInfo(ctx context.Context) header.Info

type SDKGasMeter

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

SDKGasMeter is a wrapper around the SDK's GasMeter that implements the GasMeter interface.

func (SDKGasMeter) ConsumeGas

func (gm SDKGasMeter) ConsumeGas(amount storetypes.Gas, descriptor string)

func (SDKGasMeter) GasConsumed

func (gm SDKGasMeter) GasConsumed() storetypes.Gas

func (SDKGasMeter) GasConsumedToLimit

func (gm SDKGasMeter) GasConsumedToLimit() storetypes.Gas

func (SDKGasMeter) GasRemaining

func (gm SDKGasMeter) GasRemaining() storetypes.Gas

func (SDKGasMeter) IsOutOfGas

func (gm SDKGasMeter) IsOutOfGas() bool

func (SDKGasMeter) IsPastLimit

func (gm SDKGasMeter) IsPastLimit() bool

func (SDKGasMeter) Limit

func (gm SDKGasMeter) Limit() storetypes.Gas

func (SDKGasMeter) RefundGas

func (gm SDKGasMeter) RefundGas(amount storetypes.Gas, descriptor string)

func (SDKGasMeter) String

func (gm SDKGasMeter) String() string

type TransactionService

type TransactionService struct{}

func (TransactionService) ExecMode

ExecMode implements transaction.Service.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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