import WsM from "./WsM";

export class BadgeDto {
  id: number;
  type: number;
  num: number;
  addition: number;
}

export class WalletHomeDto {
  walletAddress: string;
  systemWalletAddress: string;
  badgeList: BadgeDto[];
}

export class BoosterDto {
  seasonRank: number;
  totalRank: number;
  rankAddition: number;
  gamePassNum: number;
  gamePassAddition: number;
}
export class PogHomeDto {
  booster: BoosterDto;
}

export class TogHomeDto {
  rankBadgeId: number;
  myPog: number;
  totalPog: number;
  totalTog: number;
  rewardTog: number;
}



export default class WalletM {
 
  private static _ins: WalletM;
  public static get ins(): WalletM {
    return (WalletM._ins ??= new WalletM());
  }

  async walletHome(): Promise<WalletHomeDto> {
    let result = await WsM.ins.syncRequest(23003, {});
    return result;
  }

  async pogHome(): Promise<PogHomeDto> {
    let result = await WsM.ins.syncRequest(23004, {});
    return result;
  }

  async togHome(): Promise<TogHomeDto> {
    let result = await WsM.ins.syncRequest(23005, {});
    return result;
  }
}
