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 AddTestAddrsIncrementalLong(app *App, ctx sdk.Context, accNum int, initialBondAmount sdkmath.Int) []sdk.AccAddress
- func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
- func GetUpgradeStoreLoader(app *App, info upgradetypes.Plan) baseapp.StoreLoader
- func InstallCustomUpgradeHandlers(app *App)
- func MakeTestEncodingConfig(t *testing.T) params.EncodingConfig
- func NewDebugLogger() log.Logger
- func NewInfoLogger() log.Logger
- func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
- func RegisterSwaggerAPI(_ client.Context, rtr *mux.Router, swaggerEnabled bool) error
- func SdkCoinDenomRegex() string
- func SetConfig(testnet bool, seal bool)
- func TestAddr(addr string, bech string) (sdk.AccAddress, error)
- 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 SetupWithGenesisValSet(t *testing.T, chainID string, valSet *cmttypes.ValidatorSet, ...) *App
- func (app *App) AppCodec() codec.Codec
- func (app *App) AutoCliOpts() autocli.AppOptions
- func (app *App) BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)
- func (app *App) DefaultGenesis() map[string]json.RawMessage
- func (app *App) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *App) GetBaseApp() *baseapp.BaseApp
- func (app *App) GetEncodingConfig() simappparams.EncodingConfig
- func (app *App) GetIBCKeeper() *ibckeeper.Keeper
- func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
- func (app *App) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
- func (app *App) GetStakingKeeper() ibctestingtypes.StakingKeeper
- func (app *App) GetStoreKeys() []storetypes.StoreKey
- func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey
- func (app *App) GetTxConfig() client.TxConfig
- func (app *App) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
- 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) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error)
- func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig serverconfig.APIConfig)
- func (app *App) RegisterNodeService(clientCtx client.Context, cfg serverconfig.Config)
- func (app *App) RegisterTendermintService(clientCtx client.Context)
- func (app *App) RegisterTxService(clientCtx client.Context)
- func (app *App) SimulationManager() *module.SimulationManager
- type GenerateAccountStrategy
- type GenesisState
- type GroupCheckerFunc
- type GroupPolicyQuerier
- type LoggerMakerFn
- type MessageRouterFunc
- type PioMessageRouter
- type SetupOptions
- type WasmWrapper
Constants ¶
const ( AccountAddressPrefixMainNet = "pb" AccountAddressPrefixTestNet = "tp" CoinTypeMainNet = uint32(505) CoinTypeTestNet = uint32(1) Purpose = 44 // EnvPrefix is the prefix added to config/flag names to get its environment variable name. EnvPrefix = "PIO" )
Variables ¶
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string // DefaultPowerReduction pio specific value for power reduction for TokensFromConsensusPower DefaultPowerReduction = sdkmath.NewIntFromUint64(1_000_000_000) )
var ( AccountAddressPrefix = AccountAddressPrefixMainNet AccountPubKeyPrefix = AccountAddressPrefix + "pub" ValidatorAddressPrefix = AccountAddressPrefix + "valoper" ValidatorPubKeyPrefix = AccountAddressPrefix + "valoperpub" ConsNodeAddressPrefix = AccountAddressPrefix + "valcons" ConsNodePubKeyPrefix = AccountAddressPrefix + "valconspub" CoinType = CoinTypeMainNet )
var DefaultConsensusParams = &cmttmtypes.ConsensusParams{ Block: &cmttmtypes.BlockParams{ MaxBytes: 200000, MaxGas: 60_000_000, }, Evidence: &cmttmtypes.EvidenceParams{ MaxAgeNumBlocks: 302400, MaxAgeDuration: 504 * time.Hour, MaxBytes: 10000, }, Validator: &cmttmtypes.ValidatorParams{ PubKeyTypes: []string{ cmttypes.ABCIPubKeyTypeEd25519, }, }, }
DefaultConsensusParams defines the default 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 creates accNum accounts with 20-byte incrementing addresses and initialBondAmount of bond denom.
func AddTestAddrsIncrementalLong ¶ added in v1.18.0
func AddTestAddrsIncrementalLong(app *App, ctx sdk.Context, accNum int, initialBondAmount sdkmath.Int) []sdk.AccAddress
AddTestAddrsIncrementalLong creates accNum accounts with 32-byte incrementing addresses and initialBondAmount of bond denom.
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 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 upgrades map.
func MakeTestEncodingConfig ¶ added in v1.19.0
func MakeTestEncodingConfig(t *testing.T) params.EncodingConfig
MakeTestEncodingConfig creates an encoding config suitable for unit tests.
func NewDebugLogger ¶ added in v1.16.0
NewDebugLogger creates a new logger to stdout with level debug. Standard usage: defer SetLoggerMaker(SetLoggerMaker(NewDebugLogger))
func NewInfoLogger ¶ added in v1.16.0
NewInfoLogger creates a new logger to stdout with level info. Standard usage: defer SetLoggerMaker(SetLoggerMaker(NewInfoLogger))
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 provides a common function which 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
Types ¶
type App ¶
type App struct { *baseapp.BaseApp // keepers AccountKeeper authkeeper.AccountKeeper BankKeeper bankkeeper.BaseKeeper CapabilityKeeper *capabilitykeeper.Keeper StakingKeeper *stakingkeeper.Keeper CircuitKeeper circuitkeeper.Keeper SlashingKeeper slashingkeeper.Keeper MintKeeper mintkeeper.Keeper DistrKeeper distrkeeper.Keeper GovKeeper govkeeper.Keeper CrisisKeeper *crisiskeeper.Keeper UpgradeKeeper *upgradekeeper.Keeper AuthzKeeper authzkeeper.Keeper GroupKeeper groupkeeper.Keeper EvidenceKeeper evidencekeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper MsgFeesKeeper msgfeeskeeper.Keeper QuarantineKeeper quarantinekeeper.Keeper SanctionKeeper sanctionkeeper.Keeper TriggerKeeper triggerkeeper.Keeper OracleKeeper oraclekeeper.Keeper ConsensusParamsKeeper consensusparamkeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly IBCHooksKeeper *ibchookskeeper.Keeper ICAHostKeeper *icahostkeeper.Keeper TransferKeeper *ibctransferkeeper.Keeper ICQKeeper icqkeeper.Keeper RateLimitingKeeper *ibcratelimitkeeper.Keeper MarkerKeeper markerkeeper.Keeper MetadataKeeper metadatakeeper.Keeper AttributeKeeper attributekeeper.Keeper NameKeeper namekeeper.Keeper HoldKeeper holdkeeper.Keeper ExchangeKeeper exchangekeeper.Keeper WasmKeeper *wasmkeeper.Keeper ContractKeeper *wasmkeeper.PermissionedKeeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper ScopedICAHostKeeper capabilitykeeper.ScopedKeeper ScopedICQKeeper capabilitykeeper.ScopedKeeper ScopedOracleKeeper capabilitykeeper.ScopedKeeper TransferStack *ibchooks.IBCMiddleware Ics20WasmHooks *ibchooks.WasmHooks Ics20MarkerHooks *ibchooks.MarkerHooks IbcHooks *ibchooks.IbcHooks HooksICS4Wrapper ibchooks.ICS4Middleware RateLimitMiddleware porttypes.Middleware BasicModuleManager module.BasicManager // 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, 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 SetupWithGenesisValSet ¶
func SetupWithGenesisValSet(t *testing.T, chainID string, valSet *cmttypes.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) AutoCliOpts ¶ added in v1.19.0
func (app *App) AutoCliOpts() autocli.AppOptions
AutoCliOpts returns the autocli options for the app.
func (*App) BeginBlocker ¶
BeginBlocker application updates every begin block
func (*App) DefaultGenesis ¶ added in v1.19.0
func (app *App) DefaultGenesis() map[string]json.RawMessage
DefaultGenesis returns a default genesis from the registered AppModuleBasic's.
func (*App) EndBlocker ¶
EndBlocker application updates every end block
func (*App) ExportAppStateAndValidators ¶
func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*App) GetBaseApp ¶ added in v1.17.0
GetBaseApp returns the base cosmos app
func (*App) GetEncodingConfig ¶ added in v1.19.0
func (app *App) GetEncodingConfig() simappparams.EncodingConfig
GetEncodingConfig returns the various encoding configurations used in this app.
func (*App) GetIBCKeeper ¶ added in v1.17.0
GetIBCKeeper returns the ibc keeper (for ibc testing)
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) GetScopedIBCKeeper ¶ added in v1.17.0
func (app *App) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
GetScopedIBCKeeper returns the scoped ibc keeper (for ibc testing)
func (*App) GetStakingKeeper ¶ added in v1.17.0
func (app *App) GetStakingKeeper() ibctestingtypes.StakingKeeper
GetStakingKeeper returns the staking keeper (for ibc testing)
func (*App) GetStoreKeys ¶ added in v1.19.0
func (app *App) GetStoreKeys() []storetypes.StoreKey
GetStoreKeys returns all the stored store keys.
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) GetTxConfig ¶ added in v1.17.0
GetTxConfig implements the TestingApp interface (for ibc testing).
func (*App) InitChainer ¶
func (app *App) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
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) PreBlocker ¶ added in v1.19.0
func (app *App) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error)
PreBlocker application updates every pre block
func (*App) RegisterAPIRoutes ¶
func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig serverconfig.APIConfig)
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*App) RegisterNodeService ¶ added in v1.13.0
func (app *App) RegisterNodeService(clientCtx client.Context, cfg serverconfig.Config)
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 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.
type GroupCheckerFunc ¶ added in v1.18.0
type GroupCheckerFunc func(sdk.Context, sdk.AccAddress) bool
GroupCheckerFunc convenient type to match the GroupChecker interface.
func NewGroupCheckerFunc ¶ added in v1.18.0
func NewGroupCheckerFunc(querier GroupPolicyQuerier) GroupCheckerFunc
NewGroupCheckerFunc creates a new GroupChecker function for checking if an account is in a group.
func (GroupCheckerFunc) IsGroupAddress ¶ added in v1.18.0
func (t GroupCheckerFunc) IsGroupAddress(ctx sdk.Context, account sdk.AccAddress) bool
IsGroupAddress checks if the account is a group address.
type GroupPolicyQuerier ¶ added in v1.18.0
type GroupPolicyQuerier interface {
GroupPolicyInfo(goCtx context.Context, request *group.QueryGroupPolicyInfoRequest) (*group.QueryGroupPolicyInfoResponse, error)
}
GroupPolicyQuerier provides functionality to query group policies.
type LoggerMakerFn ¶ added in v1.16.0
A LoggerMakerFn is a function that makes a logger.
func BufferedInfoLoggerMaker ¶ added in v1.18.0
func BufferedInfoLoggerMaker(buffer *bytes.Buffer) LoggerMakerFn
BufferedInfoLoggerMaker returns a logger maker function for a NewBufferedInfoLogger. Error log lines will start with "ERR ". Info log lines will start with "INF ".
func SetLoggerMaker ¶ added in v1.16.0
func SetLoggerMaker(newLoggerMaker LoggerMakerFn) LoggerMakerFn
SetLoggerMaker sets the global loggerMaker variable (used for test setup) and returns what it was before.
Example usage: defer SetLoggerMaker(SetLoggerMaker(NewDebugLogger))
The inside SetLoggerMaker(NewDebugLogger) is called immediately at that line and it's result is defined as the argument to the outside SetLoggerMaker which is invoked via defer when the function returns. Basically, it temporarily changes the loggerMaker for the duration of the function in question. That line would be added before a call to one of the app setup functions, e.g. SetupWithGenesisRewardsProgram.
This function should never be called in any committed code. It's only for test troubleshooting.
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 AppOpts servertypes.AppOptions ChainID string }
SetupOptions defines arguments that are passed into `Simapp` constructor.
type WasmWrapper ¶
type WasmWrapper struct {
Wasm wasmtypes.WasmConfig `mapstructure:"wasm"`
}
WasmWrapper allows us to use namespacing in the config file This is only used for parsing in the app, x/wasm expects WasmConfig