diff --git a/EIPS/eip-777.md b/EIPS/eip-777.md index 33469c6f..521d2482 100644 --- a/EIPS/eip-777.md +++ b/EIPS/eip-777.md @@ -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.