github.com/lino-network/lino@v0.6.11/param/event.go (about)

     1  package param
     2  
     3  import (
     4  	sdk "github.com/cosmos/cosmos-sdk/types"
     5  )
     6  
     7  // ChangeParamEvent - change parameter event
     8  type ChangeParamEvent struct {
     9  	Param Parameter `json:"param"`
    10  }
    11  
    12  // Execute - execute change parameter event
    13  func (cpe ChangeParamEvent) Execute(ctx sdk.Context, ph ParamHolder) sdk.Error {
    14  	parameter := cpe.Param
    15  	switch parameter := parameter.(type) {
    16  	case GlobalAllocationParam:
    17  		return ph.setGlobalAllocationParam(ctx, &parameter)
    18  	case VoteParam:
    19  		return ph.setVoteParam(ctx, &parameter)
    20  	case ProposalParam:
    21  		return ph.setProposalParam(ctx, &parameter)
    22  	case DeveloperParam:
    23  		return ph.setDeveloperParam(ctx, &parameter)
    24  	case ValidatorParam:
    25  		return ph.setValidatorParam(ctx, &parameter)
    26  	case BandwidthParam:
    27  		return ph.setBandwidthParam(ctx, &parameter)
    28  	case AccountParam:
    29  		return ph.setAccountParam(ctx, &parameter)
    30  	case PostParam:
    31  		return ph.setPostParam(ctx, &parameter)
    32  	default:
    33  		return ErrInvalidaParameter()
    34  	}
    35  }