예제 #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()