forked from cosmos/chain-registry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ibc_data.schema.json
131 lines (131 loc) · 3.64 KB
/
ibc_data.schema.json
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"chain-1",
"chain-2",
"channels"
],
"properties": {
"chain-1": {
"type": "object",
"description": "Top level IBC data pertaining to the chain. `chain-1` and `chain-2` should be in alphabetical order.",
"items": {
"$refs": "#/$defs/chain_info"
}
},
"chain-2": {
"type": "object",
"description": "Top level IBC data pertaining to the chain. `chain-1` and `chain-2` should be in alphabetical order.",
"items": {
"$refs": "#/$defs/chain_info"
}
},
"channels": {
"type": "array",
"items": [
{
"type": "object",
"required": [
"chain-1",
"chain-2",
"ordering",
"version"
],
"properties": {
"chain-1": {
"type": "object",
"items": {
"$refs": "#/$defs/channel_info"
}
},
"chain-2": {
"type": "object",
"items": {
"$refs": "#/$defs/channel_info"
}
},
"ordering": {
"enum": [
"ordered",
"unordered"
],
"description": "Determines if packets from a sending module must be 'ordered' or 'unordered'."
},
"version": {
"type": "string",
"description": "IBC Version"
},
"description": {
"type": "string",
"description": "Human readable description of the channel."
},
"tags": {
"type": "object",
"description": "Human readable key:value pairs that help describe and distinguish channels.",
"properties": {
"status": {
"enum": [
"live",
"upcoming",
"killed"
]
},
"preferred": {
"type": "boolean"
},
"dex": {
"type": "string"
},
"properties": {
"type": "string",
"description": "String that helps describe non-dex use cases ex: interchain accounts(ICA)."
}
}
}
}
}
]
},
"$defs": {
"chain_info": {
"type": "object",
"required": [
"chain-name",
"client-id",
"connection-id"
],
"properties": {
"chain-name": {
"type": "string"
},
"client-id": {
"type": "string",
"description": "The client ID on the corresponding chain representing the other chain's light client."
},
"connection-id": {
"type": "string",
"description": "The connection ID on the corresponding chain representing a connection to the other chain."
}
}
},
"channel_info": {
"type": "object",
"required": [
"channel-id",
"port-id"
],
"properties": {
"channel-id": {
"type": "string",
"description": "The channel ID on the corresponding chain's connection representing a channel on the other chain."
},
"port-id": {
"type": "string",
"description": "The IBC port ID which a relevant module binds to on the corresponding chain."
}
}
}
}
}
}