import type { Team } from './team' import type { Fund } from './fund' import type { ClientDiversability } from './clientDiversability' import type { Audit } from './audit' export interface Project { id: string name: string categories: string[] usecases?: string[] ecosystem?: string[] product_readiness?: string security?: string have_token?: boolean token_link?: string assets_used?: string[] tokens?: { name?: string symbol?: string network?: string contract_address?: string token_link?: string [k: string]: unknown }[] description?: string project_type?: string product_launch_day?: string project_phase?: string sunset: boolean technology?: { type: string name?: string features: string[] [k: string]: unknown } links?: { web?: string twitter?: string telegram?: string discord?: string blog?: string governance?: string facebook?: string block_explorer?: string whitepaper?: string github?: string docs?: string changelog?: string forum?: string snapshot?: string lens?: string farcaster?: string rss_feed?: string coingecko?: string token?: string [k: string]: unknown } blockchain_features?: { p2p?: boolean encryption?: string network?: string upgradability?: { enabled?: boolean type?: string admin_keys?: string [k: string]: unknown } [k: string]: unknown opensource: boolean viewing_key?: boolean dissapearing_tx?: boolean frontend_anonymity?: string identity_integration?: null connected_tx?: boolean revealed_recipient?: boolean revealed_sender?: boolean revealed_ammount?: boolean reversability_condition?: string data_masking?: string asset_custody_type?: string } licences?: string privacy_policy?: { defined?: boolean link?: string data_usage?: string [k: string]: unknown } team?: Team storage?: { decentralized?: boolean [k: string]: unknown } tracebility?: { tracked_data?: string kyc?: boolean sign_in_type_requirments?: string[] [k: string]: unknown } third_party_dependency?: string compliance?: string audits?: Audit[] social_trust?: string technical_spof?: string history?: { title?: string event_type?: string description?: string time?: string link?: string [k: string]: unknown }[] client_diversability?: ClientDiversability[] default_privacy?: boolean funding?: Fund[] project_status?: { live_status?: boolean version?: string testnet?: boolean mainnet?: boolean [k: string]: unknown } logos?: { file?: string ext?: string url?: string [k: string]: unknown }[] ratings?: ProjectRating[] } export interface ProjectShallow { id: string image: string title1: string description: string percentage: number forum?: string github?: string website?: string twitter?: string coingecko?: string explorer?: string newsletter?: string readyness?: string team?: Team docs?: string audits?: Audit[] support?: number anonymity?: boolean categories: string[] usecases?: string[] ecosystem?: string[] assets_used?: string [] ratings?: ProjectRating[] } export interface ProjectIndexable extends Project { [key: string]: unknown } export interface ProjectRating { type: string name: string items: ProjectRatingItem[] points: number } export interface ProjectRatingItem { isValid: boolean label: string positive: string negative: string value: any }