UNPKG

@kamino-finance/scope-sdk

Version:
55 lines (44 loc) 1.59 kB
import { address, Address } from "@solana/kit" // 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" import { borshAddress } from "../utils" export interface PeriodicRebalanceStateFields { lastRebalanceTimestamp: BN } export interface PeriodicRebalanceStateJSON { lastRebalanceTimestamp: string } export class PeriodicRebalanceState { readonly lastRebalanceTimestamp: BN constructor(fields: PeriodicRebalanceStateFields) { this.lastRebalanceTimestamp = fields.lastRebalanceTimestamp } static layout(property?: string) { return borsh.struct([borsh.u64("lastRebalanceTimestamp")], property) } // eslint-disable-next-line @typescript-eslint/no-explicit-any static fromDecoded(obj: any) { return new PeriodicRebalanceState({ lastRebalanceTimestamp: obj.lastRebalanceTimestamp, }) } static toEncodable(fields: PeriodicRebalanceStateFields) { return { lastRebalanceTimestamp: fields.lastRebalanceTimestamp, } } toJSON(): PeriodicRebalanceStateJSON { return { lastRebalanceTimestamp: this.lastRebalanceTimestamp.toString(), } } static fromJSON(obj: PeriodicRebalanceStateJSON): PeriodicRebalanceState { return new PeriodicRebalanceState({ lastRebalanceTimestamp: new BN(obj.lastRebalanceTimestamp), }) } toEncodable() { return PeriodicRebalanceState.toEncodable(this) } }