aionnetwork / AVM

Enabling Java code to run in a blockchain environment
https://theoan.com/
MIT License
49 stars 25 forks source link

Create new ABI #330

Closed jeff-aion closed 5 years ago

jeff-aion commented 5 years ago

While working on #329, we realized that there were more problems with the existing ABI, as a consequence of its "from earliest prototype" evolution. Beyond just addressing the concerns of the special-cases of char and different array arity between String and Address, the actual wire format had many complexities and special-cases which were only in place to support features we no longer support or decided not to complete and the core of the implementation was tightly coupled to our shadow class renaming logic.

Therefore, we decided it is time to redesign and fully reimplement the ABI (much later and we will have too many external dependencies to easily change it).

Design goals: