From a492500b232267325bc39e2673a31140eed45717 Mon Sep 17 00:00:00 2001 From: rachid <chamirachid1@gmail.com> Date: Mon, 18 Sep 2023 13:41:22 +0100 Subject: [PATCH] feat: add query qgb evm address by valoper address command --- x/qgb/client/query.go | 31 ++++++++++++++++++++++++++++++- x/qgb/types/errors.go | 1 + 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/x/qgb/client/query.go b/x/qgb/client/query.go index 1ba2ec12d8..5a45b6d1b7 100644 --- a/x/qgb/client/query.go +++ b/x/qgb/client/query.go @@ -24,7 +24,7 @@ func GetQueryCmd() *cobra.Command { RunE: client.ValidateCmd, } - cmd.AddCommand(CmdQueryAttestationByNonce()) + cmd.AddCommand(CmdQueryAttestationByNonce(), CmdQueryEVMAddress()) return cmd } @@ -76,6 +76,35 @@ func CmdQueryAttestationByNonce() *cobra.Command { return cmd } +func CmdQueryEVMAddress() *cobra.Command { + cmd := &cobra.Command{ + Use: "evm <validator_valoper_address>", + Short: "query the evm address corresponding to a validator bech32 valoper address", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.EVMAddress( + cmd.Context(), + &types.QueryEVMAddressRequest{ValidatorAddress: args[0]}, + ) + if err != nil { + return err + } + if res.EvmAddress == "" { + return types.ErrEVMAddressNotFound + } + fmt.Println(res.EvmAddress) + return nil + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} + // unmarshallAttestation unmarshal a wrapper protobuf `Any` type to an `AttestationRequestI`. func unmarshallAttestation(attestation *codectypes.Any) (types.AttestationRequestI, error) { var unmarshalledAttestation types.AttestationRequestI diff --git a/x/qgb/types/errors.go b/x/qgb/types/errors.go index 626d76eed7..fdb73e33da 100644 --- a/x/qgb/types/errors.go +++ b/x/qgb/types/errors.go @@ -26,4 +26,5 @@ var ( ErrUnknownAttestationType = errors.Register(ModuleName, 35, "unknown attestation type") ErrEVMAddressNotHex = errors.Register(ModuleName, 36, "the provided evm address is not a valid hex address") ErrEVMAddressAlreadyExists = errors.Register(ModuleName, 37, "the provided evm address already exists") + ErrEVMAddressNotFound = errors.Register(ModuleName, 38, "EVM address not found") )