UNPKG

@hubbleprotocol/farms-sdk

Version:
62 lines (61 loc) 2.79 kB
import BN from "bn.js"; import * as types from "../types"; export interface RewardScheduleCurveFields { /** * This is a stepwise function, meaning that each point represents * how many rewards are issued per time unit since the beginning * of that point until the beginning of the next point. * This is not a linear curve, there is no interpolation going on. * A curve can be [[t0, 100], [t1, 50], [t2, 0]] * meaning that from t0 to t1, 100 rewards are issued per time unit, * from t1 to t2, 50 rewards are issued per time unit, and after t2 it stops * Another curve, can be [[t0, 100], [u64::max, 0]] * meaning that from t0 to u64::max, 100 rewards are issued per time unit */ points: Array<types.RewardPerTimeUnitPointFields>; } export interface RewardScheduleCurveJSON { /** * This is a stepwise function, meaning that each point represents * how many rewards are issued per time unit since the beginning * of that point until the beginning of the next point. * This is not a linear curve, there is no interpolation going on. * A curve can be [[t0, 100], [t1, 50], [t2, 0]] * meaning that from t0 to t1, 100 rewards are issued per time unit, * from t1 to t2, 50 rewards are issued per time unit, and after t2 it stops * Another curve, can be [[t0, 100], [u64::max, 0]] * meaning that from t0 to u64::max, 100 rewards are issued per time unit */ points: Array<types.RewardPerTimeUnitPointJSON>; } export declare class RewardScheduleCurve { /** * This is a stepwise function, meaning that each point represents * how many rewards are issued per time unit since the beginning * of that point until the beginning of the next point. * This is not a linear curve, there is no interpolation going on. * A curve can be [[t0, 100], [t1, 50], [t2, 0]] * meaning that from t0 to t1, 100 rewards are issued per time unit, * from t1 to t2, 50 rewards are issued per time unit, and after t2 it stops * Another curve, can be [[t0, 100], [u64::max, 0]] * meaning that from t0 to u64::max, 100 rewards are issued per time unit */ readonly points: Array<types.RewardPerTimeUnitPoint>; constructor(fields: RewardScheduleCurveFields); static layout(property?: string): any; static fromDecoded(obj: any): types.RewardScheduleCurve; static toEncodable(fields: RewardScheduleCurveFields): { points: { tsStart: BN; rewardPerTimeUnit: BN; }[]; }; toJSON(): RewardScheduleCurveJSON; static fromJSON(obj: RewardScheduleCurveJSON): RewardScheduleCurve; toEncodable(): { points: { tsStart: BN; rewardPerTimeUnit: BN; }[]; }; }