WIP
This commit is contained in:
+15
-1
@@ -15,7 +15,7 @@
|
||||
password/2,
|
||||
refresh/0,
|
||||
nonce/1, spend/1, chain_id/0, grids/1,
|
||||
sign_mess/1, sign_binary/1, sign_tx/1, sign_call/3,
|
||||
sign_mess/1, sign_binary/1, sign_binary/2, sign_tx/1, sign_call/3,
|
||||
deploy/1, prompt_call/3, list_calls/0,
|
||||
open_contract/1, open_contract/2, show_call/2, show_call/3,
|
||||
make_key/6, recover_key/1, mnemonic/1, rename_key/2, drop_key/1, list_keys/0,
|
||||
@@ -183,6 +183,10 @@ sign_binary(Request) ->
|
||||
gd_server:cast(?MODULE, {sign_binary, Request}).
|
||||
|
||||
|
||||
sign_binary(ID, Message) ->
|
||||
gd_server:call(?MODULE, {sign_binary, ID, Message}).
|
||||
|
||||
|
||||
-spec sign_tx(Request) -> ok
|
||||
when Request :: map().
|
||||
|
||||
@@ -518,6 +522,9 @@ handle_cast({sign_mess, Request}, State) ->
|
||||
handle_cast({sign_binary, Request}, State) ->
|
||||
ok = do_sign_binary(Request, State),
|
||||
{noreply, State};
|
||||
handle_cast({sign_binary, ID, Message}, State) ->
|
||||
ok = do_sign_binary(ID, Message, State),
|
||||
{noreply, State};
|
||||
handle_cast({sign_tx, Request}, State) ->
|
||||
ok = do_sign_tx(Request, State),
|
||||
{noreply, State};
|
||||
@@ -824,6 +831,13 @@ do_sign_mess2(Request = #{"payload" := Message}, SecKey) ->
|
||||
post_grids_response(ResponseKeys, SignedRequest).
|
||||
|
||||
|
||||
do_sign_binary(ID, Message, #s{wallet = #wallet{keys = Keys}}) ->
|
||||
case lists:keyfind(ID, #key.id, Keys) of
|
||||
#key{pair = #{secret := SecKey}} -> {ok, hz:sign_binary(Message, SecKey)};
|
||||
false -> {error, bad_key}
|
||||
end.
|
||||
|
||||
|
||||
do_sign_binary(Request = #{"public_id" := ID}, #s{wallet = #wallet{keys = Keys}}) ->
|
||||
case lists:keyfind(ID, #key.id, Keys) of
|
||||
#key{pair = #{secret := SecKey}} -> do_sign_binary2(Request, SecKey);
|
||||
|
||||
Reference in New Issue
Block a user