erc-1155 icon indicating copy to clipboard operation
erc-1155 copied to clipboard

N13 - `msg.sender` is defined as operator during `_mint` and `_burn`

Open PhABC opened this issue 5 years ago • 2 comments

image

By @Agusx1211

PhABC avatar Jan 06 '20 17:01 PhABC

I guess the definition of what an operator is is quite unprecise.

  • If Bob calls a contract C that transfers Alice's tokens, is contract C (msg.sender) the operator or is it Bob?

  • If Bob calls a contract C that mints tokens to Alice, is contract C (msg.sender) the operator or is it Bob?

I could see arguments for Bob or C being the operator in the events, but it depends on the goal indeed. This is related to #27 as well. The standard seems to indicate that C should be the operator (since C is approved to transfer Alice's tokens, not Bob directly), but Bob is the one initiating the transfer.

PhABC avatar Jan 07 '20 23:01 PhABC

but Bob is the one initiating the transfer.

Bob may only be convening the intent of C, who can determine if the token get's transferred or not. Maybe when thinking about a meta-transaction is a little bit brighter, during a meta-transaction, Bob would be the "relayer," and it would only be executing the intent of the signer, which is the real operator.

Overall, I agree that the definition of operator on ERC-1155 is quite unprecise.

Agusx1211 avatar Jan 11 '20 15:01 Agusx1211