Turbos
  • 📖About Turbos
    • Getting Started
    • About Turbos Finance
    • Why Sui Network
  • 📽️Products
    • Concentrated Liquidity AMM
      • Fee Tier for Token Pairs
      • Oracle
    • Automated Rebalance Vault
      • Step-by-Step Guide
      • Referral Program
    • TurboStar
    • TurbosBoost
  • 💡Protocol Concepts
    • About Concentrated Liquidity
    • Fee Tiers
    • Glossary
  • 🪙Tokenomics
    • TURBOS
    • Token Utility
    • Emission Distribution
  • ⚙️Others
    • Roadmap
    • Audits
    • Brand kit
    • Risks
    • Token Address
  • Developer Docs
    • Dev Overview
    • via SDK
      • Get Started
      • Initialize SDK
      • Clmm
        • getConfig
        • getFeesConfig
        • getPools
        • getPool
        • createPool
        • createAndAddLiquidity
        • increaseLiquidity
        • decreaseLiquidity
        • removeLiquidityAndBurn
        • preSwap
        • swap
        • collect Fees
        • collect Rewards
        • Fee
        • Liquidity and coin amounts calculation
        • APR calculation
      • Vault
        • createAndDepositVault
        • depositVault
        • withdrawVault
        • withdrawAllVault
        • collectClmmRewardDirectReturnVault
        • closeVault
        • computeTokenWithdrawVaultSwapResult
        • getVaultBalanceAmount
        • getMyVaults
  • Turbos Fun
    • Base
    • Create Pool
    • Calculate Token Amount
    • Buy
    • Sell
  • 📱Socials
    • Official website
    • Twitter
    • Discord
    • Medium
    • Zealy
  • Tutorials
    • Supported Wallets
      • SafePal Wallet
    • Move tutorial
    • Sui tutorial
Powered by GitBook
On this page
  1. Turbos Fun

Create Pool

Example

CreatePoolOptions

interface CreatePoolOptions {
  coinTreasuryCap: string;
  coinType: string;
  name: string;
  symbol: string;
  url: string;
  description: string;
  twitter: string;
  telegram: string;
  website: string;
  currentAddress: string;
  lp_type: 0 | 1;
  tx?: Transaction;
}

createPool

async createPool({
    coinTreasuryCap,
    coinType,
    name,
    symbol,
    url,
    description,
    twitter,
    telegram,
    website,
    currentAddress,
    lp_type,
    tx,
  }: CreatePoolOptions) {
    const txb = tx || new Transaction();

    const apyAmount = Math.round(
      new Decimal(this.deployment_fee).mul(10 ** this.quote_decimals).toNumber(),
    );

    const paySuiCoin = coinWithBalance({
      type: '0x2::sui::SUI',
      balance: apyAmount,
    });

    txb.setSenderIfNotSet(currentAddress);
    txb.moveCall({
      target: `${pakcageId}::parrot_fun::create`,
      arguments: [
        txb.object(globalConfig),
        txb.object(funConfig),
        txb.object(coinTreasuryCap),
        paySuiCoin,
        txb.pure.string(name),
        txb.pure.string(symbol),
        txb.pure.string(url),
        txb.pure.string(description),
        txb.pure.string(twitter),
        txb.pure.string(telegram),
        txb.pure.string(website),
        txb.pure.u8(lp_type),
        txb.object(SUI_CLOCK_OBJECT_ID),
      ],
      typeArguments: [coinType],
    });

    return txb;
  }
PreviousBaseNextCalculate Token Amount

Last updated 3 days ago