staking

package
v0.5.0-dev.8 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: GPL-3.0 Imports: 24 Imported by: 0

README

Staking Module

Overview

The staking module wraps the SDK’s default staking module to accomplish the following:

  • TransferDelegation and TransferUnbonding are taken from Agoric’s codebase (here and here) to support the clawback operations (see the vesting module for more details).
  • Replace the default CreateValidator logic with the custom equivalent CreateSEDAValidator, which accepts public keys of the SEDA Keys. Once the secp256k1 proving scheme is activated, a public key from that curve is required.
  • An invariant check to ensure that once the secp256k1 proving scheme is activated, no active validator is missing the required public key.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppModule

type AppModule struct {
	sdkstaking.AppModule
	AppModuleBasic
	// contains filtered or unexported fields
}

AppModule implements an application module for the staking module.

func NewAppModule

func NewAppModule(
	cdc codec.Codec,
	keeper *keeper.Keeper,
	ak sdktypes.AccountKeeper,
	bk sdktypes.BankKeeper,
	pk types.PubKeyKeeper,
) AppModule

NewAppModule creates a new AppModule object

func (AppModule) AutoCLIOptions added in v0.0.6

func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions

func (AppModule) RegisterInvariants

func (am AppModule) RegisterInvariants(ir sdk.InvariantRegistry)

RegisterInvariants registers the staking module invariants.

func (AppModule) RegisterServices

func (am AppModule) RegisterServices(cfg module.Configurator)

RegisterServices registers module services.

func (AppModule) WeightedOperations added in v0.0.6

func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation

WeightedOperations returns the all the staking module operations with their respective weights.

type AppModuleBasic

type AppModuleBasic struct {
	// contains filtered or unexported fields
}

AppModuleBasic defines the basic application module used by the staking module.

func (AppModuleBasic) DefaultGenesis

func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage

DefaultGenesis returns default genesis state as raw bytes for the staking module.

func (AppModuleBasic) GetTxCmd

func (amb AppModuleBasic) GetTxCmd() *cobra.Command

GetTxCmd returns the root tx command for the staking module.

func (AppModuleBasic) Name

func (AppModuleBasic) Name() string

Name returns the staking module's name.

func (AppModuleBasic) RegisterGRPCGatewayRoutes

func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *gwruntime.ServeMux)

RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the staking module.

func (AppModuleBasic) RegisterInterfaces

func (AppModuleBasic) RegisterInterfaces(registry cdctypes.InterfaceRegistry)

RegisterInterfaces registers the module's interface types

func (AppModuleBasic) RegisterLegacyAminoCodec

func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the staking module's types on the given LegacyAmino codec.

func (AppModuleBasic) ValidateGenesis

ValidateGenesis performs genesis state validation for the staking module.

Directories

Path Synopsis
client
cli

Jump to

Keyboard shortcuts

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