Skip to content

Commit 94a1670

Browse files
author
AnonO6
committed
refactor: updated the hex validation func to use bytes.fromhex
1 parent 2b23829 commit 94a1670

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

src/lighthouseweb3/functions/encryptionManager/recover_key.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,26 @@ def validate_share(share: Dict[str, str], index: int) -> Tuple[str, str]:
112112
key_str = key_str[2:]
113113
if index_str.startswith('0x'):
114114
index_str = index_str[2:]
115-
116115

117116
if not key_str:
118117
raise ValueError(f"Empty key in share at index {index}")
119-
if not all(c in '0123456789abcdef' for c in key_str):
120-
raise ValueError(f"Invalid key format in share at index {index}: must be a valid hex string")
118+
if not index_str:
119+
raise ValueError(f"Empty index in share at index {index}")
121120

122121
if len(key_str) % 2 != 0:
123122
key_str = '0' + key_str
124-
125-
if not index_str:
126-
raise ValueError(f"Empty index in share at index {index}")
127-
if not all(c in '0123456789abcdef' for c in index_str):
123+
124+
if len(index_str) % 2 != 0:
125+
index_str = '0' + index_str
126+
127+
try:
128+
bytes.fromhex(key_str)
129+
except ValueError:
130+
raise ValueError(f"Invalid key format in share at index {index}: must be a valid hex string")
131+
132+
try:
133+
bytes.fromhex(index_str)
134+
except ValueError:
128135
raise ValueError(f"Invalid index format in share at index {index}: must be a valid hex string")
129136

130137
index_int = int(index_str, 16)
@@ -133,7 +140,6 @@ def validate_share(share: Dict[str, str], index: int) -> Tuple[str, str]:
133140

134141
return key_str, index_str
135142

136-
137143
async def recover_key(keyShards: List[Dict[str, str]]) -> Dict[str, Any]:
138144
"""
139145
Recover the master key from a subset of key shares using Lagrange interpolation.
@@ -168,4 +174,4 @@ async def recover_key(keyShards: List[Dict[str, str]]) -> Dict[str, Any]:
168174
return {
169175
"masterKey": None,
170176
"error": f"Recovery error: {str(e)}"
171-
}
177+
}

0 commit comments

Comments
 (0)