Commit Graph

4451 Commits

Author SHA1 Message Date
Pankaj Garg 47dab26857
Set root slot/epoch in cache constructor (#34447) 2023-12-14 11:49:36 +01:00
steviez fe7970ce46
Remove redundant code from Bank::wrap_with_bank_forks_for_tests() (#34448)
The same initialization occurs when the Bank is inserted into a new
BankForks, so no need to duplicate the logic in this test function
2023-12-13 19:43:02 -06:00
Jon Cinque d36b211120
bank: Add errored compute units during simulation (#34450) 2023-12-14 01:35:55 +01:00
Brooks 0b6d939e21
Removes epoch_accounts_hash featurization (#34417) 2023-12-13 15:30:39 -05:00
Tao Zhu 2dfcdce630
cleanup feature code after mainnet-beta activation of DdLwVYuvDz26JohmgSbA7mjpJFgX5zP2dkp8qsF2C33V (#34089)
cleanup feature code after mainnet-beta activation
2023-12-13 13:07:51 -06:00
Tao Zhu 39f2866a10
cleanup feature code after mainnet-beta activation (#34289)
* cleanup feature code after mainnet-beta activation
* add comment for reserved enum
2023-12-12 18:06:49 -06:00
Brooks 79d0a47d78
Sets EpochAccountsHash to Valid in accounts bench (#34420)
Sets EAH to Valid in accounts bench
2023-12-12 20:48:15 +00:00
Lucas Steuernagel 4b762320cb
Remove WorkingSlot (#34342)
* Remove WorkingSlot
2023-12-11 16:02:53 -03:00
Brooks 61fa130175
Removes glob import of SnapshotKind (#34333) 2023-12-06 13:46:10 -05:00
Brooks 49ffe42661
Removes glob import of ApplyFeatureActivationsCaller (#34334) 2023-12-06 12:48:25 -05:00
Lucas Steuernagel 1877fdb273
Use BankForks on tests - Part 4 (#34271)
* Use BankForks on tests - Part 4

* Ensure the correct slot is set
2023-12-06 13:32:04 -03:00
Brooks c971ad2944
Removes unnecessary #[allow(dead_code)] in partitioned rewards (#34321) 2023-12-05 15:58:11 +00:00
Brooks 4bba59f063
Rebuilds skipped rewrites when loading from a snapshot (#34280) 2023-12-04 14:23:15 -05:00
Brooks efaec08f88
Clones skipped rewrites instead of taking (#34311) 2023-12-04 12:49:05 -05:00
Brooks 8fbe033eac
Moves val into .extend() instead of &mut and .into_iter() (#34285) 2023-12-01 14:38:01 -05:00
Lucas Steuernagel b97b3dd4ab
Use BankForks on tests - Part 3 (#34248)
* Add BankForks to core tests

* Refactor functions under DCOU
2023-12-01 13:47:22 -03:00
Andrew Fitzgerald 2294801954
Do not derive Copy for EpochSchedule and Rent (#32767) 2023-12-01 07:57:25 -08:00
steviez 935e06f8f1
Output BankHashDetails file when leader drops its' own block (#34256)
Currently, the file is generated when a node drops a block that was
produced by another node. However, it would also be beneficial to see
the account state when a node drops its' own block.

Output the file in this additional failure codepath
2023-11-29 17:20:27 -06:00
Lucas Steuernagel aeb4a348fb
Use BankForks on tests - Part 2 (#34234)
* Use BankForks on tests - Part 2

Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
2023-11-29 14:28:31 -03:00
Brooks b9ef204faf
Fixes BankFrom.*Timings (#34249) 2023-11-28 13:05:54 -05:00
Andrew Fitzgerald 40f5870a47
Refactor: check_transactions - allow borrowed transactions (#34232) 2023-11-28 08:24:16 -08:00
Lucas Steuernagel e83276522a
Use `BankForks` on tests - Part 1 (#34206)
---------

Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
2023-11-27 14:10:46 -03:00
Brooks da9fad84b3
Skip shrink until startup verification is complete (#34209) 2023-11-27 10:57:37 -05:00
Justin Starry 57ec20704a
clean feature: no_overflow_rent_distribution (#34074) 2023-11-27 06:18:19 +00:00
Alexander Meißner 4ee5078e5f
Refactor - `ExtractedPrograms` (#34205)
* Puts ExtractedPrograms into Arc<Mutex<>>.

* Merges ExtractedPrograms::missing and ExtractedPrograms::unloaded.

* Unifies missing entry insertion in LoadedPrograms::extract().
2023-11-23 09:17:21 +01:00
HaoranYi 57dc7adda1
move PROGRAM_OWNERS to sdk (#34193)
* move PROGRAM_OWNERS to sdk

* Update sdk/src/account.rs

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2023-11-21 09:49:33 -06:00
Lucas Steuernagel a3670054be
Move `RewardInterval` to runtime (#34146)
Move RewardInterval to runtime
2023-11-20 10:17:21 -03:00
Brooks e02f25d5a2
Removes filler accounts (#34115) 2023-11-19 20:36:57 -05:00
HaoranYi 573ec15068
Fix tests for disabling rent collection (#34122)
fix tests

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-11-17 09:03:33 -06:00
Brooks 851be08729
clippy: Replaces .get(0) with .first() (#34143) 2023-11-17 10:03:08 -05:00
Alexander Meißner 6b8545061f
Fix - `Bank::compute_active_feature_set()` and `Bank::apply_feature_activations()` (#34124)
* Moves modification of feature accounts from Bank::compute_active_feature_set() into Bank::apply_feature_activations().

* Renames allow_new_activations and newly_activated to include_pending and pending.

* Fix test_compute_active_feature_set.
2023-11-17 09:54:21 +01:00
Andrew Fitzgerald eb35a5ac1e
Clean up: simplify asserts (#34111) 2023-11-16 17:46:14 -08:00
Justin Starry 3d3e7bb453
test cleanup: remove reference to verify_tx_signatures_len feature (#34078) 2023-11-17 09:36:10 +08:00
Lucas Steuernagel 2c71d21fad
Move load_accounts to runtime (#34017)
* Move load_accounts to runtime

---------

Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
2023-11-16 18:45:58 -03:00
HaoranYi b8b860fe88
grammar correction (#34109)
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-11-16 16:31:46 +00:00
HaoranYi 60fdd85aed
Add a feature to disable rent collection (#33945)
* add a feature to disable rent collection

* fix a test

* fix a test

* rekey

* should collect rent

* Update runtime/src/bank/fee_distribution.rs

Co-authored-by: Brooks <brooks@prumo.org>

* expand tests to cover both rent collection disabled and enabled

* feedbacks

* reviews - move should collect rent check out of rent collector into bank

* enforce rent_epoch to u64:max when rent collection is disabled

* review feedbacks and fix a test
When rent fee collection is disabled, we won't collect rent for any account. If there are any rent paying accounts, their `rent_epoch` won't change too.

* revise comments

* update rent_epoch for rent exempted account

* rebase

* set rent_epoch in rent collection for rent exempted account

* revert test change

* don't assert

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
Co-authored-by: Brooks <brooks@prumo.org>
2023-11-16 08:57:49 -06:00
Pankaj Garg bc2c98bfde
Simplify code for bank::load_program() (#34093)
* Simplify code for bank::load_program()

* address review comments
2023-11-15 15:17:14 -08:00
Alexander Meißner ffa462dd3a
Cleanup - Feature gate of `delay_visibility_of_program_deployment` (#34087)
* Cleans up feature gate of delay_visibility_of_program_deployment.

* Removes programs_updated_only_for_global_cache.
2023-11-15 18:29:31 +01:00
Alexander Meißner d93280c287
Cleanup - Feature gate of `limit_max_instruction_trace_length` (#34085)
Cleans up feature gate of limit_max_instruction_trace_length.
2023-11-15 17:51:10 +01:00
Brooks 725ab37bf4
clippy: Replaces .get(0) with .first() (#34048) 2023-11-13 17:22:17 -05:00
Brooks ae30572585
Use AtomicAppendVecId type alias in verify_and_unarchive_snapshot() (#34019) 2023-11-12 05:01:17 +00:00
Brooks 04e4efd8ae
Puts create_tmp_accounts_dir_for_tests() behind DCOU (#34022) 2023-11-11 00:44:23 +00:00
Brooks 60d267a548
Adds documentation to verify_and_unarchive_snapshots() (#34020) 2023-11-10 21:10:51 +00:00
Pankaj Garg 59eb55990c
Move filter_executable_program_accounts to bank.rs (#34004) 2023-11-09 14:40:04 -08:00
Alexander Meißner a9509f56b7
Feature - Epoch boundary recompilation phase (#33477)
* Adds LoadedPrograms::upcoming_environments.

* Moves LoadedPrograms::prune_feature_set_transition() into LoadedPrograms::prune().

* Adds parameter recompile to Bank::load_program().

* Sets latest_root_slot/epoch and environments in Bank::finish_init().

* Removes FEATURES_AFFECTING_RBPF list.

* Adjusts test_feature_activation_loaded_programs_recompilation_phase().
2023-11-09 13:10:59 +01:00
Justin Starry ebe8afb0c3
Burn fees collected into invalid accounts (#33887)
* refactor: create bank::fee_distribution module

* feature: add checks to fee distribution

* refactor: move Bank::deposit fn into test_utils

* feedback

* feedback 2

* add datapoints

* change to datapoint_warn

* typo
2023-11-06 10:02:22 +08:00
Ryo Onodera a4a66026e1
Introduce InstalledSchedulerPool trait (#33934)
* Introduce InstalledSchedulerPool

* Use type alias

* Remove log_prefix for now...

* Simplify return_to_pool()

* Simplify InstalledScheduler's context methods

* Reorder trait methods semantically

* Simplify Arc<Bank> handling
2023-11-03 16:02:12 +09:00
Ryo Onodera 136ab21f34
Define InstalledScheduler::wait_for_termination() (#33922)
* Define InstalledScheduler::wait_for_termination()

* Rename to wait_for_scheduler_termination

* Comment wait_for_termination and WaitReason better
2023-10-31 14:33:36 +09:00
Joe C ecd674bd92
revert programify feature gate (#33897) 2023-10-27 18:28:13 +02:00
Jeff Washington (jwash) a18debc34a
allow test feature to skip rewrites (#33851)
* allow test feature to skip rewrites

* hook up cli arg for test skip rewrites, update tests

* fix sanity checker

* add account hash to abi to fix a test

* reviews

* use hashmap to collect skip_rewrites. exclude skip_rewrites from dirty
pubkey set

* accumulate skipped_rewrite in reduce

* mutex

* fmt

* skip hash verify for this test flag

* add skipped rewrites num stat

* skip bank hash verify not account hash verify

* reviews

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-10-27 09:14:05 -05:00