This yields (imo) surprising behavior for someone using abieos to serialize actions from JSON. For example, someone using abieos' JSON->bin serialization may pass abieos
{"from":"bob bob bob","to":"carol","quantity":"2.0000 EOS","memo":"sup"}
what would you expect to happen here? nodeos will disallow serialization in this case because bob bob bob isn't a valid name. but abieos will serialize it, with from being the murmur hash output of bob bob bob. I consider nodeos the canonical abi behavior and abieos should match it.
When reading a name from JSON, https://github.com/AntelopeIO/abieos/blob/232600c587b9e7bfb78f6807997e4aa24075be39/include/eosio/name.hpp#L154-L158 abieos first checks if it's a valid name and uses it, but if it's not a valid name it makes it a valid name by murmur hashing it, https://github.com/AntelopeIO/abieos/blob/232600c587b9e7bfb78f6807997e4aa24075be39/include/eosio/name.hpp#L145-L149
This yields (imo) surprising behavior for someone using abieos to serialize actions from JSON. For example, someone using abieos' JSON->bin serialization may pass abieos
what would you expect to happen here? nodeos will disallow serialization in this case because
bob bob bob
isn't a valid name. but abieos will serialize it, withfrom
being the murmur hash output ofbob bob bob
. I consider nodeos the canonical abi behavior and abieos should match it.