Documentation ¶
Index ¶
- Constants
- Variables
- func AddTestAddrs(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
- func AddTestAddrsFromPubKeys(app *App, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt sdkmath.Int)
- func AddTestAddrsIncremental(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
- func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
- func GetMaccPerms() map[string][]string
- func GetUpgradeStoreLoader(app *App, info upgradetypes.Plan) baseapp.StoreLoader
- func InstallCustomUpgradeHandlers(app *App)
- func MakeEncodingConfig() params.EncodingConfig
- func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
- func RegisterSwaggerAPI(ctx client.Context, rtr *mux.Router)
- func SdkCoinDenomRegex() string
- func SetConfig(testnet bool, seal bool)
- func TestAddr(addr string, bech string) (sdk.AccAddress, error)
- func UpgradeICA(ctx sdk.Context, app *App, versionMap *module.VersionMap)
- type App
- func New(logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, ...) *App
- func NewAppWithCustomOptions(t *testing.T, isCheckTx bool, options SetupOptions) *App
- func Setup(t *testing.T) *App
- func SetupQuerier(t *testing.T) *App
- func SetupWithGenesisAccounts(t *testing.T, chainID string, genAccs []authtypes.GenesisAccount, ...) *App
- func SetupWithGenesisRewardsProgram(t *testing.T, nextRewardProgramID uint64, ...) *App
- func SetupWithGenesisValSet(t *testing.T, chainID string, valSet *tmtypes.ValidatorSet, ...) *App
- func (app *App) AppCodec() codec.Codec
- func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string) (servertypes.ExportedApp, error)
- func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
- func (app *App) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey
- func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *App) InterfaceRegistry() types.InterfaceRegistry
- func (app *App) LegacyAmino() *codec.LegacyAmino
- func (app *App) LoadHeight(height int64) error
- func (app *App) ModuleAccountAddrs() map[string]bool
- func (app *App) Name() string
- func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *App) RegisterNodeService(clientCtx client.Context)
- func (app *App) RegisterTendermintService(clientCtx client.Context)
- func (app *App) RegisterTxService(clientCtx client.Context)
- func (app *App) SimulationManager() *module.SimulationManager
- type CosmosApp
- type GenerateAccountStrategy
- type GenesisState
- type MessageRouterFunc
- type PioMessageRouter
- type SetupOptions
- type WasmWrapper
Constants ¶
const ( AccountAddressPrefixMainNet = "pb" AccountAddressPrefixTestNet = "tp" CoinTypeMainNet = 505 CoinTypeTestNet = 1 Purpose = 44 )
Variables ¶
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string // DefaultPowerReduction pio specific value for power reduction for TokensFromConsensusPower DefaultPowerReduction = sdk.NewIntFromUint64(1000000000) // 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(append( wasmclient.ProposalHandlers, paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.LegacyProposalHandler, upgradeclient.LegacyCancelProposalHandler, ibcclientclient.UpdateClientProposalHandler, ibcclientclient.UpgradeProposalHandler, nameclient.ProposalHandler, ), ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, feegrantmodule.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, authzmodule.AppModuleBasic{}, groupmodule.AppModuleBasic{}, vesting.AppModuleBasic{}, ibc.AppModuleBasic{}, transfer.AppModuleBasic{}, ica.AppModuleBasic{}, marker.AppModuleBasic{}, attribute.AppModuleBasic{}, name.AppModuleBasic{}, metadata.AppModuleBasic{}, wasm.AppModuleBasic{}, msgfeesmodule.AppModuleBasic{}, rewardmodule.AppModuleBasic{}, ) )
var ( AccountAddressPrefix = AccountAddressPrefixMainNet AccountPubKeyPrefix = AccountAddressPrefix + "pub" ValidatorAddressPrefix = AccountAddressPrefix + "valoper" ValidatorPubKeyPrefix = AccountAddressPrefix + "valoperpub" ConsNodeAddressPrefix = AccountAddressPrefix + "valcons" ConsNodePubKeyPrefix = AccountAddressPrefix + "valconspub" CoinType = CoinTypeMainNet )
var DefaultConsensusParams = &abci.ConsensusParams{ Block: &abci.BlockParams{ MaxBytes: 200000, MaxGas: 60_000_000, }, Evidence: &tmproto.EvidenceParams{ MaxAgeNumBlocks: 302400, MaxAgeDuration: 504 * time.Hour, MaxBytes: 10000, }, Validator: &tmproto.ValidatorParams{ PubKeyTypes: []string{ tmtypes.ABCIPubKeyTypeEd25519, }, }, }
DefaultConsensusParams defines the default Tendermint consensus params used in SimApp testing.
Functions ¶
func AddTestAddrs ¶ added in v1.0.0
AddTestAddrs constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func AddTestAddrsFromPubKeys ¶ added in v1.0.0
func AddTestAddrsFromPubKeys(app *App, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt sdkmath.Int)
AddTestAddrsFromPubKeys adds the addresses into the App providing only the public keys.
func AddTestAddrsIncremental ¶ added in v1.0.0
func AddTestAddrsIncremental(app *App, ctx sdk.Context, accNum int, accAmt sdkmath.Int) []sdk.AccAddress
AddTestAddrsIncremental constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func CreateTestPubKeys ¶ added in v1.0.0
func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
CreateTestPubKeys returns a total of numPubKeys public keys in ascending order.
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
func GetUpgradeStoreLoader ¶ added in v1.13.0
func GetUpgradeStoreLoader(app *App, info upgradetypes.Plan) baseapp.StoreLoader
GetUpgradeStoreLoader creates an StoreLoader for use in an upgrade. Returns nil if no upgrade info is found or the upgrade doesn't need a store loader.
func InstallCustomUpgradeHandlers ¶ added in v0.3.0
func InstallCustomUpgradeHandlers(app *App)
InstallCustomUpgradeHandlers sets upgrade handlers for all entries in the handlers map.
func MakeEncodingConfig ¶
func MakeEncodingConfig() params.EncodingConfig
MakeTestEncodingConfig creates an EncodingConfig for testing. This function should be used only in tests or when creating a new app instance (NewApp*()). App user shouldn't create new codecs - use the app.AppCodec instead. [DEPRECATED]
func NewPubKeyFromHex ¶ added in v1.0.0
func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
NewPubKeyFromHex returns a PubKey from a hex string.
func RegisterSwaggerAPI ¶
RegisterSwaggerAPI registers swagger route with API Server
func SdkCoinDenomRegex ¶ added in v1.2.0
func SdkCoinDenomRegex() string
SdkCoinDenomRegex returns a new sdk base denom regex string
func UpgradeICA ¶ added in v1.13.0
func UpgradeICA(ctx sdk.Context, app *App, versionMap *module.VersionMap)
Types ¶
type App ¶
type App struct { *baseapp.BaseApp // keepers AccountKeeper authkeeper.AccountKeeper BankKeeper bankkeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper StakingKeeper stakingkeeper.Keeper SlashingKeeper slashingkeeper.Keeper MintKeeper mintkeeper.Keeper DistrKeeper distrkeeper.Keeper GovKeeper govkeeper.Keeper CrisisKeeper crisiskeeper.Keeper UpgradeKeeper upgradekeeper.Keeper ParamsKeeper paramskeeper.Keeper AuthzKeeper authzkeeper.Keeper GroupKeeper groupkeeper.Keeper EvidenceKeeper evidencekeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper MsgFeesKeeper msgfeeskeeper.Keeper RewardKeeper rewardkeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly ICAHostKeeper icahostkeeper.Keeper TransferKeeper ibctransferkeeper.Keeper MarkerKeeper markerkeeper.Keeper MetadataKeeper metadatakeeper.Keeper AttributeKeeper attributekeeper.Keeper NameKeeper namekeeper.Keeper WasmKeeper wasm.Keeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper ScopedICAHostKeeper capabilitykeeper.ScopedKeeper // contains filtered or unexported fields }
App 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 New ¶
func New( 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), ) *App
New returns a reference to an initialized Provenance Blockchain App.
func NewAppWithCustomOptions ¶ added in v1.13.0
func NewAppWithCustomOptions(t *testing.T, isCheckTx bool, options SetupOptions) *App
NewAppWithCustomOptions initializes a new SimApp with custom options.
func SetupQuerier ¶ added in v1.13.0
SetupQuerier initializes a new App without genesis and without calling InitChain.
func SetupWithGenesisAccounts ¶
func SetupWithGenesisAccounts(t *testing.T, chainID string, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance) *App
SetupWithGenesisAccounts initializes a new App with the provided genesis accounts and possible balances.
func SetupWithGenesisRewardsProgram ¶ added in v1.13.0
func SetupWithGenesisRewardsProgram(t *testing.T, nextRewardProgramID uint64, genesisRewards []rewardtypes.RewardProgram, genAccs []authtypes.GenesisAccount, valSet *tmtypes.ValidatorSet, balances ...banktypes.Balance) *App
SetupWithGenesisRewardsProgram initializes a new SimApp with the provided rewards programs, genesis accounts, validators, and balances.
func SetupWithGenesisValSet ¶
func SetupWithGenesisValSet(t *testing.T, chainID string, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance) *App
SetupWithGenesisValSet initializes a new App with a validator set and genesis accounts that also act as delegators. For simplicity, each validator is bonded with a delegation of one consensus engine unit in the default token of the app from first genesis account. A Nop logger is set in App.
func (*App) AppCodec ¶
AppCodec returns Provenance's 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 (*App) BeginBlocker ¶
func (app *App) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
BeginBlocker application updates every begin block
func (*App) EndBlocker ¶
func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
EndBlocker application updates every end block
func (*App) ExportAppStateAndValidators ¶
func (app *App) ExportAppStateAndValidators( forZeroHeight bool, jailAllowedAddrs []string, ) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*App) GetKey ¶
func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*App) GetMemKey ¶
func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
GetMemKey returns the MemStoreKey for the provided mem key.
NOTE: This is solely used for testing purposes.
func (*App) GetSubspace ¶
func (app *App) 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 (*App) GetTKey ¶
func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*App) InitChainer ¶
func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
InitChainer application update at chain initialization
func (*App) InterfaceRegistry ¶
func (app *App) InterfaceRegistry() types.InterfaceRegistry
InterfaceRegistry returns Provenance's InterfaceRegistry
func (*App) LegacyAmino ¶
func (app *App) 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 (*App) LoadHeight ¶
LoadHeight loads a particular height
func (*App) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.
func (*App) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*App) RegisterNodeService ¶ added in v1.13.0
RegisterNodeService registers the node query server.
func (*App) RegisterTendermintService ¶
RegisterTendermintService implements the Application.RegisterTendermintService method.
func (*App) RegisterTxService ¶
RegisterTxService implements the Application.RegisterTxService method.
func (*App) SimulationManager ¶
func (app *App) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface
type CosmosApp ¶
type CosmosApp 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, ) (types.ExportedApp, error) // All the registered module account addreses. ModuleAccountAddrs() map[string]bool // Helper for the simulation framework. SimulationManager() *module.SimulationManager }
App implements the common methods for a Cosmos SDK-based application specific blockchain.
type GenerateAccountStrategy ¶ added in v1.0.0
type GenerateAccountStrategy func(int) []sdk.AccAddress
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 GenesisStateWithSingleValidator ¶ added in v1.13.0
func GenesisStateWithSingleValidator(t *testing.T, app *App) GenesisState
GenesisStateWithSingleValidator initializes GenesisState with a single validator and genesis accounts that also act as delegators.
func NewDefaultGenesisState ¶
func NewDefaultGenesisState(cdc codec.JSONCodec) GenesisState
NewDefaultGenesisState generates the default state for the application.
type MessageRouterFunc ¶ added in v1.8.0
type MessageRouterFunc func(msg sdk.Msg) baseapp.MsgServiceHandler
MessageRouterFunc convenient type to match the keeper.MessageRouter interface
func (MessageRouterFunc) Handler ¶ added in v1.8.0
func (m MessageRouterFunc) Handler(msg sdk.Msg) baseapp.MsgServiceHandler
Handler is the entry point
type PioMessageRouter ¶ added in v1.8.0
type PioMessageRouter struct {
HandlerFn func(msg sdk.Msg) baseapp.MsgServiceHandler
}
PioMessageRouter pio wasmd MessageRouter
func (PioMessageRouter) Handler ¶ added in v1.8.0
func (m PioMessageRouter) Handler(msg sdk.Msg) baseapp.MsgServiceHandler
Handler is the entry point
type SetupOptions ¶ added in v1.13.0
type SetupOptions struct { Logger log.Logger DB *dbm.MemDB InvCheckPeriod uint HomePath string SkipUpgradeHeights map[int64]bool EncConfig params.EncodingConfig AppOpts servertypes.AppOptions ChainID string }
SetupOptions defines arguments that are passed into `Simapp` constructor.
type WasmWrapper ¶
WasmWrapper allows us to use namespacing in the config file This is only used for parsing in the app, x/wasm expects WasmConfig