github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/distribution/keeper/proposal_handler.go (about) 1 package keeper 2 3 import ( 4 "fmt" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 sdkerrors "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/errors" 8 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/distribution/types" 9 ) 10 11 // HandleCommunityPoolSpendProposal is a handler for executing a passed community spend proposal 12 func HandleCommunityPoolSpendProposal(ctx sdk.Context, k Keeper, p types.CommunityPoolSpendProposal) error { 13 if k.blacklistedAddrs[p.Recipient.String()] { 14 return sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is blacklisted from receiving external funds", p.Recipient) 15 } 16 17 err := k.DistributeFromFeePool(ctx, p.Amount, p.Recipient) 18 if err != nil { 19 return err 20 } 21 22 logger := k.Logger(ctx) 23 logger.Info(fmt.Sprintf("transferred %s from the community pool to recipient %s", p.Amount, p.Recipient)) 24 return nil 25 }