Skip to content

feat: implement more feature for solana wallet#76

Open
lunargon wants to merge 7 commits into
tetherto:mainfrom
lunargon:feat/solana-wallet
Open

feat: implement more feature for solana wallet#76
lunargon wants to merge 7 commits into
tetherto:mainfrom
lunargon:feat/solana-wallet

Conversation

@lunargon

@lunargon lunargon commented Jul 10, 2026

Copy link
Copy Markdown

Description

This PR upgrades the @tetherto/wdk-wallet-solana SDK to support modern Solana capabilities, including Token-2022 (Token Extensions), token burn operations, and versioned transaction upgrades (Memo and Priority Fees).

Specifically, it includes:

  • Token Extensions (Token-2022):
    • Dynamic resolution via _getTokenProgram(mint) to support both the standard SPL Token program and the new Token-2022 program.
  • Verification & Tooling:
    • Unit tests updated to handle dynamic RPC lookup of token program owners.
    • Resolved JavaScript Standard Style linter violations.
    • Updated TypeScript type declarations via npm run build:types.

Motivation and Context

The Solana ecosystem is migrating heavily towards Token-2022 extensions, making it crucial for the SDK to interact seamlessly with these tokens.

Related Issue

PR fixes the following issue: N/A

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

@sontuphan sontuphan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main issue is that this PR introduces too many unrelated changes, making it difficult to review the correctness and completeness of the types and tests. I strongly recommend splitting it into multiple atomic PRs. Thanks for your contribution!

Comment thread src/wallet-account-read-only-solana.js Outdated
Comment thread src/wallet-account-solana.js Outdated
Comment thread src/wallet-account-solana.js Outdated
* @param {number | bigint} amount - The amount to burn in token's base units (must be ≤ 2^64-1).
* @returns {Promise<TransactionMessage>} The constructed transaction message.
*/
protected _buildSPLBurnTransactionMessage(token: string, amount: number | bigint): Promise<TransactionMessage>;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't intent to support burn natively. Instead, the consumer will call sendTransaction on whatever they want.

Comment thread src/wallet-account-read-only-solana.js Outdated
@lunargon
lunargon requested a review from sontuphan July 22, 2026 05:14
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