Skip to content
This repository was archived by the owner on May 23, 2023. It is now read-only.

Commit a31fc79

Browse files
committed
Make serpent optional in tester.py
1 parent 5ad6fe5 commit a31fc79

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

ethereum/tester.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
import rlp
1414
from rlp.utils import decode_hex, encode_hex, ascii_chr
1515

16+
try:
17+
import serpent
18+
HAS_SERPENT = True
19+
except ImportError:
20+
HAS_SERPENT = False
21+
1622

1723
TRACE_LVL_MAP = [
1824
':info',
@@ -24,8 +30,6 @@
2430
]
2531

2632

27-
serpent = None
28-
2933
u = ethereum.utils
3034
t = ethereum.transactions
3135
b = ethereum.blocks
@@ -131,10 +135,6 @@ def kall(*args, **kwargs):
131135
class state():
132136

133137
def __init__(self, num_accounts=len(keys)):
134-
global serpent
135-
if not serpent:
136-
serpent = __import__('serpent')
137-
138138
self.temp_data_dir = tempfile.mkdtemp()
139139
self.db = db.EphemDB()
140140
self.env = Env(self.db)
@@ -243,6 +243,8 @@ def send(self, *args, **kwargs):
243243
return self._send(*args, **kwargs)["output"]
244244

245245
def mkspv(self, sender, to, value, data=[], funid=None, abi=None):
246+
if not HAS_SERPENT:
247+
raise RuntimeError("ethereum-serpent package not installed")
246248
sendnonce = self.block.get_nonce(u.privtoaddr(sender))
247249
if funid is not None:
248250
evmdata = serpent.encode_abi(funid, *abi)
@@ -253,8 +255,9 @@ def mkspv(self, sender, to, value, data=[], funid=None, abi=None):
253255
tx.sign(sender)
254256
return spv.mk_transaction_spv_proof(self.block, tx)
255257

256-
def verifyspv(self, sender, to, value, data=[],
257-
funid=None, abi=None, proof=[]):
258+
def verifyspv(self, sender, to, value, data=[], funid=None, abi=None, proof=[]):
259+
if not HAS_SERPENT:
260+
raise RuntimeError("ethereum-serpent package not installed")
258261
sendnonce = self.block.get_nonce(u.privtoaddr(sender))
259262
if funid is not None:
260263
evmdata = serpent.encode_abi(funid, *abi)

0 commit comments

Comments
 (0)