import { ApiClient } from "./client" type MatsData = { mats: number rank: number | null } type RewardsMatsResponse = { data: { mats: { seasonOne: MatsData; seasonTwo: MatsData } } } export type RewardsMats = RewardsMatsResponse["data"]["mats"] export const REWARDS_API_ENDPOINTS_BY_ENV = { mainnet: "https://api.mezo.org/rewards/", testnet: "https://api.test.mezo.org/rewards/", } export class RewardsApiClient extends ApiClient { constructor( environment: keyof typeof REWARDS_API_ENDPOINTS_BY_ENV = "mainnet", apiUrl?: string, ) { super({ apiUrl: apiUrl ?? REWARDS_API_ENDPOINTS_BY_ENV[environment], removeVersioning: true, }) } async getRewardsMats(address: string): Promise { const { data: { mats }, } = await this.handleRequest( `/accounts/${address.toLowerCase()}`, { method: "GET", }, ) return mats } }