Commit Graph

24970 Commits

Author SHA1 Message Date
Pankaj Garg aba8ce5f3e
Move code to check_program_modification_slot out of SVM (#329)
* Move code to check_program_modification_slot out of SVM

* add documentation for the public function
2024-03-20 05:39:07 -07:00
Jon C 261b3e9ee7
CI: Add windows clippy job and fix clippy errors (#330)
* CI: Run clippy on windows

* Update cargo-clippy-before-script.sh for Windows

* Pacify clippy
2024-03-20 13:21:00 +01:00
Tao Zhu 184ba6cb84
qos service should also accumulate executed but errored units (#328)
qos service should also accumulated executed but errored units
2024-03-20 00:44:34 +00:00
Alessandro Decina 8df80d9c12
accounts-db: unpack_archive: unpack accounts straight into their final destination (#289)
* accounts-db: unpack_archive: avoid extra iteration on each path

We used to do a iterator.clone().any(...) followed by
iterator.collect(). Merge the two and avoid an extra iteration and
re-parsing of the path.

* accounts-db: unpack_archive: unpack accounts straight into their final destination

We used to unpack accounts into account_path/accounts/<account> then
rename to account_path/<account>. We now unpack them into their final
destination directly and avoid the rename syscall.
2024-03-20 09:39:33 +11:00
Ashwin Sekar 228413ca8a
vote: reuse ff to gate tvc constant update from 8 -> 16 (#322) 2024-03-19 22:26:13 +00:00
Dmitri Makarov f1d56e95f5
SVM: minor refactoring to improve code readability (#317) 2024-03-19 15:32:07 -04:00
Lucas Steuernagel e8526f60aa
SVM integration test (#307) 2024-03-19 13:44:34 -03:00
Jon C d4bcdf856e
install: Fix check for windows build (#295) 2024-03-19 14:20:27 +08:00
Brennan 67c3bff092
fix polarity for concurrent replay (#297)
* fix polarity for concurrent replay
2024-03-18 19:37:32 -07:00
Greg Cusack ed573ff60c
add in method for building a `TpuClient` for `LocalCluster` tests (#258)
* add in method for building a TpuClient for LocalCluster tests

* add cluster trait. leave dependency on solana_client::tpu_client
2024-03-18 17:58:11 -07:00
Justin Starry 2c12500513
cli: skip no-op program buffer writes (#277)
cli: skip no-op program deploy write txs
2024-03-19 07:28:53 +08:00
Yueh-Hsuan Chiang 7c49b9c59e
[TieredStorage] Use BufWriter in TieredWritableFile (#261)
#### Problem
TieredWritableFile currently uses File instead of BufWriter.
This will introduce more syscall when doing file writes.

#### Summary of Changes
This PR makes TieredWritableFile uses BufWriter to allow the
write-call to be more optimized to reduce the number of syscalls.

#### Test Plan
Existing tiered-storage test.
Will run experiments to verify its performance improvement.

#### Dependency
https://github.com/anza-xyz/agave/pull/260
2024-03-18 14:27:55 -07:00
Lijun Wang 69b40a4d75
Net script fix for expected shred version (#280)
Fix for --expected-shred-version when maybeWaitForSupermajority is on

Co-authored-by: Lijun Wang <lijun@anza.xyz>
2024-03-18 13:54:07 -07:00
Yueh-Hsuan Chiang 6441209682
[TieredStorage] TieredStorageFile -> TieredReadonlyFile and TieredWritableFIle (#260)
#### Problem
TieredStorageFile struct currently offers new_readonly() and new_writable()
to allow both read and write work-load to share the same struct.  However,
as we need the writer to use BufWriter to improve performance as well as
enable Hasher on writes.  There is a need to refactor TieredStorageFile to
split its usage for read-only and writable.

#### Summary of Changes
Refactor TieredStorageFile to TieredReadonlyFIle and TieredWritableFile.

#### Test Plan
Existing tiered-storage tests.
2024-03-18 12:24:19 -07:00
ryleung-solana 36e97654e3
Make the quic server connection table use an async lock, reducing thrashing (#293)
Make the quic server connection table use an async lock, reducing lock contention
2024-03-18 12:05:00 -07:00
WGB5445 a71a62f2e2
[solana-install-init] Optimize error message for Windows user permission installation (#234)
* feat: check user's permissions in Windows

* feat: Remove check fun and check os_err

* fmt and optimize code
2024-03-18 17:58:28 +01:00
Jeff Washington (jwash) 1fc4e38a4f
add stats for write cache flushing (#233)
* add stats for write cache flushing

* some renames
2024-03-18 09:53:44 -05:00
Pankaj Garg cc3afa5588
Remove public visibility of program cache from bank (#279) 2024-03-17 15:29:20 -07:00
Ashwin Sekar b27c80a920
vote: deprecate unused legacy vote tx plumbing (#274) 2024-03-15 22:21:52 -07:00
听寒 87a0071e9a
fix typo (#264)
fix typo in comment of test_optimistic_confirmation_violation_without_tower
2024-03-15 16:20:30 -05:00
ripatel-fd fb01ab28ec
Use static memory layout for all sysvars (#249)
Co-authored-by: Richard Patel <ripatel@jumptrading.com>
2024-03-15 14:59:41 -06:00
Andrew Fitzgerald 4425dbea91
congestion_multiplier as u64 (#267) 2024-03-15 12:37:15 -07:00
Tyera 7f959509ed
Clean up require_rent_exempt_split_destination feature (#253)
* Clean up require_rent_exempt_split_destination feature

* Clean up comment
2024-03-15 13:36:31 -06:00
HaoranYi dcc6f1eb3a
fix typos (#247)
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-03-15 09:15:23 -05:00
Trent Nelson a2579d484e
remove raptor coding experiments (#255) 2024-03-14 22:01:15 -06:00
Wen 5591db7801
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-14 20:45:03 -07:00
Yihau Chen 2537e3e4ad
[anza migration] fix: use the correct log filter for non-unix (#245)
fix: use the correct log filter for non-unix
2024-03-15 11:27:16 +08:00
Wen f5a3f2476a
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-14 19:01:17 -07:00
samkim-crypto fba70c8504
[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 09:09:41 +09:00
sakridge b3fd87fe81
Fix gossip contact trace (#241) 2024-03-14 19:43:59 +01:00
Greg Cusack d49ceb0e3f
Add in metrics for detecting Redundant Pulls (#199) 2024-03-14 11:22:52 -07:00
Nagaprasad V R 6bcb77dcfa
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-14 11:43:34 -06:00
dependabot[bot] 75ef68ffe8
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 01:42:32 +08:00
Yihau Chen 51dc7e6fb7
[anza migration]: add 'agave=info' to default log level (#223) 2024-03-14 20:35:33 +08:00
Justin Starry 72d6d78d05
Add `reserved_account_keys` module to sdk (#84) 2024-03-14 15:03:44 +08:00
Jeff Washington (jwash) 794cb2f856
allow FlushStats to accumulate (#215) 2024-03-13 18:47:55 -05:00
Kirill Fomichev 7c007ea737
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-13 17:46:48 -06:00
Greg Cusack 151675b5ca
update changelog and remove deprecated label on `gossip_service::get_client()` (#227)
update changelog and remove deprecated label on get_client
2024-03-13 13:26:54 -07:00
Jon C e93854cc33
deps: Update base64 to 0.22 (#225)
* deps: Update base64 to 0.22

* Add changelog entry
2024-03-13 20:39:45 +01:00
anwayde 926c5713fc
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-13 20:29:27 +01:00
Yueh-Hsuan Chiang 69b6d5a376
[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-13 10:26:37 -07:00
Yueh-Hsuan Chiang e13fbeb198
[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-13 10:07:11 -07:00
steviez 5ed30beb2a
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-13 11:29:05 -05:00
Dmitri Makarov 33f941d473
SVM: Eliminate filter_executable_program_accounts from pub interface (#214) 2024-03-13 09:15:24 -07:00
Brennan 81075e60b3
Loaded program test robustness (#59)
* tests robust to prog entry count
2024-03-13 08:21:54 -07:00
dependabot[bot] 7f27644e65
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-13 21:59:25 +08:00
ripatel-fd 9b16df25d3
sdk: support Pubkey::to_bytes as constexpr (#220) 2024-03-13 13:24:39 +01:00
dependabot[bot] 91bff85ffc
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-13 17:37:40 +08:00
Yihau Chen e682fec28e
[anza migration]: fix download link for net scripts (#219) 2024-03-13 12:17:08 +08:00
steviez f8bb98b5f4
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-12 16:11:44 -05:00