-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathassetlist.schema.ts
90 lines (90 loc) · 1.87 KB
/
assetlist.schema.ts
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
export interface Asset {
deprecated?: boolean;
description?: string;
extended_description?: string;
denom_units: DenomUnit[];
address?: string;
base: string;
name: string;
display: string;
symbol: string;
traces?: (IbcTransition | IbcCw20Transition | NonIbcTransition)[];
ibc?: {
source_channel: string;
dst_channel: string;
source_denom: string;
};
logo_URIs?: {
png?: string;
svg?: string;
};
images?: {
image_sync?: Pointer;
png?: string;
svg?: string;
theme?: {
primary_color_hex?: string;
circle?: boolean;
dark_mode?: boolean;
};
}[];
coingecko_id?: string;
keywords?: string[];
socials?: {
website?: string;
twitter?: string;
};
asset_type?: "sdk.coin" | "cw20" | "erc20" | "ics20" | "snip20" | "snip25" | "bitcoin-like" | "evm-base" | "svm-base" | "substrate" | "unknown" | "sdk.factory" | "bitsong";
}
export interface DenomUnit {
denom: string;
exponent: number;
aliases?: string[];
}
export interface Pointer {
chain_name: string;
base_denom?: string;
}
export interface IbcTransition {
type: "ibc";
counterparty: {
chain_name: string;
base_denom: string;
channel_id: string;
};
chain: {
channel_id: string;
path: string;
};
}
export interface IbcCw20Transition {
type: "ibc-cw20";
counterparty: {
chain_name: string;
base_denom: string;
port: string;
channel_id: string;
};
chain: {
port: string;
channel_id: string;
path: string;
};
}
export interface NonIbcTransition {
type: "bridge" | "liquid-stake" | "synthetic" | "wrapped" | "additional-mintage" | "test-mintage";
counterparty: {
chain_name: string;
base_denom: string;
contract?: string;
};
chain?: {
contract: string;
};
provider: string;
}
export interface AssetList {
$schema?: string;
chain_name: string;
assets: Asset[];
}