๐งSolana Actions
Execute transactions on Solana vaults including deposits, withdrawals, and queries. All operations follow the same pattern as EVM vaults for consistency.
Overview
Solana vault interactions use the same pattern as EVM:
Use
sdk.getVault()to query vault dataUse
sdk.solana.vaultDeposit()to depositUse
sdk.solana.vaultRedeem()to withdraw
The SDK handles all Solana-specific complexities (PDAs, token accounts, etc.) automatically.
Setup
Basic Initialization
Include Solana RPC endpoint when initializing the SDK:
import { AugustSDK } from '@augustdigital/sdk';
const sdk = new AugustSDK({
providers: {
-1: 'https://api.mainnet-beta.solana.com', // Solana Mainnet
},
});
// Access Solana adapter
const solana = sdk.solana;Custom RPC Endpoint
For Write Operations
To execute transactions, you need to set a wallet provider:
Adapter API
Methods
setWalletProvider()
Set the wallet provider for write operations.
Parameters:
publicKey: User's Solana public keysignTransaction: Function to sign transactions (from wallet adapter)
Example:
Get Vault Data
Query Solana vault information using the same sdk.getVault() method as EVM vaults.
Parameters
vault
string
Yes
Solana vault program ID
options.solanaWallet
string
No
User's Solana public key for position data
Example
Get All Solana Vaults
Get User Positions
Vault Deposit
Deposit tokens into a Solana vault. The SDK automatically handles token accounts, PDAs, and Anchor program interactions.
Parameters
vault
string
Yes
Solana vault program ID
amount
string | number | bigint
Yes
Amount to deposit
wallet
string
Yes
User's Solana public key
wait
boolean
No
Wait for confirmation (default: false)
Returns
Transaction signature as string
Example
Behavior
The SDK automatically:
Fetches vault state and PDAs
Gets or creates associated token accounts
Handles token approvals if needed
Converts amount to proper decimals
Submits transaction via wallet adapter
Optionally waits for confirmation
Vault Withdraw
Request withdrawal from a Solana vault.
Parameters
vault
string
Yes
Solana vault program ID
amount
string | number | bigint
Yes
Amount of shares to redeem
wallet
string
Yes
User's Solana public key
wait
boolean
No
Wait for confirmation
Returns
Transaction signature as string
Example
Examples
Complete Deposit Flow
Complete Withdrawal Flow
Query Vault Before Depositing
Advanced Operations
For advanced use cases, the Solana adapter exposes low-level methods and utilities.
Direct Program Access
Access Solana connection and provider for custom operations:
Utility Functions
deriveShareMintPda()
Derive the share mint PDA for a vault.
getToken()
Get token metadata from mint address.
getVaultStateReadOnly()
Get vault state without a wallet provider.
getProvider()
Create an Anchor provider with wallet.
getReadOnlyProvider()
Create a read-only Anchor provider.
getProgram()
Create an Anchor program instance.
Constants
The Solana adapter provides useful constants:
Vault IDL
Program IDs
Fallback Values
Error Handling
Connection Errors
Transaction Errors
Last updated