From 54051094c7014250111bcdae33170a45f3e6940e Mon Sep 17 00:00:00 2001 From: Jacques Dafflon Date: Mon, 8 Apr 2019 19:43:50 +0200 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 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/EIPS/eip-777.md b/EIPS/eip-777.md index 72f4e821..7f77b041 100644 --- a/EIPS/eip-777.md +++ b/EIPS/eip-777.md @@ -549,8 +549,6 @@ Nonetheless, the rules below MUST be respected when minting for a *recipient*: - The `data` and `operatorData` MUST be immutable during the entire mint process—hence the same `data` and `operatorData` MUST be used to call the `tokensReceived` hook and emit the `Minted` event. -- The `data` field MUST be empty. - The token contract MUST `revert` when minting in any of the following cases: - The resulting *recipient* balance after the mint is not a multiple of the *granularity* defined by the token contract. @@ -576,6 +574,10 @@ The token contract MAY mint tokens for multiple *recipients* at once. In this ca *NOTE*: Minting an amount of zero (`0`) tokens is valid and MUST be treated as a regular mint. +*NOTE*: While during a send or a burn, the data is provided by the *holder*, it is inapplicable for a mint. +In this case the data MAY be provided by the token contract or the *operator*, +for example to ensure a successful minting to a *holder* expecting specific data. + *NOTE*: The `operatorData` field contains information provided by the *operator*—similar to the data field in a regular ether send transaction. The `tokensReceived()` hooks MAY use the information to decide if it wish to reject the transaction. @@ -594,7 +596,7 @@ Indicate the minting of `amount` of tokens to the `to` address by the `operator` > `operator`: Address which triggered the mint. > `to`: Recipient of the tokens. > `amount`: Number of tokens minted. -> `data`: MUST be empty. +> `data`: Information provided for the *recipient*. > `operatorData`: Information provided by the *operator*. #### **Burning Tokens**