Commit Graph

24954 Commits

Author SHA1 Message Date
Trent Nelson e80f8fa9e6 remove raptor coding experiments (#255) 2024-03-15 22:25:14 -05:00
Wen 9e394bd0e5 Wen_restart: check block full using blockstore (#250)
* Switch to blockstore.is_full() check because replay thread isn't active.

* Use make_chaining_slot_entries and add first_parent to the method.
Small style fixes.

* Switch to blockstore.is_full() check because replay thread isn't active.
2024-03-15 22:25:14 -05:00
Wen 5d7219675b wen_restart: replace get_aggregate_result() with more methods (#254)
* Replace AggregateResult with more methods.

* Rename slots_to_repair() to slots_to_repair_iter().
2024-03-15 22:25:14 -05:00
samkim-crypto 683e1071f7 [zk-token-sdk] Implement `FromStr` for `ElGamalPubkey`, `ElGamalCiphertext`, and `AeCiphertext` (#130)
* add `ParseError` in `zk-token-elgamal`

* implement `FromStr` for `ElGamalPubkey` and `ElGamalCiphertext`

* implement `FromStr` for `AeCiphertext`

* fix target

* cargo fmt

* use constants for byte length check

* make `FromStr` functions available on chain

* use macros for the `FromStr` implementations

* restrict `from_str` macro to `pub(crate)`

* decode directly into array

* cargo fmt

* Apply suggestions from code review

Co-authored-by: Jon C <me@jonc.dev>

* remove unnecessary imports

* remove the need for `ParseError` dependency

---------

Co-authored-by: Jon C <me@jonc.dev>
2024-03-15 22:25:14 -05:00
sakridge 1036abf250 Fix gossip contact trace (#241) 2024-03-15 22:25:14 -05:00
Greg Cusack 274382ff68 Add in metrics for detecting Redundant Pulls (#199) 2024-03-15 22:25:14 -05:00
Nagaprasad V R 50cc77c58f relax stake split destination check (#162)
* relax stake split destination check

* change stake_account error handling logic

* fmt

* modify logic

* change error message when account is neither owned by stake program or system program

* add a comment explaining nested ifs in stake_account error handling

* fix typos in comments

* update comment
2024-03-15 22:25:14 -05:00
dependabot[bot] 429a68cce1 build(deps): bump hidapi from 2.6.0 to 2.6.1 (#237)
Bumps [hidapi](https://github.com/ruabmbua/hidapi-rs) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/ruabmbua/hidapi-rs/releases)
- [Commits](https://github.com/ruabmbua/hidapi-rs/commits)

---
updated-dependencies:
- dependency-name: hidapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-15 22:25:14 -05:00
Justin Starry 0d1cb92ed9 Add `reserved_account_keys` module to sdk (#84) 2024-03-15 22:25:14 -05:00
Jeff Washington (jwash) de9358638b allow FlushStats to accumulate (#215) 2024-03-15 22:25:14 -05:00
Kirill Fomichev 219d7772b1 rpc: disable BigTable with header (#226)
* rpc: disable BigTable with header

* use is_some_and instead map+unwrap_or

Co-authored-by: Tyera <tyera@anza.xyz>

---------

Co-authored-by: Tyera <tyera@anza.xyz>
2024-03-15 22:25:14 -05:00
Greg Cusack 82fefb7de7 update changelog and remove deprecated label on `gossip_service::get_client()` (#227)
update changelog and remove deprecated label on get_client
2024-03-15 22:25:14 -05:00
Jon C d3c0adf1c4 deps: Update base64 to 0.22 (#225)
* deps: Update base64 to 0.22

* Add changelog entry
2024-03-15 22:25:14 -05:00
anwayde 6e29c801f3 bench-tps: allow option to not set account data size on every transaction (#209)
bench-tps: allow option to not set account data size
2024-03-15 22:25:14 -05:00
Yueh-Hsuan Chiang 871421023e [TieredStorage] Remove the general-purposed TieredStorageWriter (#196)
#### Problem
tiered_storage/writer.rs was added when we planned to support multiple
tiers in the tiered-storage (i.e., at least hot and cold).  However, as we
changed our plan to handle cold accounts as state-compressed accounts,
we don't need a general purposed tiered-storage writer at this moment.


#### Summary of Changes
Remove tiered_storage/writer.rs as we currently don't have plans to develop cold storage.

#### Test Plan
Existing tiered-storage tests.
2024-03-15 22:25:14 -05:00
Yueh-Hsuan Chiang 2a4eb962ca [TieredStorage] Repurpose TieredReadableAccount to HotAccount (#218)
#### Problem
As we further optimize the HotStorageMeta in #146, there is a need
for a HotAccount struct that contains all the hot account information.
Meanwhile, we currently don't have plans to develop a cold account
format at this moment.  As a result, this makes it desirable to repurpose
TieredReadableAccount to HotAccount.

#### Summary of Changes
Repurpose TieredReadableAccount to HotAccount.

#### Test Plan
Existing tiered-storage tests.
2024-03-15 22:25:14 -05:00
steviez 3cf4f1e38a ledger-tool: Allow compute-slot-cost to operate on dead slots (#213)
Make this command accept the --allow-dead-slots arg as well
2024-03-15 22:25:14 -05:00
Dmitri Makarov 9ec8755819 SVM: Eliminate filter_executable_program_accounts from pub interface (#214) 2024-03-15 22:25:14 -05:00
Brennan 5ab9808a9e Loaded program test robustness (#59)
* tests robust to prog entry count
2024-03-15 22:25:14 -05:00
dependabot[bot] 89e36f60f4 build(deps): bump raptorq from 1.8.0 to 1.8.1 (#222)
Bumps [raptorq](https://github.com/cberner/raptorq) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/cberner/raptorq/releases)
- [Commits](https://github.com/cberner/raptorq/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: raptorq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-15 22:25:14 -05:00
ripatel-fd f2d77f0209 sdk: support Pubkey::to_bytes as constexpr (#220) 2024-03-15 22:25:14 -05:00
dependabot[bot] 94da52df70 build(deps): bump http from 0.2.11 to 0.2.12 (#85)
* build(deps): bump http from 0.2.11 to 0.2.12

Bumps [http](https://github.com/hyperium/http) from 0.2.11 to 0.2.12.
- [Release notes](https://github.com/hyperium/http/releases)
- [Changelog](https://github.com/hyperium/http/blob/v0.2.12/CHANGELOG.md)
- [Commits](https://github.com/hyperium/http/compare/v0.2.11...v0.2.12)

---
updated-dependencies:
- dependency-name: http
  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>
2024-03-15 22:25:13 -05:00
steviez be38278281 Move default value for --rpc-pubsub-notification-threads to CLI (#158)
The default value was previously being determined down where the thread
pool is being created. Providing a default value at the CLI level is
consistent with other args, and gives an operator better visibility into
what the default will actually be
2024-03-15 22:24:45 -05:00
Greg Cusack 9a8da98577 Fully remove `ThinClient` from `bench-tps` (#132)
remove ThinClient from bench-tps
2024-03-15 22:22:45 -05:00
Brooks 574c1ad195 Adds a new bench for accounts delta hash (#210) 2024-03-15 22:22:45 -05:00
steviez 55408093cd Make ReplayStage own the threadpool for tx replay (#190)
The threadpool used to replay multiple transactions in parallel is
currently global state via a lazy_static definition. Making this pool
owned by ReplayStage will enable subsequent work to make the pool
size configurable on the CLI.

This makes `ReplayStage` create and hold the threadpool which is passed
down to blockstore_processor::confirm_slot().

blockstore_processor::process_blockstore_from_root() now creates its'
own threadpool as well; however, this pool is only alive while for
the scope of that function and does not persist the lifetime of the
process.
2024-03-15 22:22:45 -05:00
Andrew Fitzgerald e8b5f8f375 Remove unused account_deps (#188) 2024-03-15 22:22:45 -05:00
dependabot[bot] 4cddf3e5aa build(deps): bump proc-macro2 from 1.0.78 to 1.0.79 (#203)
* build(deps): bump proc-macro2 from 1.0.78 to 1.0.79

Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.78 to 1.0.79.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.78...1.0.79)

---
updated-dependencies:
- dependency-name: proc-macro2
  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>
2024-03-15 22:22:45 -05:00
Brooks 6548d92bb5 Moves a clippy attribute (#194) 2024-03-15 22:22:45 -05:00
steviez 1ffdca5773 Make --wait-for-supermajority require --expected-shred-version (#192)
In cluster restart scenarios, an important step is scanning the
Blockstore for blocks that occur after the chosen restart slot with an
incorrect shred version. This check ensures that any blocks that
occurred pre-cluster restart and after the chosen restart slot get
deleted. If a node skips this step, the node can encounter problems when
that block is created again, after the cluster has restarted.

This check only occurs if --wait-for-supermajority AND
--expected-shred-version are set; however, --expected-... is currently
optional when using --wait-...

Our restart instructions typically mention that one should specify
--expected-... as well, but we should just enforce it at the CLI level
to prevent mistakes / wasted time debuggging.
2024-03-15 22:22:45 -05:00
Brooks 87a5893d84 Removes redundant imports (#193) 2024-03-15 22:22:45 -05:00
Tyera 814181b07b Rpc: add support for minimum context slot to `getBlocks(WithLimit)` endpoints (#191)
* Support min_context_slot field in getBlocksWithLimit input

* Use min_context_slot in get_blocks_with_limit

* Support min_context_slot field in getBlocks input

* Use min_context_slot in get_blocks
2024-03-15 22:22:45 -05:00
Yihau Chen 8b927561dc Revert "build(deps): bump cc from 1.0.83 to 1.0.89 (#40)" (#174)
This reverts commit 7a8e29d4d5.
2024-03-15 22:22:45 -05:00
Yihau Chen 88ffa74180 ci: remove unused Github Actions (#124) 2024-03-15 22:22:45 -05:00
Greg Cusack d5c5f06ddb Remove `ThinClient` from `dos/` (#117)
* remove `ThinClient` from `dos/` and replace `ThinClient` with `TpuClient`

* remove test for valid_client_facing_addr since it is no longer used
2024-03-15 22:22:45 -05:00
Brooks 096a1f4e5c Removes holding storages in AccountsHashVerifier for fastboot (#120) 2024-03-15 22:22:45 -05:00
Brooks 27e51b3196 Removes atomic-ness from AccountStorageEntry `id` and `slot` fields (#119) 2024-03-15 22:22:45 -05:00
Lucas Steuernagel 799888efc8 Add tests for `svm/transaction_processor.rs` (#186) 2024-03-15 22:22:45 -05:00
Brooks cfe6868f63 Removes the storage recycler (#118) 2024-03-15 22:22:45 -05:00
Greg Cusack 4a80bb902e bump deprecated version numbers for `get_client` and `get_multi_client` (#184)
bump deprecated version numbers
2024-03-15 22:22:45 -05:00
behzad nouri 4d3546ad75 expands weighted-shuffle benchmarks (#179)
Adding separate benchmarks for WeightedShuffle::new and
WeightedShuffle::shuffle.
2024-03-15 22:22:45 -05:00
steviez 365922d814 Move AccountsDb replication arguments to deprecated list (#157)
These arguments are not read by anything, and they appear to correspond
to a proposed feature that is no longer in the codebase.
2024-03-15 22:22:45 -05:00
Tyera 4e63141e38 Version bump v2.0.0 (#121)
* Put solana-svm in alphabetical order

* Update version to 2.0.0.

---------

Co-authored-by: Will Hickey <will.hickey@solana.com>
2024-03-15 22:22:43 -05:00
Jeff Washington (jwash) ad42bebe57 remove dead code (#176) 2024-03-15 22:21:42 -05:00
Greg Cusack f5e13a1c9f deprecate `get_client` and `get_multi_client` (#177)
deprecate get_client and get_multi_client
2024-03-15 22:21:42 -05:00
Brooks 5611a73b0e Moves accounts benches into accounts-db crate (#164) 2024-03-15 22:21:42 -05:00
GHA: Update Upstream From Fork 11f44777e3 Remove agave references accidentially added by f944227dba 2024-03-15 22:21:27 -05:00
bji f219fbc8f0 Update maximum credits awarded per vote from 8 to 16 (#127)
This reduces the maximum penalty for voting after the grace period by
roughly 50%.  This new value was derived from looking at the effects
that TVC at max credits 8 would have for recent epochs (500+) and
noting that the effect was a bit extreme, up to and exceeding 10%
"bonus" for faster voters.  This change reduces that maximum bonus by
roughly half.

In addition, the TVC feature key has been changed.
2024-03-15 21:32:41 -05:00
GHA: Update Upstream From Fork e0203f22dc Revert "ci: rename script (#125)"
This reverts commit ed57e6aa10.
2024-03-11 08:17:30 -05:00
GHA: Update Upstream From Fork a8e2540a57 Revert "Use agave prefix in scripts for pre-installed binaries (#155)"
This reverts commit 3cba072274.
2024-03-11 08:17:09 -05:00