Documentation
¶
Index ¶
- Constants
- Variables
- func AddTestAddrs(app *PstakeApp, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
- func AddTestAddrsFromPubKeys(app *PstakeApp, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt math.Int)
- func AddTestAddrsIncremental(app *PstakeApp, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
- func CheckBalance(t *testing.T, app *PstakeApp, addr sdk.AccAddress, balances sdk.Coins)
- func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
- func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
- func InitAccountWithCoins(app *PstakeApp, ctx sdk.Context, addr sdk.AccAddress, coins sdk.Coins)
- func MakeEncodingConfig() params.EncodingConfig
- func NewAppConstructor(encodingCfg appparams.EncodingConfig, db *dbm.MemDB) network.AppConstructor
- func NewConfig(dbm *dbm.MemDB) network.Config
- func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
- func NoInflationCalculationFn(_ sdk.Context, minter minttypes.Minter, params minttypes.Params, ...) math.LegacyDec
- func PP(data interface{})
- func ParseTime(s string) time.Time
- func RegisterDenoms()
- func SetAddressPrefixes()
- func TestAddr(addr, bech string) (sdk.AccAddress, error)
- type EmptyAppOptions
- type GenerateAccountStrategy
- type GenesisState
- type PstakeApp
- func CreateTestApp(t *testing.T) (*codec.LegacyAmino, PstakeApp, sdk.Context)
- func NewpStakeApp(logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, ...) *PstakeApp
- func Setup(t *testing.T, isCheckTx bool, invCheckPeriod uint) *PstakeApp
- func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, ...) *PstakeApp
- func (app *PstakeApp) AppCodec() codec.Codec
- func (app *PstakeApp) AutoCliOpts() autocli.AppOptions
- func (app *PstakeApp) BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)
- func (app *PstakeApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)
- func (app *PstakeApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *PstakeApp) GetBaseApp() *baseapp.BaseApp
- func (app *PstakeApp) GetKey(storeKey string) *store.KVStoreKey
- func (app *PstakeApp) GetMemKey(storeKey string) *store.MemoryStoreKey
- func (app *PstakeApp) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *PstakeApp) GetTKey(storeKey string) *store.TransientStoreKey
- func (app *PstakeApp) GetTxConfig() client.TxConfig
- func (app *PstakeApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
- func (app *PstakeApp) InterfaceRegistry() types.InterfaceRegistry
- func (app *PstakeApp) LegacyAmino() *codec.LegacyAmino
- func (app *PstakeApp) LoadHeight(height int64) error
- func (app *PstakeApp) ModuleAccountAddrs() map[string]bool
- func (app *PstakeApp) Name() string
- func (app *PstakeApp) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *PstakeApp) RegisterNodeService(clientCtx client.Context, config2 config.Config)
- func (app *PstakeApp) RegisterTendermintService(clientCtx client.Context)
- func (app *PstakeApp) RegisterTxService(clientCtx client.Context)
- func (app *PstakeApp) RegisterUpgradeHandler()
- func (app *PstakeApp) SendCoinBlockedAddrs() map[string]bool
- func (app *PstakeApp) SimulationManager() *module.SimulationManager
- type SimGenesisAccount
Constants ¶
const ( Bech32MainPrefix = "persistence" CoinType = 118 Purpose = 44 HumanCoinUnit = "xprt" BaseCoinUnit = "uxprt" XPRTExponent = 6 Bech32PrefixAccAddr = Bech32MainPrefix Bech32PrefixAccPub = Bech32MainPrefix + sdkTypes.PrefixPublic Bech32PrefixValAddr = Bech32MainPrefix + sdkTypes.PrefixValidator + sdkTypes.PrefixOperator Bech32PrefixValPub = Bech32MainPrefix + sdkTypes.PrefixValidator + sdkTypes.PrefixOperator + sdkTypes.PrefixPublic Bech32PrefixConsAddr = Bech32MainPrefix + sdkTypes.PrefixValidator + sdkTypes.PrefixConsensus Bech32PrefixConsPub = Bech32MainPrefix + sdkTypes.PrefixValidator + sdkTypes.PrefixConsensus + sdkTypes.PrefixPublic )
const (
SimAppChainID = "pstake-app"
)
SimAppChainID hardcoded chainID for simulation
const (
UpgradeName = "v4.0.0"
)
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.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), bank.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic([]govclient.ProposalHandler{ paramsclient.ProposalHandler, }), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, feegrantmodule.AppModuleBasic{}, authzmodule.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, vesting.AppModuleBasic{}, epochs.AppModuleBasic{}, liquid.AppModuleBasic{}, liquidstake.AppModuleBasic{}, consensus.AppModuleBasic{}, wasm.AppModuleBasic{}, ) )
var DefaultConsensusParams = &tmproto.ConsensusParams{ Block: &tmproto.BlockParams{ MaxBytes: 200000, MaxGas: 2000000, }, Evidence: &tmproto.EvidenceParams{ MaxAgeNumBlocks: 302400, MaxAgeDuration: 504 * time.Hour, MaxBytes: 10000, }, Validator: &tmproto.ValidatorParams{ PubKeyTypes: []string{ tmtypes.ABCIPubKeyTypeEd25519, }, }, }
Functions ¶
func AddTestAddrs ¶
AddTestAddrs constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func AddTestAddrsFromPubKeys ¶
func AddTestAddrsFromPubKeys(app *PstakeApp, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt math.Int)
AddTestAddrsFromPubKeys adds the addresses into the App providing only the public keys.
func AddTestAddrsIncremental ¶
func AddTestAddrsIncremental(app *PstakeApp, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
AddTestAddrsIncremental constructs and returns accNum amount of accounts with an initial balance of accAmt in ascending order
func CheckBalance ¶
CheckBalance checks the balance of an account.
func ConvertAddrsToValAddrs ¶
func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
ConvertAddrsToValAddrs converts the provided addresses to ValAddress.
func CreateTestPubKeys ¶
func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
CreateTestPubKeys returns a total of numPubKeys public keys in ascending order.
func InitAccountWithCoins ¶
func MakeEncodingConfig ¶
func MakeEncodingConfig() params.EncodingConfig
MakeEncodingConfig creates an EncodingConfig for testing
func NewAppConstructor ¶
func NewAppConstructor(encodingCfg appparams.EncodingConfig, db *dbm.MemDB) network.AppConstructor
NewAppConstructor returns a new network AppConstructor.
func NewConfig ¶
NewConfig returns config that defines the necessary testing requirements used to bootstrap and start an in-process local testing network.
func NewPubKeyFromHex ¶
func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
NewPubKeyFromHex returns a PubKey from a hex string.
func NoInflationCalculationFn ¶
func NoInflationCalculationFn(_ sdk.Context, minter minttypes.Minter, params minttypes.Params, bondedRatio math.LegacyDec) math.LegacyDec
NoInflationCalculationFn is the function with disabled inflation.
func RegisterDenoms ¶
func RegisterDenoms()
func SetAddressPrefixes ¶
func SetAddressPrefixes()
Types ¶
type EmptyAppOptions ¶
type EmptyAppOptions struct{}
func (EmptyAppOptions) Get ¶
func (EmptyAppOptions) Get(o string) interface{}
type GenerateAccountStrategy ¶
type GenerateAccountStrategy func(int) []sdk.AccAddress
type GenesisState ¶
type GenesisState map[string]json.RawMessage
GenesisState 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 PstakeApp ¶
type PstakeApp struct {
*baseapp.BaseApp
// keepers
AccountKeeper authkeeper.AccountKeeper
BankKeeper bankkeeper.BaseKeeper
StakingKeeper *stakingkeeper.Keeper
SlashingKeeper slashingkeeper.Keeper
MintKeeper mintkeeper.Keeper
DistrKeeper distrkeeper.Keeper
GovKeeper govkeeper.Keeper
CrisisKeeper *crisiskeeper.Keeper
UpgradeKeeper *upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
ConsensusParamsKeeper consensusparamkeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
FeeGrantKeeper feegrantkeeper.Keeper
AuthzKeeper authzkeeper.Keeper
EpochsKeeper *epochskeeper.Keeper
LiquidKeeper liquidkeeper.Keeper
LiquidStakeKeeper liquidstakekeeper.Keeper
BasicModuleManager module.BasicManager
// contains filtered or unexported fields
}
PstakeApp 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 CreateTestApp ¶
func NewpStakeApp ¶
func NewpStakeApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, encodingConfig pstakeappparams.EncodingConfig, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *PstakeApp
NewpStakeApp returns a reference to an initialized pStake.
func SetupWithGenesisValSet ¶
func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance) *PstakeApp
SetupWithGenesisValSet initializes a new SimApp 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 simapp from first genesis account. A Nop logger is set in SimApp.
func (*PstakeApp) AppCodec ¶
AppCodec returns pStake'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 (*PstakeApp) AutoCliOpts ¶
func (app *PstakeApp) AutoCliOpts() autocli.AppOptions
AutoCliOpts returns the autocli options for the app.
func (*PstakeApp) BeginBlocker ¶
BeginBlocker application updates every begin block
func (*PstakeApp) EndBlocker ¶
EndBlocker application updates every end block
func (*PstakeApp) ExportAppStateAndValidators ¶
func (app *PstakeApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*PstakeApp) GetBaseApp ¶
GetBaseApp implements the TestingApp interface.
func (*PstakeApp) GetKey ¶
func (app *PstakeApp) GetKey(storeKey string) *store.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*PstakeApp) GetMemKey ¶
func (app *PstakeApp) GetMemKey(storeKey string) *store.MemoryStoreKey
GetMemKey returns the MemStoreKey for the provided mem key.
NOTE: This is solely used for testing purposes.
func (*PstakeApp) GetSubspace ¶
func (app *PstakeApp) 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 (*PstakeApp) GetTKey ¶
func (app *PstakeApp) GetTKey(storeKey string) *store.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*PstakeApp) GetTxConfig ¶
GetTxConfig implements the TestingApp interface.
func (*PstakeApp) InitChainer ¶
func (app *PstakeApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error)
InitChainer application update at chain initialization
func (*PstakeApp) InterfaceRegistry ¶
func (app *PstakeApp) InterfaceRegistry() types.InterfaceRegistry
InterfaceRegistry returns pStake's InterfaceRegistry
func (*PstakeApp) LegacyAmino ¶
func (app *PstakeApp) LegacyAmino() *codec.LegacyAmino
LegacyAmino returns PstakeApp'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 (*PstakeApp) LoadHeight ¶
LoadHeight loads a particular height
func (*PstakeApp) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.
func (*PstakeApp) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*PstakeApp) RegisterNodeService ¶
func (*PstakeApp) RegisterTendermintService ¶
RegisterTendermintService implements the Application.RegisterTendermintService method.
func (*PstakeApp) RegisterTxService ¶
RegisterTxService implements the Application.RegisterTxService method.
func (*PstakeApp) RegisterUpgradeHandler ¶
func (app *PstakeApp) RegisterUpgradeHandler()
func (*PstakeApp) SendCoinBlockedAddrs ¶
func (*PstakeApp) SimulationManager ¶
func (app *PstakeApp) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface
type SimGenesisAccount ¶
type SimGenesisAccount struct {
*authtypes.BaseAccount
// vesting account fields
OriginalVesting sdk.Coins `json:"original_vesting" yaml:"original_vesting"` // total vesting coins upon initialization
DelegatedFree sdk.Coins `json:"delegated_free" yaml:"delegated_free"` // delegated vested coins at time of delegation
DelegatedVesting sdk.Coins `json:"delegated_vesting" yaml:"delegated_vesting"` // delegated vesting coins at time of delegation
StartTime int64 `json:"start_time" yaml:"start_time"` // vesting start time (UNIX Epoch time)
EndTime int64 `json:"end_time" yaml:"end_time"` // vesting end time (UNIX Epoch time)
// module account fields
ModuleName string `json:"module_name" yaml:"module_name"` // name of the module account
ModulePermissions []string `json:"module_permissions" yaml:"module_permissions"` // permissions of module account
}
SimGenesisAccount defines a type that implements the GenesisAccount interface to be used for simulation accounts in the genesis state.
func (SimGenesisAccount) Validate ¶
func (sga SimGenesisAccount) Validate() error
Validate checks for errors on the vesting and module account parameters