feat: add DenomOwners gRPC method for x/bank (#9533)
# Description Adds a new gRPC method, `DenomOwners`, to the `x/bank` module. This method queries for all account addresses that own a particular token denomination (paginated). _Naming subject to change based on reviews._ closes: #9393 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] provided a link to the relevant issue or specification - [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [x] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [x] confirmed all author checklist items have been addressed - [x] reviewed state machine logic - [x] reviewed API design and naming - [x] reviewed documentation is accurate - [x] reviewed tests and test coverage - [ ] manually tested (if applicable)
This commit is contained in:
+51
-1
@@ -89,12 +89,15 @@
|
||||
- [GenesisState](#cosmos.bank.v1beta1.GenesisState)
|
||||
|
||||
- [cosmos/bank/v1beta1/query.proto](#cosmos/bank/v1beta1/query.proto)
|
||||
- [DenomOwner](#cosmos.bank.v1beta1.DenomOwner)
|
||||
- [QueryAllBalancesRequest](#cosmos.bank.v1beta1.QueryAllBalancesRequest)
|
||||
- [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)
|
||||
- [QueryDenomOwnersRequest](#cosmos.bank.v1beta1.QueryDenomOwnersRequest)
|
||||
- [QueryDenomOwnersResponse](#cosmos.bank.v1beta1.QueryDenomOwnersResponse)
|
||||
- [QueryDenomsMetadataRequest](#cosmos.bank.v1beta1.QueryDenomsMetadataRequest)
|
||||
- [QueryDenomsMetadataResponse](#cosmos.bank.v1beta1.QueryDenomsMetadataResponse)
|
||||
- [QueryParamsRequest](#cosmos.bank.v1beta1.QueryParamsRequest)
|
||||
@@ -1703,6 +1706,19 @@ GenesisState defines the bank module's genesis state.
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.DenomOwner"></a>
|
||||
|
||||
### DenomOwner
|
||||
|
||||
DenomOwner defines structure representing an account that owns or holds a
|
||||
particular denominated token. It contains the account address and account
|
||||
balance of the denominated token.
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `address` | [string](#string) | | address defines the address that owns a particular denomination. |
|
||||
| `balance` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | balance is the balance of the denominated coin for an account. |
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryAllBalancesRequest"></a>
|
||||
|
||||
### QueryAllBalancesRequest
|
||||
@@ -1798,6 +1814,40 @@ method.
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomOwnersRequest"></a>
|
||||
|
||||
### QueryDenomOwnersRequest
|
||||
QueryDenomOwnersRequest defines the request type for the DenomOwners RPC query,
|
||||
which queries for a paginated set of all account holders of a particular
|
||||
denomination.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `denom` | [string](#string) | | denom defines the coin denomination to query all account holders for. |
|
||||
| `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination defines an optional pagination for the request. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomOwnersResponse"></a>
|
||||
|
||||
### QueryDenomOwnersResponse
|
||||
QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| `denom_owners` | [DenomOwner](#cosmos.bank.v1beta1.DenomOwner) | repeated | |
|
||||
| `pagination` | [cosmos.base.query.v1beta1.PageResponse](#cosmos.base.query.v1beta1.PageResponse) | | pagination defines the pagination in the response. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="cosmos.bank.v1beta1.QueryDenomsMetadataRequest"></a>
|
||||
|
||||
### QueryDenomsMetadataRequest
|
||||
@@ -1938,6 +1988,7 @@ Query defines the gRPC querier service.
|
||||
| `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|
|
||||
| `DenomOwners` | [QueryDenomOwnersRequest](#cosmos.bank.v1beta1.QueryDenomOwnersRequest) | [QueryDenomOwnersResponse](#cosmos.bank.v1beta1.QueryDenomOwnersResponse) | DenomOwners queries for all account addresses that own a particular token denomination. | GET|/cosmos/bank/v1beta1/denom_owners/{denom}|
|
||||
|
||||
<!-- end services -->
|
||||
|
||||
@@ -8259,4 +8310,3 @@ still be used for delegating and for governance votes even while locked.
|
||||
| <a name="bool" /> bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
|
||||
| <a name="string" /> string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
|
||||
| <a name="bytes" /> bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user