Skip to content
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 rpc-filter crate #2097

Closed
wants to merge 5 commits into from

Conversation

kevinheavey
Copy link

Problem

solana-rpc-client-api is too big and filter.rs is easy to pull out

Summary of Changes

pull it out and re-export with a deprecation notice

Copy link

mergify bot commented Jul 11, 2024

If this PR represents a change to the public RPC API:

  1. Make sure it includes a complementary update to rpc-client/ (example)
  2. Open a follow-up PR to update the JavaScript client @solana/web3.js (example)

Thank you for keeping the RPC clients in sync with the server API @kevinheavey.

@CriesofCarrots
Copy link

Sorry, I'm going to need more detail on the problem: by what metric is solana-rpc-client-api "too big"?

@kevinheavey
Copy link
Author

A release build takes 70 seconds on my machine and pulls in a long list of heavy dependencies that many use cases don't require, such as spl-token-2022, solana-transaction-status, solana-program-runtime, solana-zk-token-sdk and reqwest

@CriesofCarrots
Copy link

A release build takes 70 seconds on my machine and pulls in a long list of heavy dependencies that many use cases don't require, such as spl-token-2022, solana-transaction-status, solana-program-runtime, solana-zk-token-sdk and reqwest

Sorry, I think I'm going to need to see the bigger picture before jumping on board with this PR or #2084
It doesn't necessarily make sense to me to make every module in the repo its own crate. When would you use RpcFilterType, for instance, without one of the config types?

@kevinheavey
Copy link
Author

Ah the bigger picture is that rpc_client_api::config is also big enough to be more than one crate - it exposes a bunch of structs that 99% of use cases don't need.

But I'd be open to starting by just making a crate that houses both config.rs and filter.rs

@kevinheavey
Copy link
Author

Closing in favour of #4038

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants