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

Commit ad3f88c

Browse files
committed
Merge branch 'develop' of github.com:ethereum/pyethereum into develop
2 parents 6297068 + a1eded1 commit ad3f88c

18 files changed

+51
-278
lines changed

.coveragerc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ omit =
88
*/fixtures/*
99
*/tests/*
1010
*/utils/*
11+
*/ethereum/fastvm.py
12+
*/ethereum/spv.py
1113

1214
[report]
1315
exclude_lines =

.travis.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ env:
44
- TOX_ENV=py27
55

66
install:
7-
- pip install tox
7+
- pip install -r requirements.txt
8+
- pip install -r dev_requirements.txt
89

910
script:
10-
- tox -e $TOX_ENV
11+
- coverage run --source ethereum setup.py test
12+
#- tox -e $TOX_ENV
13+
14+
after_success:
15+
- coveralls

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ help:
88
@echo "lint - check style with flake8"
99
@echo "test - run tests with the default Python"
1010
@echo "testnovm - run tests except test_vm"
11+
@echo "testquick - run tests except test_vm, test_state"
1112
@echo "testtb - run tests with tracebacks"
1213
@echo "test-all - run tests on every Python version with tox"
1314
@echo "coverage - check code coverage quickly with the default Python"
@@ -42,6 +43,9 @@ test:
4243
testnovm:
4344
py.test --tb=no ethereum/tests/ --ignore=ethereum/tests/test_vm.py
4445

46+
testquick:
47+
py.test --tb=no ethereum/tests/ --ignore=ethereum/tests/test_vm.py --ignore=ethereum/tests/test_state.py
48+
4549
testtb:
4650
python setup.py test
4751

dev_requirements.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
tox
2+
coveralls
3+
pytest
4+
pytest-timeout
5+
https://github.com/ethereum/serpent/tarball/develop

ethereum/blocks.py

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,9 @@ def check_pow(self, db=None, nonce=None):
347347

348348
# Grab current cache
349349
current_cache_size = get_cache_size(self.number)
350-
cache = get_cache_memoized(db, seed, current_cache_size)
350+
cache = get_cache_memoized(seed, current_cache_size)
351351
current_full_size = get_full_size(self.number)
352-
mining_output = hashimoto_light(current_full_size, cache,
353-
header_hash, nonce)
352+
mining_output = hashimoto_light(current_full_size, cache, header_hash, nonce)
354353
diff = self.difficulty
355354
if mining_output['mix digest'] != self.mixhash:
356355
return False
@@ -1242,30 +1241,9 @@ def __repr__(self):
12421241
def __structlog__(self):
12431242
return encode_hex(self.hash)
12441243

1245-
1246-
cache_cache = {}
1247-
1248-
1249-
def peck_cache(db, seedhash, size):
1250-
key = b'cache:' + seedhash + b',' + str_to_bytes(str(size))
1251-
if key not in db:
1252-
cache = mkcache(size, seedhash)
1253-
cache_cache[key] = cache
1254-
cache_serialized = serialize_cache(cache)
1255-
cache_hash = utils.sha3(cache_serialized)
1256-
db.put(cache_hash, cache_serialized)
1257-
db.put(key, cache_hash)
1258-
elif key not in cache_cache:
1259-
o = db.get(db.get(key))
1260-
cache_cache[key] = o
1261-
return deserialize_cache(o)
1262-
1263-
1264-
def get_cache_memoized(db, seedhash, size):
1265-
key = b'cache:' + seedhash + b',' + str_to_bytes(str(size))
1266-
peck_cache(db, seedhash, size)
1267-
return cache_cache[key]
1268-
1244+
@lru_cache(5)
1245+
def get_cache_memoized(seedhash, size):
1246+
return mkcache(size, seedhash)
12691247

12701248
# Gas limit adjustment algo
12711249
def calc_gaslimit(parent):

ethereum/common.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

ethereum/config.py

Lines changed: 0 additions & 112 deletions
This file was deleted.

ethereum/db.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from ethereum.compress import compress, decompress
21
from ethereum import utils
32
from ethereum.slogging import get_logger
43
from rlp.utils import str_to_bytes
@@ -14,10 +13,10 @@ def __init__(self):
1413
self.db = {}
1514

1615
def get(self, key):
17-
return decompress(self.db[key])
16+
return self.db[key]
1817

1918
def put(self, key, value):
20-
self.db[key] = compress(value)
19+
self.db[key] = value
2120

2221
def delete(self, key):
2322
del self.db[key]

ethereum/miner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def mine(self, steps=1000):
5858
"""
5959
#b = self.block
6060
sz = blocks.get_cache_size(self.block.number)
61-
cache = blocks.get_cache_memoized(self.block.db, self.block.header.seed, sz)
61+
cache = blocks.get_cache_memoized(self.block.header.seed, sz)
6262
fsz = blocks.get_full_size(self.block.number)
6363
nonce = utils.big_endian_to_int(self.block.nonce)
6464
TT64M1 = 2**64 - 1

ethereum/processblock.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def _apply_msg(ext, msg, code):
243243

244244

245245
def create_contract(ext, msg):
246-
print('CREATING WITH GAS', msg.gas)
246+
#print('CREATING WITH GAS', msg.gas)
247247
sender = decode_hex(msg.sender) if len(msg.sender) == 40 else msg.sender
248248
if ext.tx_origin != msg.sender:
249249
ext._block.increment_nonce(msg.sender)
@@ -270,7 +270,7 @@ def create_contract(ext, msg):
270270
gas -= gcost
271271
else:
272272
dat = []
273-
print('CONTRACT CREATION OOG', 'have', gas, 'want', gcost)
273+
#print('CONTRACT CREATION OOG', 'have', gas, 'want', gcost)
274274
log_msg.debug('CONTRACT CREATION OOG', have=gas, want=gcost)
275275
ext._block.set_code(msg.to, b''.join(map(ascii_chr, dat)))
276276
return 1, gas, msg.to

0 commit comments

Comments
 (0)