Files
pezkuwi-sdk/pezcumulus/teyrchains/pezpallets/pez-treasury/src/benchmarking.rs
T
pezkuwichain 65b7f5e640 fix: Resolve cargo clippy errors and add CI workflow plan
## Changes

### Clippy Fixes
- Fixed deprecated `cargo_bin` usage in 27 test files (added #![allow(deprecated)])
- Fixed uninlined_format_args in zombienet-sdk-tests
- Fixed subxt API changes in revive/rpc/tests.rs (fetch signature, StorageValue)
- Fixed dead_code warnings in validator-pool and identity-kyc mocks
- Fixed field name `i` -> `_i` in tasks example

### CI Infrastructure
- Added .claude/WORKFLOW_PLAN.md for tracking CI fix progress
- Updated lychee.toml and taplo.toml configs

### Files Modified
- 27 test files with deprecated cargo_bin fix
- bizinikiwi/pezframe/revive/rpc/src/tests.rs (subxt API)
- pezkuwi/pezpallets/validator-pool/src/{mock,tests}.rs
- pezcumulus/teyrchains/pezpallets/identity-kyc/src/mock.rs
- bizinikiwi/pezframe/examples/tasks/src/tests.rs

## Status
- cargo clippy: PASSING
- Next: cargo fmt, zepter, workspace checks
2025-12-23 09:37:11 +03:00

91 lines
3.1 KiB
Rust
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// pezkuwi/pallets/pez-treasury/src/benchmarking.rs
use super::*;
use crate::Pezpallet as PezTreasury;
use pezframe_benchmarking::v2::*;
use pezframe_support::traits::{
fungibles::{Inspect, Mutate},
Get, // HATA GİDERİLDİ: .get() fonksiyonu için bu trait eklendi
};
use pezframe_system::RawOrigin;
use pezsp_runtime::traits::{Saturating, Zero};
#[benchmarks]
mod benchmarks {
use super::*;
#[benchmark]
fn initialize_treasury() {
crate::TreasuryStartBlock::<T>::kill();
crate::HalvingInfo::<T>::kill();
crate::NextReleaseMonth::<T>::kill();
#[extrinsic_call]
initialize_treasury(RawOrigin::Root);
assert!(crate::TreasuryStartBlock::<T>::get().is_some());
let halving_info = crate::HalvingInfo::<T>::get();
assert_eq!(halving_info.current_period, 0);
assert!(!halving_info.monthly_amount.is_zero());
}
#[benchmark]
fn force_genesis_distribution() {
// Clear the flag to allow benchmark run (tests the new storage operation)
crate::GenesisDistributionDone::<T>::kill();
#[block]
{
PezTreasury::<T>::do_genesis_distribution().unwrap();
}
let treasury_account = PezTreasury::<T>::treasury_account_id();
let presale_account = T::PresaleAccount::get();
let founder_account = T::FounderAccount::get();
assert!(!T::Assets::balance(T::PezAssetId::get(), &treasury_account).is_zero());
assert!(!T::Assets::balance(T::PezAssetId::get(), &presale_account).is_zero());
assert!(!T::Assets::balance(T::PezAssetId::get(), &founder_account).is_zero());
}
#[benchmark]
fn release_monthly_funds() {
// Setup
crate::TreasuryStartBlock::<T>::kill();
crate::HalvingInfo::<T>::kill();
crate::NextReleaseMonth::<T>::kill();
crate::GenesisDistributionDone::<T>::kill();
// Deprecated `remove_all` yerine `clear` kullanılıyor.
let _ = crate::MonthlyReleases::<T>::clear(u32::MAX, None);
// First do genesis distribution to properly fund the treasury
PezTreasury::<T>::do_genesis_distribution().unwrap();
PezTreasury::<T>::do_initialize_treasury().unwrap();
let treasury_account = PezTreasury::<T>::treasury_account_id();
let initial_monthly_amount = PezTreasury::<T>::halving_info().monthly_amount;
let incentive_amount = initial_monthly_amount * 75u32.into() / 100u32.into();
let government_amount = initial_monthly_amount.saturating_sub(incentive_amount);
// Ensure treasury has MORE than enough balance for the release
// Mint additional 10x the monthly amount to ensure sufficient balance
let _ = T::Assets::mint_into(
T::PezAssetId::get(),
&treasury_account,
initial_monthly_amount * 10u32.into(),
);
let current_block = pezframe_system::Pezpallet::<T>::block_number();
let target_block = current_block + crate::BLOCKS_PER_MONTH.into() + 1u32.into();
pezframe_system::Pezpallet::<T>::set_block_number(target_block);
#[extrinsic_call]
release_monthly_funds(RawOrigin::Root);
assert_eq!(PezTreasury::<T>::get_incentive_pot_balance(), incentive_amount);
assert_eq!(PezTreasury::<T>::get_government_pot_balance(), government_amount);
}
impl_benchmark_test_suite!(PezTreasury, crate::mock::new_test_ext(), crate::mock::Test);
}