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; export type RewardChainEventRebase = Log; export type RewardsChainEvents = RewardChainEventTransfer | RewardChainEventRebase; export type RewardsSubgraphEvents = TransferEventEntity | TotalRewardEntity; export type RewardType = 'submit' | 'withdrawal' | 'rebase' | 'transfer_in' | 'transfer_out'; export type Reward = { 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[]; lastIndexedBlock: bigint; } & GetRewardsCommonResult; export type GetRewardsFromChainOptions = GetRewardsOptions & { stepBlock?: number; }; export type GetRewardsFromChainResult = { rewards: Reward[]; } & GetRewardsCommonResult; export {}; //# sourceMappingURL=types.d.ts.map