Skip to content

Conversation

rustopian
Copy link
Contributor

Problem (as stated by @joncinque at token-2022 #616)
The SPL token program has some heavy dependencies that most users of the crate don't care about. This causes dependency issues and long compilation times.

Also, the program uses Agave dependencies, which creates circular dependencies and makes it impossible to upgrade to SDK v3 without some complicated gymnastics.

Summary of changes
Everything needed by Agave is now split into the spl-token-interface crate. On-chain programs can also use this as an rlib.

@rustopian rustopian requested a review from joncinque August 4, 2025 16:24
@rustopian rustopian self-assigned this Aug 4, 2025
@rustopian rustopian enabled auto-merge (squash) August 4, 2025 20:46
Copy link
Contributor

@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 overall! mostly bits on the dependencies and CI, then we can get this in

@rustopian rustopian force-pushed the split-spl-token-interface branch from e2824ea to 81741bf Compare August 4, 2025 22:24
@rustopian rustopian requested a review from joncinque August 4, 2025 22:39
Copy link
Contributor

@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.

Just one last bit, then this is good to go!

@rustopian rustopian requested a review from joncinque August 4, 2025 23:14
Copy link
Contributor

@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 great! :shipit:

@rustopian rustopian merged commit e140027 into solana-program:main Aug 4, 2025
17 checks passed
@rustopian rustopian deleted the split-spl-token-interface branch August 5, 2025 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants