Compare commits
3 Commits
d83ac6eb59
...
23b6256aae
Author | SHA1 | Date | |
---|---|---|---|
23b6256aae | |||
4efc38d319 | |||
![]() |
ede98b9e96 |
@ -3,6 +3,6 @@
|
||||
{included_applications,[]},
|
||||
{applications,[stdlib,kernel]},
|
||||
{description,"Gajumaru interoperation library"},
|
||||
{vsn,"0.3.1"},
|
||||
{vsn,"0.3.2"},
|
||||
{modules,[hakuzaru,hz,hz_fetcher,hz_man,hz_sup]},
|
||||
{mod,{hakuzaru,[]}}]}.
|
||||
|
@ -6,7 +6,7 @@
|
||||
%%% @end
|
||||
|
||||
-module(hakuzaru).
|
||||
-vsn("0.3.1").
|
||||
-vsn("0.3.2").
|
||||
-author("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-copyright("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-license("GPL-3.0-or-later").
|
||||
|
23
src/hz.erl
23
src/hz.erl
@ -23,7 +23,7 @@
|
||||
%%% @end
|
||||
|
||||
-module(hz).
|
||||
-vsn("0.3.1").
|
||||
-vsn("0.3.2").
|
||||
-author("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-copyright("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-license("GPL-3.0-or-later").
|
||||
@ -619,9 +619,9 @@ dry_run(TX) ->
|
||||
%% supplied accounts.
|
||||
|
||||
dry_run(TX, Accounts) ->
|
||||
case kb_current_hash() of
|
||||
{ok, Hash} -> dry_run(TX, Accounts, Hash);
|
||||
Error -> Error
|
||||
case top_block() of
|
||||
{ok, #{"hash" := Hash}} -> dry_run(TX, Accounts, Hash);
|
||||
Error -> Error
|
||||
end.
|
||||
|
||||
|
||||
@ -1453,7 +1453,7 @@ convert_function_spec(#{name := NameBin, arguments := Args, returns := Result})
|
||||
|
||||
convert_arg(#{name := NameBin, type := TypeDef}) ->
|
||||
Name = binary_to_list(NameBin),
|
||||
{ok, Type} = opaque_type([], TypeDef),
|
||||
Type = opaque_type([], TypeDef),
|
||||
{Name, Type}.
|
||||
|
||||
convert_namespace_typedefs(#{namespace := NS}) ->
|
||||
@ -1561,7 +1561,7 @@ opaque_type_name(Name) -> binary_to_list(Name).
|
||||
annotate_function_specs([], _Types, Specs) ->
|
||||
Specs;
|
||||
annotate_function_specs([{Name, ArgsOpaque, ResultOpaque} | Rest], Types, Specs) ->
|
||||
{ok, Args} = annotate_types(ArgsOpaque, Types, []),
|
||||
{ok, Args} = annotate_bindings(ArgsOpaque, Types, []),
|
||||
{ok, Result} = annotate_type(ResultOpaque, Types),
|
||||
NewSpecs = maps:put(Name, {Args, Result}, Specs),
|
||||
annotate_function_specs(Rest, Types, NewSpecs).
|
||||
@ -2358,3 +2358,14 @@ state_coerce_test() ->
|
||||
{ok, {[], Output}} = aaci_lookup_spec(AACI, "init"),
|
||||
try_coerce(Output, 0, 0).
|
||||
|
||||
param_test() ->
|
||||
Contract = "
|
||||
contract C =
|
||||
type state = int
|
||||
entrypoint init(x): state = x
|
||||
",
|
||||
{ok, AACI} = aaci_from_string(Contract),
|
||||
{ok, {[{"x", Input}], Output}} = aaci_lookup_spec(AACI, "init"),
|
||||
try_coerce(Input, 0, 0),
|
||||
try_coerce(Output, 0, 0).
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
-module(hz_fetcher).
|
||||
-vsn("0.3.1").
|
||||
-vsn("0.3.2").
|
||||
-author("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-copyright("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-license("MIT").
|
||||
|
@ -9,7 +9,7 @@
|
||||
%%% @end
|
||||
|
||||
-module(hz_man).
|
||||
-vsn("0.3.1").
|
||||
-vsn("0.3.2").
|
||||
-behavior(gen_server).
|
||||
-author("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-copyright("Craig Everett <ceverett@tsuriai.jp>").
|
||||
|
@ -9,7 +9,7 @@
|
||||
%%% @end
|
||||
|
||||
-module(hz_sup).
|
||||
-vsn("0.3.1").
|
||||
-vsn("0.3.2").
|
||||
-behaviour(supervisor).
|
||||
-author("Craig Everett <zxq9@zxq9.com>").
|
||||
-copyright("Craig Everett <zxq9@zxq9.com>").
|
||||
|
@ -4,7 +4,7 @@
|
||||
{prefix,"hz"}.
|
||||
{author,"Craig Everett"}.
|
||||
{desc,"Gajumaru interoperation library"}.
|
||||
{package_id,{"otpr","hakuzaru",{0,3,1}}}.
|
||||
{package_id,{"otpr","hakuzaru",{0,3,2}}}.
|
||||
{deps,[{"otpr","sophia",{8,0,1}},
|
||||
{"otpr","gmbytecode",{3,4,1}},
|
||||
{"otpr","gmserialization",{0,1,2}},
|
||||
|
Loading…
x
Reference in New Issue
Block a user