From e4f9e63e8ca75de90b82334be059ddd460060a0c Mon Sep 17 00:00:00 2001 From: Lucas B Date: Thu, 25 Aug 2022 17:18:46 -0500 Subject: [PATCH] jito patch only reroute if relayer connected (#123) feat: add client tls config (#121) remove extra val (#129) fix clippy (#130) copy all binaries to docker-output (#131) Ledger tool halts at slot passed to create-snapshot (#118) update program submodule (#133) quick fix for tips and clearing old bundles (#135) update submodule to new program (#136) Improve stake-meta-generator usability (#134) pinning submodule head (#140) Use BundleAccountLocker when handling tip txs (#147) Add metrics for relayer + block engine proxy (#149) Build claim-mev in docker (#141) Rework bundle receiving and add metrics (#152) (#154) update submodule + dev files (#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (#159) update jito-programs submodule (#160) Separate MEV tip related workflow (#161) Add block builder fee protos (#162) fix jito programs (#163) update submodule so autosnapshot exits out of ledger tool early (#164) Pipe through block builder fee (#167) pull in new snapshot code (#171) block builder bug (#172) Pull in new slack autosnapshot submodule (#174) sort stake meta json and use int math (#176) add accountsdb conn submod (#169) Update tip distribution parameters (#177) new submodules (#180) Add buildkite link for jito CI (#183) Fixed broken links to repositories (#184) Changed from ssh to https transfer for clone Seg/update submods (#187) fix tests (#190) rm geyser submod (#192) rm dangling geyser references (#193) fix syntax err (#195) use deterministic req ids in batch calls (#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (#203) Add logging for sol balance desired (#205) * add logging * add logging * update msg * tweak vars update submodule (#204) use efficient data structures when calling batch_simulate_bundles (#206) [JIT-504] Add low balance check in uploading merkle roots (#209) add config to simulate on top of working bank (#211) rm frozen bank check simulate_bundle rpc bugfixes (#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (#210) * add files * switch to include bump update submodule (#217) add amount filter (#218) update autosnapshot (#222) Print TX error in Bundles (#223) add new args to support single relayer and block-engine endpoints (#224) point to new jito-programs submod and invoke updated init tda instruction (#228) fix clippy errors (#230) fix validator start scripts (#232) Point README to gitbook (#237) use packaged cargo bin to build (#239) Add validator identity pubkey to StakeMeta (#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (#240) Seg/tip distributor master (#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (#247) Improve docker caching delay constructing claim mev txs (#253) fix stake meta tests from bb fee (#254) fix tests Buffer bundles that exceed cost model (#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (#260) update Cargo.lock to correct solana versions in jito-programs submodule (#265) fix simulate_bundle client and better error handling (#267) update submod (#272) Preallocate Bundle Cost (#238) fix Dockerfile (#278) Fix Tests (#279) Fix Tests (#281) * fix tests update jito-programs submod (#282) add reclaim rent workflow (#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (#292) Remove security.md (#293) demote frequent relayer_stage-stream_error to warn (#275) account for case where TDA exists but not allocated (#295) implement better retries for tip-distributor workflows (#297) limit number of concurrent rpc calls (#298) Discard Empty Packet Batches (#299) Identity Hotswap (#290) small fixes (#305) Set backend config from admin rpc (#304) Admin Shred Receiver Change (#306) Seg/rm bundle UUID (#309) Fix github workflow to recursively clone (#327) Add recursive checkout for downstream-project-spl.yaml (#341) Use cluster info functions for tpu (#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (#374) Updates bootstrap and start scripts needed for local dev. (#384) Remove Deprecated Cli Args (#387) Master Rebase improve simulate_bundle errors and response (#404) derive Clone on accountoverrides (#416) Add upsert to AccountOverrides (#419) update jito-programs (#430) [JIT-1661] Faster Autosnapshot (#436) Reverts simulate_transaction result calls to upstream (#446) Don't unlock accounts in TransactionBatches used during simulation (#449) first pass at wiring up jito-plugin (#428) [JIT-1713] Fix bundle's blockspace preallocation (#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (#491) [JIT-1710] - Optimize Bundle Consumer Checks (#490) Add Blockhash Metrics to Bundle Committer (#500) add priority fee ix to mev-claim (#520) Update Autosnapshot (#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (#582) Update CI (#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (#585) Fix more release urls (#588) [JIT-1812] Fix blocking mutexs (#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase #594 Fixes the following bugs in the periodic rebase: Sends multiple messages on failure instead of one Cancels entire job if one branch fails Ignore buildkite curl errors for rebasing and try to keep curling until job times out (#597) Sleep longer waiting for buildkite to start (#598) correctly initialize account overrides (#595) Fix: Ensure set contact info to UDP port instead of QUIC (#603) Add fast replay branch to daily rebase (#607) take a snapshot of all bundle accounts before sim (#13) (#615) update jito-programs submodule Export agave binaries during docker build (BP #627) (#628) Backport #611 (#631) Publish releases to S3 and GCS (#633) (#634) Add packet flag for from staked sender (#655) Co-authored-by: Jed <4679729+jedleggett@users.noreply.github.com> Add bundle storage to new unprocessed transaction storage method Loosen tip requirement [v2.0] (#685) Add comments around ignoring the slot returned from ImmutableDeserializedPacket::build_sanitized_transaction --- Cargo.lock | 8 +- Cargo.toml | 186 ++++++++++++------------- core/src/admin_rpc_post_init.rs | 1 - core/src/validator.rs | 5 +- local-cluster/src/validator_configs.rs | 1 - programs/sbf/Cargo.lock | 6 +- validator/src/admin_rpc_service.rs | 31 ----- validator/src/cli.rs | 21 +-- validator/src/main.rs | 23 --- 9 files changed, 102 insertions(+), 180 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 492d117474..ee0af73c97 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3249,7 +3249,7 @@ dependencies = [ [[package]] name = "jito-protos" -version = "2.0.16" +version = "2.0.15" dependencies = [ "bytes", "prost", @@ -6085,7 +6085,7 @@ dependencies = [ [[package]] name = "solana-bundle" -version = "2.0.16" +version = "2.0.15" dependencies = [ "anchor-lang", "assert_matches", @@ -7592,7 +7592,7 @@ dependencies = [ [[package]] name = "solana-runtime-plugin" -version = "2.0.16" +version = "2.0.15" dependencies = [ "crossbeam-channel", "json5", @@ -7944,7 +7944,7 @@ dependencies = [ [[package]] name = "solana-tip-distributor" -version = "2.0.16" +version = "2.0.15" dependencies = [ "anchor-lang", "clap 4.3.21", diff --git a/Cargo.toml b/Cargo.toml index 92730635c7..e7d06eaf14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -248,7 +248,7 @@ jemallocator = { package = "tikv-jemallocator", version = "0.4.1", features = [ "unprefixed_malloc_on_supported_platforms", ] } js-sys = "0.3.69" -jito-protos = { path = "jito-protos", version = "=2.0.16" } +jito-protos = { path = "jito-protos", version = "=2.0.15" } jito-tip-distribution = { path = "jito-programs/mev-programs/programs/tip-distribution", features = ["no-entrypoint"] } jito-tip-payment = { path = "jito-programs/mev-programs/programs/tip-payment", features = ["no-entrypoint"] } json5 = "0.4.1" @@ -334,99 +334,99 @@ smallvec = "1.13.2" smpl_jwt = "0.7.1" socket2 = "0.5.7" soketto = "0.7" -solana-account-decoder = { path = "account-decoder", version = "=2.0.16" } -solana-accounts-db = { path = "accounts-db", version = "=2.0.16" } -solana-address-lookup-table-program = { path = "programs/address-lookup-table", version = "=2.0.16" } -solana-banks-client = { path = "banks-client", version = "=2.0.16" } -solana-banks-interface = { path = "banks-interface", version = "=2.0.16" } -solana-banks-server = { path = "banks-server", version = "=2.0.16" } -solana-bench-tps = { path = "bench-tps", version = "=2.0.16" } -solana-bloom = { path = "bloom", version = "=2.0.16" } -solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=2.0.16" } -solana-bucket-map = { path = "bucket_map", version = "=2.0.16" } -solana-bundle = { path = "bundle", version = "=2.0.16" } -agave-cargo-registry = { path = "cargo-registry", version = "=2.0.16" } -solana-clap-utils = { path = "clap-utils", version = "=2.0.16" } -solana-clap-v3-utils = { path = "clap-v3-utils", version = "=2.0.16" } -solana-cli = { path = "cli", version = "=2.0.16" } -solana-cli-config = { path = "cli-config", version = "=2.0.16" } -solana-cli-output = { path = "cli-output", version = "=2.0.16" } -solana-client = { path = "client", version = "=2.0.16" } -solana-compute-budget = { path = "compute-budget", version = "=2.0.16" } -solana-compute-budget-program = { path = "programs/compute-budget", version = "=2.0.16" } -solana-config-program = { path = "programs/config", version = "=2.0.16" } -solana-connection-cache = { path = "connection-cache", version = "=2.0.16", default-features = false } -solana-core = { path = "core", version = "=2.0.16" } -solana-cost-model = { path = "cost-model", version = "=2.0.16" } -solana-curve25519 = { path = "curves/curve25519", version = "=2.0.16" } -solana-download-utils = { path = "download-utils", version = "=2.0.16" } -solana-entry = { path = "entry", version = "=2.0.16" } -solana-faucet = { path = "faucet", version = "=2.0.16" } -solana-frozen-abi = { path = "frozen-abi", version = "=2.0.16" } -solana-frozen-abi-macro = { path = "frozen-abi/macro", version = "=2.0.16" } -solana-tps-client = { path = "tps-client", version = "=2.0.16" } -solana-genesis = { path = "genesis", version = "=2.0.16" } -solana-genesis-utils = { path = "genesis-utils", version = "=2.0.16" } -agave-geyser-plugin-interface = { path = "geyser-plugin-interface", version = "=2.0.16" } -solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=2.0.16" } -solana-gossip = { path = "gossip", version = "=2.0.16" } -solana-inline-spl = { path = "inline-spl", version = "=2.0.16" } -solana-ledger = { path = "ledger", version = "=2.0.16" } -solana-loader-v4-program = { path = "programs/loader-v4", version = "=2.0.16" } -solana-local-cluster = { path = "local-cluster", version = "=2.0.16" } -solana-logger = { path = "logger", version = "=2.0.16" } -solana-measure = { path = "measure", version = "=2.0.16" } -solana-merkle-tree = { path = "merkle-tree", version = "=2.0.16" } -solana-metrics = { path = "metrics", version = "=2.0.16" } -solana-net-utils = { path = "net-utils", version = "=2.0.16" } +solana-account-decoder = { path = "account-decoder", version = "=2.0.15" } +solana-accounts-db = { path = "accounts-db", version = "=2.0.15" } +solana-address-lookup-table-program = { path = "programs/address-lookup-table", version = "=2.0.15" } +solana-banks-client = { path = "banks-client", version = "=2.0.15" } +solana-banks-interface = { path = "banks-interface", version = "=2.0.15" } +solana-banks-server = { path = "banks-server", version = "=2.0.15" } +solana-bench-tps = { path = "bench-tps", version = "=2.0.15" } +solana-bloom = { path = "bloom", version = "=2.0.15" } +solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=2.0.15" } +solana-bucket-map = { path = "bucket_map", version = "=2.0.15" } +solana-bundle = { path = "bundle", version = "=2.0.15" } +agave-cargo-registry = { path = "cargo-registry", version = "=2.0.15" } +solana-clap-utils = { path = "clap-utils", version = "=2.0.15" } +solana-clap-v3-utils = { path = "clap-v3-utils", version = "=2.0.15" } +solana-cli = { path = "cli", version = "=2.0.15" } +solana-cli-config = { path = "cli-config", version = "=2.0.15" } +solana-cli-output = { path = "cli-output", version = "=2.0.15" } +solana-client = { path = "client", version = "=2.0.15" } +solana-compute-budget = { path = "compute-budget", version = "=2.0.15" } +solana-compute-budget-program = { path = "programs/compute-budget", version = "=2.0.15" } +solana-config-program = { path = "programs/config", version = "=2.0.15" } +solana-connection-cache = { path = "connection-cache", version = "=2.0.15", default-features = false } +solana-core = { path = "core", version = "=2.0.15" } +solana-cost-model = { path = "cost-model", version = "=2.0.15" } +solana-curve25519 = { path = "curves/curve25519", version = "=2.0.15" } +solana-download-utils = { path = "download-utils", version = "=2.0.15" } +solana-entry = { path = "entry", version = "=2.0.15" } +solana-faucet = { path = "faucet", version = "=2.0.15" } +solana-frozen-abi = { path = "frozen-abi", version = "=2.0.15" } +solana-frozen-abi-macro = { path = "frozen-abi/macro", version = "=2.0.15" } +solana-tps-client = { path = "tps-client", version = "=2.0.15" } +solana-genesis = { path = "genesis", version = "=2.0.15" } +solana-genesis-utils = { path = "genesis-utils", version = "=2.0.15" } +agave-geyser-plugin-interface = { path = "geyser-plugin-interface", version = "=2.0.15" } +solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=2.0.15" } +solana-gossip = { path = "gossip", version = "=2.0.15" } +solana-inline-spl = { path = "inline-spl", version = "=2.0.15" } +solana-ledger = { path = "ledger", version = "=2.0.15" } +solana-loader-v4-program = { path = "programs/loader-v4", version = "=2.0.15" } +solana-local-cluster = { path = "local-cluster", version = "=2.0.15" } +solana-logger = { path = "logger", version = "=2.0.15" } +solana-measure = { path = "measure", version = "=2.0.15" } +solana-merkle-tree = { path = "merkle-tree", version = "=2.0.15" } +solana-metrics = { path = "metrics", version = "=2.0.15" } +solana-net-utils = { path = "net-utils", version = "=2.0.15" } solana-nohash-hasher = "0.2.1" -solana-notifier = { path = "notifier", version = "=2.0.16" } -solana-package-metadata-macro = { path = "sdk/package-metadata-macro", version = "=2.0.16" } -solana-perf = { path = "perf", version = "=2.0.16" } -solana-poh = { path = "poh", version = "=2.0.16" } -solana-poseidon = { path = "poseidon", version = "=2.0.16" } -solana-program = { path = "sdk/program", version = "=2.0.16" } -solana-program-runtime = { path = "program-runtime", version = "=2.0.16" } -solana-program-test = { path = "program-test", version = "=2.0.16" } -solana-pubsub-client = { path = "pubsub-client", version = "=2.0.16" } -solana-quic-client = { path = "quic-client", version = "=2.0.16" } -solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=2.0.16" } -solana-remote-wallet = { path = "remote-wallet", version = "=2.0.16", default-features = false } -solana-unified-scheduler-logic = { path = "unified-scheduler-logic", version = "=2.0.16" } -solana-unified-scheduler-pool = { path = "unified-scheduler-pool", version = "=2.0.16" } -solana-rpc = { path = "rpc", version = "=2.0.16" } -solana-rpc-client = { path = "rpc-client", version = "=2.0.16", default-features = false } -solana-rpc-client-api = { path = "rpc-client-api", version = "=2.0.16" } -solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=2.0.16" } -solana-runtime = { path = "runtime", version = "=2.0.16" } -solana-runtime-plugin = { path = "runtime-plugin", version = "=2.0.16" } -solana-runtime-transaction = { path = "runtime-transaction", version = "=2.0.16" } -solana-sdk = { path = "sdk", version = "=2.0.16" } -solana-sdk-macro = { path = "sdk/macro", version = "=2.0.16" } -solana-send-transaction-service = { path = "send-transaction-service", version = "=2.0.16" } -solana-stake-program = { path = "programs/stake", version = "=2.0.16" } -solana-storage-bigtable = { path = "storage-bigtable", version = "=2.0.16" } -solana-storage-proto = { path = "storage-proto", version = "=2.0.16" } -solana-streamer = { path = "streamer", version = "=2.0.16" } -solana-svm = { path = "svm", version = "=2.0.16" } -solana-system-program = { path = "programs/system", version = "=2.0.16" } -solana-test-validator = { path = "test-validator", version = "=2.0.16" } -solana-thin-client = { path = "thin-client", version = "=2.0.16" } -solana-tpu-client = { path = "tpu-client", version = "=2.0.16", default-features = false } -solana-transaction-status = { path = "transaction-status", version = "=2.0.16" } -solana-transaction-metrics-tracker = { path = "transaction-metrics-tracker", version = "=2.0.16" } -solana-turbine = { path = "turbine", version = "=2.0.16" } -solana-type-overrides = { path = "type-overrides", version = "=2.0.16" } -solana-udp-client = { path = "udp-client", version = "=2.0.16" } -solana-version = { path = "version", version = "=2.0.16" } -solana-vote = { path = "vote", version = "=2.0.16" } -solana-vote-program = { path = "programs/vote", version = "=2.0.16" } -solana-wen-restart = { path = "wen-restart", version = "=2.0.16" } -solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=2.0.16" } -solana-zk-keygen = { path = "zk-keygen", version = "=2.0.16" } -solana-zk-sdk = { path = "zk-sdk", version = "=2.0.16" } -solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=2.0.16" } -solana-zk-token-sdk = { path = "zk-token-sdk", version = "=2.0.16" } +solana-notifier = { path = "notifier", version = "=2.0.15" } +solana-package-metadata-macro = { path = "sdk/package-metadata-macro", version = "=2.0.15" } +solana-perf = { path = "perf", version = "=2.0.15" } +solana-poh = { path = "poh", version = "=2.0.15" } +solana-poseidon = { path = "poseidon", version = "=2.0.15" } +solana-program = { path = "sdk/program", version = "=2.0.15" } +solana-program-runtime = { path = "program-runtime", version = "=2.0.15" } +solana-program-test = { path = "program-test", version = "=2.0.15" } +solana-pubsub-client = { path = "pubsub-client", version = "=2.0.15" } +solana-quic-client = { path = "quic-client", version = "=2.0.15" } +solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=2.0.15" } +solana-remote-wallet = { path = "remote-wallet", version = "=2.0.15", default-features = false } +solana-unified-scheduler-logic = { path = "unified-scheduler-logic", version = "=2.0.15" } +solana-unified-scheduler-pool = { path = "unified-scheduler-pool", version = "=2.0.15" } +solana-rpc = { path = "rpc", version = "=2.0.15" } +solana-rpc-client = { path = "rpc-client", version = "=2.0.15", default-features = false } +solana-rpc-client-api = { path = "rpc-client-api", version = "=2.0.15" } +solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=2.0.15" } +solana-runtime = { path = "runtime", version = "=2.0.15" } +solana-runtime-plugin = { path = "runtime-plugin", version = "=2.0.15" } +solana-runtime-transaction = { path = "runtime-transaction", version = "=2.0.15" } +solana-sdk = { path = "sdk", version = "=2.0.15" } +solana-sdk-macro = { path = "sdk/macro", version = "=2.0.15" } +solana-send-transaction-service = { path = "send-transaction-service", version = "=2.0.15" } +solana-stake-program = { path = "programs/stake", version = "=2.0.15" } +solana-storage-bigtable = { path = "storage-bigtable", version = "=2.0.15" } +solana-storage-proto = { path = "storage-proto", version = "=2.0.15" } +solana-streamer = { path = "streamer", version = "=2.0.15" } +solana-svm = { path = "svm", version = "=2.0.15" } +solana-system-program = { path = "programs/system", version = "=2.0.15" } +solana-test-validator = { path = "test-validator", version = "=2.0.15" } +solana-thin-client = { path = "thin-client", version = "=2.0.15" } +solana-tpu-client = { path = "tpu-client", version = "=2.0.15", default-features = false } +solana-transaction-status = { path = "transaction-status", version = "=2.0.15" } +solana-transaction-metrics-tracker = { path = "transaction-metrics-tracker", version = "=2.0.15" } +solana-turbine = { path = "turbine", version = "=2.0.15" } +solana-type-overrides = { path = "type-overrides", version = "=2.0.15" } +solana-udp-client = { path = "udp-client", version = "=2.0.15" } +solana-version = { path = "version", version = "=2.0.15" } +solana-vote = { path = "vote", version = "=2.0.15" } +solana-vote-program = { path = "programs/vote", version = "=2.0.15" } +solana-wen-restart = { path = "wen-restart", version = "=2.0.15" } +solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=2.0.15" } +solana-zk-keygen = { path = "zk-keygen", version = "=2.0.15" } +solana-zk-sdk = { path = "zk-sdk", version = "=2.0.15" } +solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=2.0.15" } +solana-zk-token-sdk = { path = "zk-token-sdk", version = "=2.0.15" } solana_rbpf = "=0.8.4" spl-associated-token-account = "=4.0.0" spl-instruction-padding = "0.2" diff --git a/core/src/admin_rpc_post_init.rs b/core/src/admin_rpc_post_init.rs index c58ba0db9c..425a4375c1 100644 --- a/core/src/admin_rpc_post_init.rs +++ b/core/src/admin_rpc_post_init.rs @@ -27,5 +27,4 @@ pub struct AdminRpcRequestMetadataPostInit { pub block_engine_config: Arc>, pub relayer_config: Arc>, pub shred_receiver_address: Arc>>, - pub shred_retransmit_receiver_address: Arc>>, } diff --git a/core/src/validator.rs b/core/src/validator.rs index 8902e6ea24..7977b9aff8 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -290,7 +290,6 @@ pub struct ValidatorConfig { pub block_engine_config: Arc>, // Using Option inside RwLock is ugly, but only convenient way to allow toggle on/off pub shred_receiver_address: Arc>>, - pub shred_retransmit_receiver_address: Arc>>, pub tip_manager_config: TipManagerConfig, pub preallocated_bundle_cost: u64, } @@ -368,7 +367,6 @@ impl Default for ValidatorConfig { relayer_config: Arc::new(Mutex::new(RelayerConfig::default())), block_engine_config: Arc::new(Mutex::new(BlockEngineConfig::default())), shred_receiver_address: Arc::new(RwLock::new(None)), - shred_retransmit_receiver_address: Arc::new(RwLock::new(None)), tip_manager_config: TipManagerConfig::default(), preallocated_bundle_cost: u64::default(), } @@ -1410,7 +1408,7 @@ impl Validator { outstanding_repair_requests.clone(), cluster_slots.clone(), wen_restart_repair_slots.clone(), - config.shred_retransmit_receiver_address.clone(), + config.shred_receiver_address.clone(), )?; if in_wen_restart { @@ -1511,7 +1509,6 @@ impl Validator { block_engine_config: config.block_engine_config.clone(), relayer_config: config.relayer_config.clone(), shred_receiver_address: config.shred_receiver_address.clone(), - shred_retransmit_receiver_address: config.shred_retransmit_receiver_address.clone(), }); Ok(Self { diff --git a/local-cluster/src/validator_configs.rs b/local-cluster/src/validator_configs.rs index 48c97b655b..05971e1f02 100644 --- a/local-cluster/src/validator_configs.rs +++ b/local-cluster/src/validator_configs.rs @@ -76,7 +76,6 @@ pub fn safe_clone_config(config: &ValidatorConfig) -> ValidatorConfig { relayer_config: config.relayer_config.clone(), block_engine_config: config.block_engine_config.clone(), shred_receiver_address: config.shred_receiver_address.clone(), - shred_retransmit_receiver_address: config.shred_retransmit_receiver_address.clone(), tip_manager_config: config.tip_manager_config.clone(), preallocated_bundle_cost: config.preallocated_bundle_cost, } diff --git a/programs/sbf/Cargo.lock b/programs/sbf/Cargo.lock index abbb9c12ce..f4b8af756f 100644 --- a/programs/sbf/Cargo.lock +++ b/programs/sbf/Cargo.lock @@ -2552,7 +2552,7 @@ dependencies = [ [[package]] name = "jito-protos" -version = "2.0.16" +version = "2.0.15" dependencies = [ "bytes", "prost", @@ -4955,7 +4955,7 @@ dependencies = [ [[package]] name = "solana-bundle" -version = "2.0.16" +version = "2.0.15" dependencies = [ "anchor-lang", "itertools 0.12.1", @@ -5936,7 +5936,7 @@ dependencies = [ [[package]] name = "solana-runtime-plugin" -version = "2.0.16" +version = "2.0.15" dependencies = [ "crossbeam-channel", "json5", diff --git a/validator/src/admin_rpc_service.rs b/validator/src/admin_rpc_service.rs index 0fe758bfe9..4cd7b44c93 100644 --- a/validator/src/admin_rpc_service.rs +++ b/validator/src/admin_rpc_service.rs @@ -269,13 +269,6 @@ pub trait AdminRpc { #[rpc(meta, name = "setShredReceiverAddress")] fn set_shred_receiver_address(&self, meta: Self::Metadata, addr: String) -> Result<()>; - - #[rpc(meta, name = "setShredRetransmitReceiverAddress")] - fn set_shred_retransmit_receiver_address( - &self, - meta: Self::Metadata, - addr: String, - ) -> Result<()>; } pub struct AdminRpcImpl; @@ -581,28 +574,6 @@ impl AdminRpc for AdminRpcImpl { }) } - fn set_shred_retransmit_receiver_address( - &self, - meta: Self::Metadata, - addr: String, - ) -> Result<()> { - let shred_receiver_address = if addr.is_empty() { - None - } else { - Some(SocketAddr::from_str(&addr).map_err(|_| { - jsonrpc_core::error::Error::invalid_params(format!( - "invalid shred receiver address: {}", - addr - )) - })?) - }; - - meta.with_post_init(|post_init| { - *post_init.shred_retransmit_receiver_address.write().unwrap() = shred_receiver_address; - Ok(()) - }) - } - fn set_staked_nodes_overrides(&self, meta: Self::Metadata, path: String) -> Result<()> { let loaded_config = load_staked_nodes_overrides(&path) .map_err(|err| { @@ -1052,7 +1023,6 @@ mod tests { let block_engine_config = Arc::new(Mutex::new(BlockEngineConfig::default())); let relayer_config = Arc::new(Mutex::new(RelayerConfig::default())); let shred_receiver_address = Arc::new(RwLock::new(None)); - let shred_retransmit_receiver_address = Arc::new(RwLock::new(None)); let meta = AdminRpcRequestMetadata { rpc_addr: None, start_time: SystemTime::now(), @@ -1076,7 +1046,6 @@ mod tests { block_engine_config, relayer_config, shred_receiver_address, - shred_retransmit_receiver_address, }))), staked_nodes_overrides: Arc::new(RwLock::new(HashMap::new())), rpc_to_plugin_manager_sender: None, diff --git a/validator/src/cli.rs b/validator/src/cli.rs index d7af738af0..8d8c4767a6 100644 --- a/validator/src/cli.rs +++ b/validator/src/cli.rs @@ -164,14 +164,7 @@ pub fn app<'a>(version: &'a str, default_args: &'a DefaultArgs) -> App<'a, 'a> { .long("shred-receiver-address") .value_name("SHRED_RECEIVER_ADDRESS") .takes_value(true) - .help("Validator will forward all leader shreds to this address in addition to normal turbine operation. Set to empty string to disable.") - ) - .arg( - Arg::with_name("shred_retransmit_receiver_address") - .long("shred-retransmit-receiver-address") - .value_name("SHRED_RETRANSMIT_RECEIVER_ADDRESS") - .takes_value(true) - .help("Validator will forward all retransmit shreds to this address in addition to normal turbine operation. Set to empty string to disable.") + .help("Validator will forward all shreds to this address in addition to normal turbine operation. Set to empty string to disable.") ) .arg( Arg::with_name("identity") @@ -1735,18 +1728,6 @@ pub fn app<'a>(version: &'a str, default_args: &'a DefaultArgs) -> App<'a, 'a> { .required(true) ) ) - .subcommand( - SubCommand::with_name("set-shred-retransmit-receiver-address") - .about("Changes shred retransmit receiver address") - .arg( - Arg::with_name("shred_receiver_address") - .long("shred-receiver-address") - .value_name("SHRED_RECEIVER_ADDRESS") - .takes_value(true) - .help("Validator will forward all retransmit shreds to this address in addition to normal turbine operation. Set to empty string to disable.") - .required(true) - ) - ) .subcommand( SubCommand::with_name("exit") .about("Send an exit request to the validator") diff --git a/validator/src/main.rs b/validator/src/main.rs index 083ed464ff..9ce6a23b79 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -536,22 +536,6 @@ pub fn main() { }); return; } - ("set-shred-retransmit-receiver-address", Some(subcommand_matches)) => { - let addr = value_t_or_exit!(subcommand_matches, "shred_receiver_address", String); - let admin_client = admin_rpc_service::connect(&ledger_path); - admin_rpc_service::runtime() - .block_on(async move { - admin_client - .await? - .set_shred_retransmit_receiver_address(addr) - .await - }) - .unwrap_or_else(|err| { - println!("set shred receiver address failed: {}", err); - exit(1); - }); - return; - } ("authorized-voter", Some(authorized_voter_subcommand_matches)) => { match authorized_voter_subcommand_matches.subcommand() { ("add", Some(subcommand_matches)) => { @@ -1722,13 +1706,6 @@ pub fn main() { .value_of("shred_receiver_address") .map(|addr| SocketAddr::from_str(addr).expect("shred_receiver_address invalid")), )), - shred_retransmit_receiver_address: Arc::new(RwLock::new( - matches - .value_of("shred_retransmit_receiver_address") - .map(|addr| { - SocketAddr::from_str(addr).expect("shred_retransmit_receiver_address invalid") - }), - )), staked_nodes_overrides: staked_nodes_overrides.clone(), use_snapshot_archives_at_startup: value_t_or_exit!( matches,