From 82d08da8cadd4b3eb5c67786367dde126b90c0ed Mon Sep 17 00:00:00 2001 From: Craig Everett Date: Sun, 10 May 2026 16:14:00 +0900 Subject: [PATCH 1/2] Allow spending to contract addresses --- src/hz.erl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/hz.erl b/src/hz.erl index 3218f56..a4ea18a 100644 --- a/src/hz.erl +++ b/src/hz.erl @@ -1708,7 +1708,7 @@ spend(SenderID, Nonce, Payload, NetworkID) -> - case decode_account_id(unicode:characters_to_binary(SenderID)) of + case gmser_api_encoder:safe_decode(account_pubkey, unicode:characters_to_binary(SenderID)) of {ok, DSenderID} -> spend2(gmser_id:create(account, DSenderID), SecKey, @@ -1752,11 +1752,10 @@ spend2(DSenderID, decode_account_id(B) -> - try - {account_pubkey, PK} = gmser_api_encoder:decode(B), - {ok, PK} - catch - E:R -> {E, R} + case gmser_api_encoder:safe_decode(account_pubkey, B) of + {ok, PK} -> {ok, PK}; + {error, invalid_prefix} -> gmser_api_encoder:safe_decode(contract_pubkey, B); + Error -> Error end. From 2a7de4fee1e92d7a6a7e82acf4656d3267a61055 Mon Sep 17 00:00:00 2001 From: Craig Everett Date: Sun, 10 May 2026 17:56:34 +0900 Subject: [PATCH 2/2] verup --- ebin/hakuzaru.app | 2 +- src/hakuzaru.erl | 2 +- src/hz.erl | 2 +- src/hz_aaci.erl | 2 +- src/hz_fetcher.erl | 2 +- src/hz_format.erl | 2 +- src/hz_grids.erl | 2 +- src/hz_key_master.erl | 2 +- src/hz_man.erl | 2 +- src/hz_sophia.erl | 2 +- src/hz_sup.erl | 2 +- zomp.meta | 4 ++-- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ebin/hakuzaru.app b/ebin/hakuzaru.app index f97f891..4df4bd1 100644 --- a/ebin/hakuzaru.app +++ b/ebin/hakuzaru.app @@ -3,7 +3,7 @@ {included_applications,[]}, {applications,[stdlib,kernel]}, {description,"Gajumaru interoperation library"}, - {vsn,"0.9.0"}, + {vsn,"0.9.1"}, {modules,[hakuzaru,hz,hz_aaci,hz_fetcher,hz_format,hz_grids, hz_key_master,hz_man,hz_sophia,hz_sup]}, {mod,{hakuzaru,[]}}]}. diff --git a/src/hakuzaru.erl b/src/hakuzaru.erl index ddd67a9..a06da60 100644 --- a/src/hakuzaru.erl +++ b/src/hakuzaru.erl @@ -6,7 +6,7 @@ %%% @end -module(hakuzaru). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Craig Everett "). -copyright("Craig Everett "). -license("GPL-3.0-or-later"). diff --git a/src/hz.erl b/src/hz.erl index a4ea18a..0e2271b 100644 --- a/src/hz.erl +++ b/src/hz.erl @@ -23,7 +23,7 @@ %%% @end -module(hz). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Craig Everett "). -copyright("Craig Everett "). -license("GPL-3.0-or-later"). diff --git a/src/hz_aaci.erl b/src/hz_aaci.erl index de28f55..c4fd79f 100644 --- a/src/hz_aaci.erl +++ b/src/hz_aaci.erl @@ -10,7 +10,7 @@ %%% @end -module(hz_aaci). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Jarvis Carroll "). -copyright("Craig Everett "). -license("GPL-3.0-or-later"). diff --git a/src/hz_fetcher.erl b/src/hz_fetcher.erl index 33e5de7..0cf8414 100644 --- a/src/hz_fetcher.erl +++ b/src/hz_fetcher.erl @@ -1,5 +1,5 @@ -module(hz_fetcher). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Craig Everett "). -copyright("Craig Everett "). -license("MIT"). diff --git a/src/hz_format.erl b/src/hz_format.erl index 39ca2df..2716989 100644 --- a/src/hz_format.erl +++ b/src/hz_format.erl @@ -21,7 +21,7 @@ %%% @end -module(hz_format). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Craig Everett "). -copyright("Craig Everett "). -license("GPL-3.0-or-later"). diff --git a/src/hz_grids.erl b/src/hz_grids.erl index f19fdfd..a8233b8 100644 --- a/src/hz_grids.erl +++ b/src/hz_grids.erl @@ -37,7 +37,7 @@ %%% @end -module(hz_grids). --vsn("0.9.0"). +-vsn("0.9.1"). -export([url/2, url/3, url/4, parse/1, req/2, req/3, req/4]). diff --git a/src/hz_key_master.erl b/src/hz_key_master.erl index ccc4bc4..5113ee6 100644 --- a/src/hz_key_master.erl +++ b/src/hz_key_master.erl @@ -8,7 +8,7 @@ %%% @end -module(hz_key_master). --vsn("0.9.0"). +-vsn("0.9.1"). -export([make_key/1, encode/1, decode/1]). -export([lcg/1]). diff --git a/src/hz_man.erl b/src/hz_man.erl index 49c0375..e38e305 100644 --- a/src/hz_man.erl +++ b/src/hz_man.erl @@ -9,7 +9,7 @@ %%% @end -module(hz_man). --vsn("0.9.0"). +-vsn("0.9.1"). -behavior(gen_server). -author("Craig Everett "). -copyright("Craig Everett "). diff --git a/src/hz_sophia.erl b/src/hz_sophia.erl index 70995a6..76a950d 100644 --- a/src/hz_sophia.erl +++ b/src/hz_sophia.erl @@ -1,5 +1,5 @@ -module(hz_sophia). --vsn("0.9.0"). +-vsn("0.9.1"). -author("Jarvis Carroll "). -copyright("Jarvis Carroll "). -license("GPL-3.0-or-later"). diff --git a/src/hz_sup.erl b/src/hz_sup.erl index eabb584..a15e1e9 100644 --- a/src/hz_sup.erl +++ b/src/hz_sup.erl @@ -9,7 +9,7 @@ %%% @end -module(hz_sup). --vsn("0.9.0"). +-vsn("0.9.1"). -behaviour(supervisor). -author("Craig Everett "). -copyright("Craig Everett "). diff --git a/zomp.meta b/zomp.meta index 0fa8075..ded02f1 100644 --- a/zomp.meta +++ b/zomp.meta @@ -1,10 +1,10 @@ {name,"Hakuzaru"}. {type,app}. {modules,[]}. +{author,"Craig Everett"}. {prefix,"hz"}. {desc,"Gajumaru interoperation library"}. -{author,"Craig Everett"}. -{package_id,{"otpr","hakuzaru",{0,9,0}}}. +{package_id,{"otpr","hakuzaru",{0,9,1}}}. {deps,[{"otpr","sophia",{9,0,0}}, {"otpr","gmserialization",{0,1,3}}, {"otpr","gmbytecode",{3,4,1}},