Commit Graph

73 Commits

Author SHA1 Message Date
Yihau Chen 3f9a7a52ea [anza migration] rename crates (#10)
* rename geyser-plugin-interface

* rename cargo registry

* rename watchtower

* rename ledger tool

* rename validator

* rename install

* rename geyser plugin interface when patch
2024-03-03 12:31:24 +08:00
steviez 537c3d8e2c
Format the string literals in /validator directory (#35261)
There are lots of string literals in the /validator directory,
including many for CLI help and error messages. Any string literals
that exceed 100 characters prevent rustfmt from running properly.

This change temporarily set format_string = true in rustfmt.toml, and
then ran the linter on the validator directory. This was followed up
by manually tweaking several strings that were already well crafted
for readability (and within the 100 character limit)
2024-02-21 16:12:23 -06:00
Jon Cinque 0fe902ced7
Bump rand to 0.8, rand_chacha to 0.3, getrandom to 0.2 (#32871)
* sdk: Add concurrent support for rand 0.7 and 0.8

* Update rand, rand_chacha, and getrandom versions

* Run command to replace `gen_range`

Run `git grep -l gen_range | xargs sed -i'' -e 's/gen_range(\(\S*\), /gen_range(\1../'

* sdk: Fix users of older `gen_range`

* Replace `hash::new_rand` with `hash::new_with_thread_rng`

Run:
```
git grep -l hash::new_rand | xargs sed -i'' -e 's/hash::new_rand([^)]*/hash::new_with_thread_rng(/'
```

* perf: Use `Keypair::new()` instead of `generate`

* Use older rand version in zk-token-sdk

* program-runtime: Inline random key generation

* bloom: Fix clippy warnings in tests

* streamer: Scope rng usage correctly

* perf: Fix clippy warning

* accounts-db: Map to char to generate a random string

* Remove `from_secret_key_bytes`, it's just `keypair_from_seed`

* ledger: Generate keypairs by hand

* ed25519-tests: Use new rand

* runtime: Use new rand in all tests

* gossip: Clean up clippy and inline keypair generators

* core: Inline keypair generation for tests

* Push sbf lockfile change

* sdk: Sort dependencies correctly

* Remove `hash::new_with_thread_rng`, use `Hash::new_unique()`

* Use Keypair::new where chacha isn't used

* sdk: Fix build by marking rand 0.7 optional

* Hardcode secret key length, add static assertion

* Unify `getrandom` crate usage to fix linking errors

* bloom: Fix tests that require a random hash

* Remove some dependencies, try to unify others

* Remove unnecessary uses of rand and rand_core

* Update lockfiles

* Add back some dependencies to reduce rebuilds

* Increase max rebuilds from 14 to 15

* frozen-abi: Remove `getrandom`

* Bump rebuilds to 17

* Remove getrandom from zk-token-proof
2023-08-21 19:11:21 +02:00
Brooks f9bc3cec24
Renames SnapshotType to SnapshotKind (#32906) 2023-08-19 19:55:29 -04:00
behzad nouri 0de8ccfda9
adds socket address for repair service over QUIC (#32834)
Working towards migrating repair to QUIC.
2023-08-15 17:09:09 +00:00
Illia Bobyr 282e043177
`cargo fmt` using 1.6.0-nightly (#32390)
Seems like rustfmt 1.6.0 can now format `let/else` statements.
1.5.2 we use in our `solana-nightly` does not mind the reformatting.

```
$ cargo +nightly fmt --version
rustfmt 1.6.0-nightly (f20afcc 2023-07-04)

$ cargo +nightly fmt
$ git add -u
$ git commit

$ ./cargo nightly fmt --version
+ exec cargo +nightly-2023-04-19 fmt --version
rustfmt 1.5.2-nightly (c609da5 2023-04-18)

$ ./cargo nightly fmt
$ git diff
[empty output]
```
2023-07-06 20:45:29 -07:00
behzad nouri 469661d217
removes outdated tvu_forward socket (#32101)
Shreds are no longer sent to tvu_forward socket.
2023-06-20 20:50:16 +00:00
Illia Bobyr 4353ac6797
Pass Arc<AtomicBool> by value, not by reference. (#31916)
`Arc` is already a reference internally, so it does not seem to be
beneficial to pass a reference to it.  Just adds an extra layer of
indirection.

Functions that need to be able to increment `Arc` reference count need
to take `Arc<AtomicBool>`, but those that just want to read the
`AtomicBool` value can accept `&AtomicBool`, making them a bit more
generic.

This change focuses specifically on `Arc<AtomicBool>`.  There are other
uses of `&Arc<T>` in the code base that could be converted in a similar
manner.  But it would make the change even larger.
2023-06-01 17:25:48 -07:00
behzad nouri 5178d4d49b
adds quic tvu port to contact-info (#31614)
Working towards migrating turbine to QUIC.
2023-05-15 15:13:21 +00:00
behzad nouri 4e34abbf3d
specifies protocol in contact-info get-socket api (#31602) 2023-05-12 16:16:20 +00:00
behzad nouri aafcac27d8
removes pubkey from LegacyContactInfo public interface (#31375)
Working towards LegacyContactInfo => ContactInfo migration, the commit
adds more api parity between the two.
2023-04-28 12:05:15 +00:00
behzad nouri 1b08d01a80
removes shred_version from LegacyContactInfo public interface (#31304)
Working towards LegacyContactInfo => ContactInfo migration, the commit
adds more api parity between the two.
2023-04-24 15:19:33 +00:00
x19 c3eb17f2a3
sort vetted bootstrap rpcs based on ping times (#31285)
* sort and filter rpc nodes based on ping times
2023-04-24 08:11:11 -07:00
behzad nouri cb65a785bc
makes sockets in LegacyContactInfo private (#31248)
Working towards LegacyContactInfo => ContactInfo migration, the commit
hides some implementation details of LegacyContactInfo and expands API
parity with the new ContactInfo.
2023-04-21 15:39:16 +00:00
Brooks 04bbf3bccb
bootstrap: Sunset using LegacySnapshotHashes for snapshot discovery (#31275) 2023-04-20 10:33:04 -04:00
Brooks b4ea10413f
bootstrap: Refactor retaining the highest snapshot hashes (#31254) 2023-04-19 16:00:00 -04:00
Brooks 6d2c14e147
bootstrap: Get all snapshot hashes from known validators (#31246) 2023-04-18 18:25:14 -04:00
Brooks 44d03d6767
bootstrap: Add tests for retaining the highest peer snapshot hashes (#31253) 2023-04-18 17:25:30 -04:00
Brooks 6835ceeef5
Inlines variables into logging format strings (#31177)
Inlines variables into loging format strings
2023-04-12 22:16:38 +00:00
Brooks e39f7a318d
Cleans up imports in bootstrap.rs (#31176) 2023-04-12 20:12:16 +00:00
Brooks 453f272698
Rename IncrementalSnapshotHashes to SnapshotHashes (#31136) 2023-04-11 10:30:29 -04:00
Brooks f3083ad2e0
Rename SnapshotHashes to LegacySnapshotHashes (#31086) 2023-04-10 17:52:20 -04:00
Brennan 861bca87f9
Reconfigure genesis hash download and check (#30949)
* Reconfigure genesis hash download and check

* Propagate get genesis errors
2023-04-10 11:46:56 -07:00
Brennan b3bb4357bb
Add snapshot download metrics (#31111)
* Add snapshot download metrics
2023-04-07 13:19:14 -07:00
Brennan b35e83376a
Minimize lock on blacklist nodes (#30987) 2023-03-30 11:08:43 -07:00
Brennan 7804d9aa92
Eliminate in-out parameter for gossip shutdown function (#30986) 2023-03-30 09:25:25 -07:00
Brennan 9f7e041829
Sub function getting vetted RPC nodes (#30946)
* Sub function getting vetted RPC nodes

* PR feedback
2023-03-29 17:22:40 +00:00
Brennan 0679db23ee
Abstract RPC bootstrap gossip exit into function (#30948) 2023-03-29 08:19:30 -07:00
Brennan ba43883cce
Add timeout for getting bootstrap RPC peers (#30277)
* Add timeout for getting bootstrap RPC peers

* Get RPC return errors when no peers found

* Add config guidance
2023-02-15 14:24:42 -08:00
Brennan 5108350710
Remove dead code (#30263)
* Remove dead code
* Get RPC Peers return vector
2023-02-13 12:05:42 -08:00
Brennan 06617d719c
Replace magic numbers and update comments (#30256) 2023-02-10 23:56:13 +00:00
behzad nouri ded457cd73
embeds the new gossip ContactInfo in ClusterInfo (#30022)
Working towards replacing the legacy gossip contact-info with the new
one, the commit updates the respective field in gossip cluster-info.
2023-02-10 20:07:45 +00:00
behzad nouri 8c212f59ad
renames ContactInfo to LegacyContactInfo (#29566)
Working towards adding a new ContactInfo where new sockets can be
added in a backward compatible way.
2023-01-08 16:00:55 +00:00
steviez aeb6b53502
Remove unused Option<> around ValidatorConfig's SnapshotConfig (#29090)
Remove Option<> around ValidatorConfig's SnapshotConfig

The SnapshotConfig is required and is currently hard-coded to be a
Some().
2022-12-06 22:47:55 +00:00
behzad nouri 9524c9dbff patches errors from clippy::uninlined_format_args
https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2022-12-06 19:32:15 +00:00
Brooks Prumo 59bf1809fe
Uses SnapshotHash type in snapshot archive fields (#28681) 2022-10-31 14:28:35 -04:00
Brooks Prumo 510cd933a1
Fixes typo in bootstrap log (#28483) 2022-10-19 17:58:03 -04:00
Brooks Prumo 1e79053dd1
Requires known validators to have all snapshot hashes at bootstrap (#28284) 2022-10-19 10:08:02 -04:00
Brooks Prumo 00a18a962e
formats logs in bootstrap (#28291) 2022-10-07 18:42:57 +00:00
Brooks Prumo baf31b0753
bootstrap: Sleep in loop to get rpc peers (#27843) 2022-09-18 19:15:14 +00:00
Tyera Eulberg b8b3d723da
Use new client crates (#27360)
* Update ancillary cli crates

* Update cli

* Update command-line tools

* Update rpc, etc

* Update client-test

* Update core, validator

* Update local-cluster
2022-08-24 10:47:02 -06:00
Brennan Watt e4a7d01e10
Rust v1.63 (#27303)
* Upgrade to Rust v1.63.0

* Add nightly_clippy_allows

* Resolve some new clippy nightly lints

* Increase QUIC packets completion timeout

* Update quinn-udp crate

Co-authored-by: Michael Vines <mvines@gmail.com>
2022-08-22 18:01:03 -07:00
Brennan Watt 7573000d87
Revert "Rust v1.63.0 (#27148)" (#27245)
This reverts commit a2e7bdf50a.
2022-08-19 09:19:44 +01:00
Brennan Watt a2e7bdf50a
Rust v1.63.0 (#27148)
* Upgrade to Rust v1.63.0

* Add nightly_clippy_allows

* Resolve some new clippy nightly lints

* Increase QUIC packets completion timeout

Co-authored-by: Michael Vines <mvines@gmail.com>
2022-08-17 15:48:33 -07:00
Brennan Watt da4028b24f
Connect to RPC nodes in parallel w/ reduced timeout (#26892)
* Connect to RPC nodes in parallel w/ reduced timeout
2022-08-11 14:32:22 -07:00
Michael Vines ccfbc54195 Move vote program state and instructions to solana-program 2022-08-09 20:52:47 -07:00
Brooks Prumo 649229f7b8
Tweak bootstrap::build_known_snapshot_hashes() (logs and tests) (#26144) 2022-06-30 12:36:13 -05:00
DimAn a4ce2d4de2
Combine bootstrap modules: with and without incremental snapshots (#25732) 2022-06-29 20:12:35 -05:00
DimAn 395dbc0f40
choose highest incremental snapshot first (#25584) 2022-06-02 16:12:03 -05:00
Pankaj Garg 1c2ae470c5
Fix forwarding of transactions over QUIC (#25674)
* Spawn QUIC server to receive forwarded txs

* Update validator port range

* forward votes using UDP

* no forwarding from unstaked nodes

* forwarding stats in banking stage

* fix test builds

* fix lifetime of forward sender
2022-06-02 11:14:58 -07:00