@soku-dex/sdk
    Preparing search index...

    @soku-dex/sdk

    Soku Dex

    A decentralized exchange (DEX) built on TON blockchain.

    Soku Dex SDK Reference

    The Soku Dex SDK provides an interface for interacting with decentralized exchange contracts on the TON blockchain. This document covers all exported classes, types, and utilities.

    npm i --save @soku-dex/sdk
    

    API Docs

    You can check latest API docs here

    import { LiquidityPool } from '../sdk';
    import { TonClient } from '@ton/ton';

    const client = new TonClient({ endpoint: 'https://toncenter.com/api/v2/jsonRPC' });

    const pool = await LiquidityPool.create({
    network: 'testnet',
    client,
    sender: yourSender,
    curve: 'balanced',
    tokenType0: 'jetton',
    tokenType1: 'jetton',
    tokenMaster0: jettonMaster0,
    tokenMaster1: jettonMaster1,
    dryRun: false
    });

    console.log('Pool deployed at:', pool.address);
    import { Dex } from '../sdk';

    const dex = new Dex(client, dexAddress);

    // Simulate the swap first
    const simulation = await dex.simulateDexSwap(1000, true);
    console.log('Expected output:', simulation.amountOut);
    console.log('Fees:', simulation.fees);

    // Build the swap payload
    const swapPayload = Dex.buildJettonSwap(
    simulation.amountOut,
    destinationAddress,
    toNano('0.1') // forward TON amount
    );
    import { LiquidityPool } from '../sdk';

    const pool = new LiquidityPool(client, poolAddress);
    const state = await pool.getLatest();

    console.log('Pool balance:', state.balance);
    console.log('Pool data:', state.data);
    import { LiquidityPool, TOKEN_TYPES } from '../sdk';

    // Create a TON/Jetton pool
    const pool = await LiquidityPool.create({
    network: 'mainnet',
    client,
    sender,
    curve: 'unbalanced',
    tokenType0: 'ton', // Native TON
    tokenType1: 'jetton', // Jetton token
    tokenMaster1: jettonMaster, // Only needed for jetton
    dryRun: false
    });