UNPKG

@hubbleprotocol/farms-sdk

Version:
65 lines (54 loc) 1.76 kB
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 "@coral-xyz/borsh"; export interface RewardPerTimeUnitPointFields { tsStart: BN; rewardPerTimeUnit: BN; } export interface RewardPerTimeUnitPointJSON { tsStart: string; rewardPerTimeUnit: string; } export class RewardPerTimeUnitPoint { readonly tsStart: BN; readonly rewardPerTimeUnit: BN; constructor(fields: RewardPerTimeUnitPointFields) { this.tsStart = fields.tsStart; this.rewardPerTimeUnit = fields.rewardPerTimeUnit; } static layout(property?: string) { return borsh.struct( [borsh.u64("tsStart"), borsh.u64("rewardPerTimeUnit")], property, ); } // eslint-disable-next-line @typescript-eslint/no-explicit-any static fromDecoded(obj: any) { return new RewardPerTimeUnitPoint({ tsStart: obj.tsStart, rewardPerTimeUnit: obj.rewardPerTimeUnit, }); } static toEncodable(fields: RewardPerTimeUnitPointFields) { return { tsStart: fields.tsStart, rewardPerTimeUnit: fields.rewardPerTimeUnit, }; } toJSON(): RewardPerTimeUnitPointJSON { return { tsStart: this.tsStart.toString(), rewardPerTimeUnit: this.rewardPerTimeUnit.toString(), }; } static fromJSON(obj: RewardPerTimeUnitPointJSON): RewardPerTimeUnitPoint { return new RewardPerTimeUnitPoint({ tsStart: new BN(obj.tsStart), rewardPerTimeUnit: new BN(obj.rewardPerTimeUnit), }); } toEncodable() { return RewardPerTimeUnitPoint.toEncodable(this); } }