github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/apps/29-fee/module.go (about)

     1  package fee
     2  
     3  import (
     4  	"context"
     5  	"encoding/json"
     6  
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/upgrade"
     8  	"github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/common"
     9  
    10  	"github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/29-fee/client/cli"
    11  	"github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/29-fee/keeper"
    12  
    13  	cliCtx "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
    14  
    15  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
    16  	anytypes "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec/types"
    17  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    18  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/module"
    19  	"github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/29-fee/types"
    20  	abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types"
    21  	"github.com/gorilla/mux"
    22  	"github.com/grpc-ecosystem/grpc-gateway/runtime"
    23  	"github.com/spf13/cobra"
    24  )
    25  
    26  var (
    27  	_ module.AppModuleAdapter      = AppModule{}
    28  	_ module.AppModuleBasicAdapter = AppModuleBasic{}
    29  	_ upgrade.UpgradeModule        = AppModule{}
    30  )
    31  
    32  // AppModuleBasic is the 29-fee AppModuleBasic
    33  type AppModuleBasic struct{}
    34  
    35  func (b AppModuleBasic) RegisterCodec(codec *codec.Codec) {
    36  	types.RegisterLegacyAminoCodec(codec)
    37  }
    38  
    39  func (b AppModuleBasic) DefaultGenesis() json.RawMessage {
    40  	return nil
    41  }
    42  
    43  func (b AppModuleBasic) ValidateGenesis(message json.RawMessage) error {
    44  	return nil
    45  }
    46  
    47  func (b AppModuleBasic) RegisterRESTRoutes(context cliCtx.CLIContext, router *mux.Router) {}
    48  
    49  func (b AppModuleBasic) GetTxCmd(codec *codec.Codec) *cobra.Command {
    50  	return nil
    51  }
    52  
    53  func (b AppModuleBasic) GetQueryCmd(codec *codec.Codec) *cobra.Command {
    54  	return nil
    55  }
    56  
    57  func (b AppModuleBasic) RegisterInterfaces(registry anytypes.InterfaceRegistry) {
    58  	types.RegisterInterfaces(registry)
    59  }
    60  
    61  func (b AppModuleBasic) RegisterGRPCGatewayRoutes(ctx cliCtx.CLIContext, mux *runtime.ServeMux) {
    62  	types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(ctx))
    63  }
    64  
    65  func (b AppModuleBasic) GetTxCmdV2(cdc *codec.CodecProxy, reg anytypes.InterfaceRegistry) *cobra.Command {
    66  	return cli.NewTxCmd(cdc, reg)
    67  }
    68  
    69  func (b AppModuleBasic) GetQueryCmdV2(cdc *codec.CodecProxy, reg anytypes.InterfaceRegistry) *cobra.Command {
    70  	return cli.GetQueryCmd(cdc, reg)
    71  }
    72  
    73  func (b AppModuleBasic) RegisterRouterForGRPC(cliCtx cliCtx.CLIContext, r *mux.Router) {}
    74  
    75  // Name implements AppModuleBasic interface
    76  func (AppModuleBasic) Name() string {
    77  	return types.ModuleName
    78  }
    79  
    80  type AppModule struct {
    81  	*common.Veneus3BaseUpgradeModule
    82  	AppModuleBasic
    83  	keeper keeper.Keeper
    84  }
    85  
    86  func NewAppModule(k keeper.Keeper) AppModule {
    87  	ret := AppModule{
    88  		keeper: k,
    89  	}
    90  	ret.Veneus3BaseUpgradeModule = common.NewVeneus3BaseUpgradeModule(ret)
    91  	return ret
    92  }
    93  
    94  func (a AppModule) InitGenesis(s sdk.Context, message json.RawMessage) []abci.ValidatorUpdate {
    95  	return nil
    96  }
    97  
    98  func (a AppModule) ExportGenesis(ctx sdk.Context) json.RawMessage {
    99  	return nil
   100  }
   101  
   102  func (a AppModule) RegisterInvariants(registry sdk.InvariantRegistry) {}
   103  
   104  func (a AppModule) Route() string {
   105  	return types.RouterKey
   106  }
   107  
   108  func (a AppModule) NewHandler() sdk.Handler {
   109  	return NewHandler(a.keeper)
   110  }
   111  
   112  func (a AppModule) QuerierRoute() string {
   113  	return types.QuerierRoute
   114  }
   115  
   116  func (a AppModule) NewQuerierHandler() sdk.Querier {
   117  	return nil
   118  }
   119  
   120  func (a AppModule) BeginBlock(s sdk.Context, block abci.RequestBeginBlock) {}
   121  
   122  func (a AppModule) EndBlock(s sdk.Context, block abci.RequestEndBlock) []abci.ValidatorUpdate {
   123  	return []abci.ValidatorUpdate{}
   124  }
   125  
   126  func (a AppModule) RegisterServices(cfg module.Configurator) {
   127  	types.RegisterMsgServer(cfg.MsgServer(), a.keeper)
   128  	types.RegisterQueryServer(cfg.QueryServer(), a.keeper)
   129  }
   130  
   131  func (a AppModule) RegisterTask() upgrade.HeightTask {
   132  	return upgrade.NewHeightTask(5, func(ctx sdk.Context) error {
   133  		data := ModuleCdc.MustMarshalJSON(types.DefaultGenesisState())
   134  		a.initGenesis(ctx, data)
   135  		return nil
   136  	})
   137  }
   138  
   139  func (am AppModule) initGenesis(ctx sdk.Context, message json.RawMessage) []abci.ValidatorUpdate {
   140  	var genesisState types.GenesisState
   141  	ModuleCdc.MustUnmarshalJSON(message, &genesisState)
   142  	am.keeper.InitGenesis(ctx, genesisState)
   143  	return []abci.ValidatorUpdate{}
   144  }