* ci: Test anchor-spl during downstream build
* Also test anchor-client
* Update scripts/build-downstream-anchor-projects.sh
Co-authored-by: acheron <98934430+acheroncrypto@users.noreply.github.com>
* Specify features to use in build-sbf
---------
Co-authored-by: acheron <98934430+acheroncrypto@users.noreply.github.com>
* Add allow_commission_decrease_at_any_time feature which will allow
vote account commission to be lowered at any time during the epoch
regardless of the commission_updates_only_allowed_in_first_half_of_epoch
feature. Fixes#33843.
SIMD: 0080
* Remove unused `feature_set` import
---------
Co-authored-by: Jon Cinque <me@jonc.dev>
* Add checks to decide which SDK crate to use
* Make module only available in non-program environments
* Remove `solana-sdk` export and only export from `solana-program`
* Removes retain() from prune_by_deployment_slot() as that is covered in remove_programs_with_no_entries() already.
* Removes remove_programs_with_no_entries() from sort_and_unload().
* Fixes ix_usage_counter in LoadedProgram::to_unloaded().
* Fixes doc comment of LoadedProgram::ix_usage_counter.
* Removes unused num_total_programs from test_eviction().
* Replaces .as_ref() in lambda with std::option::Option::as_ref.
* Replaces .for_each() with a for-loop.
* Uses .retain() instead of iter().filter().cloned().collect().
Allow loading the plugin name from the json config file as opposed to use plugin.name which is called before config file is passed to it. Allowing different plugins using the same executable to use different names.
Waiting on receiver.recv() can unnecessarily block while the connection is already closed.
The commit exits send_datagram_task if the connection is closed.
* ancient append vec append creates big enough ancient append vecs
* assert we write the correct # of bytes
* fix tests
* u64 align accounts bytes written
* fix build
* add tests
* we don't need to align the store to u64.
When we call `remaining_bytes` to calculate, for the last element, u64_align!(len) could be greater than capacity. However, because saturate_sub is used, we still get the correct answer of 0. Therefore, no need to align the storage to u64.
* add comments
* add shink test for min_size
* remove dead code
* fix build
* reviews
* add test for squash ancient vec overflow too much to fit into ideal av
* add test for get_bytes on AccountToStore
* clippy
* modify test to assert 0 size of opposite
---------
Co-authored-by: HaoranYi <haoran.yi@solana.com>
#### Problem
After we have defined AccountOffset to be u32, it means the address space within
one HotAccountsFile is up to 4GB. However, since the Accounts Blocks in a
HotAccountsFile is 8-byte aligned, it has the opportunity to store more data by
internally multiplying the AccountOffset by 8.
#### Summary of Changes
This PR allows a HotAccountsFile to store up to 32GB accounts data by using
8 x AccountOffset as its actual offset.
#### Test Plan
Updated existing unit-tests.