This commit is contained in:
Craig Everett 2024-10-15 20:57:44 +09:00
parent a13bec7fcc
commit 525413e3f1

View File

@ -14,7 +14,8 @@
-export([show_ui/1, -export([show_ui/1,
open_wallet/2, close_wallet/0, password/2, open_wallet/2, close_wallet/0, password/2,
nonce/1, spend/2, chain/1, grids/1, nonce/1, spend/2, chain/1, grids/1,
make_key/6, recover_key/1, mnemonic/1, rename_key/2, drop_key/1]). make_key/6, recover_key/1, mnemonic/1, rename_key/2, drop_key/1,
add_node/1, set_sole_node/1]).
-export([encrypt/2, decrypt/2]). -export([encrypt/2, decrypt/2]).
-export([start_link/0, stop/0, save/1, save/2]). -export([start_link/0, stop/0, save/1, save/2]).
-export([init/1, terminate/2, code_change/3, -export([init/1, terminate/2, code_change/3,
@ -158,6 +159,21 @@ drop_key(ID) ->
gen_server:cast(?MODULE, {drop_key, ID}). gen_server:cast(?MODULE, {drop_key, ID}).
-spec add_node(New) -> ok
when New :: #node{}.
add_node(New) ->
gen_server:cast(?MODULE, {add_node, New}).
-spec set_sole_node(TheOneTrueNode) -> ok
when TheOneTrueNode :: #node{}.
set_sole_node(TheOneTrueNode) ->
gen_server:cast(?MODULE, {set_sole_node, TheOneTrueNode}).
%%% Lifecycle functions
-spec stop() -> ok. -spec stop() -> ok.
stop() -> stop() ->
@ -289,6 +305,12 @@ handle_cast({rename_key, ID, NewName}, State) ->
handle_cast({drop_key, ID}, State) -> handle_cast({drop_key, ID}, State) ->
NewState = do_drop_key(ID, State), NewState = do_drop_key(ID, State),
{noreply, NewState}; {noreply, NewState};
handle_cast({add_node, New}, State) ->
NewState = do_add_node(New, State),
{noreply, NewState};
handle_cast({set_sole_node, TheOneTrueNode}, State) ->
NewState = do_set_sole_node(TheOneTrueNode, State),
{noreply, NewState};
handle_cast(stop, State) -> handle_cast(stop, State) ->
ok = zx:stop(), ok = zx:stop(),
{noreply, State}; {noreply, State};
@ -495,6 +517,16 @@ do_drop_key(ID, State = #s{wallet = W}) ->
State#s{wallet = NewWallet}. State#s{wallet = NewWallet}.
do_add_node(New, State) ->
tell("New node: ~p", [New]),
State.
do_set_sole_node(TheOneTrueNode, State) ->
tell("TheOneTrueNode: ~p", [TheOneTrueNode]),
State.
encrypt(Pass, Binary) -> encrypt(Pass, Binary) ->
Flags = [{encrypt, true}, {padding, pkcs_padding}], Flags = [{encrypt, true}, {padding, pkcs_padding}],
crypto:crypto_one_time(aes_256_ecb, Pass, Binary, Flags). crypto:crypto_one_time(aes_256_ecb, Pass, Binary, Flags).