app

package
v6.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2025 License: Apache-2.0 Imports: 125 Imported by: 0

Documentation

Index

Constants

View Source
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
)
View Source
const (
	SimAppChainID = "pstake-app"
)

SimAppChainID hardcoded chainID for simulation

View Source
const (
	UpgradeName = "v4.0.0"
)

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(
		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.AppModule{},
		liquid.AppModuleBasic{},
		liquidstake.AppModuleBasic{},
		consensus.AppModuleBasic{},
		wasm.AppModuleBasic{},
	)
)
View Source
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

func AddTestAddrs(app *PstakeApp, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress

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

func CheckBalance(t *testing.T, app *PstakeApp, addr sdk.AccAddress, balances sdk.Coins)

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 InitAccountWithCoins(app *PstakeApp, ctx sdk.Context, addr sdk.AccAddress, coins sdk.Coins)

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

func NewConfig(dbm *dbm.MemDB) network.Config

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 PP

func PP(data interface{})

func ParseTime

func ParseTime(s string) time.Time

ParseTime parses and returns time.Time in time.RFC3339 format.

func RegisterDenoms

func RegisterDenoms()

func SetAddressPrefixes

func SetAddressPrefixes()

func TestAddr

func TestAddr(addr, bech string) (sdk.AccAddress, error)

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 CreateTestApp(t *testing.T) (*codec.LegacyAmino, PstakeApp, sdk.Context)

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 Setup

func Setup(t *testing.T, isCheckTx bool, invCheckPeriod uint) *PstakeApp

Setup initializes a new SimApp. A Nop logger is set in SimApp.

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

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

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

func (app *PstakeApp) BeginBlocker(ctx sdk.Context) (sdk.BeginBlock, error)

BeginBlocker application updates every begin block

func (*PstakeApp) EndBlocker

func (app *PstakeApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error)

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

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

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

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

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

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

LoadHeight loads a particular height

func (*PstakeApp) ModuleAccountAddrs

func (app *PstakeApp) ModuleAccountAddrs() map[string]bool

ModuleAccountAddrs returns all the app's module account addresses.

func (*PstakeApp) Name

func (app *PstakeApp) Name() string

Name returns the name of the App

func (*PstakeApp) RegisterAPIRoutes

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

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

func (*PstakeApp) RegisterNodeService

func (app *PstakeApp) RegisterNodeService(clientCtx client.Context, config2 config.Config)

func (*PstakeApp) RegisterTendermintService

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

RegisterTendermintService implements the Application.RegisterTendermintService method.

func (*PstakeApp) RegisterTxService

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

RegisterTxService implements the Application.RegisterTxService method.

func (*PstakeApp) RegisterUpgradeHandler

func (app *PstakeApp) RegisterUpgradeHandler()

func (*PstakeApp) SendCoinBlockedAddrs

func (app *PstakeApp) SendCoinBlockedAddrs() map[string]bool

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

Directories

Path Synopsis
Package params defines the simulation parameters in the pstake.
Package params defines the simulation parameters in the pstake.

Jump to

Keyboard shortcuts

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