Skip to content

Commit 52f5e0f

Browse files
authored
fix: path generation (#1275)
1 parent f38288c commit 52f5e0f

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

lib/key_store_api/controllers/v1/key_store_controller.ex

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ defmodule KeyStoreApi.V1.KeyStoreController do
99

1010
plug(OpenApiSpex.Plug.CastAndValidate, json_render_error_v2: true)
1111

12-
@keystore_dir Keystore.get_keystore_dir()
13-
@keystore_pass_dir Keystore.get_keystore_pass_dir()
14-
1512
# NOTE: this function is required by OpenApiSpex, and should return the information
1613
# of each specific endpoint. We just return the specific entry from the parsed spec.
1714
def open_api_operation(:get_keys),
@@ -60,8 +57,8 @@ defmodule KeyStoreApi.V1.KeyStoreController do
6057
base_name = keystore.pubkey |> Utils.hex_encode()
6158

6259
# This overrides any existing credential with the same pubkey.
63-
File.write!(get_keystore_file_path(base_name), keystore_str)
64-
File.write!(get_keystore_pass_file_path(base_name), password_str)
60+
File.write!(Keystore.keystore_file(base_name), keystore_str)
61+
File.write!(Keystore.keystore_pass_file(base_name), password_str)
6562
Libp2pPort.add_validator(keystore)
6663

6764
%{
@@ -87,10 +84,10 @@ defmodule KeyStoreApi.V1.KeyStoreController do
8784

8885
results =
8986
Enum.map(body_params.pubkeys, fn pubkey ->
90-
with {:ok, pubkey} <- Utils.hex_decode(pubkey),
91-
:ok <- Libp2pPort.delete_validator(pubkey) do
92-
File.rm!(get_keystore_file_path(pubkey))
93-
File.rm!(get_keystore_pass_file_path(pubkey))
87+
with {:ok, decoded_pubkey} <- Utils.hex_decode(pubkey),
88+
:ok <- Libp2pPort.delete_validator(decoded_pubkey) do
89+
File.rm!(Keystore.keystore_file(pubkey))
90+
File.rm!(Keystore.keystore_pass_file(pubkey))
9491

9592
%{
9693
status: "deleted",
@@ -112,9 +109,4 @@ defmodule KeyStoreApi.V1.KeyStoreController do
112109
"data" => results
113110
})
114111
end
115-
116-
defp get_keystore_file_path(base_name), do: Path.join(@keystore_dir, base_name <> ".json")
117-
118-
defp get_keystore_pass_file_path(base_name),
119-
do: Path.join(@keystore_pass_dir, base_name <> ".txt")
120112
end

lib/keystore.ex

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,19 @@ defmodule Keystore do
147147
defp sanitize_password(password),
148148
do: password |> String.normalize(:nfkd) |> String.replace(~r/[\x00-\x1f\x80-\x9f\x7f]/, "")
149149

150-
def get_keystore_dir() do
150+
def keystore_file(base_name) do
151151
config =
152152
Application.get_env(:lambda_ethereum_consensus, LambdaEthereumConsensus.Validator.Setup, [])
153153

154-
Keyword.get(config, :keystore_dir) || "keystore_dir"
154+
keystore_dir = Keyword.get(config, :keystore_dir) || "keystore_dir"
155+
Path.join(keystore_dir, base_name <> ".json")
155156
end
156157

157-
def get_keystore_pass_dir() do
158+
def keystore_pass_file(base_name) do
158159
config =
159160
Application.get_env(:lambda_ethereum_consensus, LambdaEthereumConsensus.Validator.Setup, [])
160161

161-
Keyword.get(config, :keystore_pass_dir) || "keystore_pass_dir"
162+
keystore_pass_dir = Keyword.get(config, :keystore_pass_dir) || "keystore_pass_dir"
163+
Path.join(keystore_pass_dir, base_name <> ".txt")
162164
end
163165
end

0 commit comments

Comments
 (0)