make fee calculations correct based on nanoseconds
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
parent
ffa65dc0a7
commit
99ac2f1f08
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "casper-runtime-constants"
|
name = "casper-runtime-constants"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
authors.workspace = true
|
authors.workspace = true
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
homepage.workspace = true
|
homepage.workspace = true
|
||||||
|
|||||||
@ -39,7 +39,7 @@ pub mod time {
|
|||||||
|
|
||||||
// 1 in 4 blocks (on average, not counting collisions) woll be primary babe
|
// 1 in 4 blocks (on average, not counting collisions) woll be primary babe
|
||||||
// blocks.The choice of is done on accordance to the slot duration and expected
|
// blocks.The choice of is done on accordance to the slot duration and expected
|
||||||
// target block tim, for safely resisting network delays of maximum two
|
// target block time, for safely resisting network delays of maximum two
|
||||||
// seconds.
|
// seconds.
|
||||||
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
|
||||||
}
|
}
|
||||||
@ -69,7 +69,7 @@ pub mod fee {
|
|||||||
type Balance = Balance;
|
type Balance = Balance;
|
||||||
|
|
||||||
fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
|
fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {
|
||||||
let fee_per_nanosecond: Balance = 10 * super::currency::FTSO;
|
let fee_per_nanosecond: Balance = (10 * super::currency::FTSO) / 1_000;
|
||||||
|
|
||||||
smallvec![WeightToFeeCoefficient {
|
smallvec![WeightToFeeCoefficient {
|
||||||
degree: 1,
|
degree: 1,
|
||||||
@ -84,7 +84,7 @@ pub mod fee {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::{
|
use super::{
|
||||||
currency::{CSPR, STNK, STRH},
|
currency::{CSPR, STRH},
|
||||||
fee::WeightToFee,
|
fee::WeightToFee,
|
||||||
};
|
};
|
||||||
use crate::weights::ExtrinsicBaseWeight;
|
use crate::weights::ExtrinsicBaseWeight;
|
||||||
@ -94,8 +94,8 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn full_block_fee_is_correct() {
|
fn full_block_fee_is_correct() {
|
||||||
let full_block = WeightToFee::weight_to_fee(&MAXIMUM_BLOCK_WEIGHT);
|
let full_block = WeightToFee::weight_to_fee(&MAXIMUM_BLOCK_WEIGHT);
|
||||||
assert!(full_block >= 50 * CSPR);
|
assert!(full_block >= 30 * CSPR);
|
||||||
assert!(full_block <= 70 * CSPR);
|
assert!(full_block <= 50 * CSPR);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -103,7 +103,7 @@ mod tests {
|
|||||||
let x = WeightToFee::weight_to_fee(&ExtrinsicBaseWeight::get());
|
let x = WeightToFee::weight_to_fee(&ExtrinsicBaseWeight::get());
|
||||||
|
|
||||||
let lower_bound = STRH / 2;
|
let lower_bound = STRH / 2;
|
||||||
let upper_bound = (3 * STRH) / 2;
|
let upper_bound = 6 * STRH;
|
||||||
|
|
||||||
assert!(x >= lower_bound);
|
assert!(x >= lower_bound);
|
||||||
assert!(x <= upper_bound);
|
assert!(x <= upper_bound);
|
||||||
|
|||||||
@ -14,8 +14,8 @@
|
|||||||
// along with Ghost Network. If not, see <http://www.gnu.org/licenses/>.
|
// along with Ghost Network. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||||
//! DATE: 2024-07-30 (Y/M/D)
|
//! DATE: 2026-08-31 (Y/M/D)
|
||||||
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
|
//! HOSTNAME: `LAPTOP-IOUQRLAP`, CPU: `AMD Ryzen 7 2700U with Radeon Vega Mobile Gfx`
|
||||||
//!
|
//!
|
||||||
//! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Development`
|
//! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Development`
|
||||||
//! WARMUPS: `10`, REPEAT: `100`
|
//! WARMUPS: `10`, REPEAT: `100`
|
||||||
@ -41,17 +41,17 @@ parameter_types! {
|
|||||||
/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
|
/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
|
||||||
///
|
///
|
||||||
/// Stats nanoseconds:
|
/// Stats nanoseconds:
|
||||||
/// Min, Max: 64_363_191, 66_078_314
|
/// Min, Max: 553_400, 1_996_400
|
||||||
/// Average: 64_551_214
|
/// Average: 771_526
|
||||||
/// Median: 64_500_078
|
/// Median: 680_500
|
||||||
/// Std-Dev: 229678.99
|
/// Std-Dev: 248209.17
|
||||||
///
|
///
|
||||||
/// Percentiles nanoseconds:
|
/// Percentiles nanoseconds:
|
||||||
/// 99th: 65_668_012
|
/// 99th: 1_652_700
|
||||||
/// 95th: 64_888_421
|
/// 95th: 1_212_900
|
||||||
/// 75th: 64_563_448
|
/// 75th: 849_300
|
||||||
pub const BlockExecutionWeight: Weight =
|
pub const BlockExecutionWeight: Weight =
|
||||||
Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(64_551_214), 0);
|
Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(771_526), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user