Yelay V3 SDK Docs
  • Intro
  • Main entities
  • Setting up your account
  • Initialization
  • Deposit
  • Withdrawals
  • Tracking balance and TVL
  • Yield tracking and claiming
  • Supportive methods
  • Deposits with timelock
  • Yelay's yield farming sources
Powered by GitBook
On this page

Supportive methods

Fetching list of vaults

This method returns a promise that resolves to an array of vault objects, each containing:

  • Address

  • Name

  • Timestamp of creation

  • Block number of creation

const vaults = await sdk.vaults.getVaults();

Fetching client data

This method returns the range of pool IDs (minimum to maximum) associated with a given client, as well as the client's name:

const integratorAddress = '0x555';
const vault = '0x1234';
const { minPool, maxPool, clientName } = await sdk.vaults.clientData(integratorAddress, vault);

Activate pool

Once the Yelay team assigns a pool range to a client and their integratorAddress, each poolId must be activated before deposits are allowed.

  • Activation can be done by Yelay or by the client using the method below.

  • Only a whitelisted operator address can perform this action.

  • To whitelist an address, provide your operator address to the Yelay team.

const poolToActivate = minPool + 5; // should be in range: minPool < poolToActivate < maxPool
const isPoolActive = await sdk.vaults.poolActive(vault, poolToActivate);
if (!isPoolActive) {
	await sdk.vaults.activatePool(vault, poolToActivate);
}

Migrate user deposits between pools

This method allows withdrawing a user’s liquidity from Pool A and depositing it into Pool B (both operated by the same client) in a single transaction:

const fromPool = 123;
const toPool = 456;
const migrateTx = await sdk.vaults.migrate(vault, fromPool, toPool, amount);
await migrateTx.wait();
PreviousYield tracking and claimingNextDeposits with timelock

Last updated 2 months ago