All files / src/StakePool/HttpStakePoolMetadata types.ts

100% Statements 6/6
100% Branches 2/2
100% Functions 1/1
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101                                                                                              41x 41x 41x 41x 41x 41x                                                                                                
import { Cardano } from '@cardano-sdk/core';
import { CustomError } from 'ts-custom-error';
 
/** AdaPools format response types Based on: https://a.adapools.org/extended-example */
export type PoolCompanyInfo = {
  name?: string;
  addr?: string;
  city?: string;
  country?: string;
  company_id?: string;
  vat_id?: string;
};
 
export type PoolSocialData = {
  twitter_handle?: string;
  telegram_handle?: string;
  facebook_handle?: string;
  youtube_handle?: string;
  twitch_handle?: string;
  discord_handle?: string;
  github_handle?: string;
};
 
export type PoolAboutInfo = {
  me?: string;
  server?: string;
  company?: string;
};
 
export type APExtendedStakePoolMetadataFields = {
  url_png_icon_64x64?: string;
  url_png_logo?: string;
  location?: string;
  social?: PoolSocialData;
  company?: PoolCompanyInfo;
  about?: PoolAboutInfo;
};
 
export type APExtMetadataResponse = {
  info: APExtendedStakePoolMetadataFields;
  [k: string]: unknown;
};
 
/**
 * CIP-6 format response types
 * Based on: https://raw.githubusercontent.com/cardano-foundation/CIPs/master/CIP-0006/schema.json
 */
export enum ExtendedPoolStatus {
  Active = 'active',
  Retired = 'retired',
  Offline = 'offline',
  Experimental = 'experimental',
  Private = 'private'
}
 
export type PoolContactData = {
  primary: string;
  email?: string;
  facebook?: string;
  github?: string;
  feed?: string;
  telegram?: string;
  twitter?: string;
};
 
export type ThePoolsMediaAssets = {
  icon_png_64x64: string;
  logo_png?: string;
  logo_svg?: string;
  color_fg?: string;
  color_bg?: string;
};
 
export type ITNVerification = {
  owner: string;
  witness: string;
};
 
export type Cip6ExtendedStakePoolMetadataFields = {
  id: string;
  country?: string;
  status?: ExtendedPoolStatus;
  contact?: PoolContactData;
  media_assets?: ThePoolsMediaAssets;
  itn?: ITNVerification;
};
 
export type Cip6ExtMetadataResponse = {
  serial: number;
  pool: Cip6ExtendedStakePoolMetadataFields;
};
 
export type StakePoolMetadataResponse = {
  metadata: Cardano.StakePoolMetadata | undefined;
  errors: CustomError[];
};
 
export type SmashDelistedResponse = {
  poolId: string;
};