Esempio n. 1
0
def get_chain_from_genesis(db, index):
    pubkey = index_to_pubkey[index]
    validator_keymap = {pubkey: keymap[pubkey]}
    genesis_data = BeaconGenesisData(
        genesis_time=genesis_state.genesis_time,
        state=genesis_state,
        validator_keymap=validator_keymap,
    )
    beacon_chain_config = BeaconChainConfig(chain_name='TestTestTest',
                                            genesis_data=genesis_data)
    chain_class = beacon_chain_config.beacon_chain_class
    return chain_class.from_genesis(
        base_db=db,
        genesis_state=genesis_state,
        genesis_block=genesis_block,
        # TODO(ralexstokes) do we need to avoid pulling in this as a global dependency?
        config=XIAO_LONG_BAO_CONFIG,
    )
Esempio n. 2
0
def get_chain_from_genesis(db, indices):
    # pubkey -> privkey map
    validator_keymap = {
        index_to_pubkey[index]: keymap[index_to_pubkey[index]]
        for index in indices
    }
    genesis_data = BeaconGenesisData(
        genesis_time=genesis_state.genesis_time,
        state=genesis_state,
        validator_keymap=validator_keymap,
    )
    beacon_chain_config = BeaconChainConfig(chain_name='TestTestTest', genesis_data=genesis_data)
    chain_class = beacon_chain_config.beacon_chain_class
    return chain_class.from_genesis(
        base_db=db,
        genesis_state=genesis_state,
        genesis_block=genesis_block,
        genesis_config=beacon_chain_config.genesis_config,
    )
Esempio n. 3
0
def chain_config(genesis_state, eth2_config, chain_class):
    return BeaconChainConfig(genesis_state, eth2_config, {}, beacon_chain_class=chain_class)
Esempio n. 4
0
genesis_time = int(time.time())

genesis_state, genesis_block = create_mock_genesis(
    num_validators=NUM_VALIDATORS,
    config=XIAO_LONG_BAO_CONFIG,
    keymap=keymap,
    genesis_block_class=SerenityBeaconBlock,
    genesis_time=genesis_time,
)
genesis_data = BeaconGenesisData(
    genesis_time=genesis_time,
    genesis_slot=XIAO_LONG_BAO_CONFIG.GENESIS_SLOT,
    keymap=keymap,
    num_validators=NUM_VALIDATORS,
)
beacon_chain_config = BeaconChainConfig(chain_name='TestTestTest',
                                        genesis_data=genesis_data)
chain_class = beacon_chain_config.beacon_chain_class


class FakeProtocol:
    def __init__(self):
        self.inbox = []

    def send_new_block(self, block):
        self.inbox.append(block)


class FakePeer:
    def __init__(self):
        self.sub_proto = FakeProtocol()
Esempio n. 5
0
def chain_config(genesis_state, eth2_config):
    return BeaconChainConfig(genesis_state, eth2_config, {})