Skip to content

feat: Add versioned tx support in rust client#4207

Open
cryptopapi997 wants to merge 9 commits intosolana-foundation:masterfrom
cryptopapi997:ns/versioned-txs-in-client
Open

feat: Add versioned tx support in rust client#4207
cryptopapi997 wants to merge 9 commits intosolana-foundation:masterfrom
cryptopapi997:ns/versioned-txs-in-client

Conversation

@cryptopapi997
Copy link
Contributor

@cryptopapi997 cryptopapi997 commented Jan 29, 2026

Currently, there's no way to build versioned txs using the anchor rust client, only legacy transactions are possible. This PR changes that by introducing the same transaction-related method with a _versioned suffix & deprecates the old methods. This is relevant in that it allows for switching between V0 and legacy transactions with the same code (and the upcoming V1 format).

@vercel
Copy link

vercel bot commented Jan 29, 2026

@cryptopapi997 is attempting to deploy a commit to the Solana Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@cryptopapi997 cryptopapi997 force-pushed the ns/versioned-txs-in-client branch from c114045 to a3963f5 Compare January 29, 2026 05:53
@cryptopapi997 cryptopapi997 force-pushed the ns/versioned-txs-in-client branch from a3963f5 to 41d16f9 Compare January 29, 2026 05:56
@cryptopapi997
Copy link
Contributor Author

wdyt @jamie-osec

@jamie-osec
Copy link
Collaborator

I don't think deprecating here necessarily makes sense; the vast majority of use cases are going to be using legacy so it adds boilerplate to the common case. I think we can just use the docstring to point at the versioned method

@cryptopapi997
Copy link
Contributor Author

I don't think deprecating here necessarily makes sense; the vast majority of use cases are going to be using legacy so it adds boilerplate to the common case. I think we can just use the docstring to point at the versioned method

My thinking was to have a singular way to build & send transactions, however I see the value in keeping the base case as simple as possible also, so fine by me. Removed the deprecation & switched to just mentioning it in the comment

@cryptopapi997 cryptopapi997 requested a review from jamie-osec March 1, 2026 06:54
@cryptopapi997 cryptopapi997 requested a review from jamie-osec March 4, 2026 15:48
@cryptopapi997 cryptopapi997 force-pushed the ns/versioned-txs-in-client branch from abb578f to a7d574a Compare March 4, 2026 15:55
@cryptopapi997
Copy link
Contributor Author

addressed the review, lmk if this works @jamie-osec . I had a look at the CI failures, but those seem to be unrelated since they're all something related to something onchain invoked via the ts client (neither of which this PR modifies)

@jamie-osec
Copy link
Collaborator

Changes LGTM, will rerun CI

@jamie-osec
Copy link
Collaborator

Can you fix the new conflict?

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