@hubbleprotocol/farms-sdk
Version:
62 lines (61 loc) • 2.79 kB
TypeScript
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;
}[];
};
}