import { PublicKey } from "@solana/web3.js" // eslint-disable-line @typescript-eslint/no-unused-vars import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars import * as borsh from "@project-serum/borsh" export interface ProvideLiquidityInfoFields { inputBase: number inputQuote: number outputLpToken: number baseIsFixedSide: boolean } export interface ProvideLiquidityInfoJSON { inputBase: number inputQuote: number outputLpToken: number baseIsFixedSide: boolean } export class ProvideLiquidityInfo { readonly inputBase: number readonly inputQuote: number readonly outputLpToken: number readonly baseIsFixedSide: boolean constructor(fields: ProvideLiquidityInfoFields) { this.inputBase = fields.inputBase this.inputQuote = fields.inputQuote this.outputLpToken = fields.outputLpToken this.baseIsFixedSide = fields.baseIsFixedSide } static layout(property?: string) { return borsh.struct( [ borsh.u8("inputBase"), borsh.u8("inputQuote"), borsh.u8("outputLpToken"), borsh.bool("baseIsFixedSide"), ], property ) } // eslint-disable-next-line @typescript-eslint/no-explicit-any static fromDecoded(obj: any) { return new ProvideLiquidityInfo({ inputBase: obj.inputBase, inputQuote: obj.inputQuote, outputLpToken: obj.outputLpToken, baseIsFixedSide: obj.baseIsFixedSide, }) } static toEncodable(fields: ProvideLiquidityInfoFields) { return { inputBase: fields.inputBase, inputQuote: fields.inputQuote, outputLpToken: fields.outputLpToken, baseIsFixedSide: fields.baseIsFixedSide, } } toJSON(): ProvideLiquidityInfoJSON { return { inputBase: this.inputBase, inputQuote: this.inputQuote, outputLpToken: this.outputLpToken, baseIsFixedSide: this.baseIsFixedSide, } } static fromJSON(obj: ProvideLiquidityInfoJSON): ProvideLiquidityInfo { return new ProvideLiquidityInfo({ inputBase: obj.inputBase, inputQuote: obj.inputQuote, outputLpToken: obj.outputLpToken, baseIsFixedSide: obj.baseIsFixedSide, }) } toEncodable() { return ProvideLiquidityInfo.toEncodable(this) } }