Skip to content

Commit fed4cb3

Browse files
authored
refactor: class based wif module (#163)
1 parent 3659b90 commit fed4cb3

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

crypto/identity/wif.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,24 @@
77

88
from crypto.configuration.network import Network
99

10-
def wif_from_passphrase(passphrase: str, network_wif: Optional[str] = None):
11-
"""Get wif from passphrase
10+
class WIF:
11+
@staticmethod
12+
def from_passphrase(passphrase: str, network_wif: Optional[str] = None):
13+
"""Get wif from passphrase
1214
13-
Args:
14-
passphrase (str):
15-
network_wif (str, optional):
15+
Args:
16+
passphrase (str):
17+
network_wif (str, optional):
1618
17-
Returns:
18-
string: wif
19-
"""
20-
if not network_wif:
21-
network = Network.get_network()
19+
Returns:
20+
string: wif
21+
"""
22+
if not network_wif:
23+
network = Network.get_network()
2224

23-
network_wif = network.wif()
25+
network_wif = network.wif()
2426

25-
private_key = hashlib.sha256(passphrase.encode())
26-
seed = write_bit8(int(network_wif, 16)) + private_key.digest() + write_bit8(0x01)
27+
private_key = hashlib.sha256(passphrase.encode())
28+
seed = write_bit8(int(network_wif, 16)) + private_key.digest() + write_bit8(0x01)
2729

28-
return b58encode_check(seed).decode()
30+
return b58encode_check(seed).decode()

tests/identity/test_wif.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from crypto.configuration.network import Network
2-
from crypto.identity.wif import wif_from_passphrase
2+
from crypto.identity.wif import WIF
33
from crypto.networks.testnet import Testnet
44

55

66
def test_wif_from_passphrase(identity):
77
Network.set_network(Testnet())
88

9-
result = wif_from_passphrase(identity['passphrase'])
9+
result = WIF.from_passphrase(identity['passphrase'])
1010
assert result == identity['data']['wif']

0 commit comments

Comments
 (0)