* restrict curve25519 multiscalar multiplication vector length to 512
* add syscall tests for msm vector length
* add new feature gate `curve25519_restrict_msm_length`
* update tests for feature new gate
* Update programs/bpf_loader/src/syscalls/mod.rs
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* remove length guard on the multisicalar mult lib function
---------
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
The log statement is currently a bit misleading, and could be
interpretted as saying this routine deleted a shred.
Adjust the log statement to state that this routine is looking for the
shred but couldn't find it. Also, elevate the log to error level as
inconsistent state across columns should not be happening.
* wire up fork stats fork_weight
* convert weight to percentage for logging
* add bank_stake
* remove old fork choice measure and stats - vote stake * lockout
* update tests
* fix bank_weight and rename it to fork_weight
* fix u64 multiple overflow in fork_weight calculation
* format fork_weight as percentage in logging
---------
Co-authored-by: HaoranYi <haoran.yi@solana.com>
#### 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>