mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 05:51:02 +00:00
Fix srml-balance burn implementation (#3443)
* tests * fix * bump version
This commit is contained in:
@@ -824,12 +824,12 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn burn(mut amount: Self::Balance) -> Self::PositiveImbalance {
|
fn burn(mut amount: Self::Balance) -> Self::PositiveImbalance {
|
||||||
<TotalIssuance<T, I>>::mutate(|issued|
|
<TotalIssuance<T, I>>::mutate(|issued| {
|
||||||
issued.checked_sub(&amount).unwrap_or_else(|| {
|
*issued = issued.checked_sub(&amount).unwrap_or_else(|| {
|
||||||
amount = *issued;
|
amount = *issued;
|
||||||
Zero::zero()
|
Zero::zero()
|
||||||
})
|
});
|
||||||
);
|
});
|
||||||
PositiveImbalance::new(amount)
|
PositiveImbalance::new(amount)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -789,3 +789,19 @@ fn signed_extension_take_fees_is_bounded() {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn burn_must_work() {
|
||||||
|
with_externalities(
|
||||||
|
&mut ExtBuilder::default()
|
||||||
|
.monied(true)
|
||||||
|
.build(),
|
||||||
|
|| {
|
||||||
|
let init_total_issuance = Balances::total_issuance();
|
||||||
|
let imbalance = Balances::burn(10);
|
||||||
|
assert_eq!(Balances::total_issuance(), init_total_issuance - 10);
|
||||||
|
drop(imbalance);
|
||||||
|
assert_eq!(Balances::total_issuance(), init_total_issuance);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -507,10 +507,13 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn unused_pot_should_diminish() {
|
fn unused_pot_should_diminish() {
|
||||||
with_externalities(&mut new_test_ext(), || {
|
with_externalities(&mut new_test_ext(), || {
|
||||||
|
let init_total_issuance = Balances::total_issuance();
|
||||||
Treasury::on_dilution(100, 100);
|
Treasury::on_dilution(100, 100);
|
||||||
|
assert_eq!(Balances::total_issuance(), init_total_issuance + 100);
|
||||||
|
|
||||||
<Treasury as OnFinalize<u64>>::on_finalize(2);
|
<Treasury as OnFinalize<u64>>::on_finalize(2);
|
||||||
assert_eq!(Treasury::pot(), 50);
|
assert_eq!(Treasury::pot(), 50);
|
||||||
|
assert_eq!(Balances::total_issuance(), init_total_issuance + 50);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user