Skip to content

Commit 2fdcf1a

Browse files
committed
json schema
1 parent 24c912e commit 2fdcf1a

File tree

1 file changed

+183
-0
lines changed

1 file changed

+183
-0
lines changed

wallets-v2.schema.json

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"type": "array",
4+
"minItems": 1,
5+
"items": {
6+
"type": "object",
7+
"additionalProperties": false,
8+
"properties": {
9+
"app_name": {
10+
"type": "string",
11+
"description": "ID of your wallet",
12+
"minLength": 1
13+
},
14+
"name": {
15+
"type": "string",
16+
"description": "Name of your wallet",
17+
"minLength": 1
18+
},
19+
"image": {
20+
"type": "string",
21+
"description": "URL to the icon of your wallet",
22+
"pattern": "^https://.+png$"
23+
},
24+
"tondns": {
25+
"type": "string",
26+
"pattern": ".+ton$"
27+
},
28+
"about_url": {
29+
"type": "string",
30+
"description": "Info or landing page of your wallet",
31+
"pattern": "^https://.+"
32+
},
33+
"universal_url": {
34+
"type": "string",
35+
"description": "Base part of your wallet universal url",
36+
"pattern": "^https://.+"
37+
},
38+
"deepLink": {
39+
"type": "string",
40+
"minLength": 1
41+
},
42+
"bridge": {
43+
"type": "array",
44+
"minItems": 1,
45+
"maxItems": 2,
46+
"items": {
47+
"anyOf": [
48+
{
49+
"type": "object",
50+
"additionalProperties": false,
51+
"properties": {
52+
"type": {
53+
"type": "string",
54+
"enum": [
55+
"js"
56+
]
57+
},
58+
"key": {
59+
"type": "string",
60+
"minLength": 1
61+
}
62+
},
63+
"required": [
64+
"type",
65+
"key"
66+
]
67+
},
68+
{
69+
"type": "object",
70+
"additionalProperties": false,
71+
"properties": {
72+
"type": {
73+
"type": "string",
74+
"enum": [
75+
"sse"
76+
]
77+
},
78+
"url": {
79+
"type": "string",
80+
"pattern": "^https://.+"
81+
}
82+
},
83+
"required": [
84+
"type",
85+
"url"
86+
]
87+
}
88+
]
89+
}
90+
},
91+
"platforms": {
92+
"type": "array",
93+
"description": "List of platforms on which your wallet works",
94+
"minItems": 1,
95+
"uniqueItems": true,
96+
"items": {
97+
"type": "string",
98+
"enum": [
99+
"ios",
100+
"android",
101+
"chrome",
102+
"firefox",
103+
"safari",
104+
"macos",
105+
"windows",
106+
"linux"
107+
]
108+
}
109+
},
110+
"features": {
111+
"type": "array",
112+
"description": "List of supported TON Connect features and their capabilities",
113+
"minItems": 1,
114+
"items": {
115+
"anyOf": [
116+
{
117+
"type": "object",
118+
"additionalProperties": false,
119+
"properties": {
120+
"name": {
121+
"type": "string",
122+
"enum": [
123+
"SendTransaction"
124+
]
125+
},
126+
"maxMessages": {
127+
"type": "integer",
128+
"minimum": 0
129+
},
130+
"extraCurrencySupported": {
131+
"type": "boolean"
132+
}
133+
},
134+
"required": [
135+
"name",
136+
"maxMessages",
137+
"extraCurrencySupported"
138+
]
139+
},
140+
{
141+
"type": "object",
142+
"additionalProperties": false,
143+
"properties": {
144+
"name": {
145+
"type": "string",
146+
"enum": [
147+
"SignData"
148+
]
149+
},
150+
"types": {
151+
"type": "array",
152+
"minItems": 1,
153+
"uniqueItems": true,
154+
"items": {
155+
"type": "string",
156+
"enum": [
157+
"text",
158+
"binary",
159+
"cell"
160+
]
161+
}
162+
}
163+
},
164+
"required": [
165+
"name",
166+
"types"
167+
]
168+
}
169+
]
170+
}
171+
}
172+
},
173+
"required": [
174+
"app_name",
175+
"name",
176+
"image",
177+
"about_url",
178+
"bridge",
179+
"platforms",
180+
"features"
181+
]
182+
}
183+
}

0 commit comments

Comments
 (0)