Skip to content

Hui/v2.2.15 fd mod #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 172 commits into
base: master
Choose a base branch
from

Conversation

Xie-Hui
Copy link

@Xie-Hui Xie-Hui commented Jun 5, 2025

Problem

Summary of Changes

Fixes #

joncinque and others added 30 commits February 10, 2025 17:57
…4889)

sdk: Remove everything from the repo (anza-xyz#4867)

#### Problem

The SDK has been moved over to https://github.com/anza-xyz/solana-sdk,
but an implementation still exists within the agave repo.

#### Summary of changes

Remove the sdk from monorepo and use the published versions from
crates.io. Or, put another way, see prior art in this domain:
solana-labs#30062
anza-xyz#4822) (anza-xyz#4920)

accounts-db: Use NoHashHasher in `AccountStorageMap` (anza-xyz#4822)

`DashMap` uses SipHash by default. `AccountStorageMap` uses `Slot` as a
key and therefore it doesn't have any chance of collisions. We can skip
hashing the key entirely.

(cherry picked from commit cd04323)

Co-authored-by: Michal Rostecki <vadorovsky@protonmail.com>
…anza-xyz#4935)

reworks gossip packets sent metrics (anza-xyz#4890)

A lot of gossip packets are not counted, and for some there are
duplicate metrics. The commit adds helper methods to count gossip packet
every time we create outbound packets.

(cherry picked from commit c7c0243)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
…nza-xyz#4924) (anza-xyz#4933)

Fix - loader-v4 deployment buffer funds retrieval (anza-xyz#4924)

* Assigns the source program account back to the system program after deployment.

* Swaps the funds of the source program account and the program account.

(cherry picked from commit 289036c)

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
…nza-xyz#4951)

ci: use ubuntu-22.04 github runner (anza-xyz#4934)

(cherry picked from commit abb639b)

Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
…-xyz#4946)

ci: use ssl 3.4.1 for Windows (anza-xyz#4944)

(cherry picked from commit 130b1d2)

Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
) (anza-xyz#4954)

Scheduler: earlier fee check on receive (anza-xyz#4865)

(cherry picked from commit 81d19c0)

Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
) (anza-xyz#4961)

* validator: Deprecate etcd tower storage (anza-xyz#4956)

All etcd configuration arguments are deprecated, and with etcd
deprecated, --tower-storage will also be deprecated as "file" would be
the only remaining option

(cherry picked from commit 1ed4f17)

# Conflicts:
#	validator/src/commands/run/args.rs

* resolve merge issue

---------

Co-authored-by: steviez <steven@anza.xyz>
…nza-xyz#4969) (anza-xyz#4972)

sdk: Bump all SDK crates for relaxed dependencies (anza-xyz#4969)

* sdk: Bump all SDK crates for relaxed dependencies

#### Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is
still using the pinned versions.

#### Summary of changes

Update all SDK crates to their next version. For almost all of them,
that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and
the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not
implemented, and must be done in follow-up work, which essentially means
reapplying the changes from anza-xyz#4661.

* Return errors instead of panicking

(cherry picked from commit a1ed2b1)

Co-authored-by: Jon C <me@jonc.dev>
…nza-xyz#4970)

Removes background account hasher (anza-xyz#4842)

(cherry picked from commit 0844bbc)

Co-authored-by: Brooks <brooks@anza.xyz>
…4997) (anza-xyz#5002)

shredder: Remove intermediate allocation (anza-xyz#4997)

shred::make_merkle_shreds_from_entries() was returning a Vec<Shred>,
which was then immediately iterated over and split into other
structures.

Instead, return an iterator over shreds to save the intermediate
collect()

(cherry picked from commit 8e258a9)

Co-authored-by: steviez <steven@anza.xyz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…z#4661) (backport of anza-xyz#4992) (anza-xyz#4998)

Feature - Adds `UpgradeableLoaderInstruction::Migrate` (anza-xyz#4992)

* Adds UpgradeableLoaderInstruction::Migrate.
* Adds test_loader_v3_to_v4_migration.

(cherry picked from commit 7491134)
…#4908) (anza-xyz#5035)

docs: Remove copied installation commands (anza-xyz#4908)

The install instructions are unlikely to change, but link to them so we
don't retain stale instructions should they ever change

(cherry picked from commit e9ecfe0)

Co-authored-by: steviez <steven@anza.xyz>
…za-xyz#5067)

CLI - loader v3 to v4 migration (anza-xyz#4856)

* Adds CLI command.

* Uses solana_loader_v3_interface instead of solana_program::bpf_loader_upgradeable.

(cherry picked from commit 0eada94)

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
…nza-xyz#5022)

Bump platform tools to v1.44 (anza-xyz#5019)

Co-authored-by: Lucas Ste <38472950+LucasSte@users.noreply.github.com>
…kport of anza-xyz#4506) (anza-xyz#4978)

txview: run status and age checks on incoming transactions (anza-xyz#4506)

(cherry picked from commit 54da9b2)

Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
…anza-xyz#5024) (anza-xyz#5074)

Update `cargo-build-sbf` to build new SBPF versions (anza-xyz#5024)

(cherry picked from commit f892927)

Co-authored-by: Lucas Ste <38472950+LucasSte@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…a-xyz#5100) (anza-xyz#5120)

Update C Makefile to support SBPFv1 and SBPFv2 (anza-xyz#5100)

* Fix Makefile for C programs

* Update changelog

* Update command description

Co-authored-by: Lucas Ste <38472950+LucasSte@users.noreply.github.com>
…ogram-v4 (backport of anza-xyz#5086) (anza-xyz#5103)

Refactor - Adds CLI parameter "--with-compute-unit-price" to program-v4 (anza-xyz#5086)

* Changes underscore to dash for consistency.

* Adds helper closure for constructing messages.

* Removes the closure parameter from calculate_max_chunk_size().

* Adds "--with-compute-unit-price".

* Sends both instructions of process_close_program() in a single transaction.

* Factors redundant code into a message_factory().

(cherry picked from commit 62f5b70)

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
…5131) (anza-xyz#5150)

blockstore: Update flaky compaction test (anza-xyz#5131)

Call compact_range_cf() with the begin/end keys set to None in order to
compact the entire range

(cherry picked from commit 760b6fc)

Co-authored-by: steviez <steven@anza.xyz>
… (anza-xyz#5138)

remove duplicates from fanout leaders (anza-xyz#5109)

Currently, when sending transactions to future leaders, duplicate leaders may appear in consecutive slots, resulting in unnecessary spam.
This PRs removes duplicates from the fanout leaders set.

(cherry picked from commit 62acd94)

Co-authored-by: kirill lykov <kirill.lykov@anza.xyz>
mmcgee-jump and others added 30 commits June 2, 2025 08:29
Firedancer determines the port for the TVU, which is specified in its
config file, so an argument is added to the CLI and plumbed all the
way through to gossip to wire this up.
The Firedancer shredder needs to know which nodes in the cluster
to forward shreds to, which information is currently maintained
by the Solana Labs cluster info. For now, we communicate this
across the IPC boundary.
It's important for the Firedancer pack code to see all available
transactions for packing, so it can schedule them optimally and
avoid conflicts.  Previously we have rerouted all transactions
except gossiped votes which came via. a different path. This
change also reroutes those so everything goes to Firedancer.  We route
gossiped votes to the dedup tile so that if the same vote comes in over
the normal TPU port, it's correctly identified as a duplicate.

Co-authored-by: Yufeng Zhou <yufzhou@jumptrading.com>
The leader schedule cache is updated so that it has an optional path to
send stake weights to firedancer.  This is done on a mcache because we
do not want to drop or miss any recomputations, otherwise Firedancer
will not recover.  The pack tile uses stake weights to compute the
leader schedule, and the shred tile uses stake weights to compute shred
destinations.
The shred version sometimes needs to be fetched via. gossip
on startup, which Firedancer can't do so we communicate it
to Firedancer here via shared memory.
Co-authored-by: Yufeng Zhou <yufzhou@jumptrading.com>
Co-authored-by: Yufeng Zhou <yufzhou@jumptrading.com>
Remove the global RwLock around the status cache, and introduce more
granular RwLocks per-blockhash and per-slot. Additionally, change the
internal hash tables from std HashMap to Dashmap, so that operations at
the blockhash and slot level can be done only holding read locks.
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.