github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/feesplit/keeper/proposal.go (about) 1 package keeper 2 3 import ( 4 "fmt" 5 "time" 6 7 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 8 "github.com/fibonacci-chain/fbc/x/feesplit/types" 9 sdkGov "github.com/fibonacci-chain/fbc/x/gov" 10 govKeeper "github.com/fibonacci-chain/fbc/x/gov/keeper" 11 govTypes "github.com/fibonacci-chain/fbc/x/gov/types" 12 ) 13 14 var _ govKeeper.ProposalHandler = (*Keeper)(nil) 15 16 // GetMinDeposit returns min deposit 17 func (k Keeper) GetMinDeposit(ctx sdk.Context, content sdkGov.Content) (minDeposit sdk.SysCoins) { 18 switch content.(type) { 19 case types.FeeSplitSharesProposal: 20 minDeposit = k.govKeeper.GetDepositParams(ctx).MinDeposit 21 } 22 23 return 24 } 25 26 // GetMaxDepositPeriod returns max deposit period 27 func (k Keeper) GetMaxDepositPeriod(ctx sdk.Context, content sdkGov.Content) (maxDepositPeriod time.Duration) { 28 switch content.(type) { 29 case types.FeeSplitSharesProposal: 30 maxDepositPeriod = k.govKeeper.GetDepositParams(ctx).MaxDepositPeriod 31 } 32 33 return 34 } 35 36 // GetVotingPeriod returns voting period 37 func (k Keeper) GetVotingPeriod(ctx sdk.Context, content sdkGov.Content) (votingPeriod time.Duration) { 38 switch content.(type) { 39 case types.FeeSplitSharesProposal: 40 votingPeriod = k.govKeeper.GetVotingParams(ctx).VotingPeriod 41 } 42 43 return 44 } 45 46 // CheckMsgSubmitProposal validates MsgSubmitProposal 47 func (k Keeper) CheckMsgSubmitProposal(ctx sdk.Context, msg govTypes.MsgSubmitProposal) sdk.Error { 48 switch content := msg.Content.(type) { 49 case types.FeeSplitSharesProposal: 50 // whole target address list will be added/deleted to/from the contract deployment whitelist/contract blocked list. 51 // It's not necessary to check the existence in CheckMsgSubmitProposal 52 return nil 53 default: 54 return sdk.ErrUnknownRequest(fmt.Sprintf("unrecognized %s proposal content type: %T", types.DefaultCodespace, content)) 55 } 56 } 57 58 // nolint 59 func (k Keeper) AfterSubmitProposalHandler(_ sdk.Context, _ govTypes.Proposal) {} 60 func (k Keeper) AfterDepositPeriodPassed(_ sdk.Context, _ govTypes.Proposal) {} 61 func (k Keeper) RejectedHandler(_ sdk.Context, _ govTypes.Content) {} 62 func (k Keeper) VoteHandler(_ sdk.Context, _ govTypes.Proposal, _ govTypes.Vote) (string, sdk.Error) { 63 return "", nil 64 }