Fix invalid state transitions in pallet-bounties (#11630)

* Pallet-bounty: disallow invalid state transitions

* Fix tests: funding only at even block numbers

* Fix benchmarks: bounties need to be funded

* fix on_initialize

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
Torsten Stüber
2022-07-18 14:56:22 +02:00
committed by GitHub
parent 8f6ba2e75e
commit 4e787fbd30
3 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -390,7 +390,7 @@ pub mod pallet {
Bounties::<T, I>::try_mutate_exists(bounty_id, |maybe_bounty| -> DispatchResult {
let mut bounty = maybe_bounty.as_mut().ok_or(Error::<T, I>::InvalidIndex)?;
match bounty.status {
BountyStatus::Proposed | BountyStatus::Approved | BountyStatus::Funded => {},
BountyStatus::Funded => {},
_ => return Err(Error::<T, I>::UnexpectedStatus.into()),
};
+4 -4
View File
@@ -1126,8 +1126,8 @@ fn accept_curator_handles_different_deposit_calculations() {
assert_ok!(Bounties::propose_bounty(Origin::signed(0), value, b"12345".to_vec()));
assert_ok!(Bounties::approve_bounty(Origin::root(), bounty_index));
System::set_block_number(3);
<Treasury as OnInitialize<u64>>::on_initialize(3);
System::set_block_number(4);
<Treasury as OnInitialize<u64>>::on_initialize(4);
assert_ok!(Bounties::propose_curator(Origin::root(), bounty_index, user, fee));
assert_ok!(Bounties::accept_curator(Origin::signed(user), bounty_index));
@@ -1150,8 +1150,8 @@ fn accept_curator_handles_different_deposit_calculations() {
assert_ok!(Bounties::propose_bounty(Origin::signed(0), value, b"12345".to_vec()));
assert_ok!(Bounties::approve_bounty(Origin::root(), bounty_index));
System::set_block_number(3);
<Treasury as OnInitialize<u64>>::on_initialize(3);
System::set_block_number(6);
<Treasury as OnInitialize<u64>>::on_initialize(6);
assert_ok!(Bounties::propose_curator(Origin::root(), bounty_index, user, fee));
assert_ok!(Bounties::accept_curator(Origin::signed(user), bounty_index));