30 lines
748 B
Python
30 lines
748 B
Python
|
from typing import Dict
|
||
|
|
||
|
from .base import BaseSpecBuilder
|
||
|
from ..constants import CAPELLA
|
||
|
|
||
|
|
||
|
class CapellaSpecBuilder(BaseSpecBuilder):
|
||
|
fork: str = CAPELLA
|
||
|
|
||
|
@classmethod
|
||
|
def imports(cls, preset_name: str):
|
||
|
return f'''
|
||
|
from eth2spec.bellatrix import {preset_name} as bellatrix
|
||
|
'''
|
||
|
|
||
|
|
||
|
@classmethod
|
||
|
def sundry_functions(cls) -> str:
|
||
|
return '''
|
||
|
def compute_merkle_proof_for_block_body(body: BeaconBlockBody,
|
||
|
index: GeneralizedIndex) -> Sequence[Bytes32]:
|
||
|
return build_proof(body.get_backing(), index)'''
|
||
|
|
||
|
|
||
|
@classmethod
|
||
|
def hardcoded_ssz_dep_constants(cls) -> Dict[str, str]:
|
||
|
return {
|
||
|
'EXECUTION_PAYLOAD_INDEX': 'GeneralizedIndex(25)',
|
||
|
}
|