Properly decode revert strings for fate as well

This commit is contained in:
Tobias Lindahl 2019-07-09 16:24:56 +02:00
parent e326908623
commit c4660fe0cf

View File

@ -290,10 +290,16 @@ to_sophia_value(ContractString, Fun, ResType, Data) ->
{ok, aeso_syntax:expr()} | {error, term()}. {ok, aeso_syntax:expr()} | {error, term()}.
to_sophia_value(_, _, error, Err, _Options) -> to_sophia_value(_, _, error, Err, _Options) ->
{ok, {app, [], {id, [], "error"}, [{string, [], Err}]}}; {ok, {app, [], {id, [], "error"}, [{string, [], Err}]}};
to_sophia_value(_, _, revert, Data, _Options) -> to_sophia_value(_, _, revert, Data, Options) ->
case aeb_heap:from_binary(string, Data) of case proplists:get_value(backend, Options, aevm) of
{ok, Err} -> {ok, {app, [], {id, [], "abort"}, [{string, [], Err}]}}; aevm ->
{error, _} = Err -> Err case aeb_heap:from_binary(string, Data) of
{ok, Err} -> {ok, {app, [], {id, [], "abort"}, [{string, [], Err}]}};
{error, _} = Err -> Err
end;
fate ->
Err = aeb_fate_encoding:deserialize(Data),
{ok, {app, [], {id, [], "abort"}, [{string, [], Err}]}}
end; end;
to_sophia_value(ContractString, FunName, ok, Data, Options) -> to_sophia_value(ContractString, FunName, ok, Data, Options) ->
try try