Documentation ¶
Index ¶
- Variables
- func BeginBlockForks(ctx sdk.Context, app *OsmosisApp)
- func DefaultConfig() network.Config
- func GetMaccPerms() map[string][]string
- func MakeCodecs() (codec.Codec, *codec.LegacyAmino)
- func MakeEncodingConfig() params.EncodingConfig
- func NewAnteHandler(appOpts servertypes.AppOptions, ak ante.AccountKeeper, ...) sdk.AnteHandler
- func NewAppConstructor(encodingCfg params.EncodingConfig) network.AppConstructor
- func RegisterSwaggerAPI(ctx client.Context, rtr *mux.Router)
- type App
- type GenesisState
- type MempoolMaxGasPerTxDecorator
- type OsmosisApp
- func (app *OsmosisApp) AppCodec() codec.Codec
- func (app *OsmosisApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *OsmosisApp) BlockedAddrs() map[string]bool
- func (app *OsmosisApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *OsmosisApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string) (servertypes.ExportedApp, error)
- func (app *OsmosisApp) GetKey(storeKey string) *sdk.KVStoreKey
- func (app *OsmosisApp) GetMemKey(storeKey string) *sdk.MemoryStoreKey
- func (app *OsmosisApp) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *OsmosisApp) GetTKey(storeKey string) *sdk.TransientStoreKey
- func (app *OsmosisApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *OsmosisApp) InitNormalKeepers()
- func (app *OsmosisApp) InitSpecialKeepers(skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint)
- func (app *OsmosisApp) InterfaceRegistry() types.InterfaceRegistry
- func (app *OsmosisApp) LegacyAmino() *codec.LegacyAmino
- func (app *OsmosisApp) LoadHeight(height int64) error
- func (app *OsmosisApp) ModuleAccountAddrs() map[string]bool
- func (app *OsmosisApp) Name() string
- func (app *OsmosisApp) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *OsmosisApp) RegisterTendermintService(clientCtx client.Context)
- func (app *OsmosisApp) RegisterTxService(clientCtx client.Context)
- func (app *OsmosisApp) SetupHooks()
- func (app *OsmosisApp) SimulationManager() *module.SimulationManager
Constants ¶
This section is empty.
Variables ¶
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( auth.AppModuleBasic{}, genutil.AppModuleBasic{}, bank.AppModuleBasic{}, capability.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic( paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.ProposalHandler, upgradeclient.CancelProposalHandler, poolincentivesclient.UpdatePoolIncentivesHandler, ibcclientclient.UpdateClientProposalHandler, ibcclientclient.UpgradeProposalHandler, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, authzmodule.AppModuleBasic{}, ibc.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, transfer.AppModuleBasic{}, vesting.AppModuleBasic{}, gamm.AppModuleBasic{}, txfees.AppModuleBasic{}, incentives.AppModuleBasic{}, lockup.AppModuleBasic{}, poolincentives.AppModuleBasic{}, epochs.AppModuleBasic{}, claim.AppModuleBasic{}, bech32ibc.AppModuleBasic{}, ) )
Functions ¶
func BeginBlockForks ¶
func BeginBlockForks(ctx sdk.Context, app *OsmosisApp)
BeginBlockForks is intended to be ran in
func DefaultConfig ¶
DefaultConfig returns a default configuration suitable for nearly all testing requirements.
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
func MakeCodecs ¶
func MakeCodecs() (codec.Codec, *codec.LegacyAmino)
MakeCodecs constructs the *std.Codec and *codec.LegacyAmino instances used by simapp. It is useful for tests and clients who do not want to construct the full simapp
func MakeEncodingConfig ¶
func MakeEncodingConfig() params.EncodingConfig
MakeEncodingConfig creates an EncodingConfig for testing
func NewAnteHandler ¶
func NewAnteHandler( appOpts servertypes.AppOptions, ak ante.AccountKeeper, bankKeeper authtypes.BankKeeper, txFeesKeeper *txfeeskeeper.Keeper, spotPriceCalculator txfeestypes.SpotPriceCalculator, sigGasConsumer ante.SignatureVerificationGasConsumer, signModeHandler signing.SignModeHandler, channelKeeper channelkeeper.Keeper, ) 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
func NewAppConstructor ¶
func NewAppConstructor(encodingCfg params.EncodingConfig) network.AppConstructor
Types ¶
type App ¶
type App interface { // The assigned name of the app. Name() string // The application types codec. // NOTE: This shoult be sealed before being returned. LegacyAmino() *codec.LegacyAmino // Application updates every begin block. BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock // Application updates every end block. EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock // Application update at chain (i.e app) initialization. InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain // Loads the app at a given height. LoadHeight(height int64) error // Exports the state of the application for a genesis file. ExportAppStateAndValidators( forZeroHeight bool, jailAllowedAddrs []string, ) (servertypes.ExportedApp, error) // All the registered module account addreses. ModuleAccountAddrs() map[string]bool }
App implements the common methods for a Cosmos SDK-based application specific blockchain.
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 NewDefaultGenesisState ¶
func NewDefaultGenesisState() GenesisState
NewDefaultGenesisState generates the default state for the application.
type MempoolMaxGasPerTxDecorator ¶
type MempoolMaxGasPerTxDecorator struct{}
NewMempoolMaxGasPerTxDecorator will check if the transaction's gas is greater than the local validator's max_gas_wanted_per_tx. TODO: max_gas_per_tx is hardcoded here, should move to being defined in app.toml. If gas_wanted is too high, decorator returns error and tx is rejected from mempool. Note this only applies when ctx.CheckTx = true If gas is sufficiently low or not CheckTx, then call next AnteHandler CONTRACT: Tx must implement FeeTx to use MempoolMaxGasPerTxDecorator
func NewMempoolMaxGasPerTxDecorator ¶
func NewMempoolMaxGasPerTxDecorator() MempoolMaxGasPerTxDecorator
func (MempoolMaxGasPerTxDecorator) AnteHandle ¶
type OsmosisApp ¶
type OsmosisApp struct { *baseapp.BaseApp // keepers, by order of initialization // "Special" keepers ParamsKeeper *paramskeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper CrisisKeeper *crisiskeeper.Keeper UpgradeKeeper *upgradekeeper.Keeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper // "Normal" keepers AccountKeeper *authkeeper.AccountKeeper BankKeeper *bankkeeper.BaseKeeper AuthzKeeper *authzkeeper.Keeper StakingKeeper *stakingkeeper.Keeper DistrKeeper *distrkeeper.Keeper SlashingKeeper *slashingkeeper.Keeper IBCKeeper *ibckeeper.Keeper TransferKeeper *ibctransferkeeper.Keeper Bech32IBCKeeper *bech32ibckeeper.Keeper Bech32ICS20Keeper *bech32ics20keeper.Keeper EvidenceKeeper *evidencekeeper.Keeper ClaimKeeper *claimkeeper.Keeper GAMMKeeper *gammkeeper.Keeper LockupKeeper *lockupkeeper.Keeper EpochsKeeper *epochskeeper.Keeper IncentivesKeeper *incentiveskeeper.Keeper MintKeeper *mintkeeper.Keeper PoolIncentivesKeeper *poolincentiveskeeper.Keeper TxFeesKeeper *txfeeskeeper.Keeper GovKeeper *govkeeper.Keeper // contains filtered or unexported fields }
Osmosis 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 NewOsmosisApp ¶
func NewOsmosisApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, encodingConfig appparams.EncodingConfig, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *OsmosisApp
NewOsmosis returns a reference to an initialized Osmosis.
func SetupTestingAppWithLevelDb ¶
func SetupTestingAppWithLevelDb(isCheckTx bool) (app *OsmosisApp, cleanupFn func())
SetupTestingAppWithLevelDb initializes a new OsmosisApp intended for testing, with LevelDB as a db
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) 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, ) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*OsmosisApp) GetKey ¶
func (app *OsmosisApp) GetKey(storeKey string) *sdk.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*OsmosisApp) GetMemKey ¶
func (app *OsmosisApp) GetMemKey(storeKey string) *sdk.MemoryStoreKey
GetMemKey returns the MemStoreKey for the provided mem key.
NOTE: This is solely used for testing purposes.
func (*OsmosisApp) GetSubspace ¶
func (app *OsmosisApp) GetSubspace(moduleName string) paramstypes.Subspace
GetSubspace returns a param subspace for a given module name.
NOTE: This is solely to be used for testing purposes.
func (*OsmosisApp) GetTKey ¶
func (app *OsmosisApp) GetTKey(storeKey string) *sdk.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*OsmosisApp) InitChainer ¶
func (app *OsmosisApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
InitChainer application update at chain initialization
func (*OsmosisApp) InitNormalKeepers ¶
func (app *OsmosisApp) InitNormalKeepers()
func (*OsmosisApp) InitSpecialKeepers ¶
func (app *OsmosisApp) InitSpecialKeepers( skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, )
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) ModuleAccountAddrs ¶
func (app *OsmosisApp) ModuleAccountAddrs() map[string]bool
ModuleAccountAddrs returns all the app's module account addresses.
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) 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) SetupHooks ¶
func (app *OsmosisApp) SetupHooks()
func (*OsmosisApp) SimulationManager ¶
func (app *OsmosisApp) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface