This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0777 [2020/11/13 02:21] nick ↷ Links adapted because of a move operation |
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0777 [2021/08/18 11:18] (current) murphy |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| //This standard tries to improve upon the widely used ERC20 token standard. The main advantages of this standard are:// | //This standard tries to improve upon the widely used ERC20 token standard. The main advantages of this standard are:// | ||
| - | - //Uses the same philosophy as Ether in that tokens are sent with send(dest, value, data).// | + | * //Uses the same philosophy as [[dido:public:ra:xapend:xapend.a_glossary:e:ether|Ether]] in that [[dido:public:ra:xapend:xapend.a_glossary:t:tokens|tokens]] are sent with send(dest, value, data).// |
| - | - //Both contracts and regular addresses can control and reject which token they send by registering a ''tokensToSend'' hook. (Rejection is done by ''revert''ing in the hook function.)// | + | * //Both contracts and regular addresses can control and reject which token they send by registering a ''tokensToSend'' hook. (Rejection is done by ''revert''ing in the hook function.)// |
| - | - //Both contracts and regular addresses can control and reject which token they receive by registering a ''tokensReceived'' hook. (Rejection is done by ''revert''ing in the hook function.)// | + | * //Both contracts and regular addresses can control and reject which token they receive by registering a ''tokensReceived'' hook. (Rejection is done by ''revert''ing in the hook function.)// |
| - | - //The tokensReceived hook allows to send tokens to a contract and notify it in a single transaction, unlike ERC20 which requires a double call (''approve''/''transferFrom'') to achieve this.// | + | * //The tokensReceived hook allows to send tokens to a contract and notify it in a single transaction, unlike ERC20 which requires a double call (''approve''/''transferFrom'') to achieve this.// |
| - | - //The holder can “authorize” and “revoke” operators which can send tokens on their behalf. These operators are intended to be verified contracts such as an exchange, a cheque processor or an automatic charging system.// | + | * //The holder can “authorize” and “revoke” operators which can send tokens on their behalf. These operators are intended to be verified contracts such as an exchange, a cheque [[dido:public:ra:xapend:xapend.a_glossary:p:start|processor]] or an automatic charging system.// |
| - | - //Every token transaction contains ''data'' and ''operatorData'' bytes fields to be used freely to pass data from the holder and the operator, respectively.// | + | * //Every token transaction contains ''data'' and ''operatorData'' bytes fields to be used freely to pass data from the holder and the operator, respectively.// |
| - | It is backward compatible with wallets that do not contain the ''tokensReceived'' hook function by deploying a proxy contract implementing the ''tokensReceived'' hook for the wallet. | + | It is backward compatible with [[dido:public:ra:xapend:xapend.a_glossary:w:wallet|wallets]] that do not contain the ''tokensReceived'' hook function by deploying a proxy contract implementing the ''tokensReceived'' hook for the wallet. |