WIP
This commit is contained in:
parent
58bd19d2dc
commit
bf14ccf27b
25
src/hz.erl
25
src/hz.erl
@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
%%% Types
|
%%% Types
|
||||||
|
|
||||||
-export_type([chain_node/0, network_id/0, chain_error/0]).
|
-export_type([chain_node/0, network_id/0, chain_error/0, aaci/0]).
|
||||||
|
|
||||||
-include_lib("eunit/include/eunit.hrl").
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
@ -94,6 +94,7 @@
|
|||||||
| {headers, map()}
|
| {headers, map()}
|
||||||
| bad_length
|
| bad_length
|
||||||
| gc_out_of_range.
|
| gc_out_of_range.
|
||||||
|
-type aaci() :: {aaci, term(), term(), term()}.
|
||||||
-type pubkey() :: unicode:chardata(). % "ak_" ++ _
|
-type pubkey() :: unicode:chardata(). % "ak_" ++ _
|
||||||
-type account_id() :: pubkey().
|
-type account_id() :: pubkey().
|
||||||
-type contract_id() :: unicode:chardata(). % "ct_" ++ _
|
-type contract_id() :: unicode:chardata(). % "ct_" ++ _
|
||||||
@ -218,8 +219,10 @@
|
|||||||
|
|
||||||
%%% Get/Set admin functions
|
%%% Get/Set admin functions
|
||||||
|
|
||||||
-spec network_id() -> NetworkID
|
-spec network_id() -> Result
|
||||||
when NetworkID :: string() | none.
|
when Result :: {ok, NetworkID} | {error, Reason},
|
||||||
|
NetworkID :: string(),
|
||||||
|
Reason :: term().
|
||||||
%% @doc
|
%% @doc
|
||||||
%% Returns the network ID or the atom `none' if it is unset.
|
%% 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
|
%% Checking this is not normally necessary, but if network ID assignment is dynamic
|
||||||
@ -1150,7 +1153,7 @@ read_aci(Path) ->
|
|||||||
|
|
||||||
-spec contract_call(CallerID, AACI, ConID, Fun, Args) -> Result
|
-spec contract_call(CallerID, AACI, ConID, Fun, Args) -> Result
|
||||||
when CallerID :: unicode:chardata(),
|
when CallerID :: unicode:chardata(),
|
||||||
AACI :: map(),
|
AACI :: aaci(),
|
||||||
ConID :: unicode:chardata(),
|
ConID :: unicode:chardata(),
|
||||||
Fun :: string(),
|
Fun :: string(),
|
||||||
Args :: [string()],
|
Args :: [string()],
|
||||||
@ -1185,7 +1188,7 @@ contract_call(CallerID, AACI, ConID, Fun, Args) ->
|
|||||||
-spec contract_call(CallerID, Gas, AACI, ConID, Fun, Args) -> Result
|
-spec contract_call(CallerID, Gas, AACI, ConID, Fun, Args) -> Result
|
||||||
when CallerID :: unicode:chardata(),
|
when CallerID :: unicode:chardata(),
|
||||||
Gas :: pos_integer(),
|
Gas :: pos_integer(),
|
||||||
AACI :: map(),
|
AACI :: aaci(),
|
||||||
ConID :: unicode:chardata(),
|
ConID :: unicode:chardata(),
|
||||||
Fun :: string(),
|
Fun :: string(),
|
||||||
Args :: [string()],
|
Args :: [string()],
|
||||||
@ -1223,7 +1226,7 @@ contract_call(CallerID, Gas, AACI, ConID, Fun, Args) ->
|
|||||||
GasPrice :: pos_integer(),
|
GasPrice :: pos_integer(),
|
||||||
Amount :: non_neg_integer(),
|
Amount :: non_neg_integer(),
|
||||||
TTL :: pos_integer(),
|
TTL :: pos_integer(),
|
||||||
AACI :: map(),
|
AACI :: aaci(),
|
||||||
ConID :: unicode:chardata(),
|
ConID :: unicode:chardata(),
|
||||||
Fun :: string(),
|
Fun :: string(),
|
||||||
Args :: [string()],
|
Args :: [string()],
|
||||||
@ -1390,7 +1393,7 @@ contract_call4(PK, Nonce, Gas, GasPrice, Amount, TTL, CK, CallData) ->
|
|||||||
|
|
||||||
-spec prepare_contract(File) -> {ok, AACI} | {error, Reason}
|
-spec prepare_contract(File) -> {ok, AACI} | {error, Reason}
|
||||||
when File :: file:filename(),
|
when File :: file:filename(),
|
||||||
AACI :: map(),
|
AACI :: aaci(),
|
||||||
Reason :: term().
|
Reason :: term().
|
||||||
%% @doc
|
%% @doc
|
||||||
%% Compile a contract and extract the function spec meta for use in future formation
|
%% Compile a contract and extract the function spec meta for use in future formation
|
||||||
@ -2052,7 +2055,7 @@ zip_record_field({Name, Type}, {Remaining, Missing}) ->
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
-spec aaci_lookup_spec(AACI, Fun) -> {ok, Type} | {error, Reason}
|
-spec aaci_lookup_spec(AACI, Fun) -> {ok, Type} | {error, Reason}
|
||||||
when AACI :: {aaci, term(), term(), term()}, % FIXME
|
when AACI :: aaci(),
|
||||||
Fun :: binary() | string(),
|
Fun :: binary() | string(),
|
||||||
Type :: {term(), term()}, % FIXME
|
Type :: {term(), term()}, % FIXME
|
||||||
Reason :: bad_fun_name.
|
Reason :: bad_fun_name.
|
||||||
@ -2213,8 +2216,6 @@ spend2(DSenderID,
|
|||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
decode_account_id(S) when is_list(S) ->
|
|
||||||
decode_account_id(list_to_binary(S));
|
|
||||||
decode_account_id(B) ->
|
decode_account_id(B) ->
|
||||||
try
|
try
|
||||||
{account_pubkey, PK} = gmser_api_encoder:decode(B),
|
{account_pubkey, PK} = gmser_api_encoder:decode(B),
|
||||||
@ -2310,8 +2311,8 @@ verify_signature2(Sig, Message, PK) ->
|
|||||||
|
|
||||||
% This is Bitcoin's variable-length unsigned integer encoding
|
% This is Bitcoin's variable-length unsigned integer encoding
|
||||||
% See: https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
|
% See: https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
|
||||||
vencode(N) when N < 0 ->
|
vencode(N) when N =< 0 ->
|
||||||
{error, {negative_N, N}};
|
{error, {non_pos_N, N}};
|
||||||
vencode(N) when N < 16#FD ->
|
vencode(N) when N < 16#FD ->
|
||||||
{ok, <<N>>};
|
{ok, <<N>>};
|
||||||
vencode(N) when N =< 16#FFFF ->
|
vencode(N) when N =< 16#FFFF ->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user