Commit Graph

4474 Commits

Author SHA1 Message Date
Justin Starry 88af74d1d0
refactor: optional `stake_history` arg is never `None` (#34556)
refactor: optional stake_history arg is never none
2023-12-22 10:44:28 +08:00
GoodDaisy 03386cc7b9
Fix typos (#34459)
* Fix typos

* Fix typos

* fix typo
2023-12-21 13:06:00 -07:00
HaoranYi 531d69fd10
pass feature_set to BorrowedAccount (#34542)
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-12-21 20:03:17 +01:00
Brooks 3af306e072
Moves Bank tests-only ctors to DCOU (#34534) 2023-12-21 10:54:36 -05:00
Alexander Meißner 14446e55bf
Reword comment in `load_transaction_accounts()` (#34561)
Rewords the comment of simplify_writable_program_account_check in load_transaction_accounts().
2023-12-21 12:48:16 +01:00
Brooks d3cde6c6fd
Moves Bank benches-only ctors in DCOU (#34545) 2023-12-20 16:22:38 -05:00
Tao Zhu c722976a6f
clean up no longer needed feature_set in test (#34530) 2023-12-19 16:43:35 -06:00
Tao Zhu 4a8582eab4
cleanup feature code after activated everywhere (#34509) 2023-12-19 13:59:26 -06:00
Ryo Onodera d2b5afc410
Finish unified scheduler plumbing with min impl (#34300)
* Finalize unified scheduler plumbing with min impl

* Fix comment

* Rename leftover type name...

* Make logging text less ambiguous

* Make PhantomData simplyer without already used S

* Make TaskHandler stateless again

* Introduce HandlerContext to simplify TaskHandler

* Add comment for coexistence of Pool::{new,new_dyn}

* Fix grammar

* Remove confusing const for upcoming changes

* Demote InstalledScheduler::context() into dcou

* Delay drop of context up to return_to_pool()-ing

* Revert "Demote InstalledScheduler::context() into dcou"

This reverts commit 049a126c905df0ba8ad975c5cb1007ae90a21050.

* Revert "Delay drop of context up to return_to_pool()-ing"

This reverts commit 60b1bd2511a714690b0b2331e49bc3d0c72e3475.

* Make context handling really type-safe

* Update comment

* Fix grammar...

* Refine type aliases for boxed traits

* Swap the tuple order for readability & semantics

* Simplify PooledScheduler::result_with_timings type

* Restore .in_sequence()

* Use where for aesthetics

* Simplify if...

* Fix typo...

* Polish ::schedule_execution() a bit

* Fix rebase conflicts..

* Make test more readable

* Fix test failures after rebase...
2023-12-19 09:50:41 +09:00
Pankaj Garg 6f0133bd43
Improve cache eviction policy for LoadedPrograms (#34391)
* Use 2's random selection to evict program cache

* implement decaying of usage counter

* replace RwLock with AtomicU64

* address review comments

* remove -> swap_remove
2023-12-18 14:51:36 -08:00
Alexander Meißner 22bfcd92e0
Feature - Cooperative Program Loading (#34407)
* Disables verification-less reloading.

* Refactors LoadedPrograms::extract() to use a mutable parameter instead of returning the list of missing entries.

* Refactors LoadedPrograms::extract() to use a mutable parameter instead of returning a LoadedProgramsForTxBatch.

* Adds explicit SecondLevel structure to LoadedPrograms.

* Adds cooperative_loading_task.

* Implements cooperative loading in the bank.

* Fixes fork graph in tests.

* Adds LoadingTaskWaiter.

* Environment mismatch needs to just skip the entry.
2023-12-18 16:24:50 +01:00
Brooks 4181ea4677
Removes unnecessary AccountsDb::new_with_config_for_benches() (#34484) 2023-12-18 06:52:41 -05:00
Brooks cbe8a02029
Removes unnecessary AccountsDb::new_with_config_for_tests() (#34485) 2023-12-18 00:46:46 -05:00
Joe C 171c58c5c0
RPC: Add inner instructions to simulate transaction response (#34313)
* rpc: add optional `innerInstructions: bool` arg to `simulateTransaction`

* bank: enable cpi recording in simulate

* sdk: move `InnerInstructions` into SDK from accounts DB

* bank: return inner instructions from simulate tx

* rpc: return inner instructions from simulate tx

* rpc: simulate tx: add `jsonParsed` support for inner instructions

* accounts db: add deprecated attribute to re-exported inner instructions

* rpc: de-dupe inner instruction mapping

* update deprecated comment

Co-authored-by: Tyera <teulberg@gmail.com>

---------

Co-authored-by: Tyera <teulberg@gmail.com>
2023-12-16 12:49:22 +00:00
Tao Zhu 86c88d7ff6
Remove feature set from compute budget processor (#34472)
remove feature_set from compute_budget_processor
2023-12-15 15:01:02 -06:00
Tao Zhu f214a8220f
cleanup feature code after mainnet-beta activation (#34208)
* cleanup feature code after mainnet-beta activation
* rebase then cleanup references to activated feature
2023-12-15 13:14:51 -06:00
Brooks 45eaa4c1a6
Removes unnecessary Accounts constructors (#34471) 2023-12-14 22:50:15 -05:00
Brooks e79c09bdc4
Refactors Accounts constructors (#34466) 2023-12-14 16:36:47 -05:00
Tyera b0c54d3d61
Clean up prevent_rent_paying_rent_recipients feature (#34418)
Clean up Fab5 feature
2023-12-14 13:12:57 -07:00
Yihau Chen 5b1aa63184
remove unused imports (#34467) 2023-12-15 02:12:03 +08:00
Brooks d1cfd26abb
Refactors AccountsDb constructors (#34456) 2023-12-14 12:34:15 -05:00
Tao Zhu 69706be3d5
cleanup feature code after activated everywhere (#34359) 2023-12-14 11:26:33 -06:00
steviez ae6a4c0995
Only allow BankForks creation with single bank (#34449)
BankForks has two constructors; one that takes a single Bank (the root)
and one that can take an arbitrary number of Banks plus the root slot.
However, the constructor that accepts multiple banks is unnecessary; it
isn't used in production and is only used in several tests.

So, remove the multi-bank constructor and update unit tests.
2023-12-14 10:53:11 -06:00
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