From 6f873e45b82aaabc6d23c7ff85c69b42eb5ed19c Mon Sep 17 00:00:00 2001 From: Tobias Lindahl Date: Fri, 28 Jun 2019 11:04:06 +0200 Subject: [PATCH] Use a name string rather than a name hash in transfer and revoke --- rebar.config | 3 ++- rebar.lock | 2 +- src/aeso_ast_infer_types.erl | 4 ++-- src/aeso_ast_to_icode.erl | 8 ++++---- test/contracts/aens.aes | 22 +++++++++++----------- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/rebar.config b/rebar.config index e407694..0156795 100644 --- a/rebar.config +++ b/rebar.config @@ -2,7 +2,8 @@ {erl_opts, [debug_info]}. -{deps, [ {aebytecode, {git, "https://github.com/aeternity/aebytecode.git", {ref,"c63ac88"}}} +{deps, [ {aebytecode, {git, "https://github.com/aeternity/aebytecode.git", + {ref,"76ae61b"}}} , {getopt, "1.0.1"} , {eblake2, "1.0.0"} , {jsx, {git, "https://github.com/talentdeficit/jsx.git", diff --git a/rebar.lock b/rebar.lock index 83e3967..87c82dd 100644 --- a/rebar.lock +++ b/rebar.lock @@ -1,7 +1,7 @@ {"1.1.0", [{<<"aebytecode">>, {git,"https://github.com/aeternity/aebytecode.git", - {ref,"c63ac888dd71c305cbc6d4f70953a176bf1f78f7"}}, + {ref,"76ae61b66c7609ffbd42b1722f42457d708d737e"}}, 0}, {<<"aeserialization">>, {git,"https://github.com/aeternity/aeserialization.git", diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index 0eb965e..becef2e 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -441,8 +441,8 @@ global_env() -> [{"resolve", Fun([String, String], option_t(Ann, A))}, {"preclaim", SignFun([Address, Hash], Unit)}, {"claim", SignFun([Address, String, Int], Unit)}, - {"transfer", SignFun([Address, Address, Hash], Unit)}, - {"revoke", SignFun([Address, Hash], Unit)}]) }, + {"transfer", SignFun([Address, Address, String], Unit)}, + {"revoke", SignFun([Address, String], Unit)}]) }, MapScope = #scope { funs = MkDefs( diff --git a/src/aeso_ast_to_icode.erl b/src/aeso_ast_to_icode.erl index 87dacfb..74d525f 100644 --- a/src/aeso_ast_to_icode.erl +++ b/src/aeso_ast_to_icode.erl @@ -266,15 +266,15 @@ ast_body(?qid_app(["AENS", "claim"], Args, _, _), Icode) -> [word, string, word, sign_t()], {tuple, []}); ast_body(?qid_app(["AENS", "transfer"], Args, _, _), Icode) -> - {Sign, [FromAddr, ToAddr, NameHash]} = get_signature_arg(Args), + {Sign, [FromAddr, ToAddr, Name]} = get_signature_arg(Args), prim_call(?PRIM_CALL_AENS_TRANSFER, #integer{value = 0}, - [ast_body(FromAddr, Icode), ast_body(ToAddr, Icode), ast_body(NameHash, Icode), ast_body(Sign, Icode)], + [ast_body(FromAddr, Icode), ast_body(ToAddr, Icode), ast_body(Name, Icode), ast_body(Sign, Icode)], [word, word, word, sign_t()], {tuple, []}); ast_body(?qid_app(["AENS", "revoke"], Args, _, _), Icode) -> - {Sign, [Addr, NameHash]} = get_signature_arg(Args), + {Sign, [Addr, Name]} = get_signature_arg(Args), prim_call(?PRIM_CALL_AENS_REVOKE, #integer{value = 0}, - [ast_body(Addr, Icode), ast_body(NameHash, Icode), ast_body(Sign, Icode)], + [ast_body(Addr, Icode), ast_body(Name, Icode), ast_body(Sign, Icode)], [word, word, sign_t()], {tuple, []}); ast_body({qid, _, ["AENS", "resolve"]}, _Icode) -> gen_error({underapplied_primitive, 'AENS.resolve'}); diff --git a/test/contracts/aens.aes b/test/contracts/aens.aes index f33500d..5c3bae4 100644 --- a/test/contracts/aens.aes +++ b/test/contracts/aens.aes @@ -35,21 +35,21 @@ contract AENSTest = stateful entrypoint transfer(owner : address, new_owner : address, - name_hash : hash) : () = - AENS.transfer(owner, new_owner, name_hash) + name : string) : () = + AENS.transfer(owner, new_owner, name) stateful entrypoint signedTransfer(owner : address, - new_owner : address, - name_hash : hash, - sign : signature) : () = - AENS.transfer(owner, new_owner, name_hash, signature = sign) + new_owner : address, + name : string, + sign : signature) : () = + AENS.transfer(owner, new_owner, name, signature = sign) stateful entrypoint revoke(owner : address, - name_hash : hash) : () = - AENS.revoke(owner, name_hash) + name : string) : () = + AENS.revoke(owner, name) stateful entrypoint signedRevoke(owner : address, - name_hash : hash, - sign : signature) : () = - AENS.revoke(owner, name_hash, signature = sign) + name : string, + sign : signature) : () = + AENS.revoke(owner, name, signature = sign)