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

chore(pyth-solana-receiver-sdk): enable solana-program >= 2 (and thus anchor-lang 0.31.0) #2504

Merged
merged 1 commit into from
Mar 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion target_chains/solana/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions target_chains/solana/pyth_solana_receiver_sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pyth-solana-receiver-sdk"
version = "0.5.0"
version = "0.6.0"
description = "SDK for the Pyth Solana Receiver program"
authors = ["Pyth Data Association"]
repository = "https://github.com/pyth-network/pyth-crosschain"
Expand All @@ -15,7 +15,8 @@ name = "pyth_solana_receiver_sdk"
[dependencies]
anchor-lang = ">=0.28.0"
hex = ">=0.4.3"
bytemuck_derive = "<=1.8.1" # After this version, MSRV 1.84 is required.
pythnet-sdk = { path = "../../../pythnet/pythnet_sdk", version = "2.1.0", features = [
"solana-program",
] }
solana-program = ">=1.16.0, <2.0.0"
solana-program = ">=1.16.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

actually anchor people recommend against having solana-program here and encourage using the reexport in anchor_lang::solana_program , can you try that for the sdk

Copy link
Contributor Author

@tejasbadadare tejasbadadare Mar 19, 2025

Choose a reason for hiding this comment

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

Yeah I saw that in the migration notes, (and its in my cursed WIP PR).

This is tricky because we use the pubkey! macro in lib.rs, but this comes from the solana-program crate, not the reexport. See here: coral-xyz/anchor#3021
Their conclusion was just to have consumers specify a solana-program in their Cargo.toml and rely on dependency resolution to figure it out.

Later on they added the macro to the anchor prelude, but this isn't available in 0.28.0, which we need to support due to the other packages in the workspace that need 0.28.0 and have a path dependency on the SDK.

We could publish v0.6.0 of the SDK which enforces anchor-lang>=0.31 and uses the reexport, and then have the workspace programs depend on 0.5.0 of the SDK rather than the path dependency. But of course this removes some of the utility of having the workspace. I think its okay in this case to explicitly depend on solana-program>=1.16.0, especially since we don't use anything that broke in v2.

Loading