Documentation

Overview

    Package evidence implements a Cosmos SDK module, per ADR 009, that allows for the submission and handling of arbitrary evidence of misbehavior.

    All concrete evidence types must implement the Evidence interface contract. Submitted evidence is first routed through the evidence module's Router in which it attempts to find a corresponding Handler for that specific evidence type. Each evidence type must have a Handler registered with the evidence module's keeper in order for it to be successfully executed.

    Each corresponding handler must also fulfill the Handler interface contract. The Handler for a given Evidence type can perform any arbitrary state transitions such as slashing, jailing, and tombstoning. This provides developers with great flexibility in designing evidence handling.

    A full setup of the evidence module may look something as follows:

    ModuleBasics = module.NewBasicManager(
      // ...,
      evidence.AppModuleBasic{},
    )
    
    // First, create the keeper
    evidenceKeeper := evidence.NewKeeper(
      appCodec, keys[evidence.StoreKey], &app.StakingKeeper, app.SlashingKeeper,
    )
    
    // Second, create the evidence Handler and register all desired routes.
    evidenceRouter := evidence.NewRouter().
      AddRoute(evidenceRoute, evidenceHandler).
      AddRoute(..., ...)
    
    evidenceKeeper.SetRouter(evidenceRouter)
    
    app.EvidenceKeeper = *evidenceKeeper
    
    app.mm = module.NewManager(
      // ...
      evidence.NewAppModule(app.EvidenceKeeper),
    )
    
    // Remaining application bootstrapping...
    

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func BeginBlocker

    func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k keeper.Keeper)

      BeginBlocker iterates through and handles any newly discovered evidence of misbehavior submitted by Tendermint. Currently, only equivocation is handled.

      func ExportGenesis

      func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState

        ExportGenesis returns the evidence module's exported genesis.

        func InitGenesis

        func InitGenesis(ctx sdk.Context, k keeper.Keeper, gs *types.GenesisState)

          InitGenesis initializes the evidence module's state from a provided genesis state.

          func NewHandler

          func NewHandler(k keeper.Keeper) sdk.Handler

            NewHandler returns a handler for evidence messages.

            Types

            type AppModule

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

              AppModule implements the AppModule interface for the evidence module.

              func NewAppModule

              func NewAppModule(keeper keeper.Keeper) AppModule

              func (AppModule) BeginBlock

              func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock)

                BeginBlock executes all ABCI BeginBlock logic respective to the evidence module.

                func (AppModule) EndBlock

                  EndBlock executes all ABCI EndBlock logic respective to the evidence module. It returns no validator updates.

                  func (AppModule) ExportGenesis

                  func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONMarshaler) json.RawMessage

                    ExportGenesis returns the evidence module's exported genesis state as raw JSON bytes.

                    func (AppModule) GenerateGenesisState

                    func (AppModule) GenerateGenesisState(simState *module.SimulationState)

                      GenerateGenesisState creates a randomized GenState of the evidence module.

                      func (AppModule) InitGenesis

                      func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONMarshaler, bz json.RawMessage) []abci.ValidatorUpdate

                        InitGenesis performs the evidence module's genesis initialization It returns no validator updates.

                        func (AppModule) LegacyQuerierHandler

                        func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier

                          LegacyQuerierHandler returns the evidence module's Querier.

                          func (AppModule) Name

                          func (am AppModule) Name() string

                            Name returns the evidence module's name.

                            func (AppModule) ProposalContents

                            func (am AppModule) ProposalContents(simState module.SimulationState) []simtypes.WeightedProposalContent

                              ProposalContents returns all the evidence content functions used to simulate governance proposals.

                              func (AppModule) QuerierRoute

                              func (AppModule) QuerierRoute() string

                                QuerierRoute returns the evidence module's query routing key.

                                func (AppModule) RandomizedParams

                                func (AppModule) RandomizedParams(r *rand.Rand) []simtypes.ParamChange

                                  RandomizedParams creates randomized evidence param changes for the simulator.

                                  func (AppModule) RegisterInvariants

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

                                    RegisterInvariants registers the evidence module's invariants.

                                    func (AppModule) RegisterServices

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

                                      RegisterServices registers module services.

                                      func (AppModule) RegisterStoreDecoder

                                      func (am AppModule) RegisterStoreDecoder(sdr sdk.StoreDecoderRegistry)

                                        RegisterStoreDecoder registers a decoder for evidence module's types

                                        func (AppModule) Route

                                        func (am AppModule) Route() sdk.Route

                                          Route returns the evidence module's message routing key.

                                          func (AppModule) WeightedOperations

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

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

                                            type AppModuleBasic

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

                                              AppModuleBasic implements the AppModuleBasic interface for the evidence module.

                                              func NewAppModuleBasic

                                              func NewAppModuleBasic(evidenceHandlers ...eviclient.EvidenceHandler) AppModuleBasic

                                                NewAppModuleBasic crates a AppModuleBasic without the codec.

                                                func (AppModuleBasic) DefaultGenesis

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

                                                  DefaultGenesis returns the evidence module's default genesis state.

                                                  func (AppModuleBasic) GetQueryCmd

                                                  func (AppModuleBasic) GetQueryCmd() *cobra.Command

                                                    GetQueryCmd returns the evidence module's root query command.

                                                    func (AppModuleBasic) GetTxCmd

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

                                                      GetTxCmd returns the evidence module's root tx command.

                                                      func (AppModuleBasic) Name

                                                      func (AppModuleBasic) Name() string

                                                        Name returns the evidence module's name.

                                                        func (AppModuleBasic) RegisterGRPCGatewayRoutes

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

                                                          RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the evidence module.

                                                          func (AppModuleBasic) RegisterInterfaces

                                                          func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry)

                                                          func (AppModuleBasic) RegisterLegacyAminoCodec

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

                                                            RegisterLegacyAminoCodec registers the evidence module's types to the LegacyAmino codec.

                                                            func (AppModuleBasic) RegisterRESTRoutes

                                                            func (a AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router)

                                                              RegisterRESTRoutes registers the evidence module's REST service handlers.

                                                              func (AppModuleBasic) ValidateGenesis

                                                              func (AppModuleBasic) ValidateGenesis(cdc codec.JSONMarshaler, config client.TxEncodingConfig, bz json.RawMessage) error

                                                                ValidateGenesis performs genesis state validation for the evidence module.

                                                                Directories

                                                                Path Synopsis
                                                                cli
                                                                legacy
                                                                DONTCOVER Package types is a reverse proxy.
                                                                DONTCOVER Package types is a reverse proxy.