@lidofinance/lido-ethereum-sdk
Version:
<div style="display: flex;" align="center"> <h1 align="center">Lido Ethereum SDK</h1> </div>
55 lines • 2.03 kB
TypeScript
import type { Address, Log } from 'viem';
import type { rewardsEventsAbi } from './abi/rewardsEvents.js';
import type { BackArgumentType, BlockArgumentType } from '../core/types.js';
import type { SubgraphUrl, TotalRewardEntity, TransferEventEntity } from './subgraph/types.js';
export type GetRewardsOptions = {
address: Address;
includeZeroRebases?: boolean;
includeOnlyRebases?: boolean;
to?: BlockArgumentType;
} & ({
from: BlockArgumentType;
back?: undefined;
} | {
back: BackArgumentType;
from?: undefined;
});
export type RewardChainEventTransfer = Log<bigint, number, false, undefined, true, typeof rewardsEventsAbi, 'TransferShares'>;
export type RewardChainEventRebase = Log<bigint, number, false, undefined, true, typeof rewardsEventsAbi, 'TokenRebased'>;
export type RewardsChainEvents = RewardChainEventTransfer | RewardChainEventRebase;
export type RewardsSubgraphEvents = TransferEventEntity | TotalRewardEntity;
export type RewardType = 'submit' | 'withdrawal' | 'rebase' | 'transfer_in' | 'transfer_out';
export type Reward<TEvent> = {
type: RewardType;
change: bigint;
changeShares: bigint;
balance: bigint;
balanceShares: bigint;
shareRate: number;
originalEvent: TEvent;
apr?: number;
};
type GetRewardsCommonResult = {
baseBalance: bigint;
baseBalanceShares: bigint;
baseShareRate: number;
totalRewards: bigint;
fromBlock: bigint;
toBlock: bigint;
};
export type GetRewardsFromSubgraphOptions = GetRewardsOptions & {
stepEntities?: number;
getSubgraphUrl: (id: string | null, chainId: number) => SubgraphUrl;
};
export type GetRewardsFromSubgraphResult = {
rewards: Reward<RewardsSubgraphEvents>[];
lastIndexedBlock: bigint;
} & GetRewardsCommonResult;
export type GetRewardsFromChainOptions = GetRewardsOptions & {
stepBlock?: number;
};
export type GetRewardsFromChainResult = {
rewards: Reward<RewardsChainEvents>[];
} & GetRewardsCommonResult;
export {};
//# sourceMappingURL=types.d.ts.map