You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
interface: Introduce lightweight crate for instruction + id (#200)
* interface: Introduce lightweight crate for instruction + id
#### Problem
In order to publish the v3 SDK crates and have them usable in Agave, we
also need to have SPL crates using the v3 SDK crates. However, we have a
circular dependency between Agave and SPL which currently makes this
impossible.
The overall plan is to have Agave only use "interface" crates from SPL,
which have no dependencies on Agave crates.
You can see more info about the project at https://github.com/orgs/anza-xyz/projects/27
Memo is very simple, since it just exposes an instruction creator and id
to Agave.
#### Summary of changes
Create the new interface crate with the instruction and id.
The Rust scripts needed to be adapted to having more than one crate, so
I copied all the scripts from token-2022 and updated the commands in
package.json accordingly.
NOTE: There is a difference in the `build_memo` instruction creator. In
the interface crate, it accepts any program id, whereas the program
crate hardcodes the v3 id. Since we're planning on deploying p-memo
soon under a new program id, this new function will be easier to use.
* Actually add the interface crate files
* Remove semver check for now
* Wait a bit longer for the program to be deployed and ready
* Explicitly build and test p-memo
0 commit comments