Skip to content

streamer: revalidate cached QUIC stake#7

Closed
stablebits wants to merge 30 commits into
masterfrom
fix/quic-stake-revalidation-timer
Closed

streamer: revalidate cached QUIC stake#7
stablebits wants to merge 30 commits into
masterfrom
fix/quic-stake-revalidation-timer

Conversation

@stablebits

@stablebits stablebits commented Jul 16, 2026

Copy link
Copy Markdown
Owner

TBD

AshwinSekar and others added 11 commits July 16, 2026 15:33
PR anza-xyz#12585 made Pong validation stateful: the pings LRU can be replaced
with an IndexMap.

On insertion when at cap, probe random existing entries. Stale entries
(unresponsive nodes) are thus reclaimed on demand without touching fresh ones.

The pongs and ping_times LRUs are unchanged.
* Exclude tombstone accounts from full snapshot archives

* Updating to use Enum
- Added new testcase
…z#13896)

* Adds AccountsFileProvider to AccountsDbConfig

* AccountsDb::new_with_config() gets accounts file provider from accounts_db_config

* Removes accounts file provider param from AccountsDb test constructors
* migration: agave-transaction-view to 5.0.0

* remove transaction-view from codeowners
…cro (anza-xyz#13892)

Three `From` implementations (`Stakes<StakeAccount>` -> `Delegation`/`Stake`
and `Stakes<Stake>` -> `Delegation`) shared identical destructuring and
struct construction logic, differing only in the extraction closure.
Consolidate them into an `impl_stake_format_conversion!` macro that
takes the source type, target type, and closure as parameters. The main
motivation behind this change is reducing the diff of
anza-xyz#13781.
…-xyz#13799)

Allows switching to tpu-client-next
Allows sending VersionedTransaction
API is not misleading the user
start deprecations in solana-client
@stablebits
stablebits force-pushed the fix/quic-stake-revalidation-timer branch from ecf4ce4 to 656c75b Compare July 17, 2026 10:02
grod220 and others added 2 commits July 17, 2026 12:49
Port the pin overrides from ci/channel-info.sh into the xtask resolver so
xtask can fully replace the bash script.
@stablebits
stablebits force-pushed the fix/quic-stake-revalidation-timer branch from 656c75b to 691a476 Compare July 17, 2026 14:52
akhi3030 and others added 13 commits July 17, 2026 14:53
…sts (anza-xyz#13922)

The snapshot data-file helpers (serialize_snapshot_data_file /
deserialize_snapshot_data_files) are only ever driven with wincode serializers in
production, but their unit tests still round-tripped a u32 through bincode's
serialize_into / deserialize_from. Switch those tests to the wincode
serialize_into / deserialize_wincode_from helpers so they cover the path that is
actually used.

The extra-data test wrote two u32s with two serialize_into calls; the wincode
writer finalizes on finish, so write both in one call via a (u32, u32) tuple to
keep the trailing-bytes scenario.
Update rpc/sts to use new api of tpu-client-next
* core: filter duplicate nonce account transactions

* refactor `handle_packet_batch_message()` to fully handle each transaction without batching
* add `nonces_in_use` to `TransactionStateContainer` which tracks nonce account use by received transactions
* immediately after parsing a nonce transaction, drop it if lower priority than a conflicting one, or if a conflicting one is in-flight
* if an incoming higher-priority nonce transaction fully verifies, drop the conflicting queued one
* various tests that `nonces_in_use` stays in sync with `id_to_transaction_state`

* final cleanup

* cut EXTRA_CAPACITY to 1 since we removed ingress batching

* simplify error helpers

* push individually in test
* Purge zero lamport accounts during flush that do not already have an entry in the accounts index

This is safe, as even during scan the account would not be returned

* Fixes from review feedback
- Filtered Vec pushing based on secondary indexes
- Updated Comments
- Renamed from purged to skipped
chore(dep): update vendored crossbeam-epoch to 0.9.20 (RUSTSEC-2026-0204)

Repoints the main-workspace [patch.crates-io] crossbeam-epoch at
anza-xyz/crossbeam@5ee1c6ec (branch anza-crossbeam-epoch-0.9.20): crossbeam-epoch
0.9.20 plus our PINNINGS_BETWEEN_COLLECT patch. 0.9.20 carries the
RUSTSEC-2026-0204 fmt::Pointer soundness fix.

The main workspace vendors crossbeam-epoch via a git patch, so it was not covered
by the earlier crates.io bump (anza-xyz#13686); this closes that gap.

anza-xyz#13747
* chore(deps): bump lru from 0.18.0 to 0.18.1

Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.18.0 to 0.18.1.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md)
- [Commits](jeromefroe/lru-rs@0.18.0...0.18.1)

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

Signed-off-by: dependabot[bot] <[email protected]>

* Update all workspaces

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump regex from 1.12.4 to 1.13.0

Bumps [regex](https://github.com/rust-lang/regex) from 1.12.4 to 1.13.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](rust-lang/regex@1.12.4...1.13.0)

---
updated-dependencies:
- dependency-name: regex
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update all workspaces

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@alexpyattaev

Copy link
Copy Markdown

Can u rebase so we have a clean diff?

* wip

* clean up

* Update lib.rs

* Update lib.rs

* ci

* wip

* Update Cargo.lock

* wip

* wip

* Fix compute budget formatting

* update c API

* address comments

* charge cu before doing computation

* update solana-big-mod-exp version

* address comments

* update solana-big-mod-exp to crates.io

* Refresh Cargo.lock files

* Update lib.rs

* remove redundent checkes

* fix ci

* update solana-big-mod-exp

* address comments

* cargo fmt

* Update Cargo.lock
@stablebits
stablebits force-pushed the fix/quic-stake-revalidation-timer branch from 691a476 to 6b496d0 Compare July 20, 2026 09:11
@stablebits

Copy link
Copy Markdown
Owner Author

@alexpyattaev closing this one; the new PR is anza-xyz#13959

@stablebits stablebits closed this Jul 20, 2026
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.