Skip to content

Commit 88629b3

Browse files
authored
Update README: transfer authorization also allows msg.sender (safe-fndn#518)
Clarified transfer authorization process for delegates, specifying that they can authorize transfers also as the msg.sender, not only via signatures --- ## CLA signature With the submission of this Pull Request, I confirm that I have read and agree to the terms of the [Contributor License Agreement](https://safe.global/cla).
1 parent 2da6716 commit 88629b3

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

modules/allowances/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This contract is a registry of transfer allowances on a Safe that can be used by specific accounts. For this the contract needs to be enabled as a module on the Safe that holds the assets that should be transferred. The registry is written to be used with ERC20 tokens and Ether (represented by the zero address).
44

5-
All transfer allowances are specific to a Safe, token and delegate. A delegate is an account that can authorize transfers (via a signature).
5+
All transfer allowances are specific to a Safe, token and delegate. A delegate is an account that can authorize transfers (via a signature or `msg.sender`).
66

77
Note: This is not about allowances on an ERC20 token contract.
88

@@ -20,7 +20,7 @@ Note: calling `setAllowance` will not change the `spent` value of an allowance.
2020

2121
## Transfer authorization
2222

23-
Transfer are authorized by the delegates and must be within their allowance. To authorize a transfer the delegate needs to generate a signature. The allowance module uses the same [signature scheme as the Gnosis Safe](https://docs.safe.global/learn/safe-core/safe-core-protocol/signatures), except that the allowance module does not support contract signatures or approved hashes.
23+
Transfer are authorized by the delegates and must be within their allowance. To authorize a transfer the delegate must either generate a valid signature or be the `msg.sender` of the transaction. The allowance module uses the same [signature scheme as the Gnosis Safe](https://docs.safe.global/advanced/smart-account-signatures), except that the allowance module does not support contract signatures or approved hashes. Also if an empty signature is provided, or `v == 1`, the `msg.sender` is used instead.
2424

2525
The allowance module signatures are EIP-712 based. And uses the following scheme:
2626

0 commit comments

Comments
 (0)