4.0.0-beta • Published 30 days ago
@castlefinance/vault-sdk v4.0.0-beta
Castle Vault SDK
Full technical documentation can be found here.
Installation
yarn add @castlefinance/vault-sdk
Getting Help
Join our Discord channel and post a message in #developers
Examples
Create the client
import { VaultClient, VaultConfig } from '@castlefinance/vault-sdk'
// Pull down the appropriate vault from the API.
const configResponse = await fetch('https://api.castle.finance/configs')
const vaults = (await response.json()) as VaultConfig[]
const vault = vaults.find(
(v) => v.deploymentEnv == 'mainnet' && v.token_label == 'USDC'
)
// Create the vault client
const vaultClient = await VaultClient.load(
new anchor.Provider(...),
vault.vault_id,
vault.deploymentEnv
)
Deposit
// Get the users reserve token ATA
const userReserveToken = await splToken.Token.getAssociatedTokenAddress(
ASSOCIATED_TOKEN_PROGRAM_ID,
TOKEN_PROGRAM_ID,
vaultClient.getVaultState().reserveTokenMint,
reserveTokenOwner, // e.g. wallet.pubkey or DAO's account
true
);
// Deposit into the vault
const sig = await vaultClient.deposit(wallet, amount, userReserveToken)
Withdraw
const sig = await vaultClient.withdraw(wallet, amount)
4.0.0-beta
30 days ago
3.6.2-rc1
2 years ago
3.6.2
2 years ago
3.6.1-rc1
2 years ago
3.1.3
2 years ago
3.1.1
2 years ago
3.6.1
2 years ago
3.5.1
2 years ago
2.3.0-canary.1
2 years ago
1.7.2
2 years ago
1.7.1
2 years ago
1.7.0
2 years ago
1.6.0
2 years ago
2.1.2
2 years ago
2.2.0
2 years ago
2.1.1
2 years ago
1.5.9-rc1
2 years ago
2.1.0
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.5.9
2 years ago
1.5.8
2 years ago
1.5.5
2 years ago
1.5.4
2 years ago
1.5.3
2 years ago
1.5.1
2 years ago
1.5.0
2 years ago
1.5.7
2 years ago
1.5.6
2 years ago
1.1.1
2 years ago
1.1.0
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago