mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +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 {
|
||||
<TotalIssuance<T, I>>::mutate(|issued|
|
||||
issued.checked_sub(&amount).unwrap_or_else(|| {
|
||||
<TotalIssuance<T, I>>::mutate(|issued| {
|
||||
*issued = issued.checked_sub(&amount).unwrap_or_else(|| {
|
||||
amount = *issued;
|
||||
Zero::zero()
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
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]
|
||||
fn unused_pot_should_diminish() {
|
||||
with_externalities(&mut new_test_ext(), || {
|
||||
let init_total_issuance = Balances::total_issuance();
|
||||
Treasury::on_dilution(100, 100);
|
||||
assert_eq!(Balances::total_issuance(), init_total_issuance + 100);
|
||||
|
||||
<Treasury as OnFinalize<u64>>::on_finalize(2);
|
||||
assert_eq!(Treasury::pot(), 50);
|
||||
assert_eq!(Balances::total_issuance(), init_total_issuance + 50);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user