-
Notifications
You must be signed in to change notification settings - Fork 890
Extract solana-config-program-api and use it in solana-account-decoder #265
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
Extract solana-config-program-api and use it in solana-account-decoder #265
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking this on.
It appears that the desired outcome could also be achieved by refactoring everything from the config program besides it's processor into the Solana SDK. This is the pattern a lot of other builtin programs follow.
However, we're planning to migrate this program to BPF, which would eliminate the solana-program-runtime dependency altogether. It also will no longer reside in the monorepo once it becomes BPF.
I think it might be more prudent to wait on the BPF implementation and make its generated client available for use in solana-account-decoder. What do you think?
IIUC this is a side point, but there is a lot to be said for not doing this. As for the main point, what is the timeline for the BPF migration? And will the API change? Because if it doesn't change then moving out the API is something that may as well be done sooner rather than later |
Yeah, I also believe we should bust the SDK up. It's also another reason I'd rather aim for the BPF approach, so the program code never lands in the SDK. This approach applied to other builtin programs evicts their code from the SDK as well.
We can't say for certain when the program itself will be migrated on-chain, but since the API should be completely unchanged, all we'd need to do is write the new BPF version. Then its API could be used instead of the config builtin here. Given the fact that this program is pretty small, it shouldn't take too long to do. |
Are you saying you would still have the config program API added to solana-sdk? I am suggesting not adding anything related to solana-config-program to solana-sdk.
This sounds like the BPF migration isn't a blocker for moving the API into its own crate? Since we already have the API and it won't change |
|
@kevinheavey I'm saying migrating it to BPF would be creating a brand new crate and evicting it from the monorepo. So, both splitting into two crates here or adding the API to the SDK are likely wasted work in the end, especially for this desired goal. It's better to just use the BPF version in |
|
@buffalojoec but will there not be a separate API crate for config program after the BPF migration? If not, where will the API code live? |
The jury is still out on whether it becomes a new crate or still uses Think Token, etc. but obviously much smaller. |
Token22 is my go-to example of why using a program as a library is a bad idea but I'm optimistic this won't run into the same problems since it's so small 🙏 |
|
@kevinheavey Let me close this for now and I'll circle back when we start the BPF migration. I'll do my best not to waste your work here! Thanks for rolling this out. |
I'm coming in late to this, but we could move all of the integration tests out of program crates, and do that as a convention in general, in order to limit the dependencies to just a few needed ones. We do that often anyway with things like the address lookup table, associated token account, etc. Would that help? |
|
@joncinque I only see integration tests for token22 in token/program-2022/tests which would make them already not part of spl-token-2022 right? Perhaps I am missing something. I was thinking about how anything that wants to use the instruction.rs file for token22 needs to compile a bunch of dependencies not used in that file, such as solana-zk-token-sdk. For example the other day I found myself reimplementing |
Splitting out the API is still a good idea, and we can probably do this with a program client crate when Config becomes BPF. I was moreso saying let's not add the API separation now, since we're already going to rewrite it and make a change to the SDK/monorepo to do so. I think what makes most sense is write the program in BPF and generate a client for it in Rust, then use that client in
I like this. It would certainly save on compile times especially when testing. Fwiw, an implementation-agnostic test harness fits nicely with this as well. |
btw @buffalojoec I was looking at Kinobi (I take it that's what will generate the client) and I don't think anything it generates will be used in solana-account-decoder. That crate uses the following things from
So from what I can tell none of the above would be generated by Kinobi, nor would they use anything generated by Kinobi |
|
@kevinheavey alright good looks, thanks. Let's see how this shakes out when we roll the BPF version. As you mentioned before it's a small program, so worst case we use the BPF program crate. If the client can give us what we need, we'll use that. I may start on this pretty soon actually. I can tag whenever I do if you want! |
Sorry for the delayed response here @kevinheavey -- I wasn't sure what kind of build you were referencing, so never mind! It seems like good client crates will be the best way forward here as @buffalojoec was mentioning. |
only reroute if relayer connected (anza-xyz#123) feat: add client tls config (anza-xyz#121) remove extra val (anza-xyz#129) fix clippy (anza-xyz#130) copy all binaries to docker-output (anza-xyz#131) Ledger tool halts at slot passed to create-snapshot (anza-xyz#118) update program submodule (anza-xyz#133) quick fix for tips and clearing old bundles (anza-xyz#135) update submodule to new program (anza-xyz#136) Improve stake-meta-generator usability (anza-xyz#134) pinning submodule head (anza-xyz#140) Use BundleAccountLocker when handling tip txs (anza-xyz#147) Add metrics for relayer + block engine proxy (anza-xyz#149) Build claim-mev in docker (anza-xyz#141) Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154) update submodule + dev files (anza-xyz#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159) update jito-programs submodule (anza-xyz#160) Separate MEV tip related workflow (anza-xyz#161) Add block builder fee protos (anza-xyz#162) fix jito programs (anza-xyz#163) update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164) Pipe through block builder fee (anza-xyz#167) pull in new snapshot code (anza-xyz#171) block builder bug (anza-xyz#172) Pull in new slack autosnapshot submodule (anza-xyz#174) sort stake meta json and use int math (anza-xyz#176) add accountsdb conn submod (anza-xyz#169) Update tip distribution parameters (anza-xyz#177) new submodules (anza-xyz#180) Add buildkite link for jito CI (anza-xyz#183) Fixed broken links to repositories (anza-xyz#184) Changed from ssh to https transfer for clone Seg/update submods (anza-xyz#187) fix tests (anza-xyz#190) rm geyser submod (anza-xyz#192) rm dangling geyser references (anza-xyz#193) fix syntax err (anza-xyz#195) use deterministic req ids in batch calls (anza-xyz#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (anza-xyz#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203) Add logging for sol balance desired (anza-xyz#205) * add logging * add logging * update msg * tweak vars update submodule (anza-xyz#204) use efficient data structures when calling batch_simulate_bundles (anza-xyz#206) [JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209) add config to simulate on top of working bank (anza-xyz#211) rm frozen bank check simulate_bundle rpc bugfixes (anza-xyz#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210) * add files * switch to include bump update submodule (anza-xyz#217) add amount filter (anza-xyz#218) update autosnapshot (anza-xyz#222) Print TX error in Bundles (anza-xyz#223) add new args to support single relayer and block-engine endpoints (anza-xyz#224) point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228) fix clippy errors (anza-xyz#230) fix validator start scripts (anza-xyz#232) Point README to gitbook (anza-xyz#237) use packaged cargo bin to build (anza-xyz#239) Add validator identity pubkey to StakeMeta (anza-xyz#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 (anza-xyz#240) Seg/tip distributor master (anza-xyz#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (anza-xyz#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 (anza-xyz#247) Improve docker caching delay constructing claim mev txs (anza-xyz#253) fix stake meta tests from bb fee (anza-xyz#254) fix tests Buffer bundles that exceed cost model (anza-xyz#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (anza-xyz#260) update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265) fix simulate_bundle client and better error handling (anza-xyz#267) update submod (anza-xyz#272) Preallocate Bundle Cost (anza-xyz#238) fix Dockerfile (anza-xyz#278) Fix Tests (anza-xyz#279) Fix Tests (anza-xyz#281) * fix tests update jito-programs submod (anza-xyz#282) add reclaim rent workflow (anza-xyz#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (anza-xyz#292) Remove security.md (anza-xyz#293) demote frequent relayer_stage-stream_error to warn (anza-xyz#275) account for case where TDA exists but not allocated (anza-xyz#295) implement better retries for tip-distributor workflows (anza-xyz#297) limit number of concurrent rpc calls (anza-xyz#298) Discard Empty Packet Batches (anza-xyz#299) Identity Hotswap (anza-xyz#290) small fixes (anza-xyz#305) Set backend config from admin rpc (anza-xyz#304) Admin Shred Receiver Change (anza-xyz#306) Seg/rm bundle UUID (anza-xyz#309) Fix github workflow to recursively clone (anza-xyz#327) Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341) Use cluster info functions for tpu (anza-xyz#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374) Updates bootstrap and start scripts needed for local dev. (anza-xyz#384) Remove Deprecated Cli Args (anza-xyz#387) Master Rebase improve simulate_bundle errors and response (anza-xyz#404) derive Clone on accountoverrides (anza-xyz#416) Add upsert to AccountOverrides (anza-xyz#419) update jito-programs (anza-xyz#430) [JIT-1661] Faster Autosnapshot (anza-xyz#436) Reverts simulate_transaction result calls to upstream (anza-xyz#446) Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449) first pass at wiring up jito-plugin (anza-xyz#428) [JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491) [JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490) Add Blockhash Metrics to Bundle Committer (anza-xyz#500) add priority fee ix to mev-claim (anza-xyz#520) Update Autosnapshot (anza-xyz#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582) Update CI (anza-xyz#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (anza-xyz#585) Fix more release urls (anza-xyz#588) [JIT-1812] Fix blocking mutexs (anza-xyz#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase anza-xyz#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 (anza-xyz#597) Sleep longer waiting for buildkite to start (anza-xyz#598) correctly initialize account overrides (anza-xyz#595) Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603) Add fast replay branch to daily rebase (anza-xyz#607) take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615) update jito-programs submodule Add 2.0 to daily rebase (anza-xyz#626) Export agave binaries during docker build (anza-xyz#627) Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611) Publish releases to S3 and GCS (anza-xyz#633) Rebase from different repos (anza-xyz#637) Point SECURITY.md to immunefi (anza-xyz#671) Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683) Separate out broadcast + retransmit shredstream (anza-xyz#703) Add packet flag for staked node (anza-xyz#705) Add auto-rebase to v2.1 (anza-xyz#739) Fix release github (anza-xyz#745) Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753) Add precompile checks in BundleStage (anza-xyz#787) Add auto-rebase to v2.2 (anza-xyz#818) Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860) Remove unwrap from authentication (anza-xyz#861) Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873) BP anza-xyz#885: Add libclang to Dockerfile (anza-xyz#886) Remove the tip distributor code (anza-xyz#888) Rebase: Update anchor to not use deprecated crates
only reroute if relayer connected (anza-xyz#123) feat: add client tls config (anza-xyz#121) remove extra val (anza-xyz#129) fix clippy (anza-xyz#130) copy all binaries to docker-output (anza-xyz#131) Ledger tool halts at slot passed to create-snapshot (anza-xyz#118) update program submodule (anza-xyz#133) quick fix for tips and clearing old bundles (anza-xyz#135) update submodule to new program (anza-xyz#136) Improve stake-meta-generator usability (anza-xyz#134) pinning submodule head (anza-xyz#140) Use BundleAccountLocker when handling tip txs (anza-xyz#147) Add metrics for relayer + block engine proxy (anza-xyz#149) Build claim-mev in docker (anza-xyz#141) Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154) update submodule + dev files (anza-xyz#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159) update jito-programs submodule (anza-xyz#160) Separate MEV tip related workflow (anza-xyz#161) Add block builder fee protos (anza-xyz#162) fix jito programs (anza-xyz#163) update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164) Pipe through block builder fee (anza-xyz#167) pull in new snapshot code (anza-xyz#171) block builder bug (anza-xyz#172) Pull in new slack autosnapshot submodule (anza-xyz#174) sort stake meta json and use int math (anza-xyz#176) add accountsdb conn submod (anza-xyz#169) Update tip distribution parameters (anza-xyz#177) new submodules (anza-xyz#180) Add buildkite link for jito CI (anza-xyz#183) Fixed broken links to repositories (anza-xyz#184) Changed from ssh to https transfer for clone Seg/update submods (anza-xyz#187) fix tests (anza-xyz#190) rm geyser submod (anza-xyz#192) rm dangling geyser references (anza-xyz#193) fix syntax err (anza-xyz#195) use deterministic req ids in batch calls (anza-xyz#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (anza-xyz#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203) Add logging for sol balance desired (anza-xyz#205) * add logging * add logging * update msg * tweak vars update submodule (anza-xyz#204) use efficient data structures when calling batch_simulate_bundles (anza-xyz#206) [JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209) add config to simulate on top of working bank (anza-xyz#211) rm frozen bank check simulate_bundle rpc bugfixes (anza-xyz#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210) * add files * switch to include bump update submodule (anza-xyz#217) add amount filter (anza-xyz#218) update autosnapshot (anza-xyz#222) Print TX error in Bundles (anza-xyz#223) add new args to support single relayer and block-engine endpoints (anza-xyz#224) point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228) fix clippy errors (anza-xyz#230) fix validator start scripts (anza-xyz#232) Point README to gitbook (anza-xyz#237) use packaged cargo bin to build (anza-xyz#239) Add validator identity pubkey to StakeMeta (anza-xyz#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 (anza-xyz#240) Seg/tip distributor master (anza-xyz#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (anza-xyz#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 (anza-xyz#247) Improve docker caching delay constructing claim mev txs (anza-xyz#253) fix stake meta tests from bb fee (anza-xyz#254) fix tests Buffer bundles that exceed cost model (anza-xyz#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (anza-xyz#260) update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265) fix simulate_bundle client and better error handling (anza-xyz#267) update submod (anza-xyz#272) Preallocate Bundle Cost (anza-xyz#238) fix Dockerfile (anza-xyz#278) Fix Tests (anza-xyz#279) Fix Tests (anza-xyz#281) * fix tests update jito-programs submod (anza-xyz#282) add reclaim rent workflow (anza-xyz#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (anza-xyz#292) Remove security.md (anza-xyz#293) demote frequent relayer_stage-stream_error to warn (anza-xyz#275) account for case where TDA exists but not allocated (anza-xyz#295) implement better retries for tip-distributor workflows (anza-xyz#297) limit number of concurrent rpc calls (anza-xyz#298) Discard Empty Packet Batches (anza-xyz#299) Identity Hotswap (anza-xyz#290) small fixes (anza-xyz#305) Set backend config from admin rpc (anza-xyz#304) Admin Shred Receiver Change (anza-xyz#306) Seg/rm bundle UUID (anza-xyz#309) Fix github workflow to recursively clone (anza-xyz#327) Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341) Use cluster info functions for tpu (anza-xyz#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374) Updates bootstrap and start scripts needed for local dev. (anza-xyz#384) Remove Deprecated Cli Args (anza-xyz#387) Master Rebase improve simulate_bundle errors and response (anza-xyz#404) derive Clone on accountoverrides (anza-xyz#416) Add upsert to AccountOverrides (anza-xyz#419) update jito-programs (anza-xyz#430) [JIT-1661] Faster Autosnapshot (anza-xyz#436) Reverts simulate_transaction result calls to upstream (anza-xyz#446) Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449) first pass at wiring up jito-plugin (anza-xyz#428) [JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491) [JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490) Add Blockhash Metrics to Bundle Committer (anza-xyz#500) add priority fee ix to mev-claim (anza-xyz#520) Update Autosnapshot (anza-xyz#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582) Update CI (anza-xyz#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (anza-xyz#585) Fix more release urls (anza-xyz#588) [JIT-1812] Fix blocking mutexs (anza-xyz#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase anza-xyz#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 (anza-xyz#597) Sleep longer waiting for buildkite to start (anza-xyz#598) correctly initialize account overrides (anza-xyz#595) Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603) Add fast replay branch to daily rebase (anza-xyz#607) take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615) update jito-programs submodule Add 2.0 to daily rebase (anza-xyz#626) Export agave binaries during docker build (anza-xyz#627) Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611) Publish releases to S3 and GCS (anza-xyz#633) Rebase from different repos (anza-xyz#637) Point SECURITY.md to immunefi (anza-xyz#671) Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683) Separate out broadcast + retransmit shredstream (anza-xyz#703) Add packet flag for staked node (anza-xyz#705) Add auto-rebase to v2.1 (anza-xyz#739) Fix release github (anza-xyz#745) Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753) Add precompile checks in BundleStage (anza-xyz#787) Add auto-rebase to v2.2 (anza-xyz#818) Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860) Remove unwrap from authentication (anza-xyz#861) Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873) Add libclang to Dockerfile (anza-xyz#885) Remove the tip distributor code (anza-xyz#888) Rebase: Update anchor to not use deprecated crates Add TLS webpki roots back in (anza-xyz#933) Remove trusted relayer packets (anza-xyz#952) Fix shred retransmit (anza-xyz#954) [v3.0] Automatically use optimal Block Engine region (anza-xyz#983) (Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
only reroute if relayer connected (anza-xyz#123) feat: add client tls config (anza-xyz#121) remove extra val (anza-xyz#129) fix clippy (anza-xyz#130) copy all binaries to docker-output (anza-xyz#131) Ledger tool halts at slot passed to create-snapshot (anza-xyz#118) update program submodule (anza-xyz#133) quick fix for tips and clearing old bundles (anza-xyz#135) update submodule to new program (anza-xyz#136) Improve stake-meta-generator usability (anza-xyz#134) pinning submodule head (anza-xyz#140) Use BundleAccountLocker when handling tip txs (anza-xyz#147) Add metrics for relayer + block engine proxy (anza-xyz#149) Build claim-mev in docker (anza-xyz#141) Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154) update submodule + dev files (anza-xyz#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159) update jito-programs submodule (anza-xyz#160) Separate MEV tip related workflow (anza-xyz#161) Add block builder fee protos (anza-xyz#162) fix jito programs (anza-xyz#163) update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164) Pipe through block builder fee (anza-xyz#167) pull in new snapshot code (anza-xyz#171) block builder bug (anza-xyz#172) Pull in new slack autosnapshot submodule (anza-xyz#174) sort stake meta json and use int math (anza-xyz#176) add accountsdb conn submod (anza-xyz#169) Update tip distribution parameters (anza-xyz#177) new submodules (anza-xyz#180) Add buildkite link for jito CI (anza-xyz#183) Fixed broken links to repositories (anza-xyz#184) Changed from ssh to https transfer for clone Seg/update submods (anza-xyz#187) fix tests (anza-xyz#190) rm geyser submod (anza-xyz#192) rm dangling geyser references (anza-xyz#193) fix syntax err (anza-xyz#195) use deterministic req ids in batch calls (anza-xyz#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (anza-xyz#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203) Add logging for sol balance desired (anza-xyz#205) * add logging * add logging * update msg * tweak vars update submodule (anza-xyz#204) use efficient data structures when calling batch_simulate_bundles (anza-xyz#206) [JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209) add config to simulate on top of working bank (anza-xyz#211) rm frozen bank check simulate_bundle rpc bugfixes (anza-xyz#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210) * add files * switch to include bump update submodule (anza-xyz#217) add amount filter (anza-xyz#218) update autosnapshot (anza-xyz#222) Print TX error in Bundles (anza-xyz#223) add new args to support single relayer and block-engine endpoints (anza-xyz#224) point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228) fix clippy errors (anza-xyz#230) fix validator start scripts (anza-xyz#232) Point README to gitbook (anza-xyz#237) use packaged cargo bin to build (anza-xyz#239) Add validator identity pubkey to StakeMeta (anza-xyz#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 (anza-xyz#240) Seg/tip distributor master (anza-xyz#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (anza-xyz#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 (anza-xyz#247) Improve docker caching delay constructing claim mev txs (anza-xyz#253) fix stake meta tests from bb fee (anza-xyz#254) fix tests Buffer bundles that exceed cost model (anza-xyz#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (anza-xyz#260) update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265) fix simulate_bundle client and better error handling (anza-xyz#267) update submod (anza-xyz#272) Preallocate Bundle Cost (anza-xyz#238) fix Dockerfile (anza-xyz#278) Fix Tests (anza-xyz#279) Fix Tests (anza-xyz#281) * fix tests update jito-programs submod (anza-xyz#282) add reclaim rent workflow (anza-xyz#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (anza-xyz#292) Remove security.md (anza-xyz#293) demote frequent relayer_stage-stream_error to warn (anza-xyz#275) account for case where TDA exists but not allocated (anza-xyz#295) implement better retries for tip-distributor workflows (anza-xyz#297) limit number of concurrent rpc calls (anza-xyz#298) Discard Empty Packet Batches (anza-xyz#299) Identity Hotswap (anza-xyz#290) small fixes (anza-xyz#305) Set backend config from admin rpc (anza-xyz#304) Admin Shred Receiver Change (anza-xyz#306) Seg/rm bundle UUID (anza-xyz#309) Fix github workflow to recursively clone (anza-xyz#327) Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341) Use cluster info functions for tpu (anza-xyz#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374) Updates bootstrap and start scripts needed for local dev. (anza-xyz#384) Remove Deprecated Cli Args (anza-xyz#387) Master Rebase improve simulate_bundle errors and response (anza-xyz#404) derive Clone on accountoverrides (anza-xyz#416) Add upsert to AccountOverrides (anza-xyz#419) update jito-programs (anza-xyz#430) [JIT-1661] Faster Autosnapshot (anza-xyz#436) Reverts simulate_transaction result calls to upstream (anza-xyz#446) Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449) first pass at wiring up jito-plugin (anza-xyz#428) [JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491) [JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490) Add Blockhash Metrics to Bundle Committer (anza-xyz#500) add priority fee ix to mev-claim (anza-xyz#520) Update Autosnapshot (anza-xyz#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582) Update CI (anza-xyz#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (anza-xyz#585) Fix more release urls (anza-xyz#588) [JIT-1812] Fix blocking mutexs (anza-xyz#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase anza-xyz#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 (anza-xyz#597) Sleep longer waiting for buildkite to start (anza-xyz#598) correctly initialize account overrides (anza-xyz#595) Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603) Add fast replay branch to daily rebase (anza-xyz#607) take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615) update jito-programs submodule Add 2.0 to daily rebase (anza-xyz#626) Export agave binaries during docker build (anza-xyz#627) Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611) Publish releases to S3 and GCS (anza-xyz#633) Rebase from different repos (anza-xyz#637) Point SECURITY.md to immunefi (anza-xyz#671) Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683) Separate out broadcast + retransmit shredstream (anza-xyz#703) Add packet flag for staked node (anza-xyz#705) Add auto-rebase to v2.1 (anza-xyz#739) Fix release github (anza-xyz#745) Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753) Add precompile checks in BundleStage (anza-xyz#787) Add auto-rebase to v2.2 (anza-xyz#818) Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860) Remove unwrap from authentication (anza-xyz#861) Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873) Add libclang to Dockerfile (anza-xyz#885) Remove the tip distributor code (anza-xyz#888) Rebase: Update anchor to not use deprecated crates Add TLS webpki roots back in (anza-xyz#933) Remove trusted relayer packets (anza-xyz#952) Fix shred retransmit (anza-xyz#954) [v3.0] Automatically use optimal Block Engine region (anza-xyz#983) (Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
only reroute if relayer connected (anza-xyz#123) feat: add client tls config (anza-xyz#121) remove extra val (anza-xyz#129) fix clippy (anza-xyz#130) copy all binaries to docker-output (anza-xyz#131) Ledger tool halts at slot passed to create-snapshot (anza-xyz#118) update program submodule (anza-xyz#133) quick fix for tips and clearing old bundles (anza-xyz#135) update submodule to new program (anza-xyz#136) Improve stake-meta-generator usability (anza-xyz#134) pinning submodule head (anza-xyz#140) Use BundleAccountLocker when handling tip txs (anza-xyz#147) Add metrics for relayer + block engine proxy (anza-xyz#149) Build claim-mev in docker (anza-xyz#141) Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154) update submodule + dev files (anza-xyz#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159) update jito-programs submodule (anza-xyz#160) Separate MEV tip related workflow (anza-xyz#161) Add block builder fee protos (anza-xyz#162) fix jito programs (anza-xyz#163) update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164) Pipe through block builder fee (anza-xyz#167) pull in new snapshot code (anza-xyz#171) block builder bug (anza-xyz#172) Pull in new slack autosnapshot submodule (anza-xyz#174) sort stake meta json and use int math (anza-xyz#176) add accountsdb conn submod (anza-xyz#169) Update tip distribution parameters (anza-xyz#177) new submodules (anza-xyz#180) Add buildkite link for jito CI (anza-xyz#183) Fixed broken links to repositories (anza-xyz#184) Changed from ssh to https transfer for clone Seg/update submods (anza-xyz#187) fix tests (anza-xyz#190) rm geyser submod (anza-xyz#192) rm dangling geyser references (anza-xyz#193) fix syntax err (anza-xyz#195) use deterministic req ids in batch calls (anza-xyz#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (anza-xyz#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203) Add logging for sol balance desired (anza-xyz#205) * add logging * add logging * update msg * tweak vars update submodule (anza-xyz#204) use efficient data structures when calling batch_simulate_bundles (anza-xyz#206) [JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209) add config to simulate on top of working bank (anza-xyz#211) rm frozen bank check simulate_bundle rpc bugfixes (anza-xyz#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210) * add files * switch to include bump update submodule (anza-xyz#217) add amount filter (anza-xyz#218) update autosnapshot (anza-xyz#222) Print TX error in Bundles (anza-xyz#223) add new args to support single relayer and block-engine endpoints (anza-xyz#224) point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228) fix clippy errors (anza-xyz#230) fix validator start scripts (anza-xyz#232) Point README to gitbook (anza-xyz#237) use packaged cargo bin to build (anza-xyz#239) Add validator identity pubkey to StakeMeta (anza-xyz#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 (anza-xyz#240) Seg/tip distributor master (anza-xyz#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (anza-xyz#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 (anza-xyz#247) Improve docker caching delay constructing claim mev txs (anza-xyz#253) fix stake meta tests from bb fee (anza-xyz#254) fix tests Buffer bundles that exceed cost model (anza-xyz#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (anza-xyz#260) update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265) fix simulate_bundle client and better error handling (anza-xyz#267) update submod (anza-xyz#272) Preallocate Bundle Cost (anza-xyz#238) fix Dockerfile (anza-xyz#278) Fix Tests (anza-xyz#279) Fix Tests (anza-xyz#281) * fix tests update jito-programs submod (anza-xyz#282) add reclaim rent workflow (anza-xyz#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (anza-xyz#292) Remove security.md (anza-xyz#293) demote frequent relayer_stage-stream_error to warn (anza-xyz#275) account for case where TDA exists but not allocated (anza-xyz#295) implement better retries for tip-distributor workflows (anza-xyz#297) limit number of concurrent rpc calls (anza-xyz#298) Discard Empty Packet Batches (anza-xyz#299) Identity Hotswap (anza-xyz#290) small fixes (anza-xyz#305) Set backend config from admin rpc (anza-xyz#304) Admin Shred Receiver Change (anza-xyz#306) Seg/rm bundle UUID (anza-xyz#309) Fix github workflow to recursively clone (anza-xyz#327) Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341) Use cluster info functions for tpu (anza-xyz#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374) Updates bootstrap and start scripts needed for local dev. (anza-xyz#384) Remove Deprecated Cli Args (anza-xyz#387) Master Rebase improve simulate_bundle errors and response (anza-xyz#404) derive Clone on accountoverrides (anza-xyz#416) Add upsert to AccountOverrides (anza-xyz#419) update jito-programs (anza-xyz#430) [JIT-1661] Faster Autosnapshot (anza-xyz#436) Reverts simulate_transaction result calls to upstream (anza-xyz#446) Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449) first pass at wiring up jito-plugin (anza-xyz#428) [JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491) [JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490) Add Blockhash Metrics to Bundle Committer (anza-xyz#500) add priority fee ix to mev-claim (anza-xyz#520) Update Autosnapshot (anza-xyz#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582) Update CI (anza-xyz#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (anza-xyz#585) Fix more release urls (anza-xyz#588) [JIT-1812] Fix blocking mutexs (anza-xyz#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase anza-xyz#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 (anza-xyz#597) Sleep longer waiting for buildkite to start (anza-xyz#598) correctly initialize account overrides (anza-xyz#595) Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603) Add fast replay branch to daily rebase (anza-xyz#607) take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615) update jito-programs submodule Add 2.0 to daily rebase (anza-xyz#626) Export agave binaries during docker build (anza-xyz#627) Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611) Publish releases to S3 and GCS (anza-xyz#633) Rebase from different repos (anza-xyz#637) Point SECURITY.md to immunefi (anza-xyz#671) Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683) Separate out broadcast + retransmit shredstream (anza-xyz#703) Add packet flag for staked node (anza-xyz#705) Add auto-rebase to v2.1 (anza-xyz#739) Fix release github (anza-xyz#745) Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753) Add precompile checks in BundleStage (anza-xyz#787) Add auto-rebase to v2.2 (anza-xyz#818) Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860) Remove unwrap from authentication (anza-xyz#861) Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873) Add libclang to Dockerfile (anza-xyz#885) Remove the tip distributor code (anza-xyz#888) Rebase: Update anchor to not use deprecated crates Add TLS webpki roots back in (anza-xyz#933) Remove trusted relayer packets (anza-xyz#952) Fix shred retransmit (anza-xyz#954) [v3.0] Automatically use optimal Block Engine region (anza-xyz#983) (Backport: anza-xyz#995) Disable autoconfig (anza-xyz#996)
only reroute if relayer connected (anza-xyz#123) feat: add client tls config (anza-xyz#121) remove extra val (anza-xyz#129) fix clippy (anza-xyz#130) copy all binaries to docker-output (anza-xyz#131) Ledger tool halts at slot passed to create-snapshot (anza-xyz#118) update program submodule (anza-xyz#133) quick fix for tips and clearing old bundles (anza-xyz#135) update submodule to new program (anza-xyz#136) Improve stake-meta-generator usability (anza-xyz#134) pinning submodule head (anza-xyz#140) Use BundleAccountLocker when handling tip txs (anza-xyz#147) Add metrics for relayer + block engine proxy (anza-xyz#149) Build claim-mev in docker (anza-xyz#141) Rework bundle receiving and add metrics (anza-xyz#152) (anza-xyz#154) update submodule + dev files (anza-xyz#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (anza-xyz#159) update jito-programs submodule (anza-xyz#160) Separate MEV tip related workflow (anza-xyz#161) Add block builder fee protos (anza-xyz#162) fix jito programs (anza-xyz#163) update submodule so autosnapshot exits out of ledger tool early (anza-xyz#164) Pipe through block builder fee (anza-xyz#167) pull in new snapshot code (anza-xyz#171) block builder bug (anza-xyz#172) Pull in new slack autosnapshot submodule (anza-xyz#174) sort stake meta json and use int math (anza-xyz#176) add accountsdb conn submod (anza-xyz#169) Update tip distribution parameters (anza-xyz#177) new submodules (anza-xyz#180) Add buildkite link for jito CI (anza-xyz#183) Fixed broken links to repositories (anza-xyz#184) Changed from ssh to https transfer for clone Seg/update submods (anza-xyz#187) fix tests (anza-xyz#190) rm geyser submod (anza-xyz#192) rm dangling geyser references (anza-xyz#193) fix syntax err (anza-xyz#195) use deterministic req ids in batch calls (anza-xyz#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (anza-xyz#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (anza-xyz#203) Add logging for sol balance desired (anza-xyz#205) * add logging * add logging * update msg * tweak vars update submodule (anza-xyz#204) use efficient data structures when calling batch_simulate_bundles (anza-xyz#206) [JIT-504] Add low balance check in uploading merkle roots (anza-xyz#209) add config to simulate on top of working bank (anza-xyz#211) rm frozen bank check simulate_bundle rpc bugfixes (anza-xyz#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (anza-xyz#210) * add files * switch to include bump update submodule (anza-xyz#217) add amount filter (anza-xyz#218) update autosnapshot (anza-xyz#222) Print TX error in Bundles (anza-xyz#223) add new args to support single relayer and block-engine endpoints (anza-xyz#224) point to new jito-programs submod and invoke updated init tda instruction (anza-xyz#228) fix clippy errors (anza-xyz#230) fix validator start scripts (anza-xyz#232) Point README to gitbook (anza-xyz#237) use packaged cargo bin to build (anza-xyz#239) Add validator identity pubkey to StakeMeta (anza-xyz#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 (anza-xyz#240) Seg/tip distributor master (anza-xyz#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (anza-xyz#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 (anza-xyz#247) Improve docker caching delay constructing claim mev txs (anza-xyz#253) fix stake meta tests from bb fee (anza-xyz#254) fix tests Buffer bundles that exceed cost model (anza-xyz#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (anza-xyz#260) update Cargo.lock to correct solana versions in jito-programs submodule (anza-xyz#265) fix simulate_bundle client and better error handling (anza-xyz#267) update submod (anza-xyz#272) Preallocate Bundle Cost (anza-xyz#238) fix Dockerfile (anza-xyz#278) Fix Tests (anza-xyz#279) Fix Tests (anza-xyz#281) * fix tests update jito-programs submod (anza-xyz#282) add reclaim rent workflow (anza-xyz#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (anza-xyz#292) Remove security.md (anza-xyz#293) demote frequent relayer_stage-stream_error to warn (anza-xyz#275) account for case where TDA exists but not allocated (anza-xyz#295) implement better retries for tip-distributor workflows (anza-xyz#297) limit number of concurrent rpc calls (anza-xyz#298) Discard Empty Packet Batches (anza-xyz#299) Identity Hotswap (anza-xyz#290) small fixes (anza-xyz#305) Set backend config from admin rpc (anza-xyz#304) Admin Shred Receiver Change (anza-xyz#306) Seg/rm bundle UUID (anza-xyz#309) Fix github workflow to recursively clone (anza-xyz#327) Add recursive checkout for downstream-project-spl.yaml (anza-xyz#341) Use cluster info functions for tpu (anza-xyz#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (anza-xyz#374) Updates bootstrap and start scripts needed for local dev. (anza-xyz#384) Remove Deprecated Cli Args (anza-xyz#387) Master Rebase improve simulate_bundle errors and response (anza-xyz#404) derive Clone on accountoverrides (anza-xyz#416) Add upsert to AccountOverrides (anza-xyz#419) update jito-programs (anza-xyz#430) [JIT-1661] Faster Autosnapshot (anza-xyz#436) Reverts simulate_transaction result calls to upstream (anza-xyz#446) Don't unlock accounts in TransactionBatches used during simulation (anza-xyz#449) first pass at wiring up jito-plugin (anza-xyz#428) [JIT-1713] Fix bundle's blockspace preallocation (anza-xyz#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (anza-xyz#491) [JIT-1710] - Optimize Bundle Consumer Checks (anza-xyz#490) Add Blockhash Metrics to Bundle Committer (anza-xyz#500) add priority fee ix to mev-claim (anza-xyz#520) Update Autosnapshot (anza-xyz#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (anza-xyz#582) Update CI (anza-xyz#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (anza-xyz#585) Fix more release urls (anza-xyz#588) [JIT-1812] Fix blocking mutexs (anza-xyz#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (anza-xyz#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase anza-xyz#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 (anza-xyz#597) Sleep longer waiting for buildkite to start (anza-xyz#598) correctly initialize account overrides (anza-xyz#595) Fix: Ensure set contact info to UDP port instead of QUIC (anza-xyz#603) Add fast replay branch to daily rebase (anza-xyz#607) take a snapshot of all bundle accounts before sim (anza-xyz#13) (anza-xyz#615) update jito-programs submodule Add 2.0 to daily rebase (anza-xyz#626) Export agave binaries during docker build (anza-xyz#627) Buffer bundles that exceed processing time and make the allowed processing time longer (anza-xyz#611) Publish releases to S3 and GCS (anza-xyz#633) Rebase from different repos (anza-xyz#637) Point SECURITY.md to immunefi (anza-xyz#671) Loosen requirements on tip accounts touchable in BankingStage (anza-xyz#683) Separate out broadcast + retransmit shredstream (anza-xyz#703) Add packet flag for staked node (anza-xyz#705) Add auto-rebase to v2.1 (anza-xyz#739) Fix release github (anza-xyz#745) Move block_cost_limit tracking to BankingStage in preparation for SIMD-0207 (anza-xyz#753) Add precompile checks in BundleStage (anza-xyz#787) Add auto-rebase to v2.2 (anza-xyz#818) Add better error handling around missing transaction signatures for bundle id generation (anza-xyz#860) Remove unwrap from authentication (anza-xyz#861) Revert Jito-Solana WorkingBankEntry changes (anza-xyz#873) Add libclang to Dockerfile (anza-xyz#885) Remove the tip distributor code (anza-xyz#888) Rebase: Update anchor to not use deprecated crates Add TLS webpki roots back in (anza-xyz#933) Remove trusted relayer packets (anza-xyz#952) Fix shred retransmit (anza-xyz#954) Add daily v3.0 rebase (anza-xyz#972) [Master] Automatically use optimal Block Engine region (anza-xyz#974) Disable autoconfig (anza-xyz#995) Make shredstream optional (anza-xyz#997)
Problem
solana-account-decoderdepends onsolana-config-program, which depends onsolana-program-runtimewhich is an awful thing to depend on if you don't need it (I can elaborate if you like, but one reason is that it brings inreqwestas a dependency). The good news is thatsolana-program-runtimeis not part ofsolana-config-program's API, so if we extract a separatesolana-config-program-apicrate, we can use that instead and be free ofsolana-program-runtimeinsolana-account-decoder.Summary of Changes
solana-config-programand moves it into a new cratesolana-config-program-apisolana-config-program-apiinsolana-config-programfor backwards compatibility.solana-config-programwithsolana-config-program-apiinsolana-account-decoderPer CONTRIBUTING.md I have set the version of the new crate to 0.0.1
There are more crates in the repo that could also swap out for the lighter dependency but I decided to keep the PR small