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)
|
- [MsgGrantAllowance](04_events.md#msggrantallowance)
|
||||||
- [MsgRevokeAllowance](04_events.md#msgrevokeallowance)
|
- [MsgRevokeAllowance](04_events.md#msgrevokeallowance)
|
||||||
- [Exec fee allowance](04_events.md#exec-fee-allowance)
|
- [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