https://github.com/glamsystems/glam-sdk
https://github.com/glamsystems/glam-sdk
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/glamsystems/glam-sdk
- Owner: glamsystems
- Created: 2025-03-18T07:01:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-18T07:31:42.000Z (over 1 year ago)
- Last Synced: 2025-03-18T08:34:22.755Z (over 1 year ago)
- Language: TypeScript
- Size: 90.8 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GLAM SDK
A TypeScript SDK for interacting with the GLAM Protocol.
## Installation
```bash
npm i @glamsystems/glam-sdk
```
## Getting Started
- [GLAM docs](https://docs.glam.systems)
- [TypeScript API docs](#)
## Examples
### Set up a GLAM client and interact with a vault
```ts
import * 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());
}
main().catch((error) => {
console.error("Error:", error);
process.exit(1);
});
```