Alexander Meißner
be6d6fa5ae
Refactor - `LoadedPrograms::get_entries_sorted_by_tx_usage()` ( #32874 )
...
Factor get_entries_sorted_by_tx_usage() out of sort_and_unload().
2023-08-17 19:14:32 +02:00
Pankaj Garg
c17b938204
Integrate program loader-v4 with bank ( #32832 )
...
* Integrate program loader-v4 with bank
* fix tests
* new struct for ProgramRuntimeEnvironments
* remove environment from program_runtime_environment_v
* move find_program_in_cache() to invoke_context
* cleanup
2023-08-16 10:50:23 -07:00
Pankaj Garg
a1a0829a8b
Initialize and store PRv2 environment in cache ( #32812 )
...
* Initialize and store PRv2 environment in cache
* address review comments
2023-08-11 18:58:22 +00:00
Jon Cinque
8c14886891
sdk: Limited Borsh 0.9 support (Pubkey and helpers) ( #32511 )
...
* sdk: Implement Borsh 0.9 traits on Pubkey
* Alphabetize cargo.toml
* Add backwards-compatible borsh file
* Add borsh0_10.rs for more clarity
* Deprecate `borsh` utils, use borsh0_10 everywhere
* Mark borsh 0.9 helpers as deprecated
* Add macros for deriving helper impls
* Add borsh 0.9 tests
* Refactor tests into macro
2023-08-02 23:15:24 +02:00
Alessandro Decina
e3f253d559
introduce SerializedAccountMetadata ( #32644 )
...
* bpf_loader: move computing original account lengths inside serialize_paramters_(aligned|unaligned)
This is in preparation of returning more than just the original length
* bpf_loader: deserialize*: take original lens as an iterator instead of a slice
This is in preparation of extracting account lenghts from a larger
context
* bpf_loader: introduce SerializedAccountMetadata
Instead of passing original_account_lengths around as Vec<usize>,
introduce an explicit type that includes the length and soon more.
2023-07-28 18:34:27 +07:00
Tao Zhu
62b9fcfa76
cleanup feature: Use default units per instruction in fee calculation ( #32570 )
...
* cleanup feature: Use default units per instruction in fee calculation
2023-07-21 18:37:58 -05:00
Andrew Fitzgerald
a7eda70ddb
Preliminary Changes for Updating Cargo ( #32547 )
2023-07-21 13:43:00 -07:00
Will Hickey
83ac15dd97
Remove inappropriate use of usize. Refactor upcast. ( #32539 )
...
* Remove inappropriate use of usize. Refactor upcast.
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
2023-07-20 14:53:08 -05:00
Tao Zhu
c69bc00f69
cost model could double count builtin instruction cost ( #32422 )
...
1. add tests to demo builtin cost could be double counted;
2. quick fix for now
2023-07-17 15:50:13 -05:00
Pankaj Garg
7177dd9809
Remove calculate_fee()'s dependency on ComputeBudget ( #32487 )
2023-07-14 12:25:04 -07:00
Ryo Onodera
d80745cfaf
dcou: BorrowedAccount::set_data() ( #32424 )
...
* dcou: BorrowedAccount::set_data()
* Properly depend on dev-context-only-utils
2023-07-13 22:44:08 +09:00
behzad nouri
d54b6204be
removes instances of clippy::manual_let_else ( #32417 )
2023-07-09 21:41:36 +00:00
Alexander Meißner
9731331be4
Bump solana_rbpf to v0.6.0 ( #32313 )
2023-07-05 19:46:21 +02:00
Pankaj Garg
089fb464a9
Move message_processor to program-runtime ( #32268 )
2023-06-24 15:55:39 -07:00
HaoranYi
203544293b
Add epoch_rewards to sysvar cache ( #32155 )
...
add epoch_rewards to sysvar cache
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-06-20 15:01:34 -05:00
Tyera
748223c928
Use workspace serde dependency in program-runtime ( #32196 )
...
Use workspace serde dependency
2023-06-19 19:36:05 +00:00
galactus
2ceabd9368
Simd 47 syscall sysvar last restart slot ( #31957 )
...
* add sysvar and logic for last restart slot
* cleanup
* add test for getting last restart slot from account
* format code
* add some basic rustdoc
* copy+paste error
* feature flag for last_restart_slot
* add to sysvars.md
* updated wording in sysvars.md
* rename sol_get_last_restart_slot_sysvar > sol_get_last_restart_slot
* create sbf C header for sol_get_last_restart_slot
* cleanup imports
* reverted hardened_unpack workaround
* cleanup imports
* cleanup logs + blank lines
* Implementing ui changes for last restart slot, nit
* Some more nit change and implementing the UI for sysvar
* fixing the CI
* Minor clippy fix
* format changes
* changes suggested by mvines and lichtso
* increase timeout in local_cluster test
* fix code format
* use keypair for feature flag from mvines
* delete test.json file
* Revert "increase timeout in local_cluster test"
This reverts commit a67465ae22
.
* last restart slot should be always less than or equal to current slot
* fixing bug
* changes after steviez comments
* format issue fixed
* fixing the comment on premature application of future hardfork
* nit change in test
Co-authored-by: steviez <steven@solana.com>
* reverting sysvar_cache.rs because change was not necessary
---------
Co-authored-by: steve-gg <grooviegermanikus@gmail.com>
Co-authored-by: steviez <steven@solana.com>
2023-06-16 20:14:02 +00:00
Pankaj Garg
c86e160438
Add runtime environment to FailedVerification tombstones ( #31991 )
...
* Add runtime environment to FailedVerification tombstones
* modify default variant
* prune update
* add DelayVisibility in prune_feature_set_transition
2023-06-06 22:24:39 +00:00
Alexander Meißner
89207a3fe5
Feature - Prune on feature set transition ( #31945 )
...
* Call create_program_runtime_environment() in Bank::apply_builtin_program_feature_transitions().
* Adds LoadedPrograms::prune_feature_set_transition().
2023-06-06 17:49:02 +02:00
Pankaj Garg
1b30de4f32
Retain runtime environment config for unloaded programs ( #31953 )
...
* Retain runtime environment config for unloaded programs
2023-06-03 09:38:11 +02:00
Pankaj Garg
37ebb709e6
Evict program cache using transaction usage counter ( #31927 )
...
* Evict program cache using tx usage counter
* address review feedback
* address review feedback
2023-06-02 11:26:56 -07:00
Alexander Meißner
3792204598
Bump solana_rbpf to v0.5.0 ( #31943 )
...
* Renames RBPF BuiltIn to Builtin.
* Bump solana_rbpf to v0.5.0
2023-06-02 16:34:01 +02:00
Pankaj Garg
29d7a57cce
Reset program cache stats after submit ( #31929 )
2023-06-02 01:16:49 -07:00
Pankaj Garg
29904bb06b
More metrics for LoadedPrograms cache ( #31735 )
2023-05-22 07:53:54 -07:00
Alexander Meißner
83f692ce67
Refactor - Share RBPF config and syscall registry globally ( #31727 )
...
* Adds LoadedPrograms::program_runtime_environment_v1.
* No need to explicitly remove precompiles from program_accounts_map.
2023-05-20 20:28:00 +02:00
Pankaj Garg
8fbe471cc8
Remove special handling of builtin while pruning ( #31719 )
2023-05-19 09:35:48 -07:00
Pankaj Garg
e6d490708a
Do not overwrite builtin program in the same slot ( #31718 )
2023-05-19 05:26:31 -07:00
Trent Nelson
a0850a7501
runtime: rename executor cache datapoint ( #31716 )
2023-05-18 20:37:01 +00:00
Alexander Meißner
520c647918
Refactor - Merges `BuiltinPrograms` into `LoadedPrograms` ( #31654 )
...
* Merges BuiltinPrograms into LoadedPrograms.
* Prevents built-ins from being pruned.
2023-05-18 22:18:28 +02:00
Pankaj Garg
b03422968b
Remove Rc and RefCell to carry program cache in invoke_context ( #31684 )
2023-05-17 06:10:50 -07:00
Alexander Meißner
5c8b5a2a68
Bump solana_rbpf to v0.4.0 ( #31594 )
...
* Moves "disable_deploy_of_alloc_free_syscall" parameter inside create_loader().
* Removes the "is_abi_v2" flag.
* Bumps solana_rbpf to v0.4.0
2023-05-12 18:07:13 +02:00
Pankaj Garg
a649459fc6
LoadedPrograms::extract() code cleanup and unit tests ( #31604 )
2023-05-12 08:55:03 -07:00
Illia Bobyr
43c0f05ca0
Bumps base64 from 0.13.1 to 0.21.0. ( #31522 )
...
Changes:
marshallpierce/rust-base64@v0.13.1...v0.21.0
`base64::{encode,decode}` are now deprecated in favor of an API that
explicitly selects an `Engine`. Migrated all calls to the new API.
2023-05-11 11:34:58 -07:00
dependabot[bot]
c22b87e49a
Bump serde from 1.0.162 to 1.0.163 ( #31591 )
...
* Bump serde from 1.0.162 to 1.0.163
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.162 to 1.0.163.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-05-11 09:59:55 -06:00
Alexander Meißner
bbd8be6cbe
Refactor - Renames loader-v3 to loader-v4. ( #31570 )
...
Renames loader-v3 to loader-v4.
2023-05-11 08:29:06 +02:00
Pankaj Garg
04425b81ce
Add stats for LoadedPrograms ( #31577 )
2023-05-10 12:08:55 -07:00
Pankaj Garg
ab89e2cb15
Remove executor cache from the codebase ( #31566 )
2023-05-10 07:11:04 -07:00
Pankaj Garg
2210af60ee
Replace executor cache usage with LoadedPrograms cache ( #31462 )
...
* Replace executor cache usage with LoadedPrograms cache
* clippy fixes
* update cache with updated programs
* fixes
* more cleanup
* update tx batch cache with the tx results
* address review comments
* handle program closing backward compatibility
* handle unloaded programs during extraction
2023-05-09 15:44:38 -07:00
Pankaj Garg
3fd3e6d4e1
Use current root slot to disambiguate pruning of old programs ( #31548 )
...
* Use current root slot to unambiguate pruning of old programs
* simplify the change
* address comment
2023-05-09 11:28:56 -07:00
Pankaj Garg
3845423e17
Generalize matching criteria for tombstone at boot up ( #31547 )
...
Generalize matching criteria for tombstone at bootup
2023-05-09 08:26:42 -07:00
Pankaj Garg
b20024c705
Refactor implicit handling of delay visibility tombstones ( #31537 )
2023-05-08 09:15:04 -07:00
Pankaj Garg
d98aaf0614
Programs deployed before the latest root available on all current forks ( #31530 )
...
* Programs deployed before the latest root available on all current forks
* remove special case of slot 0
2023-05-08 07:51:32 -07:00
dependabot[bot]
d6dd842b8a
Bump serde from 1.0.160 to 1.0.162 ( #31506 )
...
* Bump serde from 1.0.160 to 1.0.162
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.160 to 1.0.162.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-05-05 13:30:49 -06:00
Pankaj Garg
9c6e7e0435
Return implicit delay visibility tombstone ( #31493 )
2023-05-05 06:08:57 -07:00
Pankaj Garg
de43ac44fd
Allow replacing tombstone with a non-tombstone ( #31494 )
2023-05-04 13:56:39 -07:00
Pankaj Garg
96e170bd37
Do not evict unloaded programs ( #31465 )
...
* Do not evict unloaded programs
* cleanup
2023-05-04 07:49:54 -07:00
Alexander Meißner
ae75c7cb3f
Refactoring - Remove redundant definition of `BuiltinProgram` ( #31429 )
...
* Replaces BuiltinProgram in the program-runtime with the one from solana_rbpf.
* Adjusts the runtimes built-ins to use Arc<LoadedProgram>.
* Adjusts the tests and benchmarks.
2023-05-02 23:01:28 +02:00
dependabot[bot]
021daea9ec
Bump serde from 1.0.159 to 1.0.160 ( #31427 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](serde-rs/serde@v1.0.159...v1.0.160)
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: illia.bobyr@solana.com
2023-05-01 17:37:29 -07:00
Pankaj Garg
8eebf64464
Add a second level cache to contain tx batch specific programs ( #31413 )
...
* Add a second level cache to contain tx batch specific programs
* fix clippy
* address review comments
2023-05-01 09:09:43 -07:00
Dmitri Makarov
aa7baaff29
Save nested traces on syscall context pop in InvokeContext ( #31397 )
2023-04-28 19:03:45 -04:00