app

package
v25.0.1 Latest Latest
Warning

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

Go to latest
Published: May 23, 2024 License: Apache-2.0 Imports: 195 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultNodeHome default home directories for the application daemon
	DefaultNodeHome string

	// ModuleBasics defines the module BasicManager is in charge of setting up basic,
	// non-dependant module elements, such as codec registration
	// and genesis verification.
	ModuleBasics = module.NewBasicManager(keepers.AppModuleBasics...)

	// TODO: Refactor wasm items into a wasm.go file
	// WasmProposalsEnabled enables all x/wasm proposals when it's value is "true"
	// and EnableSpecificWasmProposals is empty. Otherwise, all x/wasm proposals
	// are disabled.
	WasmProposalsEnabled = "true"

	// EnableSpecificWasmProposals, if set, must be comma-separated list of values
	// that are all a subset of "EnableAllProposals", which takes precedence over
	// WasmProposalsEnabled.
	//
	// See: https://github.com/CosmWasm/wasmd/blob/02a54d33ff2c064f3539ae12d75d027d9c665f05/x/wasm/internal/types/proposal.go#L28-L34
	EnableSpecificWasmProposals = ""

	// EmptyWasmOpts defines a type alias for a list of wasm options.
	EmptyWasmOpts []wasmkeeper.Option

	Upgrades = []upgrades.Upgrade{v4.Upgrade, v5.Upgrade, v7.Upgrade, v9.Upgrade, v11.Upgrade, v12.Upgrade, v13.Upgrade, v14.Upgrade, v15.Upgrade, v16.Upgrade, v17.Upgrade, v18.Upgrade, v19.Upgrade, v20.Upgrade, v21.Upgrade, v22.Upgrade, v23.Upgrade, v24.Upgrade, v25.Upgrade}
	Forks    = []upgrades.Fork{v3.Fork, v6.Fork, v8.Fork, v10.Fork}
)

Functions

func BeginBlockForks

func BeginBlockForks(ctx sdk.Context, app *OsmosisApp)

BeginBlockForks is intended to be ran in a chain upgrade.

func CreateLanes

func CreateLanes(app *OsmosisApp, txConfig client.TxConfig) (*mevlane.MEVLane, *base.BaseLane)

CreateLanes walks through the process of creating the lanes for the block sdk. In this function we create three separate lanes - MEV, Free, and Default - and then return them.

func DefaultConfig

func DefaultConfig() network.Config

DefaultConfig returns a default configuration suitable for nearly all testing requirements.

func GetEncodingConfig

func GetEncodingConfig() params.EncodingConfig

func GetMaccPerms

func GetMaccPerms() map[string][]string

GetMaccPerms returns a copy of the module account permissions.

func MakeCodecs

func MakeCodecs() (codec.Codec, *codec.LegacyAmino)

MakeCodecs returns the application codec and a legacy Amino codec.

func MakeEncodingConfig

func MakeEncodingConfig() params.EncodingConfig

MakeEncodingConfig creates an EncodingConfig.

func ModuleAccountAddrs

func ModuleAccountAddrs() map[string]bool

ModuleAccountAddrs returns all the app's module account addresses.

func NewAnteHandler

func NewAnteHandler(
	appOpts servertypes.AppOptions,
	wasmConfig wasmtypes.WasmConfig,
	txCounterStoreKey storetypes.StoreKey,
	accountKeeper ante.AccountKeeper,
	smartAccountKeeper *smartaccountkeeper.Keeper,
	bankKeeper txfeestypes.BankKeeper,
	txFeesKeeper *txfeeskeeper.Keeper,
	spotPriceCalculator txfeestypes.SpotPriceCalculator,
	sigGasConsumer ante.SignatureVerificationGasConsumer,
	signModeHandler signing.SignModeHandler,
	channelKeeper *ibckeeper.Keeper,
	blockSDKParams BlockSDKAnteHandlerParams,
) sdk.AnteHandler

Link to default ante handler used by cosmos sdk: https://github.com/cosmos/cosmos-sdk/blob/v0.43.0/x/auth/ante/ante.go#L41 N.B. There is a sister file called `ante_no_seq.go` that is used for e2e testing. It leaves out the `IncrementSequenceDecorator` which is not needed for e2e testing. If you make a change here, make sure to make the same change in `ante_no_seq.go`.

func NewAppConstructor

func NewAppConstructor(chainId string) network.AppConstructor

NewAppConstructor returns a new Osmosis app given encoding type configs.

func NewPostHandler

func NewPostHandler(
	protoRevKeeper *protorevkeeper.Keeper,
	smartAccountKeeper *smartaccountkeeper.Keeper,
	accountKeeper *authkeeper.AccountKeeper,
	sigModeHandler authsigning.SignModeHandler,
) sdk.PostHandler

func OrderEndBlockers

func OrderEndBlockers(allModuleNames []string) []string

OrderEndBlockers returns EndBlockers (crisis, govtypes, staking) with no relative order.

func OrderInitGenesis

func OrderInitGenesis(allModuleNames []string) []string

OrderInitGenesis returns module names in order for init genesis calls.

func RegisterSwaggerAPI

func RegisterSwaggerAPI(ctx client.Context, rtr *mux.Router)

RegisterSwaggerAPI registers swagger route with API Server.

Types

type BlockSDKAnteHandlerParams

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

BlockSDKAnteHandlerParams are the parameters necessary to configure the block-sdk antehandlers

type GenesisState

type GenesisState map[string]json.RawMessage

The genesis state of the blockchain is represented here as a map of raw json messages key'd by a identifier string. The identifier is used to determine which module genesis information belongs to so it may be appropriately routed during init chain. Within this application default genesis information is retrieved from the ModuleBasicManager which populates json from each BasicModule object provided to it during init.

func GenesisStateWithValSet

func GenesisStateWithValSet(app *OsmosisApp) GenesisState

func NewDefaultGenesisState

func NewDefaultGenesisState() GenesisState

NewDefaultGenesisState generates the default state for the application.

type OsmosisApp

type OsmosisApp struct {
	*baseapp.BaseApp
	keepers.AppKeepers
	// contains filtered or unexported fields
}

OsmosisApp extends an ABCI application, but with most of its parameters exported. They are exported for convenience in creating helper functions, as object capabilities aren't needed for testing.

func InitOsmosisAppForTestnet

func InitOsmosisAppForTestnet(app *OsmosisApp, newValAddr bytes.HexBytes, newValPubKey crypto.PubKey, newOperatorAddress, upgradeToTrigger string) *OsmosisApp

InitOsmosisAppForTestnet is broken down into two sections: Required Changes: Changes that, if not made, will cause the testnet to halt or panic Optional Changes: Changes to customize the testnet to one's liking (lower vote times, fund accounts, etc)

func NewOsmosisApp

func NewOsmosisApp(
	logger log.Logger,
	db dbm.DB,
	traceStore io.Writer,
	loadLatest bool,
	skipUpgradeHeights map[int64]bool,
	homePath string,
	invCheckPeriod uint,
	appOpts servertypes.AppOptions,
	wasmOpts []wasmkeeper.Option,
	baseAppOptions ...func(*baseapp.BaseApp),
) *OsmosisApp

NewOsmosisApp returns a reference to an initialized Osmosis.

func Setup

func Setup(isCheckTx bool) *OsmosisApp

Setup initializes a new OsmosisApp.

func SetupTestingAppWithLevelDb

func SetupTestingAppWithLevelDb(isCheckTx bool) (app *OsmosisApp, cleanupFn func())

SetupTestingAppWithLevelDb initializes a new OsmosisApp intended for testing, with LevelDB as a db.

func SetupWithCustomHome

func SetupWithCustomHome(isCheckTx bool, dir string) *OsmosisApp

SetupWithCustomHome initializes a new OsmosisApp with a custom home directory

func SetupWithCustomHomeAndChainId

func SetupWithCustomHomeAndChainId(isCheckTx bool, dir, chainId string) *OsmosisApp

func (*OsmosisApp) AppCodec

func (app *OsmosisApp) AppCodec() codec.Codec

AppCodec returns Osmosis' app codec.

NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.

func (*OsmosisApp) BeginBlocker

func (app *OsmosisApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock

BeginBlocker application updates every begin block.

func (*OsmosisApp) BlockedAddrs

func (app *OsmosisApp) BlockedAddrs() map[string]bool

BlockedAddrs returns all the app's module account addresses that are not allowed to receive external tokens.

func (*OsmosisApp) ChainID

func (app *OsmosisApp) ChainID() string

ChainID gets chainID from private fields of BaseApp Should be removed once SDK 0.50.x will be adopted

func (*OsmosisApp) CheckTx

CheckTx will check the transaction with the provided checkTxHandler. We override the default handler so that we can verify bid transactions before they are inserted into the mempool. With the BlockSDK CheckTx, we can verify the bid transaction and all of the bundled transactions before inserting the bid transaction into the mempool.

func (*OsmosisApp) EndBlocker

func (app *OsmosisApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock

EndBlocker application updates every end block.

func (*OsmosisApp) ExportAppStateAndValidators

func (app *OsmosisApp) ExportAppStateAndValidators(
	forZeroHeight bool, jailAllowedAddrs []string, modulesToExport []string,
) (servertypes.ExportedApp, error)

ExportAppStateAndValidators exports the state of the application for a genesis file.

func (*OsmosisApp) ExportState

func (app *OsmosisApp) ExportState(ctx sdk.Context) map[string]json.RawMessage

func (*OsmosisApp) GetAccountKeeper

func (app *OsmosisApp) GetAccountKeeper() simtypes.AccountKeeper

func (*OsmosisApp) GetBankKeeper

func (app *OsmosisApp) GetBankKeeper() simtypes.BankKeeper

func (*OsmosisApp) GetBaseApp

func (app *OsmosisApp) GetBaseApp() *baseapp.BaseApp

func (*OsmosisApp) GetIBCKeeper

func (app *OsmosisApp) GetIBCKeeper() *ibckeeper.Keeper

func (*OsmosisApp) GetPoolManagerKeeper

func (app *OsmosisApp) GetPoolManagerKeeper() simtypes.PoolManagerKeeper

func (*OsmosisApp) GetSDKStakingKeeper

func (app *OsmosisApp) GetSDKStakingKeeper() stakingkeeper.Keeper

func (*OsmosisApp) GetScopedIBCKeeper

func (app *OsmosisApp) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper

func (*OsmosisApp) GetStakingKeeper

func (app *OsmosisApp) GetStakingKeeper() ibctestingtypes.StakingKeeper

Required for ibctesting

func (*OsmosisApp) GetTxConfig

func (app *OsmosisApp) GetTxConfig() client.TxConfig

func (*OsmosisApp) InitChainer

func (app *OsmosisApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain

InitChainer application update at chain initialization.

func (*OsmosisApp) InterfaceRegistry

func (app *OsmosisApp) InterfaceRegistry() types.InterfaceRegistry

InterfaceRegistry returns Osmosis' InterfaceRegistry.

func (*OsmosisApp) LegacyAmino

func (app *OsmosisApp) LegacyAmino() *codec.LegacyAmino

LegacyAmino returns SimApp's amino codec.

NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.

func (*OsmosisApp) LoadHeight

func (app *OsmosisApp) LoadHeight(height int64) error

LoadHeight loads a particular height.

func (*OsmosisApp) ModuleManager

func (app *OsmosisApp) ModuleManager() module.Manager

func (*OsmosisApp) Name

func (app *OsmosisApp) Name() string

Name returns the name of the App.

func (*OsmosisApp) RegisterAPIRoutes

func (app *OsmosisApp) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)

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

func (*OsmosisApp) RegisterNodeService

func (app *OsmosisApp) RegisterNodeService(clientCtx client.Context)

RegisterNodeService registers the node gRPC Query service.

func (*OsmosisApp) RegisterTendermintService

func (app *OsmosisApp) RegisterTendermintService(clientCtx client.Context)

RegisterTendermintService implements the Application.RegisterTendermintService method.

func (*OsmosisApp) RegisterTxService

func (app *OsmosisApp) RegisterTxService(clientCtx client.Context)

RegisterTxService implements the Application.RegisterTxService method.

func (*OsmosisApp) SetCheckTx

func (app *OsmosisApp) SetCheckTx(handler checktx.CheckTx)

SetCheckTx sets the checkTxHandler for the app.

func (*OsmosisApp) SimulationManager

func (app *OsmosisApp) SimulationManager() *module.SimulationManager

SimulationManager implements the SimulationApp interface

Directories

Path Synopsis
Package params defines the simulation parameters in the simapp.
Package params defines the simulation parameters in the simapp.
v10
v11
v12
v13
v14
v15
v16
v17
v18
v19
v20
v21
v22
v23
v24
v25
v3
v4
v5
v6
v7
v8
v8/constants
package v8constants contains constants related to the v8 upgrade.
package v8constants contains constants related to the v8 upgrade.
v9

Jump to

Keyboard shortcuts

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