x/bank: client denom metadata gRPC (#8317)
* deps: bump tendermint to v0.34.2 * x/bank: denom metadata gRPC * cli: add cmd and tests * gRPC test' * changelog * fix test * Apply suggestions from code review Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Aditya <adityasripal@gmail.com> * fix panic * use cmd.Context() * update tests * Update x/bank/types/errors.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * test fix Co-authored-by: Robert Zaremba <robert@zaremba.ch> Co-authored-by: Aditya <adityasripal@gmail.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
Robert Zaremba
Aditya
colin axnér
mergify[bot]
parent
e8d47bb93b
commit
01eec66d28
@@ -34,7 +34,7 @@ UX and remove the requirement for making any assumptions on the unit of denomina
|
||||
The `x/bank` module will be updated to store and index metadata by `denom`, specifically the "base" or
|
||||
smallest unit -- the unit the Cosmos SDK state-machine works with.
|
||||
|
||||
Metadata may also include a non-zero length list of denominations. Each entry containts the name of
|
||||
Metadata may also include a non-zero length list of denominations. Each entry contains the name of
|
||||
the denomination `denom`, the exponent to the base and a list of aliases. An entry is to be
|
||||
interpreted as `1 denom = 10^exponent base_denom` (e.g. `1 ETH = 10^18 wei` and `1 uatom = 10^0 uatom`).
|
||||
|
||||
@@ -92,6 +92,7 @@ As an example, the ATOM's metadata can be defined as follows:
|
||||
```
|
||||
|
||||
Given the above metadata, a client may infer the following things:
|
||||
|
||||
- 4.3atom = 4.3 * (10^6) = 4,300,000uatom
|
||||
- The string "atom" can be used as a display name in a list of tokens.
|
||||
- The balance 4300000 can be displayed as 4,300,000uatom or 4,300matom or 4.3atom.
|
||||
|
||||
@@ -48,6 +48,10 @@
|
||||
- [QueryAllBalancesResponse](#cosmos.bank.v1beta1.QueryAllBalancesResponse)
|
||||
- [QueryBalanceRequest](#cosmos.bank.v1beta1.QueryBalanceRequest)
|
||||
- [QueryBalanceResponse](#cosmos.bank.v1beta1.QueryBalanceResponse)
|
||||
- [QueryDenomMetadataRequest](#cosmos.bank.v1beta1.QueryDenomMetadataRequest)
|
||||
- [QueryDenomMetadataResponse](#cosmos.bank.v1beta1.QueryDenomMetadataResponse)
|
||||
- [QueryDenomsMetadataRequest](#cosmos.bank.v1beta1.QueryDenomsMetadataRequest)
|
||||
- [QueryDenomsMetadataResponse](#cosmos.bank.v1beta1.QueryDenomsMetadataResponse)
|
||||
- [QueryParamsRequest](#cosmos.bank.v1beta1.QueryParamsRequest)
|
||||
- [QueryParamsResponse](#cosmos.bank.v1beta1.QueryParamsResponse)
|
||||
- [QuerySupplyOfRequest](#cosmos.bank.v1beta1.QuerySupplyOfRequest)
|
||||
@@ -1274,6 +1278,69 @@ QueryBalanceResponse is the response type for the Query/Balance RPC method.
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomMetadataRequest"></a>
|
||||
|
||||
### QueryDenomMetadataRequest
|
||||
QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `denom` | [string](#string) | | denom is the coin denom to query the metadata for. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomMetadataResponse"></a>
|
||||
|
||||
### QueryDenomMetadataResponse
|
||||
QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
|
||||
method.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `metadata` | [Metadata](#cosmos.bank.v1beta1.Metadata) | | metadata describes and provides all the client information for the requested token. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomsMetadataRequest"></a>
|
||||
|
||||
### QueryDenomsMetadataRequest
|
||||
QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination defines an optional pagination for the request. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomsMetadataResponse"></a>
|
||||
|
||||
### QueryDenomsMetadataResponse
|
||||
QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
|
||||
method.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `metadatas` | [Metadata](#cosmos.bank.v1beta1.Metadata) | repeated | metadata provides the client information for all the registered tokens. |
|
||||
| `pagination` | [cosmos.base.query.v1beta1.PageResponse](#cosmos.base.query.v1beta1.PageResponse) | | pagination defines the pagination in the response. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryParamsRequest"></a>
|
||||
|
||||
### QueryParamsRequest
|
||||
@@ -1374,6 +1441,8 @@ Query defines the gRPC querier service.
|
||||
| `TotalSupply` | [QueryTotalSupplyRequest](#cosmos.bank.v1beta1.QueryTotalSupplyRequest) | [QueryTotalSupplyResponse](#cosmos.bank.v1beta1.QueryTotalSupplyResponse) | TotalSupply queries the total supply of all coins. | GET|/cosmos/bank/v1beta1/supply|
|
||||
| `SupplyOf` | [QuerySupplyOfRequest](#cosmos.bank.v1beta1.QuerySupplyOfRequest) | [QuerySupplyOfResponse](#cosmos.bank.v1beta1.QuerySupplyOfResponse) | SupplyOf queries the supply of a single coin. | GET|/cosmos/bank/v1beta1/supply/{denom}|
|
||||
| `Params` | [QueryParamsRequest](#cosmos.bank.v1beta1.QueryParamsRequest) | [QueryParamsResponse](#cosmos.bank.v1beta1.QueryParamsResponse) | Params queries the parameters of x/bank module. | GET|/cosmos/bank/v1beta1/params|
|
||||
| `DenomMetadata` | [QueryDenomMetadataRequest](#cosmos.bank.v1beta1.QueryDenomMetadataRequest) | [QueryDenomMetadataResponse](#cosmos.bank.v1beta1.QueryDenomMetadataResponse) | DenomsMetadata queries the client metadata of a given coin denomination. | GET|/cosmos/bank/v1beta1/denoms_metadata/{denom}|
|
||||
| `DenomsMetadata` | [QueryDenomsMetadataRequest](#cosmos.bank.v1beta1.QueryDenomsMetadataRequest) | [QueryDenomsMetadataResponse](#cosmos.bank.v1beta1.QueryDenomsMetadataResponse) | DenomsMetadata queries the client metadata for all registered coin denominations. | GET|/cosmos/bank/v1beta1/denoms_metadata|
|
||||
|
||||
<!-- end services -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user