Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
1d17819
frontrunning traits
Ank4n Mar 26, 2026
c3dc7e8
dont deprecate yet
Ank4n Mar 27, 2026
6f2742b
fmt
Ank4n Mar 27, 2026
14e3aa9
remov EraPayout from staking async
Ank4n Mar 27, 2026
ddd01ec
remove EraRewardAllocation. It belongs in staking async
Ank4n Mar 27, 2026
e14a388
move budget stuff to budget module
Ank4n Mar 27, 2026
187aa7f
remove AccountID from StakerRewardCalcualtor
Ank4n Mar 27, 2026
5075904
Merge branch 'master' into ankn-sp-staking-traits
Ank4n Mar 27, 2026
4571f1f
prdoc
Ank4n Mar 27, 2026
5eb51a5
extract dap changes from 10844
Ank4n Mar 27, 2026
0239e58
missing lock
Ank4n Mar 27, 2026
9b388b2
needs to be reverted when we integrate with staking changes
Ank4n Mar 27, 2026
cd7ede6
add default noop impl of issuance curve
Ank4n Mar 27, 2026
267a81e
comment on consts
Ank4n Mar 27, 2026
398b2cd
prdoc
Ank4n Mar 27, 2026
da7abca
weights
Ank4n Mar 27, 2026
eecc058
simplify
Ank4n Mar 27, 2026
f4f8a1f
update weights
Ank4n Mar 27, 2026
9ec5124
fmt
Ank4n Mar 27, 2026
946ff6a
improve trait docs
Ank4n Mar 30, 2026
bb15c4e
no duplicate assertion + test for budget id
Ank4n Mar 30, 2026
e0b4282
Merge branch 'master' into ankn-sp-staking-traits
Ank4n Mar 30, 2026
1a35968
Merge branch 'ankn-sp-staking-traits' into ankn-dap-budgets
Ank4n Mar 30, 2026
2df7d71
fmt
Ank4n Mar 30, 2026
10536cc
buffer_acc() only crate visibile
Ank4n Mar 31, 2026
213ba52
always advance issue time
Ank4n Mar 31, 2026
941ada8
use static parameter
Ank4n Mar 31, 2026
435b08c
try state fail checks
Ank4n Mar 31, 2026
caf5524
use u64 for account id
Ank4n Mar 31, 2026
ff9f4a6
no need to override acc id
Ank4n Mar 31, 2026
6a7c408
Revert "no need to override acc id"
Ank4n Mar 31, 2026
c0d1609
fix rustdoc
Ank4n Mar 31, 2026
7917bab
Merge branch 'ankn-sp-staking-traits' into ankn-dap-budgets
Ank4n Mar 31, 2026
7af0c6d
improve tests
Ank4n Mar 31, 2026
c6bbb0f
Merge branch 'master' into ankn-sp-staking-traits
sigurpol Mar 31, 2026
3ce6cb2
Merge branch 'ankn-sp-staking-traits' into ankn-dap-budgets
Ank4n Mar 31, 2026
a30d654
Merge branch 'master' into ankn-sp-staking-traits
Ank4n Mar 31, 2026
9380b2d
Merge branch 'ankn-sp-staking-traits' into ankn-dap-budgets
Ank4n Mar 31, 2026
b466762
fix ci
Ank4n Mar 31, 2026
8b63957
fmt
Ank4n Mar 31, 2026
195d8a1
fix clippy
Ank4n Mar 31, 2026
8d80024
Merge branch 'master' into ankn-dap-budgets
Ank4n Mar 31, 2026
4795651
disable dap budget check
Ank4n Mar 31, 2026
d2b0eaa
another offering to CI Gods
Ank4n Mar 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
needs to be reverted when we integrate with staking changes
  • Loading branch information
Ank4n committed Mar 27, 2026
commit 9b388b2da70c3a0dead7eb2cf2f29a3c9e89e714
10 changes: 8 additions & 2 deletions substrate/frame/dap/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ pub mod pallet {
use frame_system::pallet_prelude::*;

/// The in-code storage version.
const STORAGE_VERSION: StorageVersion = StorageVersion::new(2);
const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);

#[pallet::pallet]
#[pallet::storage_version(STORAGE_VERSION)]
Expand Down Expand Up @@ -309,7 +309,13 @@ pub mod pallet {
// Distribute according to budget map.
let budget = BudgetAllocation::<T>::get();
if budget.is_empty() {
defensive!("BudgetAllocation is empty — no issuance will be distributed");
// TODO(ank4n): Add defensive! panic once budget is always configured.
log::warn!(
target: LOG_TARGET,
"BudgetAllocation is empty — no issuance will be distributed"
);
LastIssuanceTimestamp::<T>::put(now);
Comment thread
Ank4n marked this conversation as resolved.
Outdated
return T::DbWeight::get().reads_writes(4, 1);
}
let recipients = T::BudgetRecipients::recipients();
let mut total_minted = BalanceOf::<T>::zero();
Expand Down
3 changes: 3 additions & 0 deletions substrate/frame/dap/src/migrations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ use frame_support::traits::UncheckedOnRuntimeUpgrade;
/// - `T`: DAP pallet config
/// - `P`: `Get<u64>` providing the initial timestamp (e.g. active era start from staking)
/// - `B`: `Get<BudgetAllocationMap>` providing the initial budget allocation
///
/// NOTE: This migration should be applied when staking changes are integrated to support
/// budget drip. The storage version bump (V1 → V2) happens at that point.
pub type MigrateV1ToV2<T, P, B> = frame_support::migrations::VersionedMigration<
1,
2,
Expand Down
17 changes: 14 additions & 3 deletions substrate/frame/dap/src/tests/drip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,25 @@ fn drip_fires_after_cadence_reached() {
}

#[test]
#[should_panic(expected = "BudgetAllocation is empty")]
fn no_drip_when_budget_not_set() {
build_and_execute(true, || {
set_default_budget_allocation();
System::set_block_number(1);

// GIVEN: no budget set (default empty map)
// WHEN: drip fires — triggers defensive panic since empty budget is unexpected.
// Clear the budget allocation.
crate::BudgetAllocation::<Test>::kill();

let staker_pot = 500u128;
let balance_before = Balances::balance(&staker_pot);

// WHEN: drip fires with empty budget — no panic, just early return.
advance_time_and_drip(60_000);

// THEN: no funds distributed.
assert_eq!(Balances::balance(&staker_pot), balance_before);

// Restore for post-test try_state.
set_default_budget_allocation();
});
}

Expand Down
Loading