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 SwapInfoFields { minAmtOut: BN } export interface SwapInfoJSON { minAmtOut: string } export class SwapInfo { readonly minAmtOut: BN constructor(fields: SwapInfoFields) { this.minAmtOut = fields.minAmtOut } static layout(property?: string) { return borsh.struct([borsh.u64("minAmtOut")], property) } // eslint-disable-next-line @typescript-eslint/no-explicit-any static fromDecoded(obj: any) { return new SwapInfo({ minAmtOut: obj.minAmtOut, }) } static toEncodable(fields: SwapInfoFields) { return { minAmtOut: fields.minAmtOut, } } toJSON(): SwapInfoJSON { return { minAmtOut: this.minAmtOut.toString(), } } static fromJSON(obj: SwapInfoJSON): SwapInfo { return new SwapInfo({ minAmtOut: new BN(obj.minAmtOut), }) } toEncodable() { return SwapInfo.toEncodable(this) } }