zuse: better ethereum abi data type
Considering some of the options here were atoms, not cells, $% wasn't
appropriate, and led to *etyp:abi:ethereum resulting in ford %ride execution
failure. Simply using $? instead would result in a fish-loop, so here we split
the atom cases from the tagged union ones with a $@.
=> |%
:: solidity types. integer bitsizes ignored
++ etyp
- $% :: static
+ $@ $? :: static
%address %bool
%int %uint
%real %ureal
+ :: dynamic
+ %bytes %string
+ ==
+ $% :: static
[%bytes-n n=@ud]
:: dynamic
[%array-n t=etyp n=@ud]
[%array t=etyp]
- %bytes %string
==
::
:: solidity-style typed data. integer bitsizes ignored
