UNPKG

@kamino-finance/kliquidity-sdk

Version:

Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol

612 lines (525 loc) 16.7 kB
export type CustomError = | LOK | NotApproved | InvalidUpdateConfigFlag | AccountLack | ClosePositionErr | ZeroMintAmount | InvaildTickIndex | TickInvaildOrder | TickLowerOverflow | TickUpperOverflow | TickAndSpacingNotMatch | InvalidTickArray | InvalidTickArrayBoundary | SqrtPriceLimitOverflow | SqrtPriceX64 | LiquiditySubValueErr | LiquidityAddValueErr | InvaildLiquidity | ForbidBothZeroForSupplyLiquidity | LiquidityInsufficient | TransactionTooOld | PriceSlippageCheck | TooLittleOutputReceived | TooMuchInputPaid | InvaildSwapAmountSpecified | InvalidInputPoolVault | TooSmallInputOrOutputAmount | NotEnoughTickArrayAccount | InvalidFirstTickArrayAccount | InvalidRewardIndex | FullRewardInfo | RewardTokenAlreadyInUse | ExceptPoolVaultMint | InvalidRewardInitParam | InvalidRewardDesiredAmount | InvalidRewardInputAccountNumber | InvalidRewardPeriod | NotApproveUpdateRewardEmissiones | UnInitializedRewardInfo | NotSupportMint | MissingTickArrayBitmapExtensionAccount | InsufficientLiquidityForDirection export class LOK extends Error { static readonly code = 6000 readonly code = 6000 readonly name = "LOK" readonly msg = "LOK" constructor(readonly logs?: string[]) { super("6000: LOK") } } export class NotApproved extends Error { static readonly code = 6001 readonly code = 6001 readonly name = "NotApproved" readonly msg = "Not approved" constructor(readonly logs?: string[]) { super("6001: Not approved") } } export class InvalidUpdateConfigFlag extends Error { static readonly code = 6002 readonly code = 6002 readonly name = "InvalidUpdateConfigFlag" readonly msg = "invalid update amm config flag" constructor(readonly logs?: string[]) { super("6002: invalid update amm config flag") } } export class AccountLack extends Error { static readonly code = 6003 readonly code = 6003 readonly name = "AccountLack" readonly msg = "Account lack" constructor(readonly logs?: string[]) { super("6003: Account lack") } } export class ClosePositionErr extends Error { static readonly code = 6004 readonly code = 6004 readonly name = "ClosePositionErr" readonly msg = "Remove liquitity, collect fees owed and reward then you can close position account" constructor(readonly logs?: string[]) { super( "6004: Remove liquitity, collect fees owed and reward then you can close position account" ) } } export class ZeroMintAmount extends Error { static readonly code = 6005 readonly code = 6005 readonly name = "ZeroMintAmount" readonly msg = "Minting amount should be greater than 0" constructor(readonly logs?: string[]) { super("6005: Minting amount should be greater than 0") } } export class InvaildTickIndex extends Error { static readonly code = 6006 readonly code = 6006 readonly name = "InvaildTickIndex" readonly msg = "Tick out of range" constructor(readonly logs?: string[]) { super("6006: Tick out of range") } } export class TickInvaildOrder extends Error { static readonly code = 6007 readonly code = 6007 readonly name = "TickInvaildOrder" readonly msg = "The lower tick must be below the upper tick" constructor(readonly logs?: string[]) { super("6007: The lower tick must be below the upper tick") } } export class TickLowerOverflow extends Error { static readonly code = 6008 readonly code = 6008 readonly name = "TickLowerOverflow" readonly msg = "The tick must be greater, or equal to the minimum tick(-221818)" constructor(readonly logs?: string[]) { super( "6008: The tick must be greater, or equal to the minimum tick(-221818)" ) } } export class TickUpperOverflow extends Error { static readonly code = 6009 readonly code = 6009 readonly name = "TickUpperOverflow" readonly msg = "The tick must be lesser than, or equal to the maximum tick(221818)" constructor(readonly logs?: string[]) { super( "6009: The tick must be lesser than, or equal to the maximum tick(221818)" ) } } export class TickAndSpacingNotMatch extends Error { static readonly code = 6010 readonly code = 6010 readonly name = "TickAndSpacingNotMatch" readonly msg = "tick % tick_spacing must be zero" constructor(readonly logs?: string[]) { super("6010: tick % tick_spacing must be zero") } } export class InvalidTickArray extends Error { static readonly code = 6011 readonly code = 6011 readonly name = "InvalidTickArray" readonly msg = "Invaild tick array account" constructor(readonly logs?: string[]) { super("6011: Invaild tick array account") } } export class InvalidTickArrayBoundary extends Error { static readonly code = 6012 readonly code = 6012 readonly name = "InvalidTickArrayBoundary" readonly msg = "Invaild tick array boundary" constructor(readonly logs?: string[]) { super("6012: Invaild tick array boundary") } } export class SqrtPriceLimitOverflow extends Error { static readonly code = 6013 readonly code = 6013 readonly name = "SqrtPriceLimitOverflow" readonly msg = "Square root price limit overflow" constructor(readonly logs?: string[]) { super("6013: Square root price limit overflow") } } export class SqrtPriceX64 extends Error { static readonly code = 6014 readonly code = 6014 readonly name = "SqrtPriceX64" readonly msg = "sqrt_price_x64 out of range" constructor(readonly logs?: string[]) { super("6014: sqrt_price_x64 out of range") } } export class LiquiditySubValueErr extends Error { static readonly code = 6015 readonly code = 6015 readonly name = "LiquiditySubValueErr" readonly msg = "Liquidity sub delta L must be smaller than before" constructor(readonly logs?: string[]) { super("6015: Liquidity sub delta L must be smaller than before") } } export class LiquidityAddValueErr extends Error { static readonly code = 6016 readonly code = 6016 readonly name = "LiquidityAddValueErr" readonly msg = "Liquidity add delta L must be greater, or equal to before" constructor(readonly logs?: string[]) { super("6016: Liquidity add delta L must be greater, or equal to before") } } export class InvaildLiquidity extends Error { static readonly code = 6017 readonly code = 6017 readonly name = "InvaildLiquidity" readonly msg = "Invaild liquidity when update position" constructor(readonly logs?: string[]) { super("6017: Invaild liquidity when update position") } } export class ForbidBothZeroForSupplyLiquidity extends Error { static readonly code = 6018 readonly code = 6018 readonly name = "ForbidBothZeroForSupplyLiquidity" readonly msg = "Both token amount must not be zero while supply liquidity" constructor(readonly logs?: string[]) { super("6018: Both token amount must not be zero while supply liquidity") } } export class LiquidityInsufficient extends Error { static readonly code = 6019 readonly code = 6019 readonly name = "LiquidityInsufficient" readonly msg = "Liquidity insufficient" constructor(readonly logs?: string[]) { super("6019: Liquidity insufficient") } } export class TransactionTooOld extends Error { static readonly code = 6020 readonly code = 6020 readonly name = "TransactionTooOld" readonly msg = "Transaction too old" constructor(readonly logs?: string[]) { super("6020: Transaction too old") } } export class PriceSlippageCheck extends Error { static readonly code = 6021 readonly code = 6021 readonly name = "PriceSlippageCheck" readonly msg = "Price slippage check" constructor(readonly logs?: string[]) { super("6021: Price slippage check") } } export class TooLittleOutputReceived extends Error { static readonly code = 6022 readonly code = 6022 readonly name = "TooLittleOutputReceived" readonly msg = "Too little output received" constructor(readonly logs?: string[]) { super("6022: Too little output received") } } export class TooMuchInputPaid extends Error { static readonly code = 6023 readonly code = 6023 readonly name = "TooMuchInputPaid" readonly msg = "Too much input paid" constructor(readonly logs?: string[]) { super("6023: Too much input paid") } } export class InvaildSwapAmountSpecified extends Error { static readonly code = 6024 readonly code = 6024 readonly name = "InvaildSwapAmountSpecified" readonly msg = "Swap special amount can not be zero" constructor(readonly logs?: string[]) { super("6024: Swap special amount can not be zero") } } export class InvalidInputPoolVault extends Error { static readonly code = 6025 readonly code = 6025 readonly name = "InvalidInputPoolVault" readonly msg = "Input pool vault is invalid" constructor(readonly logs?: string[]) { super("6025: Input pool vault is invalid") } } export class TooSmallInputOrOutputAmount extends Error { static readonly code = 6026 readonly code = 6026 readonly name = "TooSmallInputOrOutputAmount" readonly msg = "Swap input or output amount is too small" constructor(readonly logs?: string[]) { super("6026: Swap input or output amount is too small") } } export class NotEnoughTickArrayAccount extends Error { static readonly code = 6027 readonly code = 6027 readonly name = "NotEnoughTickArrayAccount" readonly msg = "Not enought tick array account" constructor(readonly logs?: string[]) { super("6027: Not enought tick array account") } } export class InvalidFirstTickArrayAccount extends Error { static readonly code = 6028 readonly code = 6028 readonly name = "InvalidFirstTickArrayAccount" readonly msg = "Invaild first tick array account" constructor(readonly logs?: string[]) { super("6028: Invaild first tick array account") } } export class InvalidRewardIndex extends Error { static readonly code = 6029 readonly code = 6029 readonly name = "InvalidRewardIndex" readonly msg = "Invalid reward index" constructor(readonly logs?: string[]) { super("6029: Invalid reward index") } } export class FullRewardInfo extends Error { static readonly code = 6030 readonly code = 6030 readonly name = "FullRewardInfo" readonly msg = "The init reward token reach to the max" constructor(readonly logs?: string[]) { super("6030: The init reward token reach to the max") } } export class RewardTokenAlreadyInUse extends Error { static readonly code = 6031 readonly code = 6031 readonly name = "RewardTokenAlreadyInUse" readonly msg = "The init reward token already in use" constructor(readonly logs?: string[]) { super("6031: The init reward token already in use") } } export class ExceptPoolVaultMint extends Error { static readonly code = 6032 readonly code = 6032 readonly name = "ExceptPoolVaultMint" readonly msg = "The reward tokens must contain one of pool vault mint except the last reward" constructor(readonly logs?: string[]) { super( "6032: The reward tokens must contain one of pool vault mint except the last reward" ) } } export class InvalidRewardInitParam extends Error { static readonly code = 6033 readonly code = 6033 readonly name = "InvalidRewardInitParam" readonly msg = "Invalid reward init param" constructor(readonly logs?: string[]) { super("6033: Invalid reward init param") } } export class InvalidRewardDesiredAmount extends Error { static readonly code = 6034 readonly code = 6034 readonly name = "InvalidRewardDesiredAmount" readonly msg = "Invalid collect reward desired amount" constructor(readonly logs?: string[]) { super("6034: Invalid collect reward desired amount") } } export class InvalidRewardInputAccountNumber extends Error { static readonly code = 6035 readonly code = 6035 readonly name = "InvalidRewardInputAccountNumber" readonly msg = "Invalid collect reward input account number" constructor(readonly logs?: string[]) { super("6035: Invalid collect reward input account number") } } export class InvalidRewardPeriod extends Error { static readonly code = 6036 readonly code = 6036 readonly name = "InvalidRewardPeriod" readonly msg = "Invalid reward period" constructor(readonly logs?: string[]) { super("6036: Invalid reward period") } } export class NotApproveUpdateRewardEmissiones extends Error { static readonly code = 6037 readonly code = 6037 readonly name = "NotApproveUpdateRewardEmissiones" readonly msg = "Modification of emissiones is allowed within 72 hours from the end of the previous cycle" constructor(readonly logs?: string[]) { super( "6037: Modification of emissiones is allowed within 72 hours from the end of the previous cycle" ) } } export class UnInitializedRewardInfo extends Error { static readonly code = 6038 readonly code = 6038 readonly name = "UnInitializedRewardInfo" readonly msg = "uninitialized reward info" constructor(readonly logs?: string[]) { super("6038: uninitialized reward info") } } export class NotSupportMint extends Error { static readonly code = 6039 readonly code = 6039 readonly name = "NotSupportMint" readonly msg = "Not support token_2022 mint extension" constructor(readonly logs?: string[]) { super("6039: Not support token_2022 mint extension") } } export class MissingTickArrayBitmapExtensionAccount extends Error { static readonly code = 6040 readonly code = 6040 readonly name = "MissingTickArrayBitmapExtensionAccount" readonly msg = "Missing tickarray bitmap extension account" constructor(readonly logs?: string[]) { super("6040: Missing tickarray bitmap extension account") } } export class InsufficientLiquidityForDirection extends Error { static readonly code = 6041 readonly code = 6041 readonly name = "InsufficientLiquidityForDirection" readonly msg = "Insufficient liquidity for this direction" constructor(readonly logs?: string[]) { super("6041: Insufficient liquidity for this direction") } } export function fromCode(code: number, logs?: string[]): CustomError | null { switch (code) { case 6000: return new LOK(logs) case 6001: return new NotApproved(logs) case 6002: return new InvalidUpdateConfigFlag(logs) case 6003: return new AccountLack(logs) case 6004: return new ClosePositionErr(logs) case 6005: return new ZeroMintAmount(logs) case 6006: return new InvaildTickIndex(logs) case 6007: return new TickInvaildOrder(logs) case 6008: return new TickLowerOverflow(logs) case 6009: return new TickUpperOverflow(logs) case 6010: return new TickAndSpacingNotMatch(logs) case 6011: return new InvalidTickArray(logs) case 6012: return new InvalidTickArrayBoundary(logs) case 6013: return new SqrtPriceLimitOverflow(logs) case 6014: return new SqrtPriceX64(logs) case 6015: return new LiquiditySubValueErr(logs) case 6016: return new LiquidityAddValueErr(logs) case 6017: return new InvaildLiquidity(logs) case 6018: return new ForbidBothZeroForSupplyLiquidity(logs) case 6019: return new LiquidityInsufficient(logs) case 6020: return new TransactionTooOld(logs) case 6021: return new PriceSlippageCheck(logs) case 6022: return new TooLittleOutputReceived(logs) case 6023: return new TooMuchInputPaid(logs) case 6024: return new InvaildSwapAmountSpecified(logs) case 6025: return new InvalidInputPoolVault(logs) case 6026: return new TooSmallInputOrOutputAmount(logs) case 6027: return new NotEnoughTickArrayAccount(logs) case 6028: return new InvalidFirstTickArrayAccount(logs) case 6029: return new InvalidRewardIndex(logs) case 6030: return new FullRewardInfo(logs) case 6031: return new RewardTokenAlreadyInUse(logs) case 6032: return new ExceptPoolVaultMint(logs) case 6033: return new InvalidRewardInitParam(logs) case 6034: return new InvalidRewardDesiredAmount(logs) case 6035: return new InvalidRewardInputAccountNumber(logs) case 6036: return new InvalidRewardPeriod(logs) case 6037: return new NotApproveUpdateRewardEmissiones(logs) case 6038: return new UnInitializedRewardInfo(logs) case 6039: return new NotSupportMint(logs) case 6040: return new MissingTickArrayBitmapExtensionAccount(logs) case 6041: return new InsufficientLiquidityForDirection(logs) } return null }