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 solana-feature crate #3120

Merged
merged 4 commits into from
Dec 5, 2024
Merged

Conversation

kevinheavey
Copy link

@kevinheavey kevinheavey commented Oct 9, 2024

Problem

solana_program::feature imposes a solana_program dep on solana_rpc_client

Summary of Changes

  • Move to its own crate and re-export with deprecation
  • Make serde and bincode optional in the new crate

@kevinheavey kevinheavey changed the title Extract feature Extract solana-feature crate Oct 9, 2024
@kevinheavey kevinheavey force-pushed the extract-feature branch 2 times, most recently from 058d94b to c713f2b Compare October 14, 2024 13:24
@kevinheavey kevinheavey force-pushed the extract-feature branch 2 times, most recently from 774c4c6 to e44bd02 Compare October 29, 2024 09:15
@kevinheavey kevinheavey force-pushed the extract-feature branch 2 times, most recently from 5d4e2da to d5cc897 Compare November 28, 2024 15:06
@kevinheavey kevinheavey marked this pull request as ready for review November 28, 2024 15:08
@kevinheavey kevinheavey force-pushed the extract-feature branch 5 times, most recently from b7f92d7 to abd112e Compare December 4, 2024 21:04
@kevinheavey kevinheavey requested a review from joncinque December 5, 2024 10:44
Copy link

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is the feature gate program's equivalent of an "interface" crate, can we call it solana-feature-gate-interface? We can eventually move this into https://github.com/solana-program/feature-gate/, but I don't think it's necessary just yet.

cc @buffalojoec does that sound ok?

Otherwise, it looks good to me!

Copy link

@joncinque joncinque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! @yihau can you accept solana-feature-gate-interface?

@joncinque joncinque merged commit 9b0364f into anza-xyz:master Dec 5, 2024
52 checks passed
@kevinheavey kevinheavey deleted the extract-feature branch December 5, 2024 17:28
@buffalojoec
Copy link

buffalojoec commented Dec 5, 2024

Since this is the feature gate program's equivalent of an "interface" crate, can we call it solana-feature-gate-interface? We can eventually move this into https://github.com/solana-program/feature-gate/, but I don't think it's necessary just yet.

cc @buffalojoec does that sound ok?

Yeah I don't want to block SDK breakup work, so this is okay for now, but I do think most (if not all) of this should go in the program's client, so maybe we should consider deprecating it? We can publish the Rust client anytime.

@joncinque
Copy link

Since the feature gate program depends on these types, it would create a sort of circular dependency for the program. Program depends on client, and client is generated from program.

We've opted for creating "interface" crates which just contain state / instruction / error types, so that IDLs can be generated. So I'd actually want to move more stuff into the interface crate from the program!

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

Successfully merging this pull request may close these issues.

3 participants