cleanup feature code after activated everywhere (#34509)
This commit is contained in:
parent
51c9963a60
commit
4a8582eab4
|
@ -3867,7 +3867,6 @@ fn test_program_fees() {
|
||||||
&process_compute_budget_instructions(sanitized_message.program_instructions_iter())
|
&process_compute_budget_instructions(sanitized_message.program_instructions_iter())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
bank_client
|
bank_client
|
||||||
|
@ -3891,7 +3890,6 @@ fn test_program_fees() {
|
||||||
&process_compute_budget_instructions(sanitized_message.program_instructions_iter())
|
&process_compute_budget_instructions(sanitized_message.program_instructions_iter())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
assert!(expected_normal_fee < expected_prioritized_fee);
|
assert!(expected_normal_fee < expected_prioritized_fee);
|
||||||
|
|
|
@ -29,7 +29,6 @@ use {
|
||||||
bpf_loader_upgradeable::{self, UpgradeableLoaderState},
|
bpf_loader_upgradeable::{self, UpgradeableLoaderState},
|
||||||
feature_set::{
|
feature_set::{
|
||||||
include_loaded_accounts_data_size_in_fee_calculation,
|
include_loaded_accounts_data_size_in_fee_calculation,
|
||||||
remove_congestion_multiplier_from_fee_calculation,
|
|
||||||
simplify_writable_program_account_check, FeatureSet,
|
simplify_writable_program_account_check, FeatureSet,
|
||||||
},
|
},
|
||||||
fee::FeeStructure,
|
fee::FeeStructure,
|
||||||
|
@ -83,8 +82,6 @@ pub(super) fn load_accounts(
|
||||||
)
|
)
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
feature_set
|
|
||||||
.is_active(&remove_congestion_multiplier_from_fee_calculation::id()),
|
|
||||||
feature_set
|
feature_set
|
||||||
.is_active(&include_loaded_accounts_data_size_in_fee_calculation::id()),
|
.is_active(&include_loaded_accounts_data_size_in_fee_calculation::id()),
|
||||||
)
|
)
|
||||||
|
@ -728,7 +725,6 @@ mod tests {
|
||||||
&process_compute_budget_instructions(message.program_instructions_iter())
|
&process_compute_budget_instructions(message.program_instructions_iter())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
assert_eq!(fee, lamports_per_signature);
|
assert_eq!(fee, lamports_per_signature);
|
||||||
|
@ -1564,7 +1560,6 @@ mod tests {
|
||||||
&process_compute_budget_instructions(message.program_instructions_iter())
|
&process_compute_budget_instructions(message.program_instructions_iter())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
assert_eq!(fee, lamports_per_signature + prioritization_fee);
|
assert_eq!(fee, lamports_per_signature + prioritization_fee);
|
||||||
|
|
|
@ -139,10 +139,7 @@ use {
|
||||||
epoch_info::EpochInfo,
|
epoch_info::EpochInfo,
|
||||||
epoch_schedule::EpochSchedule,
|
epoch_schedule::EpochSchedule,
|
||||||
feature,
|
feature,
|
||||||
feature_set::{
|
feature_set::{self, include_loaded_accounts_data_size_in_fee_calculation, FeatureSet},
|
||||||
self, include_loaded_accounts_data_size_in_fee_calculation,
|
|
||||||
remove_congestion_multiplier_from_fee_calculation, FeatureSet,
|
|
||||||
},
|
|
||||||
fee::FeeStructure,
|
fee::FeeStructure,
|
||||||
fee_calculator::{FeeCalculator, FeeRateGovernor},
|
fee_calculator::{FeeCalculator, FeeRateGovernor},
|
||||||
genesis_config::{ClusterType, GenesisConfig},
|
genesis_config::{ClusterType, GenesisConfig},
|
||||||
|
@ -4072,8 +4069,6 @@ impl Bank {
|
||||||
&process_compute_budget_instructions(message.program_instructions_iter())
|
&process_compute_budget_instructions(message.program_instructions_iter())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into(),
|
.into(),
|
||||||
self.feature_set
|
|
||||||
.is_active(&remove_congestion_multiplier_from_fee_calculation::id()),
|
|
||||||
self.feature_set
|
self.feature_set
|
||||||
.is_active(&include_loaded_accounts_data_size_in_fee_calculation::id()),
|
.is_active(&include_loaded_accounts_data_size_in_fee_calculation::id()),
|
||||||
)
|
)
|
||||||
|
|
|
@ -2651,7 +2651,6 @@ fn test_bank_tx_compute_unit_fee() {
|
||||||
.lamports_per_signature,
|
.lamports_per_signature,
|
||||||
&FeeStructure::default(),
|
&FeeStructure::default(),
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
let (expected_fee_collected, expected_fee_burned) =
|
let (expected_fee_collected, expected_fee_burned) =
|
||||||
|
@ -2832,7 +2831,6 @@ fn test_bank_blockhash_compute_unit_fee_structure() {
|
||||||
cheap_lamports_per_signature,
|
cheap_lamports_per_signature,
|
||||||
&FeeStructure::default(),
|
&FeeStructure::default(),
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bank.get_balance(&mint_keypair.pubkey()),
|
bank.get_balance(&mint_keypair.pubkey()),
|
||||||
|
@ -2850,7 +2848,6 @@ fn test_bank_blockhash_compute_unit_fee_structure() {
|
||||||
expensive_lamports_per_signature,
|
expensive_lamports_per_signature,
|
||||||
&FeeStructure::default(),
|
&FeeStructure::default(),
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
bank.get_balance(&mint_keypair.pubkey()),
|
bank.get_balance(&mint_keypair.pubkey()),
|
||||||
|
@ -2963,7 +2960,6 @@ fn test_filter_program_errors_and_collect_compute_unit_fee() {
|
||||||
.lamports_per_signature,
|
.lamports_per_signature,
|
||||||
&FeeStructure::default(),
|
&FeeStructure::default(),
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
) * 2
|
) * 2
|
||||||
)
|
)
|
||||||
.0
|
.0
|
||||||
|
@ -10002,7 +9998,6 @@ fn calculate_test_fee(
|
||||||
lamports_per_signature: u64,
|
lamports_per_signature: u64,
|
||||||
fee_structure: &FeeStructure,
|
fee_structure: &FeeStructure,
|
||||||
support_set_accounts_data_size_limit_ix: bool,
|
support_set_accounts_data_size_limit_ix: bool,
|
||||||
remove_congestion_multiplier: bool,
|
|
||||||
) -> u64 {
|
) -> u64 {
|
||||||
let mut feature_set = FeatureSet::all_enabled();
|
let mut feature_set = FeatureSet::all_enabled();
|
||||||
|
|
||||||
|
@ -10016,13 +10011,7 @@ fn calculate_test_fee(
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into();
|
.into();
|
||||||
|
|
||||||
fee_structure.calculate_fee(
|
fee_structure.calculate_fee(message, lamports_per_signature, &budget_limits, false)
|
||||||
message,
|
|
||||||
lamports_per_signature,
|
|
||||||
&budget_limits,
|
|
||||||
remove_congestion_multiplier,
|
|
||||||
false,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -10040,7 +10029,6 @@ fn test_calculate_fee() {
|
||||||
..FeeStructure::default()
|
..FeeStructure::default()
|
||||||
},
|
},
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
@ -10057,7 +10045,6 @@ fn test_calculate_fee() {
|
||||||
..FeeStructure::default()
|
..FeeStructure::default()
|
||||||
},
|
},
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
|
@ -10079,7 +10066,6 @@ fn test_calculate_fee() {
|
||||||
..FeeStructure::default()
|
..FeeStructure::default()
|
||||||
},
|
},
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
4
|
4
|
||||||
);
|
);
|
||||||
|
@ -10106,7 +10092,6 @@ fn test_calculate_fee_compute_units() {
|
||||||
1,
|
1,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
max_fee + lamports_per_signature
|
max_fee + lamports_per_signature
|
||||||
);
|
);
|
||||||
|
@ -10125,7 +10110,6 @@ fn test_calculate_fee_compute_units() {
|
||||||
1,
|
1,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
max_fee + 3 * lamports_per_signature
|
max_fee + 3 * lamports_per_signature
|
||||||
);
|
);
|
||||||
|
@ -10166,7 +10150,6 @@ fn test_calculate_fee_compute_units() {
|
||||||
1,
|
1,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
fee,
|
fee,
|
||||||
|
@ -10205,7 +10188,6 @@ fn test_calculate_prioritization_fee() {
|
||||||
fee_structure.lamports_per_signature,
|
fee_structure.lamports_per_signature,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
true,
|
true,
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
fee,
|
fee,
|
||||||
|
@ -10250,7 +10232,6 @@ fn test_calculate_fee_secp256k1() {
|
||||||
1,
|
1,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
|
@ -10270,7 +10251,6 @@ fn test_calculate_fee_secp256k1() {
|
||||||
1,
|
1,
|
||||||
&fee_structure,
|
&fee_structure,
|
||||||
support_set_accounts_data_size_limit_ix,
|
support_set_accounts_data_size_limit_ix,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
11
|
11
|
||||||
);
|
);
|
||||||
|
@ -12015,39 +11995,22 @@ fn test_calculate_fee_with_congestion_multiplier() {
|
||||||
|
|
||||||
// assert when lamports_per_signature is less than BASE_LAMPORTS, turnning on/off
|
// assert when lamports_per_signature is less than BASE_LAMPORTS, turnning on/off
|
||||||
// congestion_multiplier has no effect on fee.
|
// congestion_multiplier has no effect on fee.
|
||||||
for remove_congestion_multiplier in [true, false] {
|
assert_eq!(
|
||||||
assert_eq!(
|
calculate_test_fee(&message, cheap_lamports_per_signature, &fee_structure, true,),
|
||||||
calculate_test_fee(
|
signature_fee * signature_count
|
||||||
&message,
|
);
|
||||||
cheap_lamports_per_signature,
|
|
||||||
&fee_structure,
|
|
||||||
true,
|
|
||||||
remove_congestion_multiplier,
|
|
||||||
),
|
|
||||||
signature_fee * signature_count
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// assert when lamports_per_signature is more than BASE_LAMPORTS, turnning on/off
|
// assert when lamports_per_signature is more than BASE_LAMPORTS, turnning on/off
|
||||||
// congestion_multiplier will change calculated fee.
|
// congestion_multiplier will change calculated fee.
|
||||||
for remove_congestion_multiplier in [true, false] {
|
assert_eq!(
|
||||||
let denominator: u64 = if remove_congestion_multiplier {
|
calculate_test_fee(
|
||||||
1
|
&message,
|
||||||
} else {
|
expensive_lamports_per_signature,
|
||||||
lamports_scale
|
&fee_structure,
|
||||||
};
|
true,
|
||||||
|
),
|
||||||
assert_eq!(
|
signature_fee * signature_count
|
||||||
calculate_test_fee(
|
);
|
||||||
&message,
|
|
||||||
expensive_lamports_per_signature,
|
|
||||||
&fee_structure,
|
|
||||||
true,
|
|
||||||
remove_congestion_multiplier,
|
|
||||||
),
|
|
||||||
signature_fee * signature_count / denominator
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -12076,7 +12039,7 @@ fn test_calculate_fee_with_request_heap_frame_flag() {
|
||||||
// assert when request_heap_frame is presented in tx, prioritization fee will be counted
|
// assert when request_heap_frame is presented in tx, prioritization fee will be counted
|
||||||
// into transaction fee
|
// into transaction fee
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
calculate_test_fee(&message, lamports_per_signature, &fee_structure, true, true,),
|
calculate_test_fee(&message, lamports_per_signature, &fee_structure, true),
|
||||||
signature_fee + request_cu * lamports_per_cu
|
signature_fee + request_cu * lamports_per_cu
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,18 +82,13 @@ impl FeeStructure {
|
||||||
message: &SanitizedMessage,
|
message: &SanitizedMessage,
|
||||||
lamports_per_signature: u64,
|
lamports_per_signature: u64,
|
||||||
budget_limits: &FeeBudgetLimits,
|
budget_limits: &FeeBudgetLimits,
|
||||||
remove_congestion_multiplier: bool,
|
|
||||||
include_loaded_account_data_size_in_fee: bool,
|
include_loaded_account_data_size_in_fee: bool,
|
||||||
) -> u64 {
|
) -> u64 {
|
||||||
// Fee based on compute units and signatures
|
// Fee based on compute units and signatures
|
||||||
let congestion_multiplier = if lamports_per_signature == 0 {
|
let congestion_multiplier = if lamports_per_signature == 0 {
|
||||||
0.0 // test only
|
0.0 // test only
|
||||||
} else if remove_congestion_multiplier {
|
|
||||||
1.0 // multiplier that has no effect
|
|
||||||
} else {
|
} else {
|
||||||
const BASE_CONGESTION: f64 = 5_000.0;
|
1.0 // multiplier that has no effect
|
||||||
let current_congestion = BASE_CONGESTION.max(lamports_per_signature as f64);
|
|
||||||
BASE_CONGESTION / current_congestion
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let signature_fee = message
|
let signature_fee = message
|
||||||
|
|
Loading…
Reference in New Issue