From 0d9dde0ee78eeac90913a44c9e9705d889969c5e Mon Sep 17 00:00:00 2001 From: Jacques Dafflon Date: Tue, 26 Mar 2019 02:06:08 +0100 Subject: [PATCH] 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 --- EIPS/eip-777.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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.