mirror of https://github.com/status-im/EIPs.git
Automatically merged updates to draft EIP(s) 777
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
This commit is contained in:
parent
4eb6eab9cb
commit
0d9dde0ee7
|
@ -190,18 +190,19 @@ function granularity() external view returns (uint256)
|
|||
|
||||
Get the smallest part of the token that's not divisible.
|
||||
|
||||
In other words, the granularity is the smallest number of tokens (in the basic unit)
|
||||
In other words, the granularity is the smallest number of tokens (in the internal denomination)
|
||||
which MAY be minted, sent or burned at any time.
|
||||
|
||||
The following rules MUST be applied regarding the *granularity*:
|
||||
|
||||
- The *granularity* value MUST be set at creation time.
|
||||
|
||||
- The *granularity* value MUST NOT be changed ever.
|
||||
- The *granularity* value MUST NOT be changed, ever.
|
||||
|
||||
- The *granularity* value MUST be greater or equal to `1`.
|
||||
|
||||
- Any minting, send or burning of tokens MUST be a multiple of the *granularity* value.
|
||||
- Any amount of tokens (in the internal denomination) minted, sent or burnt
|
||||
MUST be a multiple of the *granularity* value.
|
||||
|
||||
- Any operation that would result in a balance that's not a multiple of the *granularity* value
|
||||
MUST be considered invalid, and the transaction MUST `revert`.
|
||||
|
@ -714,7 +715,7 @@ with the addition that the *operator* MAY specify an explicit value for `operato
|
|||
|
||||
#### **`ERC777TokensSender` And The `tokensToSend` Hook**
|
||||
|
||||
The `tokensToSend` hook notifies of any decrement of balance (send and burn) for a given *holder*.
|
||||
The `tokensToSend` hook notifies of any request to decrement the balance (send and burn) for a given *holder*.
|
||||
Any address (regular or contract) wishing to be notified of token debits from their address
|
||||
MAY register the address of a contract implementing the `ERC777TokensSender` interface described below via [ERC1820].
|
||||
|
||||
|
@ -742,7 +743,7 @@ but said address MUST implement the interface on its behalf.
|
|||
function tokensToSend(address operator, address from, address to, uint256 amount, bytes calldata userData, bytes calldata operatorData) external
|
||||
```
|
||||
|
||||
Notify a send or burn (if `to` is `0x0`) of `amount` tokens from the `from` address to the `to` address
|
||||
Notify a request to send or burn (if `to` is `0x0`) an `amount` tokens from the `from` address to the `to` address
|
||||
by the `operator` address.
|
||||
|
||||
*NOTE*: This function MUST NOT be called outside of a burn, send or [ERC20] transfer process.
|
||||
|
|
Loading…
Reference in New Issue