Skip to content

Commit

Permalink
feat: add query qgb evm address by valoper address command (#2524)
Browse files Browse the repository at this point in the history
<!--
Please read and fill out this form before submitting your PR.

Please make sure you have reviewed our contributors guide before
submitting your
first PR.
-->

## Overview

Closes #2523

## Checklist

<!-- 
Please complete the checklist to ensure that the PR is ready to be
reviewed.

IMPORTANT:
PRs should be left in Draft until the below checklist is completed.
-->

- [ ] New and updated code has appropriate documentation
- [ ] New and updated code has new and/or updated testing
- [ ] Required CI checks are passing
- [ ] Visual proof for any user facing features like CLI or
documentation updates
- [ ] Linked issues closed with keywords
  • Loading branch information
rach-id authored Sep 18, 2023
1 parent 8ec64ad commit a49bd42
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
31 changes: 30 additions & 1 deletion x/qgb/client/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func GetQueryCmd() *cobra.Command {
RunE: client.ValidateCmd,
}

cmd.AddCommand(CmdQueryAttestationByNonce())
cmd.AddCommand(CmdQueryAttestationByNonce(), CmdQueryEVMAddress())

return cmd
}
Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions x/qgb/types/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -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")
)

0 comments on commit a49bd42

Please sign in to comment.