Installation

Visit the or run the following command:

npm install @glamsystems/glam-sdk

Examples

Create a GlamClient instance and interact with a vault

mport * as anchor from "@coral-xyz/anchor";
import { GlamClient, WSOL } from "@glamsystems/glam-sdk";
import { PublicKey } from "@solana/web3.js";

// Need to set ANCHOR_PROVIDER_URL and ANCHOR_WALLET env variables
// ANCHOR_PROVIDER_URL=...
// ANCHOR_WALLET=...
const glamClient = new GlamClient();
const statePda = new PublicKey("FMHLPaEeCbuivqsAfHrr28FpWJ9oKHTx3jzFbb3tYhq4");

async function main() {
  const vaultPda = glamClient.getVaultPda(statePda);

  console.log("statePda:", statePda.toBase58());
  console.log("vaultPda:", vaultPda.toBase58());

  const vaultWsolBalance = await glamClient.getVaultTokenBalance(statePda, WSOL);
  console.log("vaultWsolBalance:", vaultWsolBalance.toString());

  // Wrap 0.1 SOL
  const txSig = await glamClient.wsol.wrap(statePda, new anchor.BN(100_000_000));
  console.log("txSig:", txSig);

  // wSOL balance after wrap should increase by 0.1 SOL
  const vaultWsolBalanceAfter = await glamClient.getVaultTokenBalance(statePda, WSOL);
  console.log("vaultWsolBalanceAfter:", vaultWsolBalanceAfter.toString());
}