Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Coinswap

Implementation of the Constant Product Market Maker Model token exchange protocol on IRISHub.

More Details

Hierarchy

  • Coinswap

Index

Methods

buy

  • Swap coin by exact output, calculated input

    since

    v1.0

    Parameters

    Returns Promise<TxResult>

calculateDeposit

  • calculateDeposit(exactStdAmt: number, calculatedDenom: string): Promise<DepositRequest>
  • Calculate token amount and liquidity amount of the deposit request by exact standard token amount

    since

    v1.0

    Parameters

    • exactStdAmt: number

      Exact standard token amount to be deposited

    • calculatedDenom: string

      The token denom being calculated

    Returns Promise<DepositRequest>

    The DepositRequest, max_token = -1 means the liquidity pool is empty, users can deposit any amount of the token

Private calculateDoubleWithExactInput

  • calculateDoubleWithExactInput(exactSoldCoin: Coin, boughtTokenDenom: string): Promise<number>
  • Parameters

    • exactSoldCoin: Coin
    • boughtTokenDenom: string

    Returns Promise<number>

Private calculateDoubleWithExactOutput

  • calculateDoubleWithExactOutput(exactBoughtCoin: Coin, soldTokenDenom: string): Promise<number>
  • Parameters

    • exactBoughtCoin: Coin
    • soldTokenDenom: string

    Returns Promise<number>

calculateWithExactInput

  • calculateWithExactInput(exactSoldCoin: Coin, boughtTokenDenom: string): Promise<number>
  • Calculate the amount of another token to be received based on the exact amount of tokens sold

    since

    v1.0

    Parameters

    • exactSoldCoin: Coin

      sold coin

    • boughtTokenDenom: string

    Returns Promise<number>

    output token amount to be received

calculateWithExactOutput

  • calculateWithExactOutput(exactBoughtCoin: Coin, soldTokenDenom: string): Promise<number>
  • Calculate the amount of the token to be paid based on the exact amount of the token to be bought

    return:

    input amount to be paid

    since

    v1.0

    Parameters

    • exactBoughtCoin: Coin
    • soldTokenDenom: string

    Returns Promise<number>

calculateWithdraw

  • calculateWithdraw(exactWithdrawLiquidity: Coin): Promise<WithdrawRequest>
  • Calculate how many tokens can be withdrawn by exact liquidity amount

    since

    v1.0

    Parameters

    • exactWithdrawLiquidity: Coin

      Exact liquidity amount to be withdrawn

    Returns Promise<WithdrawRequest>

    The WithdrawRequest

deposit

  • Add liquidity by exact iris amount, calculated token and liquidity amount

    since

    v1.0

    Parameters

    Returns Promise<TxResult>

Private getInputPrice

  • getInputPrice(inputAmt: number, inputReserve: number, outputReserve: number, fee: number): number
  • Parameters

    • inputAmt: number
    • inputReserve: number
    • outputReserve: number
    • fee: number

    Returns number

Private getOutputPrice

  • getOutputPrice(outputAmt: number, inputReserve: number, outputReserve: number, fee: number): number
  • Parameters

    • outputAmt: number
    • inputReserve: number
    • outputReserve: number
    • fee: number

    Returns number

Private getUniDenomFromDenoms

  • getUniDenomFromDenoms(denom1: string, denom2: string): string
  • Parameters

    • denom1: string
    • denom2: string

    Returns string

queryLiquidity

  • queryLiquidity(id: string): Promise<Liquidity>
  • Query liquidity by id

    since

    v1.0

    Parameters

    • id: string

      The liquidity id

    Returns Promise<Liquidity>

sell

  • Swap coin by exact input, calculated output

    since

    v1.0

    Parameters

    Returns Promise<TxResult>

withdraw

  • Remove liquidity by exact liquidity amount, calculated iris and token amount

    since

    v1.0

    Parameters

    Returns Promise<TxResult>

Generated using TypeDoc