示例#1
0
def test_devcommittee_zero_withdraw_2hf(wallet: Wallet):
    # on prev HF zero-withdraw was not allowed for devcommittee
    apply_hardfork(wallet, 2)

    amount = Amount("99.000000000 SP")
    validate_response(
        wallet.devcommittee_withdraw_vesting(DEFAULT_WITNESS, amount),
        wallet.devcommittee_withdraw_vesting.__name__
    )

    proposals = wallet.list_proposals()
    validate_response(proposals, wallet.list_proposals.__name__)
    expect(len(proposals) == 1, "Was created %d proposals, expected only one: %s" % (len(proposals), proposals))

    validate_response(wallet.proposal_vote(DEFAULT_WITNESS, proposals[0]["id"]), wallet.proposal_vote.__name__)
    validate_response(
        wallet.devcommittee_withdraw_vesting(DEFAULT_WITNESS, Amount("0 SP")),
        wallet.devcommittee_withdraw_vesting.__name__
    )

    proposals = wallet.list_proposals()
    validate_response(proposals, wallet.list_proposals.__name__)
    expect(len(proposals) == 1, "Was created %d proposals, expected one: %s" % (len(proposals), proposals))

    validate_response(wallet.proposal_vote(DEFAULT_WITNESS, proposals[0]["id"]), wallet.proposal_vote.__name__)

    transfers = wallet.get_devcommittee_transfers()
    validate_response(transfers, wallet.get_devcommittee_transfers.__name__)
    expect(len(transfers) == 2, "Was created unexpected amount of transfers.")
    expect(transfers[0]["status"] == "empty")
    expect(transfers[1]["status"] == "interrupted")
    assert_expectations()
示例#2
0
def test_devcommittee_active_withdraw(wallet: Wallet):
    amount = Amount("10.000000000 SP")

    validate_response(
        wallet.devcommittee_withdraw_vesting(DEFAULT_WITNESS, amount),
        wallet.devcommittee_withdraw_vesting.__name__
    )

    proposals = wallet.list_proposals()
    validate_response(proposals, wallet.list_proposals.__name__)
    assert len(proposals) == 1, "Was created %d proposals, expected only one: %s" % (len(proposals), proposals)

    validate_response(wallet.proposal_vote(DEFAULT_WITNESS, proposals[0]["id"]), wallet.proposal_vote.__name__)

    transfers = wallet.get_devcommittee_transfers()
    validate_response(transfers, wallet.get_devcommittee_transfers.__name__)
    assert len(transfers) == 1, "Was created more transfers then was expected."

    withdraw = transfers[0]
    expect(withdraw["status"] == "active")
    expect(Amount(withdraw["withdrawn"]) == Amount("0 SP"))  # e.g. any payment was not provided yet
    expect(withdraw["op"][0] == "proposal_virtual")
    expect(withdraw["op"][1]["proposal_op"][0] == "development_committee_withdraw_vesting")
    expect(Amount(withdraw["op"][1]["proposal_op"][1]["vesting_shares"]) == amount)
    assert_expectations()
示例#3
0
def test_coeffs_change_influence_on_pending(
        wallet_3hf: Wallet, budget, coeffs, idx, param_stop, param_start, sync_start
):
    budgets, _ = create_budgets(wallet_3hf, budget, 5, sync_start)
    wallet_3hf.development_committee_change_budgets_auction_properties(DEFAULT_WITNESS, coeffs, 86400, budget['type'])
    proposals = wallet_3hf.list_proposals()

    budgets_before = get_sorted_budgets(wallet_3hf, budgets)

    wallet_3hf.proposal_vote(DEFAULT_WITNESS, proposals[0]["id"])

    budgets_after = get_sorted_budgets(wallet_3hf, budgets)

    assert Amount(budgets_after[idx][param_stop]) - Amount(budgets_before[idx][param_stop]) == 0, \
        "Param '%s' shouldn't change after coefficients update." % param_stop
    assert Amount(budgets_after[idx][param_start]) - Amount(budgets_before[idx][param_start]) == \
        Amount(budgets_before[idx]['per_block']), \
        "Param '%s' should increase on per_block amount after coefficients change." % param_start

    check_budgets_delta_pending_calc(get_pending_delta(budgets_before, budgets_after), coeffs)
示例#4
0
def test_devcommittee_withdraw_gt_pool(wallet: Wallet):
    devcommittee = wallet.get_development_committee()
    validate_response(devcommittee, wallet.get_development_committee.__name__)

    amount = Amount(devcommittee["sp_balance"]) + Amount("100.000000000 SP")
    validate_response(
        wallet.devcommittee_withdraw_vesting(DEFAULT_WITNESS, amount),
        wallet.devcommittee_withdraw_vesting.__name__
    )

    proposals = wallet.list_proposals()
    validate_response(proposals, wallet.list_proposals.__name__)
    expect(len(proposals) == 1, "Was created %d proposals, expected only one: %s" % (len(proposals), proposals))

    validate_error_response(wallet.proposal_vote(DEFAULT_WITNESS, proposals[0]["id"]), wallet.proposal_vote.__name__)