import { NetworkIdType } from "@sonarwatch/portfolio-core"; export type Platform = { id: string; name: string; image: string; description?: string; defiLlamaId?: string; isDeprecated: boolean; tokens?: string[]; tags: PlatformTag[]; links: { website: string; discord?: string; telegram?: string; twitter?: string; github?: string; medium?: string; documentation?: string; }; }; export type PlatformTag = "dapp" | "tool" | "cex" | "nft-collection" | "nft-marketplace" | "lst" | "gaming" | "bridge" | "dao" | "memecoin" | "stablecoin" | "wallet" | "launchpad" | "dex" | "social" | "depin" | "desci" | "fitness" | "liquidity-provider"; type Optional = Pick, K> & Omit; export type PlatformRaw = Omit, "image">; export type Service = { id: string; name: string; platformId: string; networkId: NetworkIdType; contracts: Contract[]; link?: string; description?: string; }; export type ServiceRaw = Omit & { contractsRaw: ContractRaw[]; }; /** * Represents a smart contract/program */ export type Contract = { name: string; address: string; serviceId: string; platformId: string; networkId: NetworkIdType; }; export type ContractRaw = Omit; export {};