docs: update authz to include StakeAuthorization (#10821)
Added StakeAuthorization & moved GenericAuthorization to the top. Co-authored-by: Marko <marbar3778@yahoo.com>
This commit is contained in:
parent
3cbc38ddad
commit
b67c4b3e86
|
@ -20,16 +20,6 @@ Authorization is an interface that must be implemented by a concrete authorizati
|
||||||
|
|
||||||
The Cosmos SDK `x/authz` module comes with following authorization types:
|
The Cosmos SDK `x/authz` module comes with following authorization types:
|
||||||
|
|
||||||
### SendAuthorization
|
|
||||||
|
|
||||||
`SendAuthorization` implements the `Authorization` interface for the `cosmos.bank.v1beta1.MsgSend` Msg. It takes a `SpendLimit` that specifies the maximum amount of tokens the grantee can spend. The `SpendLimit` is updated as the tokens are spent.
|
|
||||||
|
|
||||||
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/proto/cosmos/bank/v1beta1/authz.proto#L10-L19
|
|
||||||
|
|
||||||
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/x/bank/types/send_authorization.go#L25-L40
|
|
||||||
|
|
||||||
- `spend_limit` keeps track of how many coins are left in the authorization.
|
|
||||||
|
|
||||||
### GenericAuthorization
|
### GenericAuthorization
|
||||||
|
|
||||||
`GenericAuthorization` implements the `Authorization` interface that gives unrestricted permission to execute the provided Msg on behalf of granter's account.
|
`GenericAuthorization` implements the `Authorization` interface that gives unrestricted permission to execute the provided Msg on behalf of granter's account.
|
||||||
|
@ -40,6 +30,24 @@ The Cosmos SDK `x/authz` module comes with following authorization types:
|
||||||
|
|
||||||
- `msg` stores Msg type URL.
|
- `msg` stores Msg type URL.
|
||||||
|
|
||||||
|
### SendAuthorization
|
||||||
|
|
||||||
|
`SendAuthorization` implements the `Authorization` interface for the `cosmos.bank.v1beta1.MsgSend` Msg. It takes a `SpendLimit` that specifies the maximum amount of tokens the grantee can spend. The `SpendLimit` is updated as the tokens are spent.
|
||||||
|
|
||||||
|
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/proto/cosmos/bank/v1beta1/authz.proto#L10-L19
|
||||||
|
|
||||||
|
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/x/bank/types/send_authorization.go#L25-L40
|
||||||
|
|
||||||
|
- `spend_limit` keeps track of how many coins are left in the authorization.
|
||||||
|
|
||||||
|
### StakeAuthorization
|
||||||
|
|
||||||
|
`StakeAuthorization` implements the `Authorization` interface for messages in the [staking module](https://docs.cosmos.network/v0.44/modules/staking/). It takes an `AuthorizationType` to specify whether you want to authorise delegating, undelegating or redelegating (i.e. these have to be authorised seperately). It also takes a `MaxTokens` that keeps track of a limit to the amount of tokens that can be delegated/undelegated/redelegated. If left empty, the amount is unlimited. Additionally, this Msg takes an `AllowList` and a `DenyList`, which allows you to select which validators you allow grantees to stake with.
|
||||||
|
|
||||||
|
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/proto/cosmos/staking/v1beta1/authz.proto#L11-L31
|
||||||
|
|
||||||
|
+++ https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-beta1/x/staking/types/authz.go#L18-L38
|
||||||
|
|
||||||
## Gas
|
## Gas
|
||||||
|
|
||||||
In order to prevent DoS attacks, granting `StakeAuthorization`s with `x/authz` incurs gas. `StakeAuthorization` allows you to authorize another account to delegate, undelegate, or redelegate to validators. The authorizer can define a list of validators they allow or deny delegations to. The Cosmos SDK iterates over these lists and charge 10 gas for each validator in both of the lists.
|
In order to prevent DoS attacks, granting `StakeAuthorization`s with `x/authz` incurs gas. `StakeAuthorization` allows you to authorize another account to delegate, undelegate, or redelegate to validators. The authorizer can define a list of validators they allow or deny delegations to. The Cosmos SDK iterates over these lists and charge 10 gas for each validator in both of the lists.
|
||||||
|
|
Loading…
Reference in New Issue