Skip to content

Conversation

@lcovar
Copy link
Contributor

@lcovar lcovar commented Jan 26, 2026

Add comprehensive transaction building capabilities to wasm-solana, enabling construction of various Solana transaction types via WASM.

Core Infrastructure

  • TransactionIntent type for specifying transaction parameters
  • Support for blockhash and durable nonce sources
  • Automatic nonce advance prepending for durable nonce transactions

Supported Instructions

  • System Program: Transfer, CreateAccount, NonceAdvance, NonceInitialize, Allocate, Assign
  • Stake Program: Initialize, Delegate, Deactivate, Withdraw, Authorize
  • SPL Token: Transfer (via TransferChecked), CreateATA, CloseATA
  • SPL Stake Pool (Jito): DepositSol, WithdrawStake
  • Compute Budget: SetComputeUnitLimit, SetComputeUnitPrice
  • Memo Program

TypeScript API

  • buildTransaction(intent: TransactionIntent): Uint8Array
  • Full TypeScript types for all instruction variants
  • Builder types prefixed to avoid conflicts with parser types

Ticket: BTC-2955

@lcovar lcovar force-pushed the BTC-2955 branch 2 times, most recently from f2fdf57 to 02904b6 Compare January 26, 2026 23:19
Add comprehensive transaction building capabilities to wasm-solana,
enabling construction of various Solana transaction types via WASM.

- TransactionIntent type for specifying transaction parameters
- Support for blockhash and durable nonce sources
- Automatic nonce advance prepending for durable nonce transactions

- System Program: Transfer, CreateAccount, NonceAdvance, NonceInitialize,
  Allocate, Assign
- Stake Program: Initialize, Delegate, Deactivate, Withdraw, Authorize
- SPL Token: Transfer (via TransferChecked), CreateATA, CloseATA
- SPL Stake Pool (Jito): DepositSol, WithdrawStake
- Compute Budget: SetComputeUnitLimit, SetComputeUnitPrice
- Memo Program

- buildTransaction(intent: TransactionIntent): Uint8Array
- Full TypeScript types for all instruction variants
- Builder types prefixed to avoid conflicts with parser types

Ticket: BTC-2955
Ticket: BTC-2956
Ticket: BTC-2957
Ticket: BTC-2958
Ticket: BTC-2959
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