Commit Graph

4598 Commits

Author SHA1 Message Date
Dmitri Makarov 1d89ea01cc Rename LoadedPrograms to ProgramCache for readability (#339) 2024-03-20 16:28:38 -05:00
HaoranYi 304333405c Revert deprecate executable feature (#309)
* revert deprecate executable feature

* add native loader account transfer test

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-03-20 16:28:38 -05:00
Pankaj Garg 78f033d9e6 Move code to check_program_modification_slot out of SVM (#329)
* Move code to check_program_modification_slot out of SVM

* add documentation for the public function
2024-03-20 16:28:38 -05:00
Pankaj Garg 403225f112 Remove public visibility of program cache from bank (#279) 2024-03-20 16:24:48 -05:00
Brooks cfe6868f63 Removes the storage recycler (#118) 2024-03-15 22:22:45 -05:00
Jeff Washington (jwash) ad42bebe57 remove dead code (#176) 2024-03-15 22:21:42 -05:00
Brooks 5611a73b0e Moves accounts benches into accounts-db crate (#164) 2024-03-15 22:21:42 -05:00
Dmitri Makarov 85ccadf35b SVM: Add doc comments, restrict visibility of some xfaces to crate (#136) 2024-03-09 13:28:08 -06:00
Lucas Steuernagel 2c55819e7b Gather recording booleans in a data structure (#134) 2024-03-09 13:28:08 -06:00
Jon C ce10dc1043 runtime: Move `From<AddressLookupError>` from sdk (#141)
sdk: Move `From<AddressLookupError>` into runtime
2024-03-09 13:28:08 -06:00
Dmitri Makarov 264f4dfdd0 [SVM] Move RuntimeConfig to program-runtime (#96)
RuntimeConfig doesn't use anything SVM specific and logically belongs
in program runtime rather than SVM.  This change moves the definition
of RuntimeConfig struct from the SVM crate to program-runtime and
adjusts `use` statements accordingly.
2024-03-09 13:27:11 -06:00
Justin Starry c36b572c36 Add support for partial tx batch unlocking (#110)
* Add support for partial tx batch unlocking

* add assert

* fix build

* Add comments
2024-03-09 13:26:34 -06:00
Justin Starry 1ff68447d4 Refactor transaction account unlocking (#103)
refactor: unlock accounts
2024-03-09 13:26:34 -06:00
steviez d0cb5e273a Name previously unnamed thread pool threads (#104)
Several rayon and tokio threadpools did not have names; give them names
to make tracking them in debug tools easier
2024-03-09 13:26:34 -06:00
Alexander Meißner ccc6a6bf6f
Fix - `test_feature_activation_loaded_programs_recompilation_phase()` (#35299)
* Fixes test_feature_activation_loaded_programs_recompilation_phase() to trigger the recompilation phase before the epoch boundary.

* Adds a direct check of the cached entries around recompilation.
2024-03-02 06:55:53 -08:00
Lucas Steuernagel bd93285025
Proposal: Use SanitizedMessage when possible in `svm/account_loader.rs` (#35390) 2024-03-02 06:12:24 -03:00
Pankaj Garg cb260f10d1
Remove unnecessary unwrap from `simulate_transaction_unchecked()` (#35375)
Remove unnecessary unwrap from simulate_transaction_unchecked()
2024-03-01 13:37:51 -08:00
Tyera a7f9fe103f
Split runtime utilities out of stake_state.rs (#35386)
* Add points module

* Add rewards module

* Hide rewards doc

* Fixup ledger-tool imports
2024-03-01 09:08:55 -07:00
Sean Young 9bb59aa30f
ledger-tool: verify: add --record-slots and --verify-slots (#34246)
ledger-tool: verify: add --verify-slots and --verify-slots-details

This adds:

    --record-slots <FILENAME>
	Write the slot hashes to this file.

    --record-slots-config hash-only|accounts
	Store the bank (=accounts) json file, or not.

    --verify-slots <FILENAME>
        Verify slot hashes against this file.

The first case can be used to dump a list of (slot, hash) to a json file
during a replay. The second case can be used to check slot hashes against
previously recorded values.

This is useful for debugging consensus failures, eg:

    # on good commit/branch
    ledger-tool verify --record-slots good.json --record-slots-config=accounts

    # on bad commit or potentially consensus breaking branch
    ledger-tool verify --verify-slots good.json

On a hash mismatch an error will be logged with the expected hash vs the
computed hash.
2024-03-01 08:39:30 +00:00
Pankaj Garg 990ca1d0b8
Add limit to looping in banking-stage (#35342) 2024-02-28 17:36:45 -08:00
Justin Starry 312f786abf
Rename `SanitizedMessage::try_from` to `try_from_legacy_message` (#35338)
* Simplify and refactor tx message creation in tests

* Rename SanitizedMessage::try_from to try_from_legacy_message
2024-02-29 08:25:22 +08:00
Brooks 9146236f02
Removes ouroboros dependency (#35355) 2024-02-28 17:58:14 -05:00
Lucas Steuernagel ec63b813f5
Move account filter test to SVM (#35304) 2024-02-23 17:44:26 -03:00
Alexander Meißner 74758d9fbf
Refactor - Move recompilation out of program loading (#35297)
Moves recompilation specifics out of load_program().
2024-02-23 17:25:32 +01:00
Brooks 7da8d82aa1
Adds snapshot_utils::purge_all_bank_snapshots() (#35291) 2024-02-23 11:15:10 -05:00
Tao Zhu 139b9c8c25
Add fee_details to fee calculation (#35021)
* add fee_details to fee calculation

* fix - no need to round after summing u64

* feature gate on removing unwanted rounding
2024-02-23 08:58:48 -06:00
Alexander Meißner 2891ce886b
Fix - program loading with effective slot at epoch boundary (#35283)
* Always limit effective slot to the begin of the current epoch.

* Adds comments.

* Optimizes to avoid having two entries if there is no relevant feature activation.

* Adds test_feature_activation_loaded_programs_epoch_transition().
2024-02-23 15:15:28 +01:00
Lucas Steuernagel 31a73ab731
Move `test_rent_state_list_len` to SVM (#35287) 2024-02-22 18:37:09 -03:00
Dmitri Makarov 0acee67891
SVM: move transaction_results from accounts-db to SVM (#35183)
SVM: Remove accounts-db deps in accounts_loader tests
2024-02-20 12:54:56 -08:00
Brooks d88b7d95b1
Replaces ReadAccountMapEntry in slots_by_pubkey() (#35241) 2024-02-20 13:53:02 -05:00
Brooks 915faaba1c
Replaces ReadAccountMapEntry in snapshot minimizer (#35237) 2024-02-20 13:52:29 -05:00
Brooks 13f232436a
Renames BankSnapshotType -> BankSnapshotKind (#35246) 2024-02-20 07:09:29 -05:00
Brooks c5aaca43ab
Bring up to date the concurrent accounts benches (#34815) 2024-02-15 14:40:08 -05:00
Alexander Meißner d472725a12
Cleanup - `disable_bpf_loader_instructions` (#35164)
* Cleans up disable_bpf_loader_instructions.

* fix test_program_sbf_disguised_as_sbf_loader

* remove bpf loader execute bench

* Revert "remove bpf loader execute bench"

This reverts commit f3042ee3e1d6e0208df7d7f80f61e14294f108a8.

* move test utility functions out of test file

* update bench to loader v3

* clippy

* fix dev-context build

* fix dev-context import

* dev-context-util

* move dev-context-util attr to module level for loader_utils

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-02-15 13:46:00 +01:00
Alexander Meißner 1752202169
Refactor - Adds check that only loaded programs can be unloaded (#35146)
* Adds check that only loaded programs can be unloaded.

* Removes unused code.

* Adds test_unloaded().
2024-02-14 17:28:58 +01:00
Alexander Meißner 716ad5441b
Refactor - `LoadedPrograms::replenish()` (#35145)
* Replace LoadedPrograms::replenish() with LoadedPrograms::assign_program().

* Removes LoadedPrograms::replenish().

* Defines replacement by having the same loaded program type.

* Implements a proper insertion sort with a two key comparison operator.
2024-02-14 12:13:53 +01:00
steviez 41f97d7d09
ledger-tool: Add additional modes for accounts subcommand (#34925)
- Add mode to output individual pubkeys
- Add mode to output program accounts
2024-02-08 20:43:11 -06:00
Dmitri Makarov 245d1c4087
SVM: Move TransactionCheckResult definition from accounts-db to SVM (#35153) 2024-02-08 21:13:00 -05:00
Dmitri Makarov eeb0cf1ea8
SVM: Move nonce_info from accounts-db to Solana SDK (#35138) 2024-02-08 15:01:15 -05:00
Pankaj Garg 9b63ac8d7a
SVM: Remove dependency on MatchAccountOwnerError (#35144) 2024-02-08 15:32:19 +00:00
Pankaj Garg 28a320d815
SVM: Move `RentCollector` to sdk (#35122) 2024-02-07 16:38:42 -08:00
Dmitri Makarov b9ee3b475b
SVM: Move RentDebits from accounts-db to Solana SDK (#35135) 2024-02-07 15:10:17 -08:00
Dmitri Makarov 2c0001b530
SVM: Move RewardInfo from accounts-db to Solana SDK (#35120) 2024-02-07 10:55:39 -08:00
Pankaj Garg 56391f655d
Remove unnecessary usage of RentCollector (#35121) 2024-02-07 07:40:17 -08:00
Jeff Washington (jwash) 2aa8b82990
remove activated feature set_exempt_rent_epoch_max (#35082)
* remove activated feature set_exempt_rent_epoch_max

* fix test_rent_eager_collect_rent_in_partition test

* update hash values for test_bank_hash_consistency

* clean up commas
2024-02-07 09:20:31 -06:00
Pankaj Garg 46b9586630
SVM: Move SVM code to its own crate folder (#35119) 2024-02-06 16:06:32 -08:00
Jeff Washington (jwash) d52b1ac795
update rent epoch max test (#35092)
* update rent epoch max test

* invert diff
2024-02-06 13:45:51 -06:00
Pankaj Garg 10defb161f
SVM: Move TransactionErrorMetrics to SVM folder (#35112) 2024-02-06 11:15:48 -08:00
Pankaj Garg 99760e519a
SVM: move `inner_instructions_list_from_instruction_trace` to SVM (#35099)
SVM: move inner_instructions_list_from_instruction_trace to SVM
2024-02-06 08:38:24 -08:00
Tyera Eulberg 57bbd3363c Revert "Populate partitioned-rewards PDA during calculation (#34624)"
This reverts commit 4385ed11b1.
2024-02-05 19:54:19 -07:00