Compare commits

..

No commits in common. "8258d56b347f5e29fbf2c7ce74e068affcaf0137" and "5a8e0b602d63085ebd5f554f7fe176d058bf9518" have entirely different histories.

7 changed files with 21 additions and 22 deletions

View File

@ -3,6 +3,6 @@
{included_applications,[]},
{applications,[stdlib,kernel]},
{description,"Gajumaru interoperation library"},
{vsn,"0.5.1"},
{vsn,"0.4.0"},
{modules,[hakuzaru,hz,hz_fetcher,hz_man,hz_sup]},
{mod,{hakuzaru,[]}}]}.

View File

@ -6,7 +6,7 @@
%%% @end
-module(hakuzaru).
-vsn("0.5.1").
-vsn("0.4.0").
-author("Craig Everett <ceverett@tsuriai.jp>").
-copyright("Craig Everett <ceverett@tsuriai.jp>").
-license("GPL-3.0-or-later").

View File

@ -23,7 +23,7 @@
%%% @end
-module(hz).
-vsn("0.5.1").
-vsn("0.4.0").
-author("Craig Everett <ceverett@tsuriai.jp>").
-copyright("Craig Everett <ceverett@tsuriai.jp>").
-license("GPL-3.0-or-later").
@ -78,7 +78,7 @@
%%% Types
-export_type([chain_node/0, network_id/0, chain_error/0, aaci/0]).
-export_type([chain_node/0, network_id/0, chain_error/0]).
-include_lib("eunit/include/eunit.hrl").
@ -94,7 +94,6 @@
| {headers, map()}
| bad_length
| gc_out_of_range.
-type aaci() :: {aaci, term(), term(), term()}.
-type pubkey() :: unicode:chardata(). % "ak_" ++ _
-type account_id() :: pubkey().
-type contract_id() :: unicode:chardata(). % "ct_" ++ _
@ -219,10 +218,8 @@
%%% Get/Set admin functions
-spec network_id() -> Result
when Result :: {ok, NetworkID} | {error, Reason},
NetworkID :: string(),
Reason :: term().
-spec network_id() -> NetworkID
when NetworkID :: string() | none.
%% @doc
%% Returns the network ID or the atom `none' if it is unset.
%% Checking this is not normally necessary, but if network ID assignment is dynamic
@ -1154,7 +1151,7 @@ read_aci(Path) ->
-spec contract_call(CallerID, AACI, ConID, Fun, Args) -> Result
when CallerID :: unicode:chardata(),
AACI :: aaci(),
AACI :: map(),
ConID :: unicode:chardata(),
Fun :: string(),
Args :: [string()],
@ -1189,7 +1186,7 @@ contract_call(CallerID, AACI, ConID, Fun, Args) ->
-spec contract_call(CallerID, Gas, AACI, ConID, Fun, Args) -> Result
when CallerID :: unicode:chardata(),
Gas :: pos_integer(),
AACI :: aaci(),
AACI :: map(),
ConID :: unicode:chardata(),
Fun :: string(),
Args :: [string()],
@ -1227,7 +1224,7 @@ contract_call(CallerID, Gas, AACI, ConID, Fun, Args) ->
GasPrice :: pos_integer(),
Amount :: non_neg_integer(),
TTL :: pos_integer(),
AACI :: aaci(),
AACI :: map(),
ConID :: unicode:chardata(),
Fun :: string(),
Args :: [string()],
@ -1394,7 +1391,7 @@ contract_call4(PK, Nonce, Gas, GasPrice, Amount, TTL, CK, CallData) ->
-spec prepare_contract(File) -> {ok, AACI} | {error, Reason}
when File :: file:filename(),
AACI :: aaci(),
AACI :: map(),
Reason :: term().
%% @doc
%% Compile a contract and extract the function spec meta for use in future formation
@ -2056,7 +2053,7 @@ zip_record_field({Name, Type}, {Remaining, Missing}) ->
end.
-spec aaci_lookup_spec(AACI, Fun) -> {ok, Type} | {error, Reason}
when AACI :: aaci(),
when AACI :: {aaci, term(), term(), term()}, % FIXME
Fun :: binary() | string(),
Type :: {term(), term()}, % FIXME
Reason :: bad_fun_name.
@ -2217,6 +2214,8 @@ spend2(DSenderID,
end.
decode_account_id(S) when is_list(S) ->
decode_account_id(list_to_binary(S));
decode_account_id(B) ->
try
{account_pubkey, PK} = gmser_api_encoder:decode(B),
@ -2312,8 +2311,8 @@ verify_signature2(Sig, Message, PK) ->
% This is Bitcoin's variable-length unsigned integer encoding
% See: https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
vencode(N) when N =< 0 ->
{error, {non_pos_N, N}};
vencode(N) when N < 0 ->
{error, {negative_N, N}};
vencode(N) when N < 16#FD ->
{ok, <<N>>};
vencode(N) when N =< 16#FFFF ->

View File

@ -1,5 +1,5 @@
-module(hz_fetcher).
-vsn("0.5.1").
-vsn("0.4.0").
-author("Craig Everett <ceverett@tsuriai.jp>").
-copyright("Craig Everett <ceverett@tsuriai.jp>").
-license("MIT").

View File

@ -9,7 +9,7 @@
%%% @end
-module(hz_man).
-vsn("0.5.1").
-vsn("0.4.0").
-behavior(gen_server).
-author("Craig Everett <ceverett@tsuriai.jp>").
-copyright("Craig Everett <ceverett@tsuriai.jp>").
@ -75,7 +75,7 @@ chain_nodes() ->
-spec chain_nodes(ToUse) -> ok
when ToUse :: [hz:chain_node()].
when ToUse :: [hz:chain_nodes()].
chain_nodes(ToUse) ->
gen_server:cast(?MODULE, {chain_nodes, ToUse}).
@ -162,7 +162,7 @@ handle_cast({tls, Boolean}, State) ->
NewState = do_tls(Boolean, State),
{noreply, NewState};
handle_cast({chain_nodes, []}, State) ->
{noreply, State#s{chain_nodes = {[], []}}};
{noreply, State#s{chain_nodes = none}};
handle_cast({chain_nodes, ToUse}, State) ->
{noreply, State#s{chain_nodes = {ToUse, []}}};
handle_cast({timeout, Value}, State) ->

View File

@ -9,7 +9,7 @@
%%% @end
-module(hz_sup).
-vsn("0.5.1").
-vsn("0.4.0").
-behaviour(supervisor).
-author("Craig Everett <zxq9@zxq9.com>").
-copyright("Craig Everett <zxq9@zxq9.com>").

View File

@ -4,7 +4,7 @@
{prefix,"hz"}.
{desc,"Gajumaru interoperation library"}.
{author,"Craig Everett"}.
{package_id,{"otpr","hakuzaru",{0,5,1}}}.
{package_id,{"otpr","hakuzaru",{0,4,0}}}.
{deps,[{"otpr","sophia",{8,0,1}},
{"otpr","gmbytecode",{3,4,1}},
{"otpr","gmserialization",{0,1,2}},