exthereum / abi

The Ethereum ABI Interface
MIT License
20 stars 22 forks source link

Reimplement type- and function-signature parsing using leex+yecc #3

Closed tsutsu closed 6 years ago

tsutsu commented 6 years ago

The grammar encoded in ethereum_abi_parser.yrl is a complete representation of the ABI standard type grammar; all standard ABI type signatures are recognized and correctly parsed. As such, attempts to encode/decode by these types may appear to succeed but produce undefined behavior, as the type-parsing stage was previously the location where the "not implemented" error was returned for types whose encoding/decoding was not yet complete. This error-checking may have to be moved to the TypeEncoder and TypeDecoder themselves.

tsutsu commented 6 years ago

@hayesgm I added the version-bump to this PR, but I'm happy to recreate the three PRs as one PR if that makes things easier (they seem to have a merge-conflict as-is.)