39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { CurrencyContextState } from "../utils/currencyPair";
|
|
import { getTokenName, KnownTokenMap } from "../utils/utils";
|
|
|
|
export const CREATE_POOL_LABEL = "Create Liquidity Pool";
|
|
export const INSUFFICIENT_FUNDS_LABEL = (tokenName: string) =>
|
|
`Insufficient ${tokenName} funds`;
|
|
export const POOL_NOT_AVAILABLE = (tokenA: string, tokenB: string) =>
|
|
`Pool ${tokenA}/${tokenB} doesn't exsist`;
|
|
export const ADD_LIQUIDITY_LABEL = "Provide Liquidity";
|
|
export const SWAP_LABEL = "Swap";
|
|
export const CONNECT_LABEL = "Connect Wallet";
|
|
export const SELECT_TOKEN_LABEL = "Select a token";
|
|
export const ENTER_AMOUNT_LABEL = "Enter an amount";
|
|
|
|
export const generateActionLabel = (
|
|
action: string,
|
|
connected: boolean,
|
|
tokenMap: KnownTokenMap,
|
|
A: CurrencyContextState,
|
|
B: CurrencyContextState,
|
|
ignoreToBalance: boolean = false
|
|
) => {
|
|
return !connected
|
|
? CONNECT_LABEL
|
|
: !A.mintAddress
|
|
? SELECT_TOKEN_LABEL
|
|
: !A.amount
|
|
? ENTER_AMOUNT_LABEL
|
|
: !B.mintAddress
|
|
? SELECT_TOKEN_LABEL
|
|
: !B.amount
|
|
? ENTER_AMOUNT_LABEL
|
|
: !A.sufficientBalance()
|
|
? INSUFFICIENT_FUNDS_LABEL(getTokenName(tokenMap, A.mintAddress))
|
|
: ignoreToBalance || B.sufficientBalance()
|
|
? action
|
|
: INSUFFICIENT_FUNDS_LABEL(getTokenName(tokenMap, B.mintAddress));
|
|
};
|