diff --git a/docs/architecture/adr-030-authz-module.md b/docs/architecture/adr-030-authz-module.md index 0bdf08ecb6..b9c0720e10 100644 --- a/docs/architecture/adr-030-authz-module.md +++ b/docs/architecture/adr-030-authz-module.md @@ -117,6 +117,15 @@ A different type of capability for `MsgSend` could be implemented using the `Authorization` interface with no need to change the underlying `bank` module. +##### Small notes on `AcceptResponse` + +- The `AcceptResponse.Accept` field will be set to `true` if the authorization is accepted. +However, if it is rejected, the function `Accept` will raise an error (without setting `AcceptResponse.Accept` to `false`). + +- The `AcceptResponse.Updated` field will be set to a non-nil value only if there is a real change to the authorization. +If authorization remains the same (as is, for instance, always the case for a [`GenericAuthorization`](#genericauthorization)), +the field will be `nil`. + ### `Msg` Service ```proto diff --git a/x/authz/spec/01_concepts.md b/x/authz/spec/01_concepts.md index cfa46a09f0..c4cc63acc4 100644 --- a/x/authz/spec/01_concepts.md +++ b/x/authz/spec/01_concepts.md @@ -32,7 +32,7 @@ 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. +`SendAuthorization` implements the `Authorization` interface for the `cosmos.bank.v1beta1.MsgSend` Msg. It takes a (positive) `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 diff --git a/x/bank/types/send_authorization.go b/x/bank/types/send_authorization.go index 75a47cdf0d..08a7b641fe 100644 --- a/x/bank/types/send_authorization.go +++ b/x/bank/types/send_authorization.go @@ -45,7 +45,7 @@ func (a SendAuthorization) ValidateBasic() error { return sdkerrors.ErrInvalidCoins.Wrap("spend limit cannot be nil") } if !a.SpendLimit.IsAllPositive() { - return sdkerrors.ErrInvalidCoins.Wrapf("spend limit cannot be negitive") + return sdkerrors.ErrInvalidCoins.Wrapf("spend limit must be positive") } return nil }