Skip to content

Re-sync#3

Closed
rustopian wants to merge 541 commits intocreate-prefunded-accountfrom
master
Closed

Re-sync#3
rustopian wants to merge 541 commits intocreate-prefunded-accountfrom
master

Conversation

@rustopian
Copy link
Copy Markdown
Owner

Update from latest

roryharr and others added 30 commits August 27, 2025 09:46
Modify geyser test to avoid flushing the write cache
* Refactor ClientOption to solana-client crate

* cargo.toml style
* build(deps): bump solana-keypair from 3.0.0 to 3.0.1

Bumps [solana-keypair](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1)

---
updated-dependencies:
- dependency-name: solana-keypair
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-message from 3.0.0 to 3.0.1

Bumps [solana-message](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1)

---
updated-dependencies:
- dependency-name: solana-message
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR fixes the problem with `ConnectionWorker` that does not subscribe to the close event, only discovering connection failures when send operations fail by introducing the following changes: 
* Monitor connection.closed() concurrently with transaction processing in Active state
* Add handle_connection_closed() method to log and categorize close reasons
* Distinguish fatal errors (VersionMismatch, LocallyClosed) from recoverable ones
* Check connection health before each transaction send to avoid operations on closed connections
…a-xyz#6517)

Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-sanitize from 3.0.0 to 3.0.1

Bumps [solana-sanitize](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1)

---
updated-dependencies:
- dependency-name: solana-sanitize
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-transaction from 3.0.0 to 3.0.1

Bumps [solana-transaction](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1)

---
updated-dependencies:
- dependency-name: solana-transaction
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Enable feature `rustls-tls-native-roots` for `reqwest` to some cli apps
…lana-address (anza-xyz#7737)

* re-export types used in rpc-client-types public api

* don't alias TransactionResult

* use solana-address instead of solana-pubkey

* update lock file
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 2 to 3.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](google-github-actions/auth@v2...v3)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ed functions (and more) (anza-xyz#7775)

* remove duplicates / switch unspecified to localhost, migrate to non-deprecated equivalents

* move suggested tests to sockets
Addressing issue anza-xyz#6698
Turbine creates more resigned shreds than necessary

Summary of commits squashed:
* unit tests pass. local validator not working yet
* Works locally. Tweaked algorithm on splitting out signed FEC set.
* Incorporated Greg's feedback. All unit-tests in solana-ledger pass.
* Fixed failing test_multi_fec_block_coding. Used DATA_SHREDS_PER_FEC_BLOCK instead of hardcoding 64.
* Removed design comment as per Alex's feedback
* Updated comments. Put function behind feature gate.
…anza-xyz#7765)

get_slot_leaders RPC was failing with "Invalid slot range: leader schedule for epoch X is unavailable" for approximately 31 slots during every epoch transition. This PR fixes it by doing the following:
* Add fallback to leader_schedule_utils::leader_schedule() on cache miss
* Enables on-demand computation when bank has stake information available
* Preserves all existing behavior and error handling
* No performance impact for cached schedules
* shred_fetch: enforce fixed fec sets

* pr feedback: move shred validation to shred.rs

* pr feedback: rename stats bad -> misaligned

* pr feedback: get_erasure_config return error on data shred

* pr feedback: only update root things every 400ms
)

* build(deps): bump tracing-subscriber from 0.3.7 to 0.3.20

Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.7 to 0.3.20.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](tokio-rs/tracing@tracing-subscriber-0.3.7...tracing-subscriber-0.3.20)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  dependency-version: 0.3.20
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ew()` when it derives `Default` (anza-xyz#7750)

Problem

    GeyserPluginManager derives default and implements new() with takes no arguments and effectively calls default().

Summary of Changes

    Removes GeyserPluginManager::new()
test_config takes unique non-overlapping port
puhtaytow and others added 26 commits September 21, 2025 11:04
…anza-xyz#8068)

The solana-test-validator in validator package calls old faucet test api, which we want to deprecate in anza-xyz#7912
In this PR, solana-test-validator spawn local faucet directly, omitting the (deprecated soon) faucet test helper function.
* remove deprecated public-release flag

* add logic to exclude validator operator bins from release tarball
* build(deps): bump serde_with from 3.14.0 to 3.14.1

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.14.0 to 3.14.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](jonasbb/serde_with@v3.14.0...v3.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump proptest from 1.7.0 to 1.8.0

Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md)
- [Commits](proptest-rs/proptest@v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…za-xyz#7912)

deprecate run_local_faucet / run_local_faucet_with_port
…#8121)

* (Alpenglow) Upstream vote_history and vote_history_storage.

* Add more tests.

* Add more test for NullVoteHistoryStorage.
anza-xyz#7719)

* fix: use proper serialization for versioned messages in get_fee_for_message

* Clippy satiated

Co-authored-by: kirill lykov <lykov.kirill@gmail.com>

* Try harder to satiate clippy

---------

Co-authored-by: Steven Luscher <steveluscher@users.noreply.github.com>
Co-authored-by: kirill lykov <lykov.kirill@gmail.com>
* added metrics on connection table sizes

* report metrics on unstaked vs staked connections opened
* new atomic token bucket implemenation

Adds TokenBucket and KeyedRateLimiter to replace governor crate
and in general allow for better control over rate-limiting options

* shuttle test
* build(deps): bump serde from 1.0.225 to 1.0.226

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.225 to 1.0.226.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.225...v1.0.226)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* simd-0321: provide offset to instruction data in vm r2

* update tests

* review feedback

* review feedback 2
The file wasn't refreshed properly in anza-xyz#7676.
* build(deps): bump rustls from 0.23.31 to 0.23.32

Bumps [rustls](https://github.com/rustls/rustls) from 0.23.31 to 0.23.32.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](rustls/rustls@v/0.23.31...v/0.23.32)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When the exit signal is set to true, the streamer's tasks are not exit because not all of them track exit.
In this PR, we introduce CancellationToken instead of exit for nonblocking::streamer. This is the only way to gracefully close connection tasks.
It introduces spawn_server_with_cancel and deprecates spawn_server which uses exit. So all the tests has been changed to reflect this change.
* build(deps): bump anyhow from 1.0.99 to 1.0.100

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.99 to 1.0.100.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](dtolnay/anyhow@1.0.99...1.0.100)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

* lint

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yihau <yihau.chen@icloud.com>
* vote-program: init v4 support

* vote-handler-v4: impl `set_new_authorized_voter`

* vote-handler-v4: impl `credits_for_vote_at_index`

* vote-handler-v4: impl `increment_credits`

* vote-handler-v4: impl `process_timestamp`

* vote-handler-v4: impl `pop_expired_votes`

* vote-handler-v4: impl `double_lockouts`

* vote-handler-v4: impl `process_next_vote_slot`

* vote-handler-v4: impl `set_vote_account_state`

* review: fix up `get_and_update_authorized_voter`

* review: unify constructors for `VoteStateV4`

* review: other smaller comments

* review: no more free functions
* remove unused s3 upload function

* remove unused appveyor upload logic
The chained merkle root hash argument to Shredder is currently an
Option<Hash>. However, chained merkle shreds are active on all clusters
so this is always a Some(_) in production.

To continue the cleanup of shreds, remove the Option<_> from the
argument at Shredder and update all callers. Some underlying shred code
still takes an Option<Hash>, but that will be addressed at a later time
Adds feature gate of account_data_direct_mapping to feature set.
@rustopian rustopian deleted the branch create-prefunded-account September 25, 2025 10:06
@rustopian rustopian closed this Sep 25, 2025
rustopian pushed a commit that referenced this pull request Oct 22, 2025
* Apply the retry code to the async pubsub client

Create a test server

```ts
import http from "http";

import { WebSocketServer } from "ws";

let attemptCount = 0;

const server = http.createServer();
const wss = new WebSocketServer({ noServer: true });

wss.on("connection", (ws) => {
  ws.send("Connection accepted.");
  ws.on("message", (msg) => console.log(`Received: ${msg}`));
});

server.on("upgrade", (req, socket, head) => {
  attemptCount += 1;

  if (attemptCount <= 4) {
    socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
    socket.destroy();
    console.log(`Rejected connection #${attemptCount} (429)`);
    return;
  }

  wss.handleUpgrade(req, socket, head, (ws) => {
    wss.emit("connection", ws, req);
    console.log("Connection accepted on attempt", attemptCount);
  });
});

server.listen(8080, () => {
  console.log("Server listening on port 8080");
});
```

Run `test_slot_subscription_async`:

```
Rejected connection #1 (429)
Rejected connection #2 (429)
Rejected connection #3 (429)
Rejected connection #4 (429)
Connection accepted on attempt 5
Received: {"id":1,"jsonrpc":"2.0","method":"slotSubscribe","params":[]}
```

* `s/async_with_retry/with_retry/`
rustopian pushed a commit that referenced this pull request Nov 20, 2025
* Apply the retry code to the async pubsub client

Create a test server

```ts
import http from "http";

import { WebSocketServer } from "ws";

let attemptCount = 0;

const server = http.createServer();
const wss = new WebSocketServer({ noServer: true });

wss.on("connection", (ws) => {
  ws.send("Connection accepted.");
  ws.on("message", (msg) => console.log(`Received: ${msg}`));
});

server.on("upgrade", (req, socket, head) => {
  attemptCount += 1;

  if (attemptCount <= 4) {
    socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
    socket.destroy();
    console.log(`Rejected connection #${attemptCount} (429)`);
    return;
  }

  wss.handleUpgrade(req, socket, head, (ws) => {
    wss.emit("connection", ws, req);
    console.log("Connection accepted on attempt", attemptCount);
  });
});

server.listen(8080, () => {
  console.log("Server listening on port 8080");
});
```

Run `test_slot_subscription_async`:

```
Rejected connection #1 (429)
Rejected connection #2 (429)
Rejected connection #3 (429)
Rejected connection #4 (429)
Connection accepted on attempt 5
Received: {"id":1,"jsonrpc":"2.0","method":"slotSubscribe","params":[]}
```

* `s/async_with_retry/with_retry/`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.