diff --git a/x/onboarding/keeper/keeper.go b/x/onboarding/keeper/keeper.go index f86edf81..0f7be5b0 100644 --- a/x/onboarding/keeper/keeper.go +++ b/x/onboarding/keeper/keeper.go @@ -100,6 +100,8 @@ func (k Keeper) OnboardParticipant( participant := &onboardingTypes.Participant{ CosmosAddress: signerAddress.String(), NitroAddress: nitroAddress, + Role: msg.Role, + KycId: msg.KycId, } if err := k.StoreParticipant(ctx, participant); err != nil { diff --git a/x/onboarding/module/autocli.go b/x/onboarding/module/autocli.go index 29a651e0..f076dcfb 100644 --- a/x/onboarding/module/autocli.go +++ b/x/onboarding/module/autocli.go @@ -26,11 +26,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { RpcCommandOptions: []*autocliv1.RpcCommandOptions{ { RpcMethod: "OnboardParticipant", - Use: "enroll", + Use: "enroll [eth_payload] [eth_signature] [role] [kyc_id]", Short: "Enroll a testnet validator", PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "eth_payload"}, {ProtoField: "eth_signature"}, + {ProtoField: "role"}, + {ProtoField: "kyc_id"}, }, }, }, diff --git a/x/onboarding/msgs.go b/x/onboarding/msgs.go index b6996b6f..75574f4a 100644 --- a/x/onboarding/msgs.go +++ b/x/onboarding/msgs.go @@ -18,7 +18,15 @@ func (msg MsgOnboardParticipant) ValidateBasic() error { } if len(msg.EthSignature) != 132 { - return errorsmod.Wrap(sdkerrors.ErrNoSignatures, "Invalid signature.") + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Invalid signature.") + } + + if msg.Role == ROLE_UNSPECIFIED { + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Participant role not specified.") + } + + if len(msg.KycId) == 0 { + return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Empty KYC ID.") } return nil