Commit Graph

4584 Commits

Author SHA1 Message Date
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
Tyera Eulberg d7179e4fa0 Revert "Define epoch-rewards partition data program id (#34862)"
This reverts commit 8aa726bfdf.
2024-02-05 19:54:19 -07:00
Tyera Eulberg 57634e4419 Revert "Fix epoch rewards partition-data program owner (#34913)"
This reverts commit 7ebe0bccd6.
2024-02-05 19:54:19 -07:00
Andrew Fitzgerald 9dca15a5b7
Rename priority to compute_unit_price (#35062)
* rename several priorities to compute_unit_price

* TransactionPriorityDetails -> ComputeBudgetDetails

* prioritization_fee_cache: fix comment

* transaction_state: fix comments and variable names

* immutable_deserialized_packet: fix comment
2024-02-05 16:41:01 -08:00
Dmitri Makarov ab30fb5f05
SVM: Move AccountOverrides from accounts-db to SVM (#35091) 2024-02-05 19:16:47 -05:00
Pankaj Garg 3cf5dd2afb
SVM: Move RuntimeConfig to svm folder (#35085) 2024-02-05 13:49:36 -08:00
Pankaj Garg 65701820f3
SVM: remove dependency on bank and bank_forks (#35084) 2024-02-05 11:48:42 -08:00
Pankaj Garg 116119cfd2
SVM: Move transaction processing code out of `bank.rs` (#35075)
SVM: Move transaction processing code out of bank.rs
2024-02-05 08:18:17 -08:00
Pankaj Garg cb0f13ef07
SVM: Split transaction processing code into its own struct (#35044)
* Split transaction processing code into its own struct

* define and implement callback trait
2024-02-04 08:07:39 -08:00
Brooks f62293918d
Moves the async deleter code to accounts-db (#35040) 2024-02-02 09:21:26 -05:00
Alexander Meißner 5dd9609aea
Fix - LoadedPrograms statistics (#35026)
Fixes hits, misses.
Adds reloads, lost_insertions.
Removes prunes_expired.
2024-02-02 13:35:36 +01:00
Brooks daa2449ad4
Removes RwLock on AccountsDb::shrink_paths (#35027) 2024-02-01 09:35:34 -05:00
Tao Zhu 0dcac3fe7c Revert "Remove congestion multiplier from calculate fee (#34865)"
This reverts commit 73d3973c7c.
2024-01-30 17:30:01 -06:00
Pankaj Garg c6c23405d6
Remove SVM dependency on Bank::should_collect_rent() (#35011) 2024-01-30 08:38:24 -08:00
HaoranYi b1f8a89da5
Fix bank new_from_field for epoch reward status (#34992)
* fix bank new_from_field for epoch reward status

* fix bank serde test assert for epoch reward status

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-01-29 09:00:40 -06:00