Neo: NEP-5 event naming on Neo 3

Created on 14 May 2020  路  3Comments  路  Source: neo-project/neo

Describe the bug
Native NEO and GAS contracts are not compliant with NEP-5 specification in their event (notification) name.

Details
The NEP-5 specification describes "transfer" event that is to be generated by compliant contracts under specific circumstances. It can be seen in example contract, tutorial, another example, implementation of compliant tracker plugin and compliant node. All of these work fine in Neo 2 world.

Fast-forward to Neo 3 with #717 that added native NEO and GAS contracts claiming them as supporting NEP-5. But in fact these contracts emit a bit different event named "Transfer", so technically they're not compliant with NEP-5 specification. Moreover, neo-project/neo-modules#125 changed the old standard-compliant NEP-5 tracker plugin to something working with this new "Transfer".

Expected behavior
Following existing standards in Neo 3 or creating new ones if there is a need to change something.

(Optional) Additional context
I'd suggest changing generated event name back to lower-case "transfer", because that was the name for quite some time and there is code that's expecting exactly that. Also, people trying to follow NEP-5 standard would probably be a bit surprised to find out that the new NEP-5 tracker plugin doesn't work for their contracts.

The other option of course is rolling out new specification that can define this event in any new fashion (lower case, upper case, mixed case, case-insensitive, etc...).

Most helpful comment

Vote:

uppercase (Transfer) 馃憤
lowercase (transfer) 馃憥

All 3 comments

Vote:

uppercase (Transfer) 馃憤
lowercase (transfer) 馃憥

I vote for uppercase or case-insensitive.

Solved by NEP-17.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Tommo-L picture Tommo-L  路  4Comments

realloc picture realloc  路  4Comments

igormcoelho picture igormcoelho  路  4Comments

vncoelho picture vncoelho  路  4Comments

erikzhang picture erikzhang  路  4Comments