docs: feegrant client spec (#10160)
* docs: feegrant client spec * fix cli statement Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
This commit is contained in:
parent
22cd77870a
commit
9c916a87bb
|
@ -0,0 +1,184 @@
|
|||
<!--
|
||||
order: 6
|
||||
-->
|
||||
|
||||
# Client
|
||||
|
||||
## CLI
|
||||
|
||||
A user can query and interact with the `feegrant` module using the CLI.
|
||||
|
||||
### Query
|
||||
|
||||
The `query` commands allow users to query `feegrant` state.
|
||||
|
||||
```
|
||||
simd query feegrant --help
|
||||
```
|
||||
|
||||
#### grant
|
||||
|
||||
The `grant` command allows users to query a grant for a given granter-grantee pair.
|
||||
|
||||
```
|
||||
simd query feegrant grant [granter] [grantee] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
simd query feegrant grant cosmos1.. cosmos1..
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
allowance:
|
||||
'@type': /cosmos.feegrant.v1beta1.BasicAllowance
|
||||
expiration: null
|
||||
spend_limit:
|
||||
- amount: "100"
|
||||
denom: stake
|
||||
grantee: cosmos1..
|
||||
granter: cosmos1..
|
||||
```
|
||||
|
||||
#### grants
|
||||
|
||||
The `grants` command allows users to query all grants for a given grantee.
|
||||
|
||||
```
|
||||
simd query feegrant grants [grantee] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
simd query feegrant grants cosmos1..
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
allowances:
|
||||
- allowance:
|
||||
'@type': /cosmos.feegrant.v1beta1.BasicAllowance
|
||||
expiration: null
|
||||
spend_limit:
|
||||
- amount: "100"
|
||||
denom: stake
|
||||
grantee: cosmos1..
|
||||
granter: cosmos1..
|
||||
pagination:
|
||||
next_key: null
|
||||
total: "0"
|
||||
```
|
||||
|
||||
### Transactions
|
||||
|
||||
The `tx` commands allow users to interact with the `feegrant` module.
|
||||
|
||||
```
|
||||
simd tx feegrant --help
|
||||
```
|
||||
|
||||
#### grant
|
||||
|
||||
The `grant` command allows users to grant fee allowances to another account. The fee allowance can have an expiration date, a total spend limit, and/or a periodic spend limit.
|
||||
|
||||
```
|
||||
simd tx feegrant grant [granter] [grantee] [flags]
|
||||
```
|
||||
|
||||
Example (one-time spend limit):
|
||||
|
||||
```
|
||||
simd tx feegrant grant cosmos1.. cosmos1.. --spend-limit 100stake
|
||||
```
|
||||
|
||||
Example (periodic spend limit):
|
||||
|
||||
```
|
||||
simd tx feegrant grant cosmos1.. cosmos1.. --period 3600 --period-limit 10stake
|
||||
```
|
||||
|
||||
#### revoke
|
||||
|
||||
The `revoke` command allows users to revoke a granted fee allowance.
|
||||
|
||||
```
|
||||
simd tx feegrant revoke [granter] [grantee] [flags]
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
simd tx feegrant revoke cosmos1.. cosmos1..
|
||||
```
|
||||
|
||||
## gRPC
|
||||
|
||||
A user can query the `feegrant` module using gRPC endpoints.
|
||||
|
||||
### Allowance
|
||||
|
||||
The `Allowance` endpoint allows users to query a granted fee allowance.
|
||||
|
||||
```
|
||||
cosmos.feegrant.v1beta1.Query/Allowance
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
grpcurl -plaintext \
|
||||
-d '{"grantee":"cosmos1..","granter":"cosmos1.."}' \
|
||||
localhost:9090 \
|
||||
cosmos.feegrant.v1beta1.Query/Allowance
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
{
|
||||
"allowance": {
|
||||
"granter": "cosmos1..",
|
||||
"grantee": "cosmos1..",
|
||||
"allowance": {"@type":"/cosmos.feegrant.v1beta1.BasicAllowance","spendLimit":[{"denom":"stake","amount":"100"}]}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Allowances
|
||||
|
||||
The `Allowances` endpoint allows users to query all granted fee allowances for a given grantee.
|
||||
|
||||
```
|
||||
cosmos.feegrant.v1beta1.Query/Allowances
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
grpcurl -plaintext \
|
||||
-d '{"address":"cosmos1.."}' \
|
||||
localhost:9090 \
|
||||
cosmos.feegrant.v1beta1.Query/Allowances
|
||||
```
|
||||
|
||||
Example Output:
|
||||
|
||||
```
|
||||
{
|
||||
"allowances": [
|
||||
{
|
||||
"granter": "cosmos1..",
|
||||
"grantee": "cosmos1..",
|
||||
"allowance": {"@type":"/cosmos.feegrant.v1beta1.BasicAllowance","spendLimit":[{"denom":"stake","amount":"100"}]}
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
"total": "1"
|
||||
}
|
||||
}
|
||||
```
|
|
@ -30,3 +30,6 @@ This module allows accounts to grant fee allowances and to use fees from their a
|
|||
- [MsgGrantAllowance](04_events.md#msggrantallowance)
|
||||
- [MsgRevokeAllowance](04_events.md#msgrevokeallowance)
|
||||
- [Exec fee allowance](04_events.md#exec-fee-allowance)
|
||||
5. **[Client](05_client.md)**
|
||||
- [CLI](05_client.md#cli)
|
||||
- [gRPC](05_client.md#grpc)
|
Loading…
Reference in New Issue