metaplex-foundation / metaplex-program-library

Smart contracts maintained by the Metaplex team
Other
588 stars 513 forks source link

[Feature]: Please release a version compatible with anchor 0.28.0 and solana's latest version #1134

Closed SushantChandla closed 1 year ago

SushantChandla commented 1 year ago

Which package is this feature request for?

token-metadata

Feature

Always frustrated when trying to update anchor or solana version for my smart contract.

Standard Change?

No

Ideal solution or implementation

I also noticed that we have an IDL generated I think it would be nice to release a separate package https://github.com/saber-hq/anchor-gen then bumping solana version and other are simpler and it also makes things simple for the integrators, Thanks!

Alternative solutions or implementations

No response

Other context

No response

samuelvanderwaal commented 1 year ago

Updating to new Solana versions tends to be a dependency hell, so it's not something that happens immediately. Currently the canonical Metaplex versions are:

Solana 1.14 Rust 1.65.0 Anchor 0.26

We'll bump at some point, probably after 1.16 is actually on mainnet so it's unlikely to get yanked, and we have time to do so in a careful way to minimize breaking any downstream folks of us.

SushantChandla commented 1 year ago

Can you have a look at https://github.com/saber-hq/anchor-gen It would be a nice addition to the repository and a great help for integrators like us to have small rust crate that is published on crate.io. Updating and changing the anchor version also becomes very simple for you guys.

samuelvanderwaal commented 1 year ago

Can you have a look at https://github.com/saber-hq/anchor-gen It would be a nice addition to the repository and a great help for integrators like us to have small rust crate that is published on crate.io. Updating and changing the anchor version also becomes very simple for you guys.

Token Metadata isn't an Anchor program, though, so that crate isn't going to be helpful in this case.

SushantChandla commented 1 year ago

Actually, it does not need to be an anchor program for that one. It just needs to have an idl. And with that idl it will generate an anchor project with all the instructions unimplemented. So it will build a rust client. A cool project in my opinion we at credix use the say for our rust client.

Anyways Thanks!

samuelvanderwaal commented 1 year ago

Actually, it does not need to be an anchor program for that one. It just needs to have an idl. And with that idl it will generate an anchor project with all the instructions unimplemented. So it will build a rust client. A cool project in my opinion we at credix use the say for our rust client.

Anyways Thanks!

But the Rust client it generates is for CPI'ing into an Anchor program, right? It looks like it generates all the functions with the Anchor Context object which isn't going to work for calling into e.g. Token Metadata which is not an Anchor program. Am I missing something?

SushantChandla commented 1 year ago

ah, yes you are right. If it sends the with that client it will send the different instruction data which will not work. Thanks!