Currently, if a method argument or return type is a struct which contains a field that is a byte array (of arbitrary depth), then the code generated by seer evm generate does not properly handle that field.
This is a somewhat deep issue caused by the behavior of encoding/json.
There are a few solutions that come to mind:
Extend the way that seer evm generate handles method arguments which are themselves byte arrays.
Write a drop-in replacement for encoding/json which represents []byte as string when marshaling (and vice versa when unmarshaling).
Currently, if a method argument or return type is a struct which contains a field that is a byte array (of arbitrary depth), then the code generated by
seer evm generate
does not properly handle that field.This is a somewhat deep issue caused by the behavior of
encoding/json
.There are a few solutions that come to mind:
seer evm generate
handles method arguments which are themselves byte arrays.encoding/json
which represents[]byte
asstring
when marshaling (and vice versa when unmarshaling).