sdk: Add macro to get Cargo.toml package metadata #1464
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
As part of the new format for solana programs, we want to use the
[package.metadata]
section in Cargo.toml to store Solana-specific information, such as the program id, as in https://github.com/solana-program/config/blob/396c398b558abb0b57c9c03e11f766417ce1fc94/program/Cargo.toml#L11-L12Unfortunately, we need to specify this in two places since it isn't possible to just get the data from the Cargo.toml's metadata directly, ie https://github.com/solana-program/config/blob/396c398b558abb0b57c9c03e11f766417ce1fc94/program/src/lib.rs#L11
Summary of Changes
Following the implementation at https://gitlab.com/shanepearlman/cargo_meta, add a macro that extracts the data from
Cargo.toml
directly.This is the first step, next we need to add a macro to generate a const pubkey that we can use with
declare_id
, ie. something like:cc @lorisleiva
Fixes #