github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/distribution/handler_distr_proposal.go (about)

     1  package distribution
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	"github.com/fibonacci-chain/fbc/x/distribution/keeper"
     6  	"github.com/fibonacci-chain/fbc/x/distribution/types"
     7  )
     8  
     9  func handleMsgWithdrawDelegatorReward(ctx sdk.Context, msg types.MsgWithdrawDelegatorReward, k keeper.Keeper) (*sdk.Result, error) {
    10  	_, err := k.WithdrawDelegationRewards(ctx, msg.DelegatorAddress, msg.ValidatorAddress)
    11  	if err != nil {
    12  		return nil, err
    13  	}
    14  
    15  	ctx.EventManager().EmitEvent(
    16  		sdk.NewEvent(
    17  			sdk.EventTypeMessage,
    18  			sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
    19  			sdk.NewAttribute(sdk.AttributeKeySender, msg.DelegatorAddress.String()),
    20  		),
    21  	)
    22  
    23  	return &sdk.Result{Events: ctx.EventManager().Events()}, nil
    24  }
    25  
    26  func handleMsgWithdrawDelegatorAllRewards(ctx sdk.Context, msg types.MsgWithdrawDelegatorAllRewards, k keeper.Keeper) (*sdk.Result, error) {
    27  	err := k.WithdrawDelegationAllRewards(ctx, msg.DelegatorAddress)
    28  	if err != nil {
    29  		return nil, err
    30  	}
    31  
    32  	ctx.EventManager().EmitEvent(
    33  		sdk.NewEvent(
    34  			sdk.EventTypeMessage,
    35  			sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
    36  			sdk.NewAttribute(sdk.AttributeKeySender, msg.DelegatorAddress.String()),
    37  		),
    38  	)
    39  
    40  	return &sdk.Result{Events: ctx.EventManager().Events()}, nil
    41  }