def test_deterministic_superblock_selection(go_list_superblocks):
    from energid import EnergiDaemon
    energid = EnergiDaemon.from_energi_conf(config.energi_conf)

    for item in go_list_superblocks:
        (go,
         subobj) = GovernanceObject.import_gobject_from_energid(energid, item)

    # highest hash wins if same -- so just order by hash
    sb = Superblock.find_highest_deterministic(
        '22a5f429c5ffb2b79b1b30c3ac30751284e3efa4e710bc7fd35fbe7456b1e485')

    assert sb.object_hash == 'bc2834f357da7504138566727c838e6ada74d079e63b6104701f4f8eb05dae36'
Example #2
0
def test_approved_and_ranked(go_list_proposals):
    from energid import EnergiDaemon
    energid = EnergiDaemon.from_energi_conf(config.energi_conf)

    for item in go_list_proposals:
        (go,
         subobj) = GovernanceObject.import_gobject_from_energid(energid, item)

    prop_list = Proposal.approved_and_ranked(proposal_quorum=1,
                                             next_superblock_max_budget=60)

    assert prop_list[
        0].object_hash == u'dfd7d63979c0b62456b63d5fc5306dbec451180adee85876cbf5b28c69d1a86c'
    assert prop_list[
        1].object_hash == u'0523445762025b2e01a2cd34f1d10f4816cf26ee1796167e5b029901e5873630'
def test_deterministic_superblock_creation(go_list_proposals):
    import energilib
    import misc
    from energid import EnergiDaemon
    energid = EnergiDaemon.from_energi_conf(config.energi_conf)
    for item in go_list_proposals:
        (go,
         subobj) = GovernanceObject.import_gobject_from_energid(energid, item)

    max_budget = 60
    prop_list = Proposal.approved_and_ranked(
        proposal_quorum=1, next_superblock_max_budget=max_budget)
    sb = energilib.create_superblock(prop_list,
                                     72000,
                                     budget_max=max_budget,
                                     sb_epoch_time=misc.now())

    assert sb.event_block_height == 72000
    assert sb.payment_addresses == 'yYe8KwyaUu5YswSYmB3q3ryx8XTUu9y7Ui|yTC62huR4YQEPn9AJHjnQxxreHSbgAoatV'
    assert sb.payment_amounts == '25.75000000|32.01000000'
    assert sb.proposal_hashes == 'dfd7d63979c0b62456b63d5fc5306dbec451180adee85876cbf5b28c69d1a86c|0523445762025b2e01a2cd34f1d10f4816cf26ee1796167e5b029901e5873630'

    assert sb.hex_hash(
    ) == '5534e9fa4a51423820b9e19fa6d4770c12ea0a5663e8adff8223f5e8b6df641c'