Scope pyspec packages, make pyspec more readable, fix imports
This commit is contained in:
parent
883ea93545
commit
a106edacad
10
Makefile
10
Makefile
|
@ -12,8 +12,8 @@ GENERATORS = $(sort $(dir $(wildcard $(GENERATOR_DIR)/*/)))
|
||||||
# Map this list of generator paths to a list of test output paths
|
# Map this list of generator paths to a list of test output paths
|
||||||
YAML_TEST_TARGETS = $(patsubst $(GENERATOR_DIR)/%, $(YAML_TEST_DIR)/%, $(GENERATORS))
|
YAML_TEST_TARGETS = $(patsubst $(GENERATOR_DIR)/%, $(YAML_TEST_DIR)/%, $(GENERATORS))
|
||||||
|
|
||||||
PY_SPEC_PHASE_0_TARGET = $(PY_SPEC_DIR)/phase0/spec.py
|
PY_SPEC_PHASE_0_TARGETS = $(PY_SPEC_DIR)/eth2/phase0/spec.py
|
||||||
PY_SPEC_ALL_TARGETS = $(PY_SPEC_PHASE_0_TARGET)
|
PY_SPEC_ALL_TARGETS = $(PY_SPEC_PHASE_0_TARGETS)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean all test yaml_tests pyspec phase0
|
.PHONY: clean all test yaml_tests pyspec phase0
|
||||||
|
@ -37,11 +37,11 @@ test: $(PY_SPEC_TARGETS)
|
||||||
pyspec: $(PY_SPEC_TARGETS)
|
pyspec: $(PY_SPEC_TARGETS)
|
||||||
|
|
||||||
# "make phase0" to create pyspec for phase0
|
# "make phase0" to create pyspec for phase0
|
||||||
phase0: $(PY_SPEC_DIR)/phase0/spec.py
|
phase0: $(PY_SPEC_PHASE_0_TARGETS)
|
||||||
|
|
||||||
|
|
||||||
$(PY_SPEC_DIR)/phase0/spec.py:
|
$(PY_SPEC_DIR)/eth2/phase0/spec.py:
|
||||||
python3 $(SCRIPT_DIR)/phase0/build_spec.py $(SPEC_DIR)/core/0_beacon-chain.md $@/spec.py
|
python3 $(SCRIPT_DIR)/phase0/build_spec.py $(SPEC_DIR)/core/0_beacon-chain.md $@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,15 +4,8 @@ import function_puller
|
||||||
|
|
||||||
def build_spec(sourcefile, outfile):
|
def build_spec(sourcefile, outfile):
|
||||||
code_lines = []
|
code_lines = []
|
||||||
|
|
||||||
code_lines.append("from build.phase0.utils.minimal_ssz import *")
|
|
||||||
code_lines.append("from build.phase0.utils.bls_stub import *")
|
|
||||||
for i in (1, 2, 3, 4, 8, 32, 48, 96):
|
|
||||||
code_lines.append("def int_to_bytes%d(x): return x.to_bytes(%d, 'little')" % (i, i))
|
|
||||||
code_lines.append("SLOTS_PER_EPOCH = 64") # stub, will get overwritten by real var
|
|
||||||
code_lines.append("def slot_to_epoch(x): return x // SLOTS_PER_EPOCH")
|
|
||||||
|
|
||||||
code_lines.append("""
|
code_lines.append("""
|
||||||
|
|
||||||
from typing import (
|
from typing import (
|
||||||
Any,
|
Any,
|
||||||
Callable,
|
Callable,
|
||||||
|
@ -20,6 +13,20 @@ from typing import (
|
||||||
NewType,
|
NewType,
|
||||||
Tuple,
|
Tuple,
|
||||||
)
|
)
|
||||||
|
from eth2.utils.minimal_ssz import *
|
||||||
|
from eth2.utils.bls_stub import *
|
||||||
|
|
||||||
|
|
||||||
|
""")
|
||||||
|
for i in (1, 2, 3, 4, 8, 32, 48, 96):
|
||||||
|
code_lines.append("def int_to_bytes%d(x): return x.to_bytes(%d, 'little')" % (i, i))
|
||||||
|
|
||||||
|
code_lines.append("""
|
||||||
|
# stub, will get overwritten by real var
|
||||||
|
SLOTS_PER_EPOCH = 64
|
||||||
|
|
||||||
|
|
||||||
|
def slot_to_epoch(x): return x // SLOTS_PER_EPOCH
|
||||||
|
|
||||||
|
|
||||||
Slot = NewType('Slot', int) # uint64
|
Slot = NewType('Slot', int) # uint64
|
||||||
|
@ -40,6 +47,8 @@ Store = None
|
||||||
# Monkey patch validator get committee code
|
# Monkey patch validator get committee code
|
||||||
_compute_committee = compute_committee
|
_compute_committee = compute_committee
|
||||||
committee_cache = {}
|
committee_cache = {}
|
||||||
|
|
||||||
|
|
||||||
def compute_committee(validator_indices: List[ValidatorIndex],
|
def compute_committee(validator_indices: List[ValidatorIndex],
|
||||||
seed: Bytes32,
|
seed: Bytes32,
|
||||||
index: int,
|
index: int,
|
||||||
|
@ -60,6 +69,8 @@ def compute_committee(validator_indices: List[ValidatorIndex],
|
||||||
# Monkey patch hash cache
|
# Monkey patch hash cache
|
||||||
_hash = hash
|
_hash = hash
|
||||||
hash_cache = {}
|
hash_cache = {}
|
||||||
|
|
||||||
|
|
||||||
def hash(x):
|
def hash(x):
|
||||||
if x in hash_cache:
|
if x in hash_cache:
|
||||||
return hash_cache[x]
|
return hash_cache[x]
|
||||||
|
|
|
@ -27,6 +27,10 @@ def get_lines(file_name):
|
||||||
code_lines.append('%s = SSZType({' % current_name)
|
code_lines.append('%s = SSZType({' % current_name)
|
||||||
processing_typedef = True
|
processing_typedef = True
|
||||||
elif pulling_from is not None:
|
elif pulling_from is not None:
|
||||||
|
# Add some whitespace between functions
|
||||||
|
if line[:3] == 'def':
|
||||||
|
code_lines.append("")
|
||||||
|
code_lines.append("")
|
||||||
code_lines.append(line)
|
code_lines.append(line)
|
||||||
elif pulling_from is None and len(line) > 0 and line[0] == '|':
|
elif pulling_from is None and len(line) > 0 and line[0] == '|':
|
||||||
row = line[1:].split('|')
|
row = line[1:].split('|')
|
||||||
|
|
|
@ -4,5 +4,8 @@ setup(
|
||||||
name='gen_helpers',
|
name='gen_helpers',
|
||||||
version='1.0',
|
version='1.0',
|
||||||
packages=['gen_base'],
|
packages=['gen_base'],
|
||||||
install_requires=['ruamel.yaml', 'eth-utils']
|
install_requires=[
|
||||||
|
"ruamel.yaml==0.15.87",
|
||||||
|
"eth-utils==1.4.1"
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from shared_eth2.minimal_ssz import hash_tree_root
|
from eth2.utils.minimal_ssz import hash_tree_root
|
||||||
|
|
||||||
|
|
||||||
def jsonize(value, typ, include_hash_tree_roots=False):
|
def jsonize(value, typ, include_hash_tree_roots=False):
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,10 @@
|
||||||
from . import spec
|
from . import spec
|
||||||
|
|
||||||
|
|
||||||
from typing import ( # noqa: F401
|
from typing import (
|
||||||
Any,
|
Any,
|
||||||
Callable,
|
Callable,
|
||||||
List,
|
List
|
||||||
NewType,
|
|
||||||
Tuple,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from .spec import (
|
from .spec import (
|
|
@ -3,7 +3,7 @@ from distutils.core import setup
|
||||||
setup(
|
setup(
|
||||||
name='pyspec',
|
name='pyspec',
|
||||||
version='1.0',
|
version='1.0',
|
||||||
packages=['debug', 'utils', 'phase0'],
|
packages=['eth2'],
|
||||||
install_requires=[
|
install_requires=[
|
||||||
"eth-utils>=1.3.0,<2",
|
"eth-utils>=1.3.0,<2",
|
||||||
"eth-typing>=2.1.0,<3.0.0",
|
"eth-typing>=2.1.0,<3.0.0",
|
||||||
|
|
Loading…
Reference in New Issue