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()
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()
def test_invalid_coeffs(wallet_3hf: Wallet, budget_type, coeffs): response = wallet_3hf.development_committee_change_budgets_auction_properties( DEFAULT_WITNESS, coeffs, 86400, budget_type ) validate_error_response(response, wallet_3hf.development_committee_change_budgets_auction_properties.__name__) proposals = wallet_3hf.list_proposals() assert len(proposals) == 0, "Was created %d proposals, expected only one: %s" % (len(proposals), proposals) assert coeffs != wallet_3hf.get_auction_coefficients(budget_type), "Coefficients was changed, but they shouldn't."
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__)
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)