Resolve "Error when dry-running a contract (having a storage which contains a lambda)"
This commit is contained in:
parent
1219a0188c
commit
c7dfd54f7e
@ -220,5 +220,9 @@ let rec untranspile (v : value) (t : AST.type_value) : AST.annotated_expression
|
||||
@@ List.map (fun (x, (y, z)) -> let%bind yz = untranspile y z in ok (x, yz)) lst in
|
||||
let m' = map_of_kv_list lst in
|
||||
return (E_record m')
|
||||
| T_function _ -> fail @@ bad_untranspile "function" v
|
||||
| T_function _ ->
|
||||
let%bind n =
|
||||
trace_strong (wrong_mini_c_value "lambda as string" v) @@
|
||||
get_string v in
|
||||
return (E_literal (Literal_string n))
|
||||
| T_variable (Type_name v) -> return (E_variable v)
|
||||
|
@ -118,6 +118,13 @@ let rec translate_value (Ex_typed_value (ty, value)) : value result =
|
||||
)
|
||||
| (Operation_t _) , (op , _) ->
|
||||
ok @@ D_operation op
|
||||
| (Lambda_t _ as ty) , _ ->
|
||||
let%bind m_ty =
|
||||
trace_tzresult_lwt (simple_error "unparsing unrecognized data") @@
|
||||
Proto_alpha_utils.Memory_proto_alpha.unparse_michelson_ty ty in
|
||||
let pp_lambda =
|
||||
Format.asprintf "[lambda of type: %a ]" Michelson.pp m_ty in
|
||||
ok @@ D_string pp_lambda
|
||||
| ty, v ->
|
||||
let%bind error =
|
||||
let%bind m_data =
|
||||
|
Loading…
Reference in New Issue
Block a user