Swap
toJSONString
You can use this function to convert market object into string.
const sdk = await SDK.initialize(endpoint);
const res = await sdk.models.getAllMarkets();
res.forEach((market) => console.log(market.toJSONString()));
getSpotPrice
You can use this function to get spot price in the specified block.
const price = await pool.getSpotPrice(AssetIn, AssetOut, blockHash);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| inAsset | string/Asset | |
| outAsset | string/Asset | |
| blockHash | any | not necessarily. The unique identifier for the block to fetch asset spot prices. | 
assetSpotPricesInZtg
You can use this function to fetch spot prices of all assets in this market. Can be used to find prices at a particular block using unique identifier.
const res = market.assetSpotPricesInZtg(blockHash);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| blockHash | any | not necessarily. The unique identifier for the block to fetch asset spot prices. | 
fetchPoolSpotPrices
You can use this function to fetch spot prices of specified blocks.
const prices = await pool.fetchPoolSpotPrices(
  assetIn,
  assetOut,
  blocksAsNumArray
);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| inAsset | string/Asset | |
| outAsset | string/Asset | |
| blockNumbers | number[] | The block numbers you want to check | 
sharesId
You can use this function to fetch all shares' ids.
const sharesId = await pool.sharesId();
accountId
You can use this function to fetch account id in this pool.
const account = await pool.getAccountId();
joinPool
You can use this function to join pool.
const res = await pool.joinPool(signer, poolAmountOut, maxAmountsIn, false);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction. | 
| poolAmountOut | string | The amount of LP shares for this pool that should be minted to the provider. | 
| maxAmountsIn | string[] | List of asset upper bounds. The values are maximum limit for the assets. | 
| callbackOrPaymentInfo | boolean | "true" to get txn fee estimation otherwise callback to capture transaction result. | 
poolJoinWithExactAssetAmount
You can use this function to join exact asset amount to the pool.
const res = await pool.poolJoinWithExactAssetAmount(
  signer,
  JSON.parse(assetIn),
  assetAmount,
  minPoolAmount,
  false
);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction. | 
| assetIn | any | Asset entering the pool. | 
| assetAmount | any | Asset amount that is entering the pool. | 
| minPoolAmount | any | The calculated amount for the pool must be equal or greater than the given value. | 
| callbackOrPaymentInfo | any | "true" to get txn fee estimation otherwise callback to capture transaction result. | 
joinPoolMultifunc
You can use this function to join pool. Three substrate join_pool_xxx functions in one
const res = await pool.joinPoolMultifunc(
  signer,
  {
    bounds: trimmedBounds as any,
  },
  false
);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction. | 
| opts | poolJoinOpts | To be provided with asset,bounds.assetAmount,bounds.poolMinfor MinPool and withasset,bounds.poolAmount,bounds.AssetMinfor MaxAsset and withbounds.poolAmount,bounds.AssetMinforsdk.models.swaps.joinPool. | 
| callbackOrPaymentInfo | boolean | "true" to get txn fee estimation otherwise callback to capture transaction result. | 
exitPool
You can use this function to retrieve a given set of assets from pool to the signer.
const res = await pool.exitPool(signer, poolAmountOut, maxAmountsIn, false);
Arguments
| Name | Type | Introduction | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction. | 
| poolAmountIn | string | The amount of LP shares of this pool being burned based on the retrieved assets. | 
| minPoolAmount | string[] | List of asset lower bounds. The values are minimum limit for the assets. | 
| callbackOrPaymentInfo | boolean | "true" to get txn fee estimation otherwise callback to capture transaction result. | 
swapExactAmountIn
You can use this function to swap a given assetAmountIn of the
assetIn/assetOut pair to pool.
const res = await pool.swapExactAmountIn({
  signer,
  assetIn,
  assetAmountIn,
  assetOut,
  minAmountOut,
  maxPrice,
  callbackOrPaymentInfo: false,
});
Object Arguments
| Name | Type | Description | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction | 
| assetIn | string | Asset entering the pool | 
| assetAmountIn | string | Amount that will be transferred from the provider to the pool | 
| assetOut | string | Asset leaving the pool | 
| minAmountOut | string | (optional) Minimum asset amount that can leave the pool | 
| maxPrice | string | (optional) Market price must be equal or less than the provided value | 
| callbackOrPaymentInfo | boolean | trueto get txn fee estimation otherwise callback to capture transaction result | 
swapExactAmountOut
You can use this function to swap a given assetAmountOut of the
assetIn/assetOut pair to pool.
const res = await pool.swapExactAmountOut({
  signer,
  assetIn,
  maxAmountIn,
  assetOut,
  assetAmountOut,
  maxPrice,
  callbackOrPaymentInfo: false,
});
Object Arguments
| Name | Type | Introduction | 
|---|---|---|
| signer | KeyringPairOrExtSigner | The actual signer provider to sign the transaction | 
| assetIn | string | Asset entering the pool | 
| maxAmountIn | string | (optional) Maximum asset amount that can enter the pool | 
| assetOut | string | Asset leaving the pool | 
| assetAmountOut | string | Amount that will be transferred from the pool to the provider | 
| maxPrice | string | (optional) Market price must be equal or less than the provided value | 
| callbackOrPaymentInfo | boolean | trueto get txn fee estimation otherwise callback to capture transaction result |