diff --git a/ts-client/README.md b/ts-client/README.md
index d2160d2..d6acbd2 100644
--- a/ts-client/README.md
+++ b/ts-client/README.md
@@ -6,6 +6,7 @@
## Getting started
+
NPM: https://www.npmjs.com/package/@mercurial-finance/vault-sdk
SDK: https://github.com/mercurial-finance/vault-sdk
@@ -13,6 +14,7 @@ SDK: https://github.com/mercurial-finance/vault-sdk
Demo: https://vault-sdk-demo.vercel.app/
Demo repo: https://github.com/mercurial-finance/vault-sdk-demo
+
- Easiest way to get started with our Typescript SDK, the example demo includes all functionality and information we display on our own site.
Docs: https://docs.mercurial.finance/mercurial-dynamic-yield-infra/
@@ -26,32 +28,35 @@ Discord: https://discord.com/channels/841152225564950528/864859354335412224
1. Install deps
```
-npm i @mercurial-finance/vault-sdk @project-serum/anchor @solana/web3.js@1 @solana/spl-token @solana/spl-token-registry
+npm i @mercurial-finance/vault-sdk @coral-xyz/anchor @solana/web3.js @solana/spl-token @solana/spl-token-registry
```
2. Initialize VaultImpl instance
+
- Affiliate or partner? refer to the [Vault Affiliate Program]()
+
```ts
import VaultImpl from '@mercurial-finance/vault-sdk';
import { PublicKey } from '@solana/web3.js';
-import { StaticTokenListResolutionStrategy, TokenInfo } from "@solana/spl-token-registry";
-import { Wallet, AnchorProvider } from '@project-serum/anchor';
+import { StaticTokenListResolutionStrategy, TokenInfo } from '@solana/spl-token-registry';
+import { Wallet, AnchorProvider } from '@coral-xyz/anchor';
// Connection, Wallet, and AnchorProvider to interact with the network
const mainnetConnection = new Connection('https://api.mainnet-beta.solana.com');
const mockWallet = new Wallet(new Keypair());
const provider = new AnchorProvider(mainnetConnection, mockWallet, {
- commitment: 'confirmed',
+ commitment: 'confirmed',
});
// Alternatively, to use Solana Wallet Adapter, refer to `Demo Repo`
const tokenMap = new StaticTokenListResolutionStrategy().resolve();
// Find the token info you want to use.
-const SOL_TOKEN_INFO = tokenMap.find(token => token.symbol === 'SOL') as TokenInfo;
+const SOL_TOKEN_INFO = tokenMap.find((token) => token.symbol === 'SOL') as TokenInfo;
const vaultImpl = await VaultImpl.create(connection, SOL_TOKEN_INFO);
```
3. To interact with the VaultImpl
+
```ts
// To refetch the vault's latest supply
// Alternatively, use `vaultImpl.lpSupply`
@@ -59,7 +64,7 @@ const lpSupply = await vaultImpl.getVaultSupply();
// Rewards are not instantly redeemable, and are subject to a lock.
// This function returns the amount of LP that are redeemable.
-const unlockedAmount = await vaultImpl.getWithdrawableAmount()
+const unlockedAmount = await vaultImpl.getWithdrawableAmount();
// To deposit into the vault
const amountInLamports = 1 * 10 ** SOL_TOKEN_INFO.decimals; // 1.0 SOL
@@ -75,34 +80,37 @@ const withdrawResult = await provider.sendAndConfirm(withdrawTx); // Transaction
```
4. Helper function
+
```ts
import { helper } from '@mercurial-finance/vault-sdk';
const userShare = await vaultImpl.getUserBalance(mockWallet.publicKey);
-const unlockedAmount = await vaultImpl.getWithdrawableAmount()
+const unlockedAmount = await vaultImpl.getWithdrawableAmount();
const lpSupply = await vaultImpl.getVaultSupply();
// To convert user's LP balance into underlying token amount
-const underlyingShare = helper.getAmountByShare(userShare, unlockedAmount, lpSupply)
+const underlyingShare = helper.getAmountByShare(userShare, unlockedAmount, lpSupply);
// To convert underlying token amount into user's LP balance
const amountInLamports = 1 * 10 ** SOL_TOKEN_INFO.decimals; // 1.0 SOL
-const lpToUnmint = helper.getUnmintAmount(new BN(amountInLamports), unlockedAmount, lpSupply) // To withdraw 1.0 SOL
+const lpToUnmint = helper.getUnmintAmount(new BN(amountInLamports), unlockedAmount, lpSupply); // To withdraw 1.0 SOL
```