Wire up MsgClearAdmin in handler

This commit is contained in:
Ethan Frey 2020-06-26 11:30:46 +02:00
parent 4dac673884
commit fc7ba5ad5f
2 changed files with 26 additions and 4 deletions

View File

@ -95,7 +95,8 @@ type (
MsgInstantiateContract = types.MsgInstantiateContract
MsgExecuteContract = types.MsgExecuteContract
MsgMigrateContract = types.MsgMigrateContract
MsgUpdateAdministrator = types.MsgUpdateAdmin
MsgUpdateAdmin = types.MsgUpdateAdmin
MsgClearAdmin = types.MsgClearAdmin
Model = types.Model
CodeInfo = types.CodeInfo
ContractInfo = types.ContractInfo

View File

@ -39,11 +39,16 @@ func NewHandler(k Keeper) sdk.Handler {
case MsgMigrateContract:
return handleMigration(ctx, k, &msg)
case *MsgUpdateAdministrator:
case *MsgUpdateAdmin:
return handleUpdateContractAdmin(ctx, k, msg)
case MsgUpdateAdministrator:
case MsgUpdateAdmin:
return handleUpdateContractAdmin(ctx, k, &msg)
case *MsgClearAdmin:
return handleClearContractAdmin(ctx, k, msg)
case MsgClearAdmin:
return handleClearContractAdmin(ctx, k, &msg)
default:
errMsg := fmt.Sprintf("unrecognized wasm message type: %T", msg)
return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg)
@ -145,7 +150,7 @@ func handleMigration(ctx sdk.Context, k Keeper, msg *MsgMigrateContract) (*sdk.R
return res, nil
}
func handleUpdateContractAdmin(ctx sdk.Context, k Keeper, msg *MsgUpdateAdministrator) (*sdk.Result, error) {
func handleUpdateContractAdmin(ctx sdk.Context, k Keeper, msg *MsgUpdateAdmin) (*sdk.Result, error) {
if err := k.UpdateContractAdmin(ctx, msg.Contract, msg.Sender, msg.NewAdmin); err != nil {
return nil, err
}
@ -160,3 +165,19 @@ func handleUpdateContractAdmin(ctx sdk.Context, k Keeper, msg *MsgUpdateAdminist
Events: append(events, ourEvent),
}, nil
}
func handleClearContractAdmin(ctx sdk.Context, k Keeper, msg *MsgClearAdmin) (*sdk.Result, error) {
if err := k.ClearContractAdmin(ctx, msg.Contract, msg.Sender); err != nil {
return nil, err
}
events := ctx.EventManager().Events()
ourEvent := sdk.NewEvent(
sdk.EventTypeMessage,
sdk.NewAttribute(sdk.AttributeKeyModule, ModuleName),
sdk.NewAttribute(AttributeSigner, msg.Sender.String()),
sdk.NewAttribute(AttributeKeyContract, msg.Contract.String()),
)
return &sdk.Result{
Events: append(events, ourEvent),
}, nil
}