* fix: always treat abi type structs as tuples * fix: keep decoding for single field structs * feat: unify event and struct encoding