github.com/KiraCore/sekai@v0.3.43/x/basket/proposal_handler.go (about)

     1  package basket
     2  
     3  import (
     4  	kiratypes "github.com/KiraCore/sekai/types"
     5  	"github.com/KiraCore/sekai/x/basket/keeper"
     6  	"github.com/KiraCore/sekai/x/basket/types"
     7  	govtypes "github.com/KiraCore/sekai/x/gov/types"
     8  	sdk "github.com/cosmos/cosmos-sdk/types"
     9  )
    10  
    11  type ApplyCreateBasketProposalHandler struct {
    12  	keeper keeper.Keeper
    13  }
    14  
    15  func NewApplyCreateBasketProposalHandler(keeper keeper.Keeper) *ApplyCreateBasketProposalHandler {
    16  	return &ApplyCreateBasketProposalHandler{
    17  		keeper: keeper,
    18  	}
    19  }
    20  
    21  func (a ApplyCreateBasketProposalHandler) ProposalType() string {
    22  	return kiratypes.ProposalTypeCreateBasket
    23  }
    24  
    25  func (a ApplyCreateBasketProposalHandler) Apply(ctx sdk.Context, proposalID uint64, proposal govtypes.Content, slash sdk.Dec) error {
    26  	p := proposal.(*types.ProposalCreateBasket)
    27  	return a.keeper.CreateBasket(ctx, p.Basket)
    28  }
    29  
    30  type ApplyEditBasketProposalHandler struct {
    31  	keeper keeper.Keeper
    32  }
    33  
    34  func NewApplyEditBasketProposalHandler(keeper keeper.Keeper) *ApplyEditBasketProposalHandler {
    35  	return &ApplyEditBasketProposalHandler{
    36  		keeper: keeper,
    37  	}
    38  }
    39  
    40  func (a ApplyEditBasketProposalHandler) ProposalType() string {
    41  	return kiratypes.ProposalTypeEditBasket
    42  }
    43  
    44  func (a ApplyEditBasketProposalHandler) Apply(ctx sdk.Context, proposalID uint64, proposal govtypes.Content, slash sdk.Dec) error {
    45  	p := proposal.(*types.ProposalEditBasket)
    46  
    47  	return a.keeper.EditBasket(ctx, p.Basket)
    48  }
    49  
    50  type ApplyBasketWithdrawSurplusProposalHandler struct {
    51  	keeper keeper.Keeper
    52  }
    53  
    54  func NewApplyBasketWithdrawSurplusProposalHandler(keeper keeper.Keeper) *ApplyBasketWithdrawSurplusProposalHandler {
    55  	return &ApplyBasketWithdrawSurplusProposalHandler{
    56  		keeper: keeper,
    57  	}
    58  }
    59  
    60  func (a ApplyBasketWithdrawSurplusProposalHandler) ProposalType() string {
    61  	return kiratypes.ProposalTypeBasketWithdrawSurplus
    62  }
    63  
    64  func (a ApplyBasketWithdrawSurplusProposalHandler) Apply(ctx sdk.Context, proposalID uint64, proposal govtypes.Content, slash sdk.Dec) error {
    65  	p := proposal.(*types.ProposalBasketWithdrawSurplus)
    66  	return a.keeper.BasketWithdrawSurplus(ctx, *p)
    67  }