#### Problem
Before we have fully switched to the new way to determine whether
an account is executable, we still need a bit for th executable flag at
this moment in the TieredStorage as well as for backward compatibility
in case we want to revert it back.
#### Summary of Changes
This PR adds the executable flag into AccountMetaFlags.
#### Test Plan
Updated existing tests for AccountMetaFlags to cover executable flag.
* update sbf test to use bpf_loader v2
* update test_program_sbf_invoke_sanity test
* update test bpf program owner
* update test_program_sbf_invoke_upgradeable_via_cpi
* update test_program_sbf_disguised_as_sbf_loader
* update test_program_reads_from_program_account
* update test_program_sbf_program_id_spoofing
* update test_program_sbf_caller_has_access_to_cpi_program
* update 3 more tests
* fix program buffer size in minimul for rent exempt calculation
* more test updates
* more update
* more test updates
* comments
* undo c format
* typo
* add sol_alloc_free not deployable and deployable tests
* comments
* review feedback - move buffer_keypair and program_keypair inside callee
fn.
* more refactor
* delete sof_alloc_free_syscall enabled tests
* revert lamport change
---------
Co-authored-by: HaoranYi <haoran.yi@solana.com>
* add client-node-id to use staked connection
* Add flag to use unstaked connection for bench-tps
* Add bind-address for multinode
* always specify url for bench-tps
* add functionality to read proof from accounts instead of instruction data
* update add tests
* clippy
* clarify instruction data discriminator
* avoid cloning entire proof data
* Update programs/zk-token-proof/src/lib.rs
Co-authored-by: Jon C <me@jonc.dev>
* update `PROOF_OFFSET_LENGTH` to `INSTRUCTION_DATA_LENGTH_WITH_PROOF_ACCOUNT`
* update instruction docs
* add feature gate
* Update sdk/src/feature_set.rs
Co-authored-by: Jon C <me@jonc.dev>
* update feature name `enable_zk_from_account` to `enable_zk_proof_from_account`
* Apply suggestions from code review
Co-authored-by: Jon C <me@jonc.dev>
* clarify the instruction data length more precisely
---------
Co-authored-by: Jon C <me@jonc.dev>
The code to parse process options was repeated in several (8) commands
that replay block processing. So, move the argument parsing into a
common helper that can be used by all of those commands.
* Use EMA to compute QUIC streamer load for staked connections
* change min load to 25% of max load
* reduce max PPS from 500K to 250K
* update ema_function to account for missing intervals
* replace f64 math with u128
* track streams across all connections for a peer
* u128 -> u64
* replace ' as ' type conversion to from and try_from
* add counter for u64 overflow
* reset recent stream load on ema interval
* do not use same counter for unstaked connections from a peer IP
* Update proto files with tonic-build v0.9.2
* Manually ignore invalid doc-tests
* Add new ReadRowsRequest fields
* Add LedgerStorageConfig::max_message_size and default value
* Add BigtableConnection::max_message_size and use on client creation
* Add max_message_size to RpcBigtableConfig and make const pub
* Add solana-validator cli arg
solana-ledger-tool is a bit of a kitchen sink and currently has
upwards of 30 commands at the top level of the CLI. UI aside, the
contents of ledger-tool/src/main.rs are somewhat cluttered.
To reduce clutter and introduce a more hierarchical structure, this
change introduces a new blockstore subcommand and moves all commands
that only touch the blockstore to a blockstore subcommand. For example,
solana-ledger-tool slot X
is now invoked like
solana-ledger-tool blockstore slot X
However, given how long the tool has existed, support is retained for
calling these old commands without the extra blockstore command. But,
the commands are not listed in the help in order to steer new users to
use the newer calling structure.
* cli: Deploy the appropriate length program
* Extend the extend-program test for new default
* Add CHANGELOG entry
* Update docs, and include `extend`
* Update CHANGELOG.md
Co-authored-by: Tyera <teulberg@gmail.com>
---------
Co-authored-by: Tyera <teulberg@gmail.com>
Forks will run all the cron schedules. And I do not think they benefit
from those. For the downstream project checks, these runs are actually
very expensive - about an hour of run time per execution. Easily
draining free account limits.
* Update genesis processing to have a fallback collector id for tests
* DCOU-ify the collector id for tests parameter (#1902)
* wrap test_collector_id in DCOU
* rename param to collector_id_for_tests
* fix program test
* fix dcou
---------
Co-authored-by: Brooks <brooks@prumo.org>