@matchain/matchid-sdk-react 0.1.56-alpha.6 → 0.1.56-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example/package.json +1 -2
- package/example/src/pages/Wallet/index.tsx +90 -88
- package/example/yarn.lock +2251 -27
- package/package.json +7 -4
- package/dist/api.d.mts +0 -6
- package/dist/api.d.ts +0 -6
- package/dist/api.js +0 -1721
- package/dist/api.js.map +0 -1
- package/dist/api.mjs +0 -23
- package/dist/api.mjs.map +0 -1
- package/dist/assets/lottie.d.mts +0 -1
- package/dist/assets/lottie.d.ts +0 -1
- package/dist/assets/lottie.js +0 -68
- package/dist/assets/lottie.js.map +0 -1
- package/dist/assets/lottie.mjs +0 -22
- package/dist/assets/lottie.mjs.map +0 -1
- package/dist/chains.d.mts +0 -2
- package/dist/chains.d.ts +0 -2
- package/dist/chains.js +0 -94
- package/dist/chains.js.map +0 -1
- package/dist/chains.mjs +0 -11
- package/dist/chains.mjs.map +0 -1
- package/dist/chunk-3CR66BEX.mjs +0 -19
- package/dist/chunk-3CR66BEX.mjs.map +0 -1
- package/dist/chunk-GD7URBBZ.mjs +0 -1399
- package/dist/chunk-GD7URBBZ.mjs.map +0 -1
- package/dist/chunk-HBOS3RBL.mjs +0 -19
- package/dist/chunk-HBOS3RBL.mjs.map +0 -1
- package/dist/chunk-IZOOVZAD.mjs +0 -145
- package/dist/chunk-IZOOVZAD.mjs.map +0 -1
- package/dist/chunk-J5LGTIGS.mjs +0 -10
- package/dist/chunk-J5LGTIGS.mjs.map +0 -1
- package/dist/chunk-JX73EY6V.mjs +0 -67
- package/dist/chunk-JX73EY6V.mjs.map +0 -1
- package/dist/chunk-KFB23MLQ.mjs +0 -7666
- package/dist/chunk-KFB23MLQ.mjs.map +0 -1
- package/dist/chunk-NYE6DBEZ.mjs +0 -97
- package/dist/chunk-NYE6DBEZ.mjs.map +0 -1
- package/dist/chunk-UA6XHZHX.mjs +0 -17
- package/dist/chunk-UA6XHZHX.mjs.map +0 -1
- package/dist/chunk-XM6CYEXN.mjs +0 -53
- package/dist/chunk-XM6CYEXN.mjs.map +0 -1
- package/dist/components.d.mts +0 -6
- package/dist/components.d.ts +0 -6
- package/dist/components.js +0 -6494
- package/dist/components.js.map +0 -1
- package/dist/components.mjs +0 -57
- package/dist/components.mjs.map +0 -1
- package/dist/hooks.d.mts +0 -13
- package/dist/hooks.d.ts +0 -13
- package/dist/hooks.js +0 -3612
- package/dist/hooks.js.map +0 -1
- package/dist/hooks.mjs +0 -41
- package/dist/hooks.mjs.map +0 -1
- package/dist/icon.d.mts +0 -5
- package/dist/icon.d.ts +0 -5
- package/dist/icon.js +0 -1414
- package/dist/icon.js.map +0 -1
- package/dist/icon.mjs +0 -112
- package/dist/icon.mjs.map +0 -1
- package/dist/index-B50DU_xT.d.mts +0 -83
- package/dist/index-B50DU_xT.d.ts +0 -83
- package/dist/index-BcuSCgol.d.ts +0 -111
- package/dist/index-BlMLqmS2.d.mts +0 -3341
- package/dist/index-C1Nyy5zx.d.ts +0 -3341
- package/dist/index-CBcBTQyU.d.mts +0 -66
- package/dist/index-CD0dACxf.d.mts +0 -111
- package/dist/index-CER00guz.d.mts +0 -132
- package/dist/index-CHgaOUiW.d.mts +0 -52590
- package/dist/index-CHgaOUiW.d.ts +0 -52590
- package/dist/index-CjekOYJl.d.mts +0 -38
- package/dist/index-DN-jrh8-.d.ts +0 -213
- package/dist/index-DdN22cwf.d.ts +0 -38
- package/dist/index-DkIIQLbh.d.ts +0 -92
- package/dist/index-DlaCsN95.d.ts +0 -66
- package/dist/index-lh6qBAf_.d.mts +0 -92
- package/dist/index-o0WW1c5O.d.ts +0 -132
- package/dist/index-xThRnNN3.d.mts +0 -213
- package/dist/index.css +0 -2131
- package/dist/index.d.mts +0 -789
- package/dist/index.d.ts +0 -789
- package/dist/index.js +0 -9206
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -45
- package/dist/index.mjs.map +0 -1
- package/dist/request-B0CyrGFT.d.mts +0 -15
- package/dist/request-B0CyrGFT.d.ts +0 -15
- package/dist/types-CheN9vHJ.d.mts +0 -428
- package/dist/types-CheN9vHJ.d.ts +0 -428
- package/dist/types.d.mts +0 -3
- package/dist/types.d.ts +0 -3
- package/dist/types.js +0 -44
- package/dist/types.js.map +0 -1
- package/dist/types.mjs +0 -11
- package/dist/types.mjs.map +0 -1
- package/dist/ui.d.mts +0 -7
- package/dist/ui.d.ts +0 -7
- package/dist/ui.js +0 -1682
- package/dist/ui.js.map +0 -1
- package/dist/ui.mjs +0 -47
- package/dist/ui.mjs.map +0 -1
- package/dist/utils.d.mts +0 -28
- package/dist/utils.d.ts +0 -28
- package/dist/utils.js +0 -192
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs +0 -34
- package/dist/utils.mjs.map +0 -1
- package/example/package-lock.json +0 -2965
package/dist/api.js
DELETED
|
@@ -1,1721 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/hooks/api/index.ts
|
|
31
|
-
var api_exports = {};
|
|
32
|
-
__export(api_exports, {
|
|
33
|
-
bind: () => bind_exports,
|
|
34
|
-
isSuccess: () => isSuccess,
|
|
35
|
-
poh: () => poh_exports,
|
|
36
|
-
user: () => user_exports,
|
|
37
|
-
wallet: () => wallet_exports
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(api_exports);
|
|
40
|
-
|
|
41
|
-
// src/hooks/api/bind.ts
|
|
42
|
-
var bind_exports = {};
|
|
43
|
-
__export(bind_exports, {
|
|
44
|
-
bindCexApi: () => bindCexApi,
|
|
45
|
-
unBindApi: () => unBindApi,
|
|
46
|
-
unBindWalletApi: () => unBindWalletApi,
|
|
47
|
-
useBindInfo: () => useBindInfo,
|
|
48
|
-
useBindList: () => useBindList
|
|
49
|
-
});
|
|
50
|
-
var import_react_query11 = require("@tanstack/react-query");
|
|
51
|
-
|
|
52
|
-
// src/store/useLocalStore.ts
|
|
53
|
-
var import_zustand = require("zustand");
|
|
54
|
-
var import_middleware = require("zustand/middleware");
|
|
55
|
-
|
|
56
|
-
// src/api/request.ts
|
|
57
|
-
var import_axios = __toESM(require("axios"));
|
|
58
|
-
|
|
59
|
-
// src/config/env/index.ts
|
|
60
|
-
var env_default = {
|
|
61
|
-
endpoints: {
|
|
62
|
-
back: "https://api.matchid.ai/",
|
|
63
|
-
auth: "https://auth.matchid.ai/"
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// src/store/index.ts
|
|
68
|
-
var getEndpoints = () => {
|
|
69
|
-
try {
|
|
70
|
-
const store = localStore.getState();
|
|
71
|
-
const env = store?.endpoints;
|
|
72
|
-
if (env) {
|
|
73
|
-
return env;
|
|
74
|
-
} else {
|
|
75
|
-
return env_default.endpoints;
|
|
76
|
-
}
|
|
77
|
-
} catch (e) {
|
|
78
|
-
return env_default.endpoints;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
var getAppid = () => {
|
|
82
|
-
try {
|
|
83
|
-
const store = localStore.getState();
|
|
84
|
-
const appid = store?.appid;
|
|
85
|
-
if (appid) {
|
|
86
|
-
return appid;
|
|
87
|
-
} else {
|
|
88
|
-
return "";
|
|
89
|
-
}
|
|
90
|
-
} catch (e) {
|
|
91
|
-
return "";
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
var getLocale = () => {
|
|
95
|
-
try {
|
|
96
|
-
const store = localStore.getState();
|
|
97
|
-
const locale = store?.locale;
|
|
98
|
-
if (locale) {
|
|
99
|
-
return locale;
|
|
100
|
-
} else {
|
|
101
|
-
return "en";
|
|
102
|
-
}
|
|
103
|
-
} catch (e) {
|
|
104
|
-
return "en";
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
var getToken = () => {
|
|
108
|
-
try {
|
|
109
|
-
const store = localStore.getState();
|
|
110
|
-
const token = store?.token;
|
|
111
|
-
if (token) {
|
|
112
|
-
return token;
|
|
113
|
-
} else {
|
|
114
|
-
return "";
|
|
115
|
-
}
|
|
116
|
-
} catch (e) {
|
|
117
|
-
return "";
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
// src/utils/matchlog.ts
|
|
122
|
-
var matchDevExists = () => localStorage.getItem("matchid-sdk-react-debug") !== null;
|
|
123
|
-
var handler = {
|
|
124
|
-
get(target, prop) {
|
|
125
|
-
if (matchDevExists() && typeof target[prop] === "function") {
|
|
126
|
-
return target[prop].bind(console);
|
|
127
|
-
}
|
|
128
|
-
return () => {
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
var matchlog = new Proxy(console, handler);
|
|
133
|
-
var matchlog_default = matchlog;
|
|
134
|
-
|
|
135
|
-
// src/api/request.ts
|
|
136
|
-
var import_axios_retry = __toESM(require("axios-retry"));
|
|
137
|
-
var SUCCESS_CODE = 0;
|
|
138
|
-
var isSuccess = (res) => {
|
|
139
|
-
return res.code === SUCCESS_CODE;
|
|
140
|
-
};
|
|
141
|
-
var instance = import_axios.default.create({
|
|
142
|
-
timeout: 6e4,
|
|
143
|
-
validateStatus(status) {
|
|
144
|
-
return status >= 200 && status <= 500;
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
var request = async (config) => {
|
|
148
|
-
try {
|
|
149
|
-
const endpoints = getEndpoints();
|
|
150
|
-
const token = getToken();
|
|
151
|
-
instance.defaults.baseURL = `${endpoints.back}`;
|
|
152
|
-
instance.defaults.headers.common["Appid"] = getAppid();
|
|
153
|
-
if (token) {
|
|
154
|
-
instance.defaults.headers.common["Authorization"] = token;
|
|
155
|
-
}
|
|
156
|
-
instance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
157
|
-
const { data } = await instance.request(config);
|
|
158
|
-
matchlog_default.log("api", data);
|
|
159
|
-
if (data.code == 401001) {
|
|
160
|
-
localStore.getState().logout();
|
|
161
|
-
throw new Error("Your session has expired, please log in again");
|
|
162
|
-
}
|
|
163
|
-
return data;
|
|
164
|
-
} catch (err) {
|
|
165
|
-
console.error("qwe-err", err);
|
|
166
|
-
const message = "Request Error";
|
|
167
|
-
console.error(message);
|
|
168
|
-
return {
|
|
169
|
-
code: -1,
|
|
170
|
-
data: null,
|
|
171
|
-
message,
|
|
172
|
-
success: false,
|
|
173
|
-
fail: true,
|
|
174
|
-
result: null
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
var retryInstance = import_axios.default.create({
|
|
179
|
-
timeout: 6e4,
|
|
180
|
-
validateStatus(status) {
|
|
181
|
-
return status >= 200 && status <= 500;
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
(0, import_axios_retry.default)(retryInstance, {
|
|
185
|
-
retries: 3,
|
|
186
|
-
retryDelay: (retryCount) => retryCount * 1e3,
|
|
187
|
-
shouldResetTimeout: true,
|
|
188
|
-
retryCondition: (error) => {
|
|
189
|
-
return error.response.status >= 500 && error.response.status < 600 || error.code === "ECONNABORTED";
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
var retryRequest = async (config) => {
|
|
193
|
-
try {
|
|
194
|
-
const endpoints = getEndpoints();
|
|
195
|
-
const token = getToken();
|
|
196
|
-
retryInstance.defaults.baseURL = `${endpoints.back}`;
|
|
197
|
-
retryInstance.defaults.headers.common["Appid"] = getAppid();
|
|
198
|
-
if (token) {
|
|
199
|
-
retryInstance.defaults.headers.common["Authorization"] = token;
|
|
200
|
-
}
|
|
201
|
-
retryInstance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
202
|
-
const { data } = await retryInstance.request(config);
|
|
203
|
-
matchlog_default.log("api", data);
|
|
204
|
-
if (data.code == 401001) {
|
|
205
|
-
localStore.getState().logout();
|
|
206
|
-
throw new Error("Your session has expired, please log in again");
|
|
207
|
-
}
|
|
208
|
-
return data;
|
|
209
|
-
} catch (err) {
|
|
210
|
-
console.error("qwe-err", err);
|
|
211
|
-
const message = "Request Error";
|
|
212
|
-
console.error(message);
|
|
213
|
-
return {
|
|
214
|
-
code: -1,
|
|
215
|
-
data: null,
|
|
216
|
-
message,
|
|
217
|
-
success: false,
|
|
218
|
-
fail: true,
|
|
219
|
-
result: null
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
};
|
|
223
|
-
var request_default = request;
|
|
224
|
-
|
|
225
|
-
// src/api/index.ts
|
|
226
|
-
var getEmailCodeApi = (email) => {
|
|
227
|
-
return request_default({
|
|
228
|
-
url: `/api/v1/email/code`,
|
|
229
|
-
method: "POST",
|
|
230
|
-
data: { email }
|
|
231
|
-
});
|
|
232
|
-
};
|
|
233
|
-
var verifyEmailCodeApi = ({ email, verification_key, verification_code }) => {
|
|
234
|
-
return request_default({
|
|
235
|
-
url: `/api/v1/user/email/login`,
|
|
236
|
-
method: "POST",
|
|
237
|
-
data: { email, verification_key, verification_code }
|
|
238
|
-
});
|
|
239
|
-
};
|
|
240
|
-
var getOverviewInfoApi = () => {
|
|
241
|
-
return retryRequest({
|
|
242
|
-
url: `/api/v1/user/overview`,
|
|
243
|
-
method: "GET"
|
|
244
|
-
});
|
|
245
|
-
};
|
|
246
|
-
var toLogoutApi = () => {
|
|
247
|
-
return retryRequest({
|
|
248
|
-
url: `/api/v1/user/logout`,
|
|
249
|
-
method: "POST"
|
|
250
|
-
});
|
|
251
|
-
};
|
|
252
|
-
var getBindListApi = () => {
|
|
253
|
-
return retryRequest({
|
|
254
|
-
url: `/api/v1/bind/list`,
|
|
255
|
-
method: "GET"
|
|
256
|
-
});
|
|
257
|
-
};
|
|
258
|
-
var getPohListApi = () => {
|
|
259
|
-
return retryRequest({
|
|
260
|
-
url: `/api/v1/poh/list`,
|
|
261
|
-
method: "GET"
|
|
262
|
-
});
|
|
263
|
-
};
|
|
264
|
-
var getBindInfoApi = () => {
|
|
265
|
-
return retryRequest({
|
|
266
|
-
url: `/api/v1/bind`,
|
|
267
|
-
method: "GET"
|
|
268
|
-
});
|
|
269
|
-
};
|
|
270
|
-
var bindCexApi = (data) => {
|
|
271
|
-
return request_default({
|
|
272
|
-
url: `/api/v1/cex/subscribe`,
|
|
273
|
-
method: "POST",
|
|
274
|
-
data
|
|
275
|
-
});
|
|
276
|
-
};
|
|
277
|
-
var unBindApi = ({ type }) => {
|
|
278
|
-
return request_default({
|
|
279
|
-
url: `/api/v1/unbind`,
|
|
280
|
-
method: "POST",
|
|
281
|
-
data: { type }
|
|
282
|
-
});
|
|
283
|
-
};
|
|
284
|
-
var unBindWalletApi = ({ address }) => {
|
|
285
|
-
return request_default({
|
|
286
|
-
url: `/api/v1/wallet/unbind`,
|
|
287
|
-
method: "POST",
|
|
288
|
-
data: { address }
|
|
289
|
-
});
|
|
290
|
-
};
|
|
291
|
-
var verifyPohApi = ({
|
|
292
|
-
taskId,
|
|
293
|
-
schemaId,
|
|
294
|
-
publicFields,
|
|
295
|
-
allocatorAddress,
|
|
296
|
-
publicFieldsHash,
|
|
297
|
-
allocatorSignature,
|
|
298
|
-
uHash,
|
|
299
|
-
validatorAddress,
|
|
300
|
-
validatorSignature
|
|
301
|
-
}) => {
|
|
302
|
-
return request_default({
|
|
303
|
-
url: `/api/v1/poh/zkpass`,
|
|
304
|
-
method: "POST",
|
|
305
|
-
data: {
|
|
306
|
-
taskId,
|
|
307
|
-
schemaId,
|
|
308
|
-
publicFields,
|
|
309
|
-
allocatorAddress,
|
|
310
|
-
publicFieldsHash,
|
|
311
|
-
allocatorSignature,
|
|
312
|
-
uHash,
|
|
313
|
-
validatorAddress,
|
|
314
|
-
validatorSignature
|
|
315
|
-
}
|
|
316
|
-
});
|
|
317
|
-
};
|
|
318
|
-
var chooseIdentityApi = ({ identity }) => {
|
|
319
|
-
return request_default({
|
|
320
|
-
url: `/api/v1/user/choose/identity`,
|
|
321
|
-
method: "POST",
|
|
322
|
-
data: { identity }
|
|
323
|
-
});
|
|
324
|
-
};
|
|
325
|
-
var mintPassportNftApi = () => {
|
|
326
|
-
return request_default({
|
|
327
|
-
url: `/api/v1/mint/passport/nft`,
|
|
328
|
-
method: "POST"
|
|
329
|
-
});
|
|
330
|
-
};
|
|
331
|
-
var getAuthInfoApi = () => {
|
|
332
|
-
return retryRequest({
|
|
333
|
-
url: `/api/v1/user/auth`,
|
|
334
|
-
method: "GET"
|
|
335
|
-
});
|
|
336
|
-
};
|
|
337
|
-
var getUserChainListApi = () => {
|
|
338
|
-
return request_default({
|
|
339
|
-
url: `/api/v1/user/chain/list`,
|
|
340
|
-
method: "GET"
|
|
341
|
-
});
|
|
342
|
-
};
|
|
343
|
-
var userImportTokenApi = (data) => {
|
|
344
|
-
return request_default({
|
|
345
|
-
url: `/api/v1/user/import/token`,
|
|
346
|
-
method: "POST",
|
|
347
|
-
data
|
|
348
|
-
});
|
|
349
|
-
};
|
|
350
|
-
var getUserImportTokenListApi = (data) => {
|
|
351
|
-
return request_default({
|
|
352
|
-
url: `/api/v1/user/import/token/list`,
|
|
353
|
-
method: "POST",
|
|
354
|
-
data
|
|
355
|
-
});
|
|
356
|
-
};
|
|
357
|
-
var getUserWalletAssetApi = (data) => {
|
|
358
|
-
return request_default({
|
|
359
|
-
url: `/api/v1/user/wallet/asset`,
|
|
360
|
-
method: "POST",
|
|
361
|
-
data
|
|
362
|
-
});
|
|
363
|
-
};
|
|
364
|
-
var getUserWalletTransactionsApi = (data) => {
|
|
365
|
-
return request_default({
|
|
366
|
-
url: `/api/v1/user/wallet/transactions`,
|
|
367
|
-
method: "POST",
|
|
368
|
-
data
|
|
369
|
-
});
|
|
370
|
-
};
|
|
371
|
-
var getWalletAssetListApi = (data) => {
|
|
372
|
-
return request_default({
|
|
373
|
-
url: `/api/v1/wallet/asset`,
|
|
374
|
-
method: "POST",
|
|
375
|
-
data
|
|
376
|
-
});
|
|
377
|
-
};
|
|
378
|
-
var getWalletListApi = (data) => {
|
|
379
|
-
return request_default({
|
|
380
|
-
url: `/api/v1/wallet/list`,
|
|
381
|
-
method: "POST",
|
|
382
|
-
data
|
|
383
|
-
});
|
|
384
|
-
};
|
|
385
|
-
var getWalletChainListApi = () => {
|
|
386
|
-
return request_default({
|
|
387
|
-
url: `/api/v1/wallet/chain`,
|
|
388
|
-
method: "POST"
|
|
389
|
-
});
|
|
390
|
-
};
|
|
391
|
-
var getWalletNftListApi = (data) => {
|
|
392
|
-
return request_default({
|
|
393
|
-
url: `/api/v1/wallet/nfts`,
|
|
394
|
-
method: "POST",
|
|
395
|
-
data
|
|
396
|
-
});
|
|
397
|
-
};
|
|
398
|
-
var tgAppLoginInitApi = () => {
|
|
399
|
-
return retryRequest({
|
|
400
|
-
url: `/api/v1/tgapp/login/init`,
|
|
401
|
-
method: "GET"
|
|
402
|
-
});
|
|
403
|
-
};
|
|
404
|
-
var userInviteApi = (data) => {
|
|
405
|
-
return request_default({
|
|
406
|
-
url: `/api/v1/user/invite`,
|
|
407
|
-
method: "POST",
|
|
408
|
-
data
|
|
409
|
-
});
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
// src/store/useLocalStore.ts
|
|
413
|
-
var persistedState = (0, import_middleware.persist)(
|
|
414
|
-
(set) => ({
|
|
415
|
-
appid: "",
|
|
416
|
-
token: "",
|
|
417
|
-
did: "",
|
|
418
|
-
mid: "",
|
|
419
|
-
overview: null,
|
|
420
|
-
theme: "light",
|
|
421
|
-
setOverview: (overview) => set({
|
|
422
|
-
overview,
|
|
423
|
-
address: overview.address,
|
|
424
|
-
did: overview.did,
|
|
425
|
-
mid: overview.mid
|
|
426
|
-
}),
|
|
427
|
-
refreshOverview: async () => {
|
|
428
|
-
const res = await getOverviewInfoApi();
|
|
429
|
-
if (res.data) {
|
|
430
|
-
set({ overview: res.data });
|
|
431
|
-
set({ address: res.data.address });
|
|
432
|
-
set({ did: res.data.did });
|
|
433
|
-
set({ mid: res.data.mid });
|
|
434
|
-
}
|
|
435
|
-
},
|
|
436
|
-
endpoints: {
|
|
437
|
-
back: "https://api.matchid.ai/",
|
|
438
|
-
auth: "https://auth.matchid.ai/"
|
|
439
|
-
},
|
|
440
|
-
setDid: (did) => set({ did }),
|
|
441
|
-
setToken: (token) => set({ token }),
|
|
442
|
-
setAppid: (appid) => set({ appid }),
|
|
443
|
-
setMid: (mid) => set({ mid }),
|
|
444
|
-
logout: () => set({ token: "", did: "", mid: "", address: "", overview: null, assets: [] }),
|
|
445
|
-
setTheme: (theme) => set({ theme }),
|
|
446
|
-
setEndpoints: (endpoints) => set({ endpoints }),
|
|
447
|
-
address: "",
|
|
448
|
-
setAddress: (address) => set({ address }),
|
|
449
|
-
locale: "en",
|
|
450
|
-
setLocale: (locale) => set({ locale }),
|
|
451
|
-
wallet: {
|
|
452
|
-
type: "UserPasscode"
|
|
453
|
-
},
|
|
454
|
-
setWallet: (wallet) => set({ wallet }),
|
|
455
|
-
chainId: 698,
|
|
456
|
-
setChainId: (chainId) => set({ chainId }),
|
|
457
|
-
assets: [],
|
|
458
|
-
setAssets: (assets) => set({ assets })
|
|
459
|
-
}),
|
|
460
|
-
{ name: "match-local" }
|
|
461
|
-
);
|
|
462
|
-
var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
|
|
463
|
-
var localStore = useLocalStore;
|
|
464
|
-
var useLocalStore_default = useLocalStore;
|
|
465
|
-
|
|
466
|
-
// src/hooks/useUserInfo.tsx
|
|
467
|
-
var import_react42 = require("react");
|
|
468
|
-
|
|
469
|
-
// src/MatchContext.tsx
|
|
470
|
-
var import_react41 = require("react");
|
|
471
|
-
|
|
472
|
-
// src/hooks/useMatchEvents.ts
|
|
473
|
-
var import_react = require("react");
|
|
474
|
-
|
|
475
|
-
// src/hooks/eventManager.ts
|
|
476
|
-
var EventManager = class {
|
|
477
|
-
constructor() {
|
|
478
|
-
this.listeners = {};
|
|
479
|
-
}
|
|
480
|
-
on(event, callback) {
|
|
481
|
-
if (!this.listeners[event]) {
|
|
482
|
-
this.listeners[event] = /* @__PURE__ */ new Set();
|
|
483
|
-
}
|
|
484
|
-
this.listeners[event].add(callback);
|
|
485
|
-
}
|
|
486
|
-
off(event, callback) {
|
|
487
|
-
if (this.listeners[event]) {
|
|
488
|
-
this.listeners[event].delete(callback);
|
|
489
|
-
if (this.listeners[event].size === 0) {
|
|
490
|
-
delete this.listeners[event];
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
emit(event, ...args) {
|
|
495
|
-
if (this.listeners[event]) {
|
|
496
|
-
this.listeners[event].forEach((callback) => callback(...args));
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
var eventManager = new EventManager();
|
|
501
|
-
var eventManager_default = eventManager;
|
|
502
|
-
|
|
503
|
-
// src/utils/index.tsx
|
|
504
|
-
var import_moment = __toESM(require("moment"));
|
|
505
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
506
|
-
var getVersion = () => {
|
|
507
|
-
return "0.0.2";
|
|
508
|
-
};
|
|
509
|
-
function encodeBase64(input) {
|
|
510
|
-
return btoa(unescape(encodeURIComponent(input)));
|
|
511
|
-
}
|
|
512
|
-
function getAppClientId() {
|
|
513
|
-
return "react-sdk-" + getVersion();
|
|
514
|
-
}
|
|
515
|
-
var isInTgApp = () => {
|
|
516
|
-
return !!window.TelegramWebviewProxy;
|
|
517
|
-
};
|
|
518
|
-
|
|
519
|
-
// src/hooks/useWallet.tsx
|
|
520
|
-
var import_viem5 = require("viem");
|
|
521
|
-
|
|
522
|
-
// src/store/useStore.ts
|
|
523
|
-
var import_zustand2 = require("zustand");
|
|
524
|
-
var useStore = (0, import_zustand2.create)((set) => ({
|
|
525
|
-
walletReady: false,
|
|
526
|
-
setWalletReady: (inited) => set({ walletReady: inited }),
|
|
527
|
-
tgAppAuthCode: "",
|
|
528
|
-
setTgAppAuthCode: (code) => set({ tgAppAuthCode: code }),
|
|
529
|
-
emailLoginKey: "",
|
|
530
|
-
setEmailLoginKey: (key) => set({ emailLoginKey: key })
|
|
531
|
-
}));
|
|
532
|
-
var useStore_default = useStore;
|
|
533
|
-
|
|
534
|
-
// src/hooks/useWallet.tsx
|
|
535
|
-
var import_accounts = require("viem/accounts");
|
|
536
|
-
var import_viem6 = require("viem");
|
|
537
|
-
var import_react30 = require("react");
|
|
538
|
-
var import_viem7 = require("viem");
|
|
539
|
-
|
|
540
|
-
// src/context/ModalContext.tsx
|
|
541
|
-
var import_react29 = require("react");
|
|
542
|
-
var import_react_dom = require("react-dom");
|
|
543
|
-
|
|
544
|
-
// src/assets/icon/BackIcon.tsx
|
|
545
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
546
|
-
|
|
547
|
-
// src/assets/icon/CloseIcon.tsx
|
|
548
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
549
|
-
|
|
550
|
-
// src/assets/icon/XIcon.tsx
|
|
551
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
552
|
-
|
|
553
|
-
// src/assets/icon/GoogleIcon.tsx
|
|
554
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
555
|
-
|
|
556
|
-
// src/assets/icon/WalletIcon.tsx
|
|
557
|
-
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
558
|
-
|
|
559
|
-
// src/assets/icon/TelegramIcon.tsx
|
|
560
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
561
|
-
|
|
562
|
-
// src/assets/icon/EmailIcon.tsx
|
|
563
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
564
|
-
|
|
565
|
-
// src/assets/icon/ArrowRightIcon.tsx
|
|
566
|
-
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
567
|
-
|
|
568
|
-
// src/assets/icon/CloseRoundIcon.tsx
|
|
569
|
-
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
570
|
-
|
|
571
|
-
// src/assets/icon/LoadingIcon.tsx
|
|
572
|
-
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
573
|
-
|
|
574
|
-
// src/assets/icon/EmailLineIcon.tsx
|
|
575
|
-
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
576
|
-
|
|
577
|
-
// src/assets/icon/UnLoginIcon.tsx
|
|
578
|
-
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
579
|
-
|
|
580
|
-
// src/assets/icon/LoginIcon.tsx
|
|
581
|
-
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
582
|
-
|
|
583
|
-
// src/assets/icon/CheckRoundIcon.tsx
|
|
584
|
-
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
585
|
-
|
|
586
|
-
// src/assets/icon/PasswordRoundIcon.tsx
|
|
587
|
-
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
588
|
-
|
|
589
|
-
// src/assets/icon/CloseEyeIcon.tsx
|
|
590
|
-
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
591
|
-
|
|
592
|
-
// src/assets/icon/OpenEyeIcon.tsx
|
|
593
|
-
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
594
|
-
|
|
595
|
-
// src/assets/icon/DeleteRoundIcon.tsx
|
|
596
|
-
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
597
|
-
|
|
598
|
-
// src/assets/icon/FacebookIcon.tsx
|
|
599
|
-
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
600
|
-
|
|
601
|
-
// src/assets/icon/ArrowLeftIcon.tsx
|
|
602
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
603
|
-
|
|
604
|
-
// src/assets/icon/GithubIcon.tsx
|
|
605
|
-
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
606
|
-
|
|
607
|
-
// src/assets/icon/DiscordIcon.tsx
|
|
608
|
-
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
609
|
-
|
|
610
|
-
// src/assets/icon/CheckIcon.tsx
|
|
611
|
-
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
612
|
-
|
|
613
|
-
// src/assets/icon/CopyIcon.tsx
|
|
614
|
-
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
615
|
-
|
|
616
|
-
// src/assets/icon/LinkedinIcon.tsx
|
|
617
|
-
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
618
|
-
|
|
619
|
-
// src/assets/icon/YoutubeIcon.tsx
|
|
620
|
-
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
621
|
-
|
|
622
|
-
// src/assets/icon/BTCDarkIcon.tsx
|
|
623
|
-
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
624
|
-
|
|
625
|
-
// src/assets/icon/BTCLightIcon.tsx
|
|
626
|
-
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
627
|
-
|
|
628
|
-
// src/assets/icon/EVMDarkIcon.tsx
|
|
629
|
-
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
630
|
-
|
|
631
|
-
// src/assets/icon/EVMLightIcon.tsx
|
|
632
|
-
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
633
|
-
|
|
634
|
-
// src/assets/icon/SOLDarkIcon.tsx
|
|
635
|
-
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
636
|
-
|
|
637
|
-
// src/assets/icon/SOLLightIcon.tsx
|
|
638
|
-
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
639
|
-
|
|
640
|
-
// src/assets/icon/TRXDarkIcon.tsx
|
|
641
|
-
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
642
|
-
|
|
643
|
-
// src/assets/icon/TRXLightIcon.tsx
|
|
644
|
-
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
645
|
-
|
|
646
|
-
// src/assets/icon/ArrowDownIcon.tsx
|
|
647
|
-
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
648
|
-
|
|
649
|
-
// src/assets/icon/LeatherIcon.tsx
|
|
650
|
-
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
651
|
-
|
|
652
|
-
// src/assets/icon/UnisatIcon.tsx
|
|
653
|
-
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
654
|
-
|
|
655
|
-
// src/assets/icon/XverseIcon.tsx
|
|
656
|
-
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
657
|
-
|
|
658
|
-
// src/assets/icon/TronLinkIcon.tsx
|
|
659
|
-
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
660
|
-
|
|
661
|
-
// src/assets/icon/OKXIcon.tsx
|
|
662
|
-
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
663
|
-
|
|
664
|
-
// src/assets/icon/BitgetIcon.tsx
|
|
665
|
-
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
666
|
-
|
|
667
|
-
// src/assets/icon/TonDarkIcon.tsx
|
|
668
|
-
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
669
|
-
|
|
670
|
-
// src/assets/icon/TonLightIcon.tsx
|
|
671
|
-
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
672
|
-
|
|
673
|
-
// src/assets/icon/ErrorRoundIcon.tsx
|
|
674
|
-
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
675
|
-
|
|
676
|
-
// src/assets/icon/InfoLineIcon.tsx
|
|
677
|
-
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
678
|
-
|
|
679
|
-
// src/assets/icon/InfoRoundIcon.tsx
|
|
680
|
-
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
681
|
-
|
|
682
|
-
// src/assets/icon/TransferIcon.tsx
|
|
683
|
-
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
684
|
-
|
|
685
|
-
// src/assets/icon/ArrowSendIcon.tsx
|
|
686
|
-
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
687
|
-
|
|
688
|
-
// src/assets/icon/PhantomIcon.tsx
|
|
689
|
-
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
690
|
-
|
|
691
|
-
// src/assets/icon/MoreIcon.tsx
|
|
692
|
-
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
693
|
-
|
|
694
|
-
// src/assets/icon/CheckboxIcon.tsx
|
|
695
|
-
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
696
|
-
|
|
697
|
-
// src/assets/icon/CheckboxCheckedIcon.tsx
|
|
698
|
-
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
699
|
-
|
|
700
|
-
// src/assets/icon/InputLengthIcon.tsx
|
|
701
|
-
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
702
|
-
|
|
703
|
-
// src/ui/Button/index.tsx
|
|
704
|
-
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
705
|
-
|
|
706
|
-
// src/ui/Overlay/index.tsx
|
|
707
|
-
var import_react2 = require("react");
|
|
708
|
-
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
709
|
-
|
|
710
|
-
// src/ui/Drawer/index.tsx
|
|
711
|
-
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
712
|
-
|
|
713
|
-
// src/ui/Field/index.tsx
|
|
714
|
-
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
715
|
-
|
|
716
|
-
// src/ui/HashPanel/index.tsx
|
|
717
|
-
var import_react27 = require("react");
|
|
718
|
-
|
|
719
|
-
// src/hooks/useLayout.tsx
|
|
720
|
-
var import_react3 = require("react");
|
|
721
|
-
function useDownMd() {
|
|
722
|
-
const [isBelowMd, setIsBelowMd] = (0, import_react3.useState)(window.matchMedia("(max-width: 767px)").matches);
|
|
723
|
-
(0, import_react3.useEffect)(() => {
|
|
724
|
-
const handleResize = () => {
|
|
725
|
-
setIsBelowMd(window.matchMedia("(max-width: 767px)").matches);
|
|
726
|
-
};
|
|
727
|
-
window.addEventListener("resize", handleResize);
|
|
728
|
-
return () => {
|
|
729
|
-
window.removeEventListener("resize", handleResize);
|
|
730
|
-
};
|
|
731
|
-
}, []);
|
|
732
|
-
return isBelowMd;
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
// src/ui/Modal/index.tsx
|
|
736
|
-
var import_react26 = require("react");
|
|
737
|
-
|
|
738
|
-
// src/components/EmailModal/index.tsx
|
|
739
|
-
var import_react7 = require("react");
|
|
740
|
-
|
|
741
|
-
// src/components/EmailModal/StepEmail.tsx
|
|
742
|
-
var import_react5 = require("react");
|
|
743
|
-
|
|
744
|
-
// src/ui/Input/index.tsx
|
|
745
|
-
var import_react4 = require("react");
|
|
746
|
-
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
747
|
-
|
|
748
|
-
// src/components/EmailModal/StepEmail.tsx
|
|
749
|
-
var import_react_intl = require("react-intl");
|
|
750
|
-
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
751
|
-
|
|
752
|
-
// src/components/EmailModal/StepVerify.tsx
|
|
753
|
-
var import_react6 = require("react");
|
|
754
|
-
var import_react_intl2 = require("react-intl");
|
|
755
|
-
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
756
|
-
|
|
757
|
-
// src/components/EmailModal/index.tsx
|
|
758
|
-
var import_react_intl3 = require("react-intl");
|
|
759
|
-
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
760
|
-
|
|
761
|
-
// src/ui/Popover/index.tsx
|
|
762
|
-
var import_react8 = require("react");
|
|
763
|
-
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
764
|
-
|
|
765
|
-
// src/components/LoginBox/index.tsx
|
|
766
|
-
var import_react9 = require("react");
|
|
767
|
-
var import_react_intl4 = require("react-intl");
|
|
768
|
-
|
|
769
|
-
// src/hooks/useConfig.tsx
|
|
770
|
-
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
771
|
-
var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
|
|
772
|
-
|
|
773
|
-
// src/hooks/useAppConfig.ts
|
|
774
|
-
var import_react_query = require("@tanstack/react-query");
|
|
775
|
-
|
|
776
|
-
// src/components/LoginBox/index.tsx
|
|
777
|
-
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
778
|
-
|
|
779
|
-
// src/components/LoginButton/index.tsx
|
|
780
|
-
var import_react11 = require("react");
|
|
781
|
-
|
|
782
|
-
// src/components/LoginPanel/index.tsx
|
|
783
|
-
var import_react_intl5 = require("react-intl");
|
|
784
|
-
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
785
|
-
|
|
786
|
-
// src/components/LoginModal/index.tsx
|
|
787
|
-
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
788
|
-
|
|
789
|
-
// src/components/UserPopover/index.tsx
|
|
790
|
-
var import_react10 = require("react");
|
|
791
|
-
|
|
792
|
-
// src/assets/icon/ProfileIcon.tsx
|
|
793
|
-
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
794
|
-
|
|
795
|
-
// src/components/UserPopover/index.tsx
|
|
796
|
-
var import_react_intl6 = require("react-intl");
|
|
797
|
-
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
798
|
-
|
|
799
|
-
// src/components/LoginButton/index.tsx
|
|
800
|
-
var import_react_intl7 = require("react-intl");
|
|
801
|
-
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
802
|
-
|
|
803
|
-
// src/components/UsernameModal/index.tsx
|
|
804
|
-
var import_react12 = require("react");
|
|
805
|
-
var import_react_intl8 = require("react-intl");
|
|
806
|
-
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
807
|
-
|
|
808
|
-
// src/components/EVMModal/index.tsx
|
|
809
|
-
var import_react15 = require("react");
|
|
810
|
-
var import_react_intl9 = require("react-intl");
|
|
811
|
-
|
|
812
|
-
// src/components/WalletModalContent/index.tsx
|
|
813
|
-
var import_react13 = require("react");
|
|
814
|
-
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
815
|
-
|
|
816
|
-
// src/components/EVMModal/index.tsx
|
|
817
|
-
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
818
|
-
var import_wagmi2 = require("wagmi");
|
|
819
|
-
|
|
820
|
-
// src/hooks/useWalletBox.ts
|
|
821
|
-
var import_react14 = require("react");
|
|
822
|
-
|
|
823
|
-
// src/hooks/useEthersSigner.ts
|
|
824
|
-
var React4 = __toESM(require("react"));
|
|
825
|
-
var import_wagmi = require("wagmi");
|
|
826
|
-
var import_ethers = require("ethers");
|
|
827
|
-
|
|
828
|
-
// src/components/EVMModal/index.tsx
|
|
829
|
-
var import_siwe = require("siwe");
|
|
830
|
-
var import_styles = require("@rainbow-me/rainbowkit/styles.css");
|
|
831
|
-
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
832
|
-
|
|
833
|
-
// src/components/TRONModal/index.tsx
|
|
834
|
-
var import_react17 = __toESM(require("react"));
|
|
835
|
-
var import_react_intl10 = require("react-intl");
|
|
836
|
-
|
|
837
|
-
// src/hooks/useTRONWallet.ts
|
|
838
|
-
var import_react16 = require("react");
|
|
839
|
-
|
|
840
|
-
// src/components/TRONModal/index.tsx
|
|
841
|
-
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
842
|
-
|
|
843
|
-
// src/components/TONModal/index.tsx
|
|
844
|
-
var import_react18 = __toESM(require("react"));
|
|
845
|
-
var import_react_intl11 = require("react-intl");
|
|
846
|
-
var import_ui_react = require("@tonconnect/ui-react");
|
|
847
|
-
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
848
|
-
|
|
849
|
-
// src/components/BTCModal/index.tsx
|
|
850
|
-
var import_react20 = __toESM(require("react"));
|
|
851
|
-
var import_react_intl12 = require("react-intl");
|
|
852
|
-
|
|
853
|
-
// src/lib/btc/XverseAdapter.ts
|
|
854
|
-
var import_sats_connect = require("sats-connect");
|
|
855
|
-
|
|
856
|
-
// src/hooks/useBTCWallet.ts
|
|
857
|
-
var import_react19 = require("react");
|
|
858
|
-
|
|
859
|
-
// src/components/BTCModal/index.tsx
|
|
860
|
-
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
861
|
-
|
|
862
|
-
// src/components/WalletModal/index.tsx
|
|
863
|
-
var import_react21 = require("react");
|
|
864
|
-
var import_react_intl13 = require("react-intl");
|
|
865
|
-
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
866
|
-
|
|
867
|
-
// src/components/AlphaAvatar/index.tsx
|
|
868
|
-
var import_react22 = require("react");
|
|
869
|
-
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
870
|
-
|
|
871
|
-
// src/components/WalletAsset/index.tsx
|
|
872
|
-
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
873
|
-
|
|
874
|
-
// src/components/TokenSend/index.tsx
|
|
875
|
-
var import_react23 = require("react");
|
|
876
|
-
var import_viem = require("viem");
|
|
877
|
-
var import_react_intl14 = require("react-intl");
|
|
878
|
-
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
879
|
-
|
|
880
|
-
// src/components/TokenDetail/index.tsx
|
|
881
|
-
var import_react_intl15 = require("react-intl");
|
|
882
|
-
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
883
|
-
|
|
884
|
-
// src/components/TokenSendList/index.tsx
|
|
885
|
-
var import_react24 = require("react");
|
|
886
|
-
var import_react_intl16 = require("react-intl");
|
|
887
|
-
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
888
|
-
|
|
889
|
-
// src/components/TransactionList/index.tsx
|
|
890
|
-
var import_react_infinite_scroll_component = __toESM(require("react-infinite-scroll-component"));
|
|
891
|
-
var import_react25 = require("react");
|
|
892
|
-
var import_viem3 = require("viem");
|
|
893
|
-
var import_viem4 = require("viem");
|
|
894
|
-
|
|
895
|
-
// src/store/useContractStore.ts
|
|
896
|
-
var import_zustand3 = require("zustand");
|
|
897
|
-
var import_middleware2 = require("zustand/middleware");
|
|
898
|
-
var persistedState2 = (0, import_middleware2.persist)(
|
|
899
|
-
(set, get) => ({
|
|
900
|
-
contracts: {},
|
|
901
|
-
getContract: (chainId, contractAddress) => {
|
|
902
|
-
const key = `${chainId}-${contractAddress.toLowerCase()}`;
|
|
903
|
-
return get().contracts[key];
|
|
904
|
-
},
|
|
905
|
-
setContractName: (chainId, contractAddress, name) => {
|
|
906
|
-
const key = `${chainId}-${contractAddress.toLowerCase()}`;
|
|
907
|
-
set((state) => {
|
|
908
|
-
const updatedContracts = {
|
|
909
|
-
...state.contracts,
|
|
910
|
-
[key]: { ...state.contracts[key], name }
|
|
911
|
-
};
|
|
912
|
-
return { contracts: updatedContracts };
|
|
913
|
-
});
|
|
914
|
-
},
|
|
915
|
-
setContractSymbol: (chainId, contractAddress, symbol) => {
|
|
916
|
-
const key = `${chainId}-${contractAddress.toLowerCase()}`;
|
|
917
|
-
set((state) => {
|
|
918
|
-
const updatedContracts = {
|
|
919
|
-
...state.contracts,
|
|
920
|
-
[key]: { ...state.contracts[key], symbol }
|
|
921
|
-
};
|
|
922
|
-
return { contracts: updatedContracts };
|
|
923
|
-
});
|
|
924
|
-
},
|
|
925
|
-
setContractDecimals: (chainId, contractAddress, decimals) => {
|
|
926
|
-
const key = `${chainId}-${contractAddress.toLowerCase()}`;
|
|
927
|
-
set((state) => {
|
|
928
|
-
const updatedContracts = {
|
|
929
|
-
...state.contracts,
|
|
930
|
-
[key]: { ...state.contracts[key], decimals }
|
|
931
|
-
};
|
|
932
|
-
return { contracts: updatedContracts };
|
|
933
|
-
});
|
|
934
|
-
},
|
|
935
|
-
setContracts: (data) => {
|
|
936
|
-
set((state) => {
|
|
937
|
-
const newContracts = { ...state.contracts };
|
|
938
|
-
data.forEach(({ chainId, contractAddress, info }) => {
|
|
939
|
-
const key = `${chainId}-${contractAddress.toLowerCase()}`;
|
|
940
|
-
newContracts[key] = { ...newContracts[key], ...info };
|
|
941
|
-
});
|
|
942
|
-
return { contracts: newContracts };
|
|
943
|
-
});
|
|
944
|
-
}
|
|
945
|
-
}),
|
|
946
|
-
{ name: "match-contract-local" }
|
|
947
|
-
);
|
|
948
|
-
var useContractStore = (0, import_zustand3.create)((0, import_middleware2.devtools)(persistedState2));
|
|
949
|
-
|
|
950
|
-
// src/hooks/useHash.ts
|
|
951
|
-
var import_react_query2 = require("@tanstack/react-query");
|
|
952
|
-
var import_viem2 = require("viem");
|
|
953
|
-
|
|
954
|
-
// src/components/TransactionList/index.tsx
|
|
955
|
-
var import_react_intl17 = require("react-intl");
|
|
956
|
-
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
957
|
-
|
|
958
|
-
// src/ui/Modal/index.tsx
|
|
959
|
-
var import_react_intl18 = require("react-intl");
|
|
960
|
-
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
961
|
-
|
|
962
|
-
// src/ui/ModalDrawer/index.tsx
|
|
963
|
-
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
964
|
-
|
|
965
|
-
// src/ui/HashPanel/index.tsx
|
|
966
|
-
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
967
|
-
|
|
968
|
-
// src/ui/Switch/index.tsx
|
|
969
|
-
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
970
|
-
|
|
971
|
-
// src/ui/AlphaAvatar/index.tsx
|
|
972
|
-
var import_react28 = require("react");
|
|
973
|
-
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
974
|
-
|
|
975
|
-
// src/ui/Radio/index.tsx
|
|
976
|
-
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
977
|
-
|
|
978
|
-
// src/ui/Skeleton/index.tsx
|
|
979
|
-
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
980
|
-
|
|
981
|
-
// src/ui/Tabs/index.tsx
|
|
982
|
-
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
983
|
-
|
|
984
|
-
// src/ui/Lottie/index.tsx
|
|
985
|
-
var import_lottie_react = require("lottie-react");
|
|
986
|
-
|
|
987
|
-
// src/ui/Checkbox/index.tsx
|
|
988
|
-
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
989
|
-
|
|
990
|
-
// src/context/ModalContext.tsx
|
|
991
|
-
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
992
|
-
var ModalContext = (0, import_react29.createContext)(null);
|
|
993
|
-
|
|
994
|
-
// src/store/useTransactionStore.ts
|
|
995
|
-
var import_zustand4 = require("zustand");
|
|
996
|
-
var import_middleware3 = require("zustand/middleware");
|
|
997
|
-
var persistedState3 = (0, import_middleware3.persist)(
|
|
998
|
-
(set, get) => ({
|
|
999
|
-
transactions: {},
|
|
1000
|
-
addTransaction: (data) => {
|
|
1001
|
-
set((state) => {
|
|
1002
|
-
const updatedTransactions = {
|
|
1003
|
-
...state.transactions,
|
|
1004
|
-
[`${data.chainId}-${data.address}`]: [data.info, ...state.transactions[`${data.chainId}-${data.address}`] || []]
|
|
1005
|
-
};
|
|
1006
|
-
return { transactions: updatedTransactions };
|
|
1007
|
-
});
|
|
1008
|
-
},
|
|
1009
|
-
removeTransaction: (data) => {
|
|
1010
|
-
set((state) => {
|
|
1011
|
-
const updatedTransactions = {
|
|
1012
|
-
...state.transactions,
|
|
1013
|
-
[`${data.chainId}-${data.address}`]: (state.transactions[`${data.chainId}-${data.address}`] || []).filter((tx) => tx.hash !== data.hash)
|
|
1014
|
-
};
|
|
1015
|
-
return { transactions: updatedTransactions };
|
|
1016
|
-
});
|
|
1017
|
-
}
|
|
1018
|
-
}),
|
|
1019
|
-
{ name: "match-transactions-local" }
|
|
1020
|
-
);
|
|
1021
|
-
var useTransactionStore = (0, import_zustand4.create)((0, import_middleware3.devtools)(persistedState3));
|
|
1022
|
-
|
|
1023
|
-
// src/hooks/useWallet.tsx
|
|
1024
|
-
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
1025
|
-
var AppClientId = "react-sdk-" + getVersion();
|
|
1026
|
-
|
|
1027
|
-
// src/hooks/useCopyClipboard.ts
|
|
1028
|
-
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
1029
|
-
var import_react31 = require("react");
|
|
1030
|
-
|
|
1031
|
-
// src/context/ToastContext.tsx
|
|
1032
|
-
var import_react32 = require("react");
|
|
1033
|
-
var import_react_dom2 = require("react-dom");
|
|
1034
|
-
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
1035
|
-
var ToastContext = (0, import_react32.createContext)(null);
|
|
1036
|
-
|
|
1037
|
-
// src/hooks/api/wallet.ts
|
|
1038
|
-
var wallet_exports = {};
|
|
1039
|
-
__export(wallet_exports, {
|
|
1040
|
-
USER_IMPORT_TOKEN_LIST_KEY: () => USER_IMPORT_TOKEN_LIST_KEY,
|
|
1041
|
-
getUserWalletTransactionsApi: () => getUserWalletTransactionsApi,
|
|
1042
|
-
getWalletAssetListApi: () => getWalletAssetListApi,
|
|
1043
|
-
getWalletListApi: () => getWalletListApi,
|
|
1044
|
-
useAssetListQuery: () => useAssetListQuery,
|
|
1045
|
-
useChainListQuery: () => useChainListQuery,
|
|
1046
|
-
useImportTokenListQuery: () => useImportTokenListQuery,
|
|
1047
|
-
useWalletAssetListQuery: () => useWalletAssetListQuery,
|
|
1048
|
-
useWalletChainListQuery: () => useWalletChainListQuery,
|
|
1049
|
-
useWalletNftListQuery: () => useWalletNftListQuery,
|
|
1050
|
-
userImportTokenApi: () => userImportTokenApi
|
|
1051
|
-
});
|
|
1052
|
-
var import_react_query3 = require("@tanstack/react-query");
|
|
1053
|
-
function useChainListQuery(options) {
|
|
1054
|
-
const { isLogin, token } = useUserInfo();
|
|
1055
|
-
return (0, import_react_query3.useQuery)({
|
|
1056
|
-
queryKey: ["match-user-chain-list", token],
|
|
1057
|
-
queryFn: async () => {
|
|
1058
|
-
const res = await getUserChainListApi();
|
|
1059
|
-
if (!isSuccess(res)) {
|
|
1060
|
-
return [];
|
|
1061
|
-
}
|
|
1062
|
-
return res.data;
|
|
1063
|
-
},
|
|
1064
|
-
enabled: isLogin,
|
|
1065
|
-
...options
|
|
1066
|
-
});
|
|
1067
|
-
}
|
|
1068
|
-
function useAssetListQuery({
|
|
1069
|
-
chainId,
|
|
1070
|
-
...options
|
|
1071
|
-
}) {
|
|
1072
|
-
const { isLogin, token } = useUserInfo();
|
|
1073
|
-
return (0, import_react_query3.useQuery)({
|
|
1074
|
-
queryKey: ["match-user-asset-list", token, chainId],
|
|
1075
|
-
queryFn: async () => {
|
|
1076
|
-
const res = await getUserWalletAssetApi({ chain_id: chainId.toString() });
|
|
1077
|
-
if (!isSuccess(res)) {
|
|
1078
|
-
return [];
|
|
1079
|
-
}
|
|
1080
|
-
return res.data || [];
|
|
1081
|
-
},
|
|
1082
|
-
enabled: isLogin,
|
|
1083
|
-
...options
|
|
1084
|
-
});
|
|
1085
|
-
}
|
|
1086
|
-
var USER_IMPORT_TOKEN_LIST_KEY = "match-user-import-token-list";
|
|
1087
|
-
function useImportTokenListQuery({
|
|
1088
|
-
chainId,
|
|
1089
|
-
...options
|
|
1090
|
-
}) {
|
|
1091
|
-
const { isLogin, token } = useUserInfo();
|
|
1092
|
-
return (0, import_react_query3.useQuery)({
|
|
1093
|
-
queryKey: [USER_IMPORT_TOKEN_LIST_KEY, token, chainId],
|
|
1094
|
-
queryFn: async () => {
|
|
1095
|
-
const res = await getUserImportTokenListApi({ chain_id: chainId.toString() });
|
|
1096
|
-
if (!isSuccess(res)) {
|
|
1097
|
-
return [];
|
|
1098
|
-
}
|
|
1099
|
-
return res.data || [];
|
|
1100
|
-
},
|
|
1101
|
-
enabled: isLogin,
|
|
1102
|
-
...options
|
|
1103
|
-
});
|
|
1104
|
-
}
|
|
1105
|
-
function useWalletChainListQuery(options) {
|
|
1106
|
-
const { isLogin, token } = useUserInfo();
|
|
1107
|
-
return (0, import_react_query3.useQuery)({
|
|
1108
|
-
queryKey: ["match-wallet-chain-list", token],
|
|
1109
|
-
queryFn: async () => {
|
|
1110
|
-
const res = await getWalletChainListApi();
|
|
1111
|
-
if (!isSuccess(res)) {
|
|
1112
|
-
return [];
|
|
1113
|
-
}
|
|
1114
|
-
return res.data;
|
|
1115
|
-
},
|
|
1116
|
-
enabled: isLogin,
|
|
1117
|
-
...options
|
|
1118
|
-
});
|
|
1119
|
-
}
|
|
1120
|
-
function useWalletNftListQuery({
|
|
1121
|
-
chainId,
|
|
1122
|
-
address,
|
|
1123
|
-
...options
|
|
1124
|
-
}) {
|
|
1125
|
-
const { isLogin, token } = useUserInfo();
|
|
1126
|
-
return (0, import_react_query3.useQuery)({
|
|
1127
|
-
queryKey: ["match-wallet-nft-list", token, chainId, address],
|
|
1128
|
-
queryFn: async () => {
|
|
1129
|
-
const res = await getWalletNftListApi({
|
|
1130
|
-
chain_id: chainId.toString(),
|
|
1131
|
-
address
|
|
1132
|
-
});
|
|
1133
|
-
if (!isSuccess(res)) {
|
|
1134
|
-
return [];
|
|
1135
|
-
}
|
|
1136
|
-
return res.data;
|
|
1137
|
-
},
|
|
1138
|
-
enabled: isLogin,
|
|
1139
|
-
...options
|
|
1140
|
-
});
|
|
1141
|
-
}
|
|
1142
|
-
function useWalletAssetListQuery({
|
|
1143
|
-
chainId,
|
|
1144
|
-
address,
|
|
1145
|
-
...options
|
|
1146
|
-
}) {
|
|
1147
|
-
const { isLogin, token } = useUserInfo();
|
|
1148
|
-
return (0, import_react_query3.useQuery)({
|
|
1149
|
-
queryKey: ["match-wallet-asset-list", token, chainId, address],
|
|
1150
|
-
queryFn: async () => {
|
|
1151
|
-
const res = await getWalletAssetListApi({
|
|
1152
|
-
chain_id: chainId,
|
|
1153
|
-
address
|
|
1154
|
-
});
|
|
1155
|
-
if (!isSuccess(res)) {
|
|
1156
|
-
return null;
|
|
1157
|
-
}
|
|
1158
|
-
return res.data;
|
|
1159
|
-
},
|
|
1160
|
-
enabled: isLogin,
|
|
1161
|
-
...options
|
|
1162
|
-
});
|
|
1163
|
-
}
|
|
1164
|
-
|
|
1165
|
-
// src/hooks/useMatchChain.tsx
|
|
1166
|
-
var import_react33 = require("react");
|
|
1167
|
-
var import_viem8 = require("viem");
|
|
1168
|
-
var import_react_intl19 = require("react-intl");
|
|
1169
|
-
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
1170
|
-
|
|
1171
|
-
// src/hooks/useMatchWallet.tsx
|
|
1172
|
-
var import_react_qrcode = require("react-qrcode");
|
|
1173
|
-
var import_react35 = require("react");
|
|
1174
|
-
var import_react_query6 = require("@tanstack/react-query");
|
|
1175
|
-
var import_viem11 = require("viem");
|
|
1176
|
-
var import_react_intl21 = require("react-intl");
|
|
1177
|
-
|
|
1178
|
-
// src/components/ImportToken/index.tsx
|
|
1179
|
-
var import_react34 = require("react");
|
|
1180
|
-
var import_react_intl20 = require("react-intl");
|
|
1181
|
-
var import_react_query5 = require("@tanstack/react-query");
|
|
1182
|
-
var import_viem10 = require("viem");
|
|
1183
|
-
|
|
1184
|
-
// src/hooks/useIsContract.ts
|
|
1185
|
-
var import_viem9 = require("viem");
|
|
1186
|
-
var import_react_query4 = require("@tanstack/react-query");
|
|
1187
|
-
|
|
1188
|
-
// src/components/ImportToken/index.tsx
|
|
1189
|
-
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
1190
|
-
|
|
1191
|
-
// src/hooks/useMatchWallet.tsx
|
|
1192
|
-
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
1193
|
-
|
|
1194
|
-
// src/hooks/useReceipt.tsx
|
|
1195
|
-
var import_react36 = require("react");
|
|
1196
|
-
var import_react_query7 = require("@tanstack/react-query");
|
|
1197
|
-
var import_viem12 = require("viem");
|
|
1198
|
-
var CACHE_TTL = 86400 * 30 * 1e3;
|
|
1199
|
-
|
|
1200
|
-
// src/hooks/useTransaction.tsx
|
|
1201
|
-
var import_react37 = require("react");
|
|
1202
|
-
var import_react_query8 = require("@tanstack/react-query");
|
|
1203
|
-
var import_viem13 = require("viem");
|
|
1204
|
-
var CACHE_TTL2 = 86400 * 30 * 1e3;
|
|
1205
|
-
|
|
1206
|
-
// src/store/useModalStore.ts
|
|
1207
|
-
var import_zustand5 = require("zustand");
|
|
1208
|
-
var useTRONModalStore = (0, import_zustand5.create)((set) => ({
|
|
1209
|
-
isOpen: false,
|
|
1210
|
-
type: "",
|
|
1211
|
-
open: (type) => set({ isOpen: true, type }),
|
|
1212
|
-
close: () => set({ isOpen: false })
|
|
1213
|
-
}));
|
|
1214
|
-
var useTONModalStore = (0, import_zustand5.create)((set) => ({
|
|
1215
|
-
isOpen: false,
|
|
1216
|
-
type: "",
|
|
1217
|
-
open: (type) => set({ isOpen: true, type }),
|
|
1218
|
-
close: () => set({ isOpen: false })
|
|
1219
|
-
}));
|
|
1220
|
-
var useBTCModalStore = (0, import_zustand5.create)((set) => ({
|
|
1221
|
-
isOpen: false,
|
|
1222
|
-
type: "",
|
|
1223
|
-
open: (type) => set({ isOpen: true, type }),
|
|
1224
|
-
close: () => set({ isOpen: false })
|
|
1225
|
-
}));
|
|
1226
|
-
var useEVMModalStore = (0, import_zustand5.create)((set) => ({
|
|
1227
|
-
isOpen: false,
|
|
1228
|
-
type: "",
|
|
1229
|
-
open: (type) => set({ isOpen: true, type }),
|
|
1230
|
-
close: () => set({ isOpen: false })
|
|
1231
|
-
}));
|
|
1232
|
-
var useCEXBindModalStore = (0, import_zustand5.create)((set) => ({
|
|
1233
|
-
type: "",
|
|
1234
|
-
isOpen: false,
|
|
1235
|
-
open: (type) => set({ isOpen: true, type }),
|
|
1236
|
-
close: () => set({ isOpen: false })
|
|
1237
|
-
}));
|
|
1238
|
-
var useWalletModalStore = (0, import_zustand5.create)((set) => ({
|
|
1239
|
-
isOpen: false,
|
|
1240
|
-
type: "",
|
|
1241
|
-
methods: [],
|
|
1242
|
-
open: (type, methods = DEFAULT_WALLET_METHODS) => set({ isOpen: true, type, methods }),
|
|
1243
|
-
close: () => set({ isOpen: false })
|
|
1244
|
-
}));
|
|
1245
|
-
|
|
1246
|
-
// src/components/CEXBindModal/index.tsx
|
|
1247
|
-
var import_react38 = require("react");
|
|
1248
|
-
var import_react_intl22 = require("react-intl");
|
|
1249
|
-
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
1250
|
-
|
|
1251
|
-
// src/context/BusinessProvider.tsx
|
|
1252
|
-
var import_react_query9 = require("@tanstack/react-query");
|
|
1253
|
-
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
1254
|
-
|
|
1255
|
-
// src/context/index.tsx
|
|
1256
|
-
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
1257
|
-
|
|
1258
|
-
// src/hooks/useWalletInit.ts
|
|
1259
|
-
var import_react39 = require("react");
|
|
1260
|
-
var AppClientId2 = getAppClientId();
|
|
1261
|
-
|
|
1262
|
-
// src/hooks/useInit.tsx
|
|
1263
|
-
var import_react40 = require("react");
|
|
1264
|
-
|
|
1265
|
-
// src/MatchContext.tsx
|
|
1266
|
-
var import_react_query10 = require("@tanstack/react-query");
|
|
1267
|
-
var import_react_intl23 = require("react-intl");
|
|
1268
|
-
var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
1269
|
-
var import_wallets = require("@rainbow-me/rainbowkit/wallets");
|
|
1270
|
-
var import_chains = require("wagmi/chains");
|
|
1271
|
-
|
|
1272
|
-
// src/config/chains/MatchMain.ts
|
|
1273
|
-
var import_viem14 = require("viem");
|
|
1274
|
-
var matchMain = /* @__PURE__ */ (0, import_viem14.defineChain)({
|
|
1275
|
-
//定义match链
|
|
1276
|
-
id: 698,
|
|
1277
|
-
name: "Matchain",
|
|
1278
|
-
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
1279
|
-
rpcUrls: {
|
|
1280
|
-
default: {
|
|
1281
|
-
http: ["https://rpc.matchain.io"]
|
|
1282
|
-
}
|
|
1283
|
-
},
|
|
1284
|
-
blockExplorers: {
|
|
1285
|
-
default: {
|
|
1286
|
-
name: "Matchscan",
|
|
1287
|
-
url: "https://matchscan.io/",
|
|
1288
|
-
apiUrl: "https://matchscan.io/api"
|
|
1289
|
-
}
|
|
1290
|
-
},
|
|
1291
|
-
iconUrl: "https://matchscan.io/static/identicon_logos/blockies.png",
|
|
1292
|
-
contracts: {
|
|
1293
|
-
multicall3: {
|
|
1294
|
-
address: "0xca11bde05977b3631167028862be2a173976ca11"
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
// testnet: true,
|
|
1298
|
-
});
|
|
1299
|
-
|
|
1300
|
-
// src/config/chains/MatchTest.ts
|
|
1301
|
-
var import_viem15 = require("viem");
|
|
1302
|
-
var matchTest = /* @__PURE__ */ (0, import_viem15.defineChain)({
|
|
1303
|
-
//定义matchTest链
|
|
1304
|
-
id: 699,
|
|
1305
|
-
name: "MatchTest",
|
|
1306
|
-
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
1307
|
-
rpcUrls: {
|
|
1308
|
-
default: {
|
|
1309
|
-
http: ["https://testnet-rpc.matchain.io"]
|
|
1310
|
-
}
|
|
1311
|
-
},
|
|
1312
|
-
blockExplorers: {
|
|
1313
|
-
default: {
|
|
1314
|
-
name: "Matchscan",
|
|
1315
|
-
url: "https://testnet.matchscan.io/",
|
|
1316
|
-
apiUrl: "https://testnet.matchscan.io/api"
|
|
1317
|
-
}
|
|
1318
|
-
},
|
|
1319
|
-
iconUrl: "https://testnet.matchscan.io/static/identicon_logos/blockies.png",
|
|
1320
|
-
contracts: {
|
|
1321
|
-
multicall3: {
|
|
1322
|
-
address: "0xca11bde05977b3631167028862be2a173976ca11",
|
|
1323
|
-
blockCreated: 751532
|
|
1324
|
-
},
|
|
1325
|
-
ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" },
|
|
1326
|
-
ensUniversalResolver: {
|
|
1327
|
-
address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",
|
|
1328
|
-
blockCreated: 5317080
|
|
1329
|
-
}
|
|
1330
|
-
}
|
|
1331
|
-
// testnet: true,
|
|
1332
|
-
});
|
|
1333
|
-
|
|
1334
|
-
// src/MatchContext.tsx
|
|
1335
|
-
var import_wagmi3 = require("wagmi");
|
|
1336
|
-
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
1337
|
-
var queryClient = new import_react_query10.QueryClient();
|
|
1338
|
-
var wagmiConfig = (0, import_rainbowkit2.getDefaultConfig)({
|
|
1339
|
-
appName: "MatchID",
|
|
1340
|
-
projectId: "9ac6ea7e07860f04616fb311b447dee9",
|
|
1341
|
-
wallets: [
|
|
1342
|
-
{
|
|
1343
|
-
groupName: "Recommended",
|
|
1344
|
-
wallets: [
|
|
1345
|
-
import_wallets.metaMaskWallet,
|
|
1346
|
-
import_wallets.walletConnectWallet,
|
|
1347
|
-
import_wallets.okxWallet,
|
|
1348
|
-
import_wallets.bitgetWallet,
|
|
1349
|
-
import_wallets.injectedWallet
|
|
1350
|
-
]
|
|
1351
|
-
}
|
|
1352
|
-
],
|
|
1353
|
-
chains: [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum, import_chains.base, matchMain, matchTest, import_chains.bsc]
|
|
1354
|
-
});
|
|
1355
|
-
var MatchContext = (0, import_react41.createContext)(void 0);
|
|
1356
|
-
var useMatch = () => {
|
|
1357
|
-
const context = (0, import_react41.useContext)(MatchContext);
|
|
1358
|
-
if (context === void 0) {
|
|
1359
|
-
throw new Error("useMatch must be used within a MatchProvider");
|
|
1360
|
-
}
|
|
1361
|
-
return context;
|
|
1362
|
-
};
|
|
1363
|
-
|
|
1364
|
-
// src/hooks/useUserInfo.tsx
|
|
1365
|
-
function useUserInfo() {
|
|
1366
|
-
const {
|
|
1367
|
-
appid,
|
|
1368
|
-
token,
|
|
1369
|
-
mid,
|
|
1370
|
-
did,
|
|
1371
|
-
logout: logoutStore,
|
|
1372
|
-
setOverview,
|
|
1373
|
-
overview,
|
|
1374
|
-
address,
|
|
1375
|
-
endpoints,
|
|
1376
|
-
locale,
|
|
1377
|
-
refreshOverview
|
|
1378
|
-
} = useLocalStore_default();
|
|
1379
|
-
const { setTgAppAuthCode, emailLoginKey, setEmailLoginKey } = useStore_default();
|
|
1380
|
-
const isDownMd = useDownMd();
|
|
1381
|
-
const { events, login } = useMatch();
|
|
1382
|
-
const { open: EVMOpen } = useEVMModalStore();
|
|
1383
|
-
const { open: TRONOpen } = useTRONModalStore();
|
|
1384
|
-
const { open: TONOpen } = useTONModalStore();
|
|
1385
|
-
const { open: BTCOpen } = useBTCModalStore();
|
|
1386
|
-
const { open: CEXBindOpen } = useCEXBindModalStore();
|
|
1387
|
-
const walletModalStore = useWalletModalStore();
|
|
1388
|
-
const getRedirectUri = () => {
|
|
1389
|
-
return encodeURIComponent(window.location.href);
|
|
1390
|
-
};
|
|
1391
|
-
const isLogin = (0, import_react42.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
1392
|
-
const logout = async () => {
|
|
1393
|
-
try {
|
|
1394
|
-
await toLogoutApi();
|
|
1395
|
-
} catch (err) {
|
|
1396
|
-
console.error("logout", err);
|
|
1397
|
-
}
|
|
1398
|
-
logoutStore();
|
|
1399
|
-
events && events.onLogout && events.onLogout();
|
|
1400
|
-
eventManager_default.emit("onLogout");
|
|
1401
|
-
};
|
|
1402
|
-
const loginByMethod = async (method) => {
|
|
1403
|
-
const link = `${endpoints.back}api/v1/auth/${method == "youtube" ? "google" : method}?appid=${appid}&provider=${method == "youtube" ? "google" : method}&redirect=${encodeURIComponent(endpoints.auth + "login/" + method)}&authorization=${(/* @__PURE__ */ new Date()).getTime()}${method == "youtube" ? "&auth_type=youtube" : ""}`;
|
|
1404
|
-
matchlog_default.log("link", link);
|
|
1405
|
-
return window.open(
|
|
1406
|
-
link,
|
|
1407
|
-
// Replace with the actual authorization URL
|
|
1408
|
-
"authWindow",
|
|
1409
|
-
"width=800,height=600"
|
|
1410
|
-
);
|
|
1411
|
-
};
|
|
1412
|
-
const loginByTwitter = () => {
|
|
1413
|
-
return loginByMethod("twitter");
|
|
1414
|
-
};
|
|
1415
|
-
const loginByGoogle = () => {
|
|
1416
|
-
return loginByMethod("google");
|
|
1417
|
-
};
|
|
1418
|
-
const loginByWallet = async () => {
|
|
1419
|
-
return window.open(`${endpoints.auth}login/wallet?appid=${appid}&locale=${locale}`);
|
|
1420
|
-
};
|
|
1421
|
-
const loginByTelegram = async () => {
|
|
1422
|
-
if (isInTgApp()) {
|
|
1423
|
-
try {
|
|
1424
|
-
const res = await tgAppLoginInitApi();
|
|
1425
|
-
if (!isSuccess(res)) {
|
|
1426
|
-
throw new Error(res.message);
|
|
1427
|
-
}
|
|
1428
|
-
setTgAppAuthCode(res.data.code);
|
|
1429
|
-
const link = res.data.login_url + `?startapp=${res.data.code}_${appid}_${locale}`;
|
|
1430
|
-
console.log("tgAppLoginInitLink", link);
|
|
1431
|
-
if (window.TelegramWebviewProxy) {
|
|
1432
|
-
console.log("in telegram webview");
|
|
1433
|
-
if (!window.Telegram) {
|
|
1434
|
-
throw new Error("Please import telegram-web-app.js first");
|
|
1435
|
-
}
|
|
1436
|
-
window.Telegram.WebApp.openTelegramLink(link);
|
|
1437
|
-
return;
|
|
1438
|
-
}
|
|
1439
|
-
console.log("not in telegram webview");
|
|
1440
|
-
window.open(link);
|
|
1441
|
-
return;
|
|
1442
|
-
} catch (e) {
|
|
1443
|
-
console.error("tgAppLoginInitApi", e);
|
|
1444
|
-
throw e;
|
|
1445
|
-
}
|
|
1446
|
-
}
|
|
1447
|
-
return window.open(
|
|
1448
|
-
`${endpoints.auth}login/telegram?appid=${appid}&locale=${locale}`,
|
|
1449
|
-
// Replace with the actual authorization URL
|
|
1450
|
-
"authWindow",
|
|
1451
|
-
"width=800,height=600"
|
|
1452
|
-
);
|
|
1453
|
-
};
|
|
1454
|
-
const loginMethod = async (method, extra) => {
|
|
1455
|
-
switch (method) {
|
|
1456
|
-
case "wallet":
|
|
1457
|
-
return walletModalStore.open("login", extra?.methods);
|
|
1458
|
-
case "evm":
|
|
1459
|
-
return EVMOpen("login");
|
|
1460
|
-
// return window.open(`${endpoints.auth}login/wallet?appid=${appid}&locale=${locale}`)
|
|
1461
|
-
case "sol":
|
|
1462
|
-
if (isDownMd) {
|
|
1463
|
-
return window.location.href = `${endpoints.auth}login/sol?appid=${appid}&locale=${locale}&redirect_uri=${getRedirectUri()}`;
|
|
1464
|
-
}
|
|
1465
|
-
return window.open(`${endpoints.auth}login/sol?appid=${appid}&locale=${locale}`);
|
|
1466
|
-
case "tron":
|
|
1467
|
-
return TRONOpen("login");
|
|
1468
|
-
case "ton":
|
|
1469
|
-
return TONOpen("login");
|
|
1470
|
-
case "btc":
|
|
1471
|
-
return BTCOpen("login");
|
|
1472
|
-
case "telegram":
|
|
1473
|
-
return await loginByTelegram();
|
|
1474
|
-
case "youtube":
|
|
1475
|
-
case "twitter":
|
|
1476
|
-
case "google":
|
|
1477
|
-
case "discord":
|
|
1478
|
-
case "github":
|
|
1479
|
-
case "linkedin":
|
|
1480
|
-
case "facebook":
|
|
1481
|
-
return await loginByMethod(method);
|
|
1482
|
-
default:
|
|
1483
|
-
throw new Error("unsupported method");
|
|
1484
|
-
}
|
|
1485
|
-
};
|
|
1486
|
-
const getLoginEmailCode = async (email) => {
|
|
1487
|
-
const res = await getEmailCodeApi(email);
|
|
1488
|
-
if (isSuccess(res)) {
|
|
1489
|
-
setEmailLoginKey(res.data.key);
|
|
1490
|
-
return res.data.key;
|
|
1491
|
-
}
|
|
1492
|
-
throw new Error(res.message);
|
|
1493
|
-
};
|
|
1494
|
-
const loginByEmail = async ({
|
|
1495
|
-
email,
|
|
1496
|
-
code
|
|
1497
|
-
}) => {
|
|
1498
|
-
try {
|
|
1499
|
-
const obj = {
|
|
1500
|
-
email,
|
|
1501
|
-
verification_key: emailLoginKey,
|
|
1502
|
-
verification_code: code
|
|
1503
|
-
};
|
|
1504
|
-
const res = await verifyEmailCodeApi(obj);
|
|
1505
|
-
if (res && res.data && isSuccess(res)) {
|
|
1506
|
-
await login({
|
|
1507
|
-
// mid: res.data.mid,
|
|
1508
|
-
token: `${res.data.token_type} ${res.data.access_token}`
|
|
1509
|
-
});
|
|
1510
|
-
return true;
|
|
1511
|
-
} else {
|
|
1512
|
-
throw new Error(res.message);
|
|
1513
|
-
}
|
|
1514
|
-
} catch (error) {
|
|
1515
|
-
console.error("loginByEmail", error);
|
|
1516
|
-
throw error;
|
|
1517
|
-
}
|
|
1518
|
-
return false;
|
|
1519
|
-
};
|
|
1520
|
-
const bindWallet = async () => {
|
|
1521
|
-
if (!token) {
|
|
1522
|
-
throw new Error("You must login first");
|
|
1523
|
-
}
|
|
1524
|
-
return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)));
|
|
1525
|
-
};
|
|
1526
|
-
const bindTelegram = async () => {
|
|
1527
|
-
if (!token) {
|
|
1528
|
-
throw new Error("You must login first");
|
|
1529
|
-
}
|
|
1530
|
-
const authWindow = window.open(
|
|
1531
|
-
`${endpoints.auth}bind/telegram?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)),
|
|
1532
|
-
// Replace with the actual authorization URL
|
|
1533
|
-
"authWindow",
|
|
1534
|
-
"width=800,height=600"
|
|
1535
|
-
);
|
|
1536
|
-
};
|
|
1537
|
-
const auth = async () => {
|
|
1538
|
-
const res = await getAuthInfoApi();
|
|
1539
|
-
if (isSuccess(res)) {
|
|
1540
|
-
return res.data;
|
|
1541
|
-
}
|
|
1542
|
-
throw new Error(res.message);
|
|
1543
|
-
};
|
|
1544
|
-
const bind = async (method, extra) => {
|
|
1545
|
-
if (!token) {
|
|
1546
|
-
throw new Error("You must login first");
|
|
1547
|
-
}
|
|
1548
|
-
switch (method) {
|
|
1549
|
-
case "wallet":
|
|
1550
|
-
return walletModalStore.open("bind", extra?.methods);
|
|
1551
|
-
case "evm":
|
|
1552
|
-
return EVMOpen("bind");
|
|
1553
|
-
// return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)))
|
|
1554
|
-
case "sol":
|
|
1555
|
-
if (isDownMd) {
|
|
1556
|
-
return window.location.href = `${endpoints.auth}bind/sol?appid=${appid}&locale=${locale}&st=${encodeURIComponent(encodeBase64(token))}&redirect_uri=${getRedirectUri()}`;
|
|
1557
|
-
}
|
|
1558
|
-
return window.open(`${endpoints.auth}bind/sol?appid=${appid}&locale=${locale}&st=${encodeURIComponent(encodeBase64(token))}`);
|
|
1559
|
-
case "tron":
|
|
1560
|
-
return TRONOpen("bind");
|
|
1561
|
-
case "ton":
|
|
1562
|
-
return TONOpen("bind");
|
|
1563
|
-
case "btc":
|
|
1564
|
-
return BTCOpen("bind");
|
|
1565
|
-
case "telegram":
|
|
1566
|
-
return await bindTelegram();
|
|
1567
|
-
case "twitter":
|
|
1568
|
-
case "google":
|
|
1569
|
-
case "discord":
|
|
1570
|
-
case "github":
|
|
1571
|
-
case "linkedin":
|
|
1572
|
-
case "facebook":
|
|
1573
|
-
case "youtube":
|
|
1574
|
-
const link = `${endpoints.back}api/v1/auth/${method == "youtube" ? "google" : method}?appid=${appid}&provider=${method == "youtube" ? "google" : method}&redirect=${encodeURIComponent(endpoints.auth + "bind/" + method)}&authorization=${token.includes("Bearer ") ? token.split(" ")[1] : token}${method == "youtube" ? "&auth_type=youtube" : ""}`;
|
|
1575
|
-
matchlog_default.log("link", link);
|
|
1576
|
-
return window.open(
|
|
1577
|
-
link,
|
|
1578
|
-
"authWindow",
|
|
1579
|
-
"width=800,height=600"
|
|
1580
|
-
);
|
|
1581
|
-
default:
|
|
1582
|
-
throw new Error("unsupported method");
|
|
1583
|
-
}
|
|
1584
|
-
};
|
|
1585
|
-
const bindCex = (type) => {
|
|
1586
|
-
return CEXBindOpen(type);
|
|
1587
|
-
};
|
|
1588
|
-
const getAuthInfo = async (method) => {
|
|
1589
|
-
const element_id = "auth_iframe";
|
|
1590
|
-
if (document.getElementById(element_id)) {
|
|
1591
|
-
document.getElementById(element_id).remove();
|
|
1592
|
-
}
|
|
1593
|
-
const iframe = document.createElement("iframe");
|
|
1594
|
-
iframe.id = element_id;
|
|
1595
|
-
iframe.src = `${endpoints.auth}auth?appid=${appid}&method=${method}&locale=${locale}&token=${encodeURIComponent(encodeBase64(token))}`;
|
|
1596
|
-
iframe.style.width = "100vw";
|
|
1597
|
-
iframe.style.height = "100vh";
|
|
1598
|
-
iframe.style.position = "fixed";
|
|
1599
|
-
iframe.style.top = "0";
|
|
1600
|
-
iframe.style.left = "0";
|
|
1601
|
-
iframe.style.zIndex = "9999";
|
|
1602
|
-
iframe.style.border = "none";
|
|
1603
|
-
iframe.allowTransparency = "true";
|
|
1604
|
-
document.body.appendChild(iframe);
|
|
1605
|
-
return new Promise((resolve, reject) => {
|
|
1606
|
-
const authMessageHandle = (event) => {
|
|
1607
|
-
if (endpoints.auth.includes(event.origin)) {
|
|
1608
|
-
const res = event.data;
|
|
1609
|
-
if (res.source == "match-auth") {
|
|
1610
|
-
window.removeEventListener("message", authMessageHandle);
|
|
1611
|
-
if (res.status == "success") {
|
|
1612
|
-
resolve({
|
|
1613
|
-
...res.data,
|
|
1614
|
-
method: res.method,
|
|
1615
|
-
appid: res.appid,
|
|
1616
|
-
did
|
|
1617
|
-
});
|
|
1618
|
-
} else {
|
|
1619
|
-
reject(new Error(res.message));
|
|
1620
|
-
}
|
|
1621
|
-
iframe.remove();
|
|
1622
|
-
}
|
|
1623
|
-
}
|
|
1624
|
-
};
|
|
1625
|
-
window.addEventListener("message", authMessageHandle);
|
|
1626
|
-
});
|
|
1627
|
-
};
|
|
1628
|
-
const invite = async (invite_code) => {
|
|
1629
|
-
return await userInviteApi({
|
|
1630
|
-
invite_code
|
|
1631
|
-
});
|
|
1632
|
-
};
|
|
1633
|
-
return {
|
|
1634
|
-
loginByMethod,
|
|
1635
|
-
loginByTelegram,
|
|
1636
|
-
loginByTwitter,
|
|
1637
|
-
loginByGoogle,
|
|
1638
|
-
loginByWallet,
|
|
1639
|
-
loginByEmail,
|
|
1640
|
-
bindWallet,
|
|
1641
|
-
bindTelegram,
|
|
1642
|
-
token,
|
|
1643
|
-
mid,
|
|
1644
|
-
did,
|
|
1645
|
-
address,
|
|
1646
|
-
isLogin,
|
|
1647
|
-
logout,
|
|
1648
|
-
getLoginEmailCode,
|
|
1649
|
-
refreshOverview,
|
|
1650
|
-
overview,
|
|
1651
|
-
bindCex,
|
|
1652
|
-
username: overview?.username || "",
|
|
1653
|
-
auth,
|
|
1654
|
-
login: loginMethod,
|
|
1655
|
-
bind,
|
|
1656
|
-
getAuthInfo,
|
|
1657
|
-
invite
|
|
1658
|
-
};
|
|
1659
|
-
}
|
|
1660
|
-
|
|
1661
|
-
// src/hooks/api/bind.ts
|
|
1662
|
-
function useBindList(options) {
|
|
1663
|
-
const { isLogin } = useUserInfo();
|
|
1664
|
-
return (0, import_react_query11.useQuery)({
|
|
1665
|
-
queryKey: ["bindList"],
|
|
1666
|
-
enabled: isLogin,
|
|
1667
|
-
queryFn: async () => {
|
|
1668
|
-
let res = await getBindListApi();
|
|
1669
|
-
return res.data;
|
|
1670
|
-
},
|
|
1671
|
-
...options
|
|
1672
|
-
});
|
|
1673
|
-
}
|
|
1674
|
-
function useBindInfo(options) {
|
|
1675
|
-
const { isLogin } = useUserInfo();
|
|
1676
|
-
return (0, import_react_query11.useQuery)({
|
|
1677
|
-
queryKey: ["bindInfo"],
|
|
1678
|
-
enabled: isLogin,
|
|
1679
|
-
queryFn: async () => {
|
|
1680
|
-
let res = await getBindInfoApi();
|
|
1681
|
-
return res.data;
|
|
1682
|
-
},
|
|
1683
|
-
...options
|
|
1684
|
-
});
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
// src/hooks/api/poh.ts
|
|
1688
|
-
var poh_exports = {};
|
|
1689
|
-
__export(poh_exports, {
|
|
1690
|
-
usePohList: () => usePohList,
|
|
1691
|
-
verifyPohApi: () => verifyPohApi
|
|
1692
|
-
});
|
|
1693
|
-
var import_react_query12 = require("@tanstack/react-query");
|
|
1694
|
-
function usePohList(options) {
|
|
1695
|
-
const { isLogin } = useUserInfo();
|
|
1696
|
-
return (0, import_react_query12.useQuery)({
|
|
1697
|
-
queryKey: ["pohList"],
|
|
1698
|
-
enabled: isLogin,
|
|
1699
|
-
queryFn: async () => {
|
|
1700
|
-
let res = await getPohListApi();
|
|
1701
|
-
return res.data;
|
|
1702
|
-
},
|
|
1703
|
-
...options
|
|
1704
|
-
});
|
|
1705
|
-
}
|
|
1706
|
-
|
|
1707
|
-
// src/hooks/api/user.ts
|
|
1708
|
-
var user_exports = {};
|
|
1709
|
-
__export(user_exports, {
|
|
1710
|
-
chooseIdentityApi: () => chooseIdentityApi,
|
|
1711
|
-
mintPassportNftApi: () => mintPassportNftApi
|
|
1712
|
-
});
|
|
1713
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
1714
|
-
0 && (module.exports = {
|
|
1715
|
-
bind,
|
|
1716
|
-
isSuccess,
|
|
1717
|
-
poh,
|
|
1718
|
-
user,
|
|
1719
|
-
wallet
|
|
1720
|
-
});
|
|
1721
|
-
//# sourceMappingURL=api.js.map
|