Documentation ¶
Index ¶
- Constants
- func GetNumBlocksUndelegationRetention(sharedParams *sharedtypes.Params) int64
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- type Keeper
- func (k Keeper) AllApplications(ctx context.Context, req *types.QueryAllApplicationsRequest) (*types.QueryAllApplicationsResponse, error)
- func (k Keeper) Application(ctx context.Context, req *types.QueryGetApplicationRequest) (*types.QueryGetApplicationResponse, error)
- func (k Keeper) EndBlockerAutoUndelegateFromUnstakedGateways(ctx cosmostypes.Context) error
- func (k Keeper) EndBlockerPruneAppToGatewayPendingUndelegation(ctx sdk.Context) error
- func (k Keeper) EndBlockerTransferApplication(ctx context.Context) error
- func (k Keeper) EndBlockerUnbondApplications(ctx context.Context) error
- func (k Keeper) GetAllApplications(ctx context.Context) (apps []types.Application)
- func (k Keeper) GetApplication(ctx context.Context, appAddr string) (app types.Application, found bool)
- func (k Keeper) GetAuthority() string
- func (k Keeper) GetNumBlocksUndelegationRetention(ctx context.Context) int64
- func (k Keeper) GetParams(ctx context.Context) (params types.Params)
- func (k Keeper) Logger() log.Logger
- func (k Keeper) Params(ctx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) RemoveApplication(ctx context.Context, appAddr string)
- func (k Keeper) SetApplication(ctx context.Context, application types.Application)
- func (k Keeper) SetParams(ctx context.Context, params types.Params) error
- func (k Keeper) UnbondApplication(ctx context.Context, app *apptypes.Application) error
Constants ¶
const NumSessionsAppToGatewayUndelegationRetention = 2
NumSessionsAppToGatewayUndelegationRetention is the number of sessions for which undelegation from applications to gateways are delayed before being pruned. TODO_DOCUMENT(@red-0ne): Need to document the flow from this comment so its clear to everyone why this is necessary; https://github.com/pokt-network/poktroll/issues/476#issuecomment-2052639906. TODO_MAINNET(#516): Should this be configurable? Note that it should likely be a function of SubmitProofCloseWindowNumBlocks once implemented.
Variables ¶
This section is empty.
Functions ¶
func GetNumBlocksUndelegationRetention ¶ added in v0.0.2
func GetNumBlocksUndelegationRetention(sharedParams *sharedtypes.Params) int64
GetNumBlocksUndelegationRetention returns the number of blocks for which undelegations should be kept before being pruned, given the passed shared module parameters.
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the MsgServer interface for the provided Keeper.
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, storeService store.KVStoreService, logger log.Logger, authority string, bankKeeper types.BankKeeper, accountKeeper types.AccountKeeper, gatewayKeeper types.GatewayKeeper, sharedKeeper types.SharedKeeper, ) Keeper
func (Keeper) AllApplications ¶
func (k Keeper) AllApplications(ctx context.Context, req *types.QueryAllApplicationsRequest) (*types.QueryAllApplicationsResponse, error)
func (Keeper) Application ¶
func (k Keeper) Application(ctx context.Context, req *types.QueryGetApplicationRequest) (*types.QueryGetApplicationResponse, error)
func (Keeper) EndBlockerAutoUndelegateFromUnstakedGateways ¶ added in v0.0.4
func (k Keeper) EndBlockerAutoUndelegateFromUnstakedGateways(ctx cosmostypes.Context) error
EndBlockerAutoUndelegateFromUnstakedGateways is called every block and handles Application auto-undelegating from unstaked gateways. TODO_BETA(@bryanchriswhite): Gateway unstaking should be delayed until the current block's session end height to align with the application's pending undelegations.
func (Keeper) EndBlockerPruneAppToGatewayPendingUndelegation ¶ added in v0.0.2
EndBlockerPruneAppToGatewayPendingUndelegation runs at the end of each block and prunes app to gateway undelegations that have exceeded the retention delay.
func (Keeper) EndBlockerTransferApplication ¶ added in v0.0.10
EndBlockerTransferApplication completes pending application transfers. This always happens on the last block of a session during which the transfer started. It is accomplished by:
- Copying the current state of the source app onto a new destination app
- Unstaking (removing) the source app
- Staking (storing) the destination app
func (Keeper) EndBlockerUnbondApplications ¶ added in v0.0.7
EndBlockerUnbondApplications unbonds applications whose unbonding period has elapsed.
func (Keeper) GetAllApplications ¶
func (k Keeper) GetAllApplications(ctx context.Context) (apps []types.Application)
GetAllApplications returns all application
func (Keeper) GetApplication ¶
func (k Keeper) GetApplication( ctx context.Context, appAddr string, ) (app types.Application, found bool)
GetApplication returns a application from its index
func (Keeper) GetAuthority ¶
GetAuthority returns the module's authority.
func (Keeper) GetNumBlocksUndelegationRetention ¶ added in v0.0.3
GetNumBlocksUndelegationRetention returns the number of blocks for which undelegations should be kept before being pruned, given the current on-chain shared module parameters.
func (Keeper) Params ¶
func (k Keeper) Params(ctx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
func (Keeper) RemoveApplication ¶
RemoveApplication removes a application from the store
func (Keeper) SetApplication ¶
func (k Keeper) SetApplication(ctx context.Context, application types.Application)
SetApplication set a specific application in the store from its index
func (Keeper) UnbondApplication ¶ added in v0.0.10
UnbondApplication transfers the application stake to the bank module balance for the corresponding account and removes the application from the application module state.
Source Files ¶
- application.go
- auto_undelegate.go
- keeper.go
- msg_server.go
- msg_server_delegate_to_gateway.go
- msg_server_stake_application.go
- msg_server_transfer_application.go
- msg_server_undelegate_from_gateway.go
- msg_server_unstake_application.go
- msg_server_update_param.go
- msg_update_params.go
- params.go
- prune_undelegations.go
- query.go
- query_application.go
- query_params.go
- transfer_applications.go
- unbond_applications.go