@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
290 lines • 9.66 kB
TypeScript
import { AccountingSDK } from '../accounting-sdk/index.js';
import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module.js';
import { NodeOperatorId, RewardProof } from '../common/index.js';
import { EventsSDK } from '../events-sdk/events-sdk.js';
import { FrameSDK } from '../frame-sdk/frame-sdk.js';
import { KeysWithStatusSDK } from '../keys-with-status-sdk/keys-with-status-sdk.js';
import { ModuleSDK } from '../module-sdk/module-sdk.js';
import { ParametersSDK } from '../parameters-sdk/index.js';
import { OperatorRewards, OperatorRewardsHistory } from './types.js';
export declare class RewardsSDK extends CsmSDKModule<{
accounting: AccountingSDK;
events: EventsSDK;
parameters: ParametersSDK;
frame: FrameSDK;
keysWithStatus: KeysWithStatusSDK;
module: ModuleSDK;
}> {
private get distributorContract();
getProofTreeUrls(cid: string): string[];
getReportUrls(cid: string): string[];
private getHistoryCount;
getReportConfig(number: bigint): Promise<{
refSlot: bigint;
treeRoot: `0x${string}`;
treeCid: string;
logCid: string;
distributed: bigint;
rebate: bigint;
}>;
getLastReportConfig(): Promise<{
refSlot: bigint;
treeRoot: `0x${string}`;
treeCid: string;
logCid: string;
distributed: bigint;
rebate: bigint;
} | null>;
getProofTree(): Promise<import("@openzeppelin/merkle-tree").StandardMerkleTree<[bigint, bigint]> | null>;
getProof(nodeOperatorId: NodeOperatorId): Promise<RewardProof>;
getAvailable(nodeOperatorId: NodeOperatorId, { proof, shares }: RewardProof): Promise<bigint>;
getRewards(nodeOperatorId: NodeOperatorId): Promise<{
available: bigint;
shares: bigint;
proof: import("../common/types.js").Proof;
}>;
getReportByCid(cid: string): Promise<void | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
frame: [number, number];
threshold: number;
operators: Record<`${bigint}`, {
distributed: bigint;
validators: Record<`${bigint}`, {
perf: {
assigned: number;
included: number;
};
slashed: boolean;
}>;
}>;
} | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
distributed_rewards: bigint;
rebate_to_protocol: bigint;
frame: [number, number];
operators: Record<`${bigint}`, {
distributed_rewards: bigint;
performance_coefficients: {
attestations_weight: number;
blocks_weight: number;
sync_weight: number;
};
validators: Record<`${bigint}`, {
attestation_duty: {
assigned: number;
included: number;
};
distributed_rewards: bigint;
performance: number;
proposal_duty: {
assigned: number;
included: number;
};
rewards_share: number;
slashed: boolean;
strikes: number;
sync_duty: {
assigned: number;
included: number;
};
threshold: number;
}>;
}>;
} | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
distributed_rewards: bigint;
rebate_to_protocol: bigint;
frame: [number, number];
operators: Record<`${bigint}`, {
distributed_rewards: bigint;
performance_coefficients: {
attestations_weight: number;
blocks_weight: number;
sync_weight: number;
};
validators: Record<`${bigint}`, {
attestation_duty: {
assigned: number;
included: number;
};
distributed_rewards: bigint;
performance: number;
proposal_duty: {
assigned: number;
included: number;
};
rewards_share: number;
slashed: boolean;
strikes: number;
sync_duty: {
assigned: number;
included: number;
};
threshold: number;
}>;
}>;
}[]>;
getLastReport(): Promise<void | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
frame: [number, number];
threshold: number;
operators: Record<`${bigint}`, {
distributed: bigint;
validators: Record<`${bigint}`, {
perf: {
assigned: number;
included: number;
};
slashed: boolean;
}>;
}>;
} | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
distributed_rewards: bigint;
rebate_to_protocol: bigint;
frame: [number, number];
operators: Record<`${bigint}`, {
distributed_rewards: bigint;
performance_coefficients: {
attestations_weight: number;
blocks_weight: number;
sync_weight: number;
};
validators: Record<`${bigint}`, {
attestation_duty: {
assigned: number;
included: number;
};
distributed_rewards: bigint;
performance: number;
proposal_duty: {
assigned: number;
included: number;
};
rewards_share: number;
slashed: boolean;
strikes: number;
sync_duty: {
assigned: number;
included: number;
};
threshold: number;
}>;
}>;
}>;
getOperatorRewardsInLastReport(nodeOperatorId: NodeOperatorId): Promise<OperatorRewards | undefined>;
getLastReportTransactionHash(): Promise<`0x${string}` | undefined>;
getAllReports(): Promise<({
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
frame: [number, number];
threshold: number;
operators: Record<`${bigint}`, {
distributed: bigint;
validators: Record<`${bigint}`, {
perf: {
assigned: number;
included: number;
};
slashed: boolean;
}>;
}>;
} | {
blockstamp: {
block_hash: string;
block_number: bigint;
block_timestamp: number;
ref_epoch: bigint;
ref_slot: bigint;
slot_number: bigint;
state_root: string;
};
distributable: bigint;
distributed_rewards: bigint;
rebate_to_protocol: bigint;
frame: [number, number];
operators: Record<`${bigint}`, {
distributed_rewards: bigint;
performance_coefficients: {
attestations_weight: number;
blocks_weight: number;
sync_weight: number;
};
validators: Record<`${bigint}`, {
attestation_duty: {
assigned: number;
included: number;
};
distributed_rewards: bigint;
performance: number;
proposal_duty: {
assigned: number;
included: number;
};
rewards_share: number;
slashed: boolean;
strikes: number;
sync_duty: {
assigned: number;
included: number;
};
threshold: number;
}>;
}>;
})[]>;
getOperatorRewardsHistory(nodeOperatorId: NodeOperatorId): Promise<OperatorRewardsHistory>;
}
//# sourceMappingURL=rewards-sdk.d.ts.map