import { ChainId } from "../../model/primitives.js"; import { DataResponse } from "../../model/response.js"; import { Reward } from "../../model/rewards.js"; import "../../model/index.js"; import { OnchainSDK } from "../../onchain/OnchainSDK.js"; import "../../onchain/index.js"; import { Address } from "viem"; //#region src/sdk/rewards/types.d.ts /** * Claimable Merkl and Turtle rewards. **/ export interface IRewards { /** * Claimable rewards of `wallet`; a chain errors only when every source failed on it. **/ list(wallet: Address, chainIds?: ChainId[]): Promise>; } /** * `sdk.rewards` per mode: absent when the SDK reads no chain. **/ export interface IRewardsByMode { onchain: IRewards; offchain: undefined; both: IRewards; } export interface RewardsKeys { /** Raises Merkl's rate limit; the keyless path answers too. */ merklApiKey?: string; /** Turtle is skipped without one: its API answers no keyless request. */ turtleApiKey?: string; } /** What the mapping needs off a chain's SDK, and nothing asynchronous. */ export type RewardsSdk = Pick; //#endregion