1 | type ExtensionValue = string | number | boolean | null | undefined;
|
2 |
|
3 | export interface TokenInfo {
|
4 | readonly chainId: number;
|
5 | readonly address: string;
|
6 | readonly name: string;
|
7 | readonly decimals: number;
|
8 | readonly symbol: string;
|
9 | readonly logoURI?: string;
|
10 | readonly tags?: string[];
|
11 | readonly extensions?: {
|
12 | readonly [key: string]:
|
13 | | {
|
14 | [key: string]:
|
15 | | {
|
16 | [key: string]: ExtensionValue;
|
17 | }
|
18 | | ExtensionValue;
|
19 | }
|
20 | | ExtensionValue;
|
21 | };
|
22 | }
|
23 |
|
24 | export interface Version {
|
25 | readonly major: number;
|
26 | readonly minor: number;
|
27 | readonly patch: number;
|
28 | }
|
29 |
|
30 | export interface Tags {
|
31 | readonly [tagId: string]: {
|
32 | readonly name: string;
|
33 | readonly description: string;
|
34 | };
|
35 | }
|
36 |
|
37 | export interface TokenList {
|
38 | readonly name: string;
|
39 | readonly timestamp: string;
|
40 | readonly version: Version;
|
41 | readonly tokens: TokenInfo[];
|
42 | readonly keywords?: string[];
|
43 | readonly tags?: Tags;
|
44 | readonly logoURI?: string;
|
45 | }
|