Add Auth.tx_hash

This commit is contained in:
Hans Svensson 2019-03-26 13:11:46 +01:00
parent 078af45c92
commit b2a0c9d8be
2 changed files with 18 additions and 7 deletions

View File

@ -443,8 +443,13 @@ global_env() ->
{"sha256", Fun1(A, Hash)}, {"sha256", Fun1(A, Hash)},
{"blake2b", Fun1(A, Hash)}]) }, {"blake2b", Fun1(A, Hash)}]) },
%% Strings %% Authentication
StringScope = #scope AuthScope = #scope
{ funs = MkDefs(
[{"tx_hash", Option(Hash)}]) },
%% Strings
StringScope = #scope
{ funs = MkDefs( { funs = MkDefs(
[{"length", Fun1(String, Int)}, [{"length", Fun1(String, Int)},
{"concat", Fun([String, String], String)}, {"concat", Fun([String, String], String)},
@ -452,8 +457,8 @@ global_env() ->
{"sha256", Fun1(String, Hash)}, {"sha256", Fun1(String, Hash)},
{"blake2b", Fun1(String, Hash)}]) }, {"blake2b", Fun1(String, Hash)}]) },
%% Bits %% Bits
BitsScope = #scope BitsScope = #scope
{ funs = MkDefs( { funs = MkDefs(
[{"set", Fun([Bits, Int], Bits)}, [{"set", Fun([Bits, Int], Bits)},
{"clear", Fun([Bits, Int], Bits)}, {"clear", Fun([Bits, Int], Bits)},
@ -465,9 +470,9 @@ global_env() ->
{"none", Bits}, {"none", Bits},
{"all", Bits}]) }, {"all", Bits}]) },
%% Conversion %% Conversion
IntScope = #scope{ funs = MkDefs([{"to_str", Fun1(Int, String)}]) }, IntScope = #scope{ funs = MkDefs([{"to_str", Fun1(Int, String)}]) },
AddressScope = #scope{ funs = MkDefs([{"to_str", Fun1(Address, String)}]) }, AddressScope = #scope{ funs = MkDefs([{"to_str", Fun1(Address, String)}]) },
#env{ scopes = #env{ scopes =
#{ [] => TopScope #{ [] => TopScope
@ -477,6 +482,7 @@ global_env() ->
, ["Oracle"] => OracleScope , ["Oracle"] => OracleScope
, ["AENS"] => AENSScope , ["AENS"] => AENSScope
, ["Map"] => MapScope , ["Map"] => MapScope
, ["Auth"] => AuthScope
, ["Crypto"] => CryptoScope , ["Crypto"] => CryptoScope
, ["String"] => StringScope , ["String"] => StringScope
, ["Bits"] => BitsScope , ["Bits"] => BitsScope

View File

@ -182,6 +182,11 @@ ast_body(?id_app("abort", [String], _, _), Icode) ->
#funcall{ function = #var_ref{ name = {builtin, abort} }, #funcall{ function = #var_ref{ name = {builtin, abort} },
args = [ast_body(String, Icode)] }; args = [ast_body(String, Icode)] };
%% Authentication
ast_body({qid, _, ["Auth", "tx_hash"]}, _Icode) ->
prim_call(?PRIM_CALL_AUTH_TX_HASH, #integer{value = 0},
[], [], aeso_icode:option_typerep(word));
%% Oracles %% Oracles
ast_body(?qid_app(["Oracle", "register"], Args, _, ?oracle_t(QType, RType)), Icode) -> ast_body(?qid_app(["Oracle", "register"], Args, _, ?oracle_t(QType, RType)), Icode) ->
{Sign, [Acct, QFee, TTL]} = get_signature_arg(Args), {Sign, [Acct, QFee, TTL]} = get_signature_arg(Args),