cleanup feature code after activated everywhere (#34509)

This commit is contained in:
Tao Zhu 2023-12-19 13:59:26 -06:00 committed by GitHub
parent 51c9963a60
commit 4a8582eab4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 71 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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()),
) )

View File

@ -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
); );
} }

View File

@ -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