diff --git a/x/evm/types/query_unpacker.go b/x/evm/types/query_unpacker.go new file mode 100644 index 0000000..a281592 --- /dev/null +++ b/x/evm/types/query_unpacker.go @@ -0,0 +1,28 @@ +package types + +import ( + codec "github.com/cosmos/cosmos-sdk/codec/types" +) + +var ( + _ codec.UnpackInterfacesMessage = (*QueryTraceTxRequest)(nil) + _ codec.UnpackInterfacesMessage = (*QueryTraceBlockRequest)(nil) +) + +func (m QueryTraceTxRequest) UnpackInterfaces(unPacker codec.AnyUnpacker) error { + for _, msg := range m.Predecessors { + if err := msg.UnpackInterfaces(unPacker); err != nil { + return err + } + } + return m.Msg.UnpackInterfaces(unPacker) +} + +func (m QueryTraceBlockRequest) UnpackInterfaces(unPacker codec.AnyUnpacker) error { + for _, msg := range m.Txs { + if err := msg.UnpackInterfaces(unPacker); err != nil { + return err + } + } + return nil +}