github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/core/02-client/proposal_handler.go (about) 1 package client 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 sdkerrors "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/errors" 6 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client/keeper" 7 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client/types" 8 govtypes "github.com/fibonacci-chain/fbc/x/gov/types" 9 ) 10 11 // NewClientUpdateProposalHandler defines the client update proposal handler 12 func NewClientUpdateProposalHandler(k keeper.Keeper) govtypes.Handler { 13 return func(ctx sdk.Context, content *govtypes.Proposal) sdk.Error { 14 cont := content.Content 15 switch c := cont.(type) { 16 case *types.ClientUpdateProposal: 17 return k.ClientUpdateProposal(ctx, c) 18 default: 19 return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized ibc proposal content type: %T", c) 20 } 21 } 22 }