@kamino-finance/scope-sdk
Version:
Scope Oracle SDK
101 lines • 4.07 kB
TypeScript
import { Address } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export interface StakeSystemFields {
stakeList: types.ListFields;
delayedUnstakeCoolingDown: BN;
stakeDepositBumpSeed: number;
stakeWithdrawBumpSeed: number;
/** set by admin, how much slots before the end of the epoch, stake-delta can start */
slotsForStakeDelta: BN;
/**
* Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket
* after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1
* (the user must wait one more epoch, because their unstake-delta will be execute in this epoch)
*/
lastStakeDeltaEpoch: BN;
minStake: BN;
/**
* can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch
* so we maximize user's rewards
*/
extraStakeDeltaRuns: number;
}
export interface StakeSystemJSON {
stakeList: types.ListJSON;
delayedUnstakeCoolingDown: string;
stakeDepositBumpSeed: number;
stakeWithdrawBumpSeed: number;
/** set by admin, how much slots before the end of the epoch, stake-delta can start */
slotsForStakeDelta: string;
/**
* Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket
* after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1
* (the user must wait one more epoch, because their unstake-delta will be execute in this epoch)
*/
lastStakeDeltaEpoch: string;
minStake: string;
/**
* can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch
* so we maximize user's rewards
*/
extraStakeDeltaRuns: number;
}
export declare class StakeSystem {
readonly stakeList: types.List;
readonly delayedUnstakeCoolingDown: BN;
readonly stakeDepositBumpSeed: number;
readonly stakeWithdrawBumpSeed: number;
/** set by admin, how much slots before the end of the epoch, stake-delta can start */
readonly slotsForStakeDelta: BN;
/**
* Marks the start of stake-delta operations, meaning that if somebody starts a delayed-unstake ticket
* after this var is set with epoch_num the ticket will have epoch_created = current_epoch+1
* (the user must wait one more epoch, because their unstake-delta will be execute in this epoch)
*/
readonly lastStakeDeltaEpoch: BN;
readonly minStake: BN;
/**
* can be set by validator-manager-auth to allow a second run of stake-delta to stake late stakers in the last minute of the epoch
* so we maximize user's rewards
*/
readonly extraStakeDeltaRuns: number;
constructor(fields: StakeSystemFields);
static layout(property?: string): import("buffer-layout").Layout<unknown>;
static fromDecoded(obj: any): types.StakeSystem;
static toEncodable(fields: StakeSystemFields): {
stakeList: {
account: Address;
itemSize: number;
count: number;
newAccount: Address;
copiedCount: number;
};
delayedUnstakeCoolingDown: BN;
stakeDepositBumpSeed: number;
stakeWithdrawBumpSeed: number;
slotsForStakeDelta: BN;
lastStakeDeltaEpoch: BN;
minStake: BN;
extraStakeDeltaRuns: number;
};
toJSON(): StakeSystemJSON;
static fromJSON(obj: StakeSystemJSON): StakeSystem;
toEncodable(): {
stakeList: {
account: Address;
itemSize: number;
count: number;
newAccount: Address;
copiedCount: number;
};
delayedUnstakeCoolingDown: BN;
stakeDepositBumpSeed: number;
stakeWithdrawBumpSeed: number;
slotsForStakeDelta: BN;
lastStakeDeltaEpoch: BN;
minStake: BN;
extraStakeDeltaRuns: number;
};
}
//# sourceMappingURL=StakeSystem.d.ts.map