def run(ctx): ctx.assert_scenario_ran('proposal') daily_limit_in_ether = 5 pay_reward_amount = 10 bytecode = calculate_bytecode('setDailyWithdrawLimit', ('uint256', to_wei(daily_limit_in_ether))) ctx.create_js_file(substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_addr, "offer_abi": ctx.offer_abi, "offer_address": ctx.offer_addr, "proposal_deposit": ctx.args.proposal_deposit, "pay_reward_amount": pay_reward_amount, "transaction_bytecode": bytecode, "debating_period": ctx.args.proposal_debate_seconds, }) print( "Notice: Debate period is {} seconds so the test will wait " "as much".format(ctx.args.proposal_debate_seconds) ) ctx.execute(expected={ "offer_daily_withdraw_limit": daily_limit_in_ether, "contractor_diff": daily_limit_in_ether, "dao_rewardaccount_diff": pay_reward_amount, "sample_offer_no_donations": True })
def run(ctx): ctx.assert_scenario_ran('proposal') daily_limit_in_ether = 5 pay_reward_amount = 10 bytecode = calculate_bytecode('setDailyWithdrawLimit', ('uint256', to_wei(daily_limit_in_ether))) ctx.create_js_file( substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_addr, "offer_abi": ctx.offer_abi, "offer_address": ctx.offer_addr, "proposal_deposit": ctx.args.proposal_deposit, "pay_reward_amount": pay_reward_amount, "transaction_bytecode": bytecode, "debating_period": ctx.args.proposal_debate_seconds, }) print("Notice: Debate period is {} seconds so the test will wait " "as much".format(ctx.args.proposal_debate_seconds)) ctx.execute( expected={ "offer_daily_withdraw_limit": daily_limit_in_ether, "contractor_diff": daily_limit_in_ether, "dao_rewardaccount_diff": pay_reward_amount, "sample_offer_no_donations": True })
def run(ctx): ctx.assert_scenario_ran('spendall') attacker_address = ctx.accounts[3] bytecode = calculate_bytecode('payOut', ('address', attacker_address), ('uint256', to_wei(5))) ctx.create_js_file( substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_address, "attacker_address": attacker_address, "proposal_deposit": ctx.args.proposal_deposit, "debating_period": ctx.args.proposal_debate_seconds, "transaction_bytecode": bytecode }) ctx.execute(expected={"extra_balance_diff_after_attack": 0})
def run(ctx): ctx.assert_scenario_ran('fuel') extra_balance_ether_to_get = 5 bytecode = calculate_bytecode( 'payOut', ('address', ctx.dao_addr), ('uint256', to_wei(extra_balance_ether_to_get))) ctx.create_js_file( substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_addr, "proposal_deposit": ctx.args.proposal_deposit, "debating_period": ctx.args.proposal_debate_seconds, "transaction_bytecode": bytecode }) ctx.execute( expected={"dao_balance_diff_after_claim": extra_balance_ether_to_get})
def run(ctx): ctx.assert_scenario_ran('spendall') extra_balance_ether_to_get = 5 bytecode = calculate_bytecode( 'payOut', ('address', ctx.dao_address), ('uint256', to_wei(extra_balance_ether_to_get)) ) ctx.create_js_file(substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_address, "proposal_deposit": ctx.args.proposal_deposit, "debating_period": ctx.args.proposal_debate_seconds, "transaction_bytecode": bytecode }) ctx.execute(expected={ "dao_balance_diff_after_claim": extra_balance_ether_to_get })
def run(ctx): ctx.assert_scenario_ran('spendall') attacker_address = ctx.accounts[3] bytecode = calculate_bytecode( 'payOut', ('address', attacker_address), ('uint256', to_wei(5)) ) ctx.create_js_file(substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_addr, "attacker_address": attacker_address, "proposal_deposit": ctx.args.proposal_deposit, "debating_period": ctx.args.proposal_debate_seconds, "transaction_bytecode": bytecode }) ctx.execute(expected={ "extra_balance_diff_after_attack": 0 })
def run(ctx): ctx.assert_scenario_ran('proposal') bytecode = calculate_bytecode('payOneTimeReward') ctx.create_js_file(substitutions={ "dao_abi": ctx.dao_abi, "dao_address": ctx.dao_addr, "offer_abi": ctx.offer_abi, "offer_address": ctx.offer_addr, "proposal_deposit": ctx.args.proposal_deposit, "transaction_bytecode": bytecode, "debating_period": ctx.args.proposal_debate_seconds, }) print( "Notice: Debate period is {} seconds so the test will wait " "as much".format(ctx.args.proposal_debate_seconds) ) ctx.execute(expected={ # Nothing should make it to the reward account "dao_rewardaccount_diff": 0, # The DAO keeps the proposal deposit "dao_balance_diff": to_wei(ctx.args.proposal_deposit) })