difftreelog
Merge pull request #1027 from UniqueNetwork/feature/promo-rate
in: master
feature(runtime): app promoi rate is changed
4 files changed
js-packages/tests/sub/appPromotion/appPromotion.test.tsdiffbeforeafterboth983function calculateIncome(base: bigint, iter = 0, calcPeriod: bigint = UNLOCKING_PERIOD): bigint {983function calculateIncome(base: bigint, iter = 0, calcPeriod: bigint = UNLOCKING_PERIOD): bigint {984 const DAY = 7200n;984 const DAY = 7200n;985 const ACCURACY = 1_000_000_000n;985 const ACCURACY = 1_000_000_000n;986 // 5n / 10_000n = 0.05% p/day986 // 453_256n / 1_000_000_000n = 0.0453256% /day987 const income = base + base * (ACCURACY * (calcPeriod * 5n) / (10_000n * DAY)) / ACCURACY ;987 const income = base + base * (ACCURACY * (calcPeriod * 453_256n) / (1_000_000_000n * DAY)) / ACCURACY ;988988989 if(iter > 1) {989 if(iter > 1) {990 return calculateIncome(income, iter - 1, calcPeriod);990 return calculateIncome(income, iter - 1, calcPeriod);pallets/collator-selection/src/mock.rsdiffbeforeafterboth--- a/pallets/collator-selection/src/mock.rs
+++ b/pallets/collator-selection/src/mock.rs
@@ -208,7 +208,7 @@
pub const DefaultWeightToFeeCoefficient: u64 = 100_000;
pub const DefaultMinGasPrice: u64 = 100_000;
pub const MaxXcmAllowedLocations: u32 = 16;
- pub AppPromotionDailyRate: Perbill = Perbill::from_rational(5u32, 10_000);
+ pub AppPromotionDailyRate: Perbill = Perbill::from_parts(453_256);
pub const DayRelayBlocks: u32 = 1;
pub const LicenceBondIdentifier: [u8; 16] = *b"licenceidentifie";
}
runtime/common/config/pallets/app_promotion.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/app_promotion.rs
+++ b/runtime/common/config/pallets/app_promotion.rs
@@ -15,12 +15,12 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
use frame_support::{parameter_types, PalletId};
-use sp_arithmetic::Perbill;
use up_common::{
constants::{DAYS, RELAY_DAYS, UNIQUE},
types::Balance,
};
+use super::AppPromotionDailyRate;
use crate::{
runtime_common::config::pallets::{RelayChainBlockNumberProvider, TreasuryAccountId},
Balances, BlockNumber, EvmContractHelpers, Maintenance, Runtime, RuntimeEvent, Unique,
@@ -32,7 +32,6 @@
pub const PendingInterval: BlockNumber = 7 * DAYS;
pub const Nominal: Balance = UNIQUE;
pub const HoldAndFreezeIdentifier: [u8; 16] = *b"appstakeappstake";
- pub IntervalIncome: Perbill = Perbill::from_rational(5u32, 10_000);
pub MaintenanceMode: bool = Maintenance::is_enabled();
}
@@ -47,7 +46,7 @@
type RecalculationInterval = RecalculationInterval;
type PendingInterval = PendingInterval;
type Nominal = Nominal;
- type IntervalIncome = IntervalIncome;
+ type IntervalIncome = AppPromotionDailyRate;
type RuntimeEvent = RuntimeEvent;
type FreezeIdentifier = HoldAndFreezeIdentifier;
type IsMaintenanceModeEnabled = MaintenanceMode;
runtime/common/config/pallets/mod.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -151,7 +151,7 @@
}
parameter_types! {
- pub AppPromotionDailyRate: Perbill = Perbill::from_rational(5u32, 10_000);
+ pub AppPromotionDailyRate: Perbill = Perbill::from_parts(453_256);
pub const MaxCollators: u32 = MAX_COLLATORS;
pub const LicenseBond: Balance = GENESIS_LICENSE_BOND;