@abtnode/blocklet-services 1.8.66-beta-b56e3b54 → 1.8.66
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/api/index.js +1 -5
- package/api/libs/connect/v1.js +6 -46
- package/api/routes/env.js +0 -1
- package/api/{socket/channel/did.js → services/notification/channel/did-channel.js} +2 -2
- package/api/{socket/channel/hooks.js → services/notification/channel/get-hooks-by-channel.js} +2 -6
- package/api/services/notification/index.js +14 -17
- package/api/{socket → services/notification}/util.js +4 -6
- package/build/asset-manifest.json +19 -19
- package/build/index.html +1 -1
- package/build/static/js/255.db03c1c4.chunk.js +2 -0
- package/build/static/js/255.db03c1c4.chunk.js.map +1 -0
- package/build/static/js/313.0dd4a9dc.chunk.js +3 -0
- package/build/static/js/313.0dd4a9dc.chunk.js.map +1 -0
- package/build/static/js/{371.60842581.chunk.js → 371.ab486e50.chunk.js} +2 -2
- package/build/static/js/371.ab486e50.chunk.js.map +1 -0
- package/build/static/js/409.44ccfc22.chunk.js +2 -0
- package/build/static/js/409.44ccfc22.chunk.js.map +1 -0
- package/build/static/js/560.3efa5410.chunk.js +2 -0
- package/build/static/js/560.3efa5410.chunk.js.map +1 -0
- package/build/static/js/737.a6089895.chunk.js +2 -0
- package/build/static/js/737.a6089895.chunk.js.map +1 -0
- package/build/static/js/{868.43103624.chunk.js → 868.c537e380.chunk.js} +2 -2
- package/build/static/js/868.c537e380.chunk.js.map +1 -0
- package/build/static/js/906.e4362664.chunk.js +2 -0
- package/build/static/js/906.e4362664.chunk.js.map +1 -0
- package/build/static/js/main.adf4dcff.js +3 -0
- package/build/static/js/{main.b0d63299.js.map → main.adf4dcff.js.map} +1 -1
- package/package.json +31 -31
- package/api/services/relay/index.js +0 -72
- package/api/socket/channel/relay.js +0 -28
- package/build/static/js/255.4b68f586.chunk.js +0 -2
- package/build/static/js/255.4b68f586.chunk.js.map +0 -1
- package/build/static/js/313.a7c0a03a.chunk.js +0 -3
- package/build/static/js/313.a7c0a03a.chunk.js.map +0 -1
- package/build/static/js/371.60842581.chunk.js.map +0 -1
- package/build/static/js/409.0b3df370.chunk.js +0 -2
- package/build/static/js/409.0b3df370.chunk.js.map +0 -1
- package/build/static/js/560.4d01281e.chunk.js +0 -2
- package/build/static/js/560.4d01281e.chunk.js.map +0 -1
- package/build/static/js/737.76692b09.chunk.js +0 -2
- package/build/static/js/737.76692b09.chunk.js.map +0 -1
- package/build/static/js/868.43103624.chunk.js.map +0 -1
- package/build/static/js/906.24196de2.chunk.js +0 -2
- package/build/static/js/906.24196de2.chunk.js.map +0 -1
- package/build/static/js/main.b0d63299.js +0 -3
- /package/api/{socket/channel/app.js → services/notification/channel/app-channel.js} +0 -0
- /package/build/static/js/{313.a7c0a03a.chunk.js.LICENSE.txt → 313.0dd4a9dc.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{main.b0d63299.js.LICENSE.txt → main.adf4dcff.js.LICENSE.txt} +0 -0
package/api/index.js
CHANGED
|
@@ -26,7 +26,6 @@ const { isProduction, isE2E } = require('./libs/env');
|
|
|
26
26
|
const { init: initStates } = require('./state/index');
|
|
27
27
|
|
|
28
28
|
const { init: initNotification } = require('./services/notification');
|
|
29
|
-
const { init: initRelay } = require('./services/relay');
|
|
30
29
|
const BlockletEventsNotifier = require('./services/notification/blocklet-events-notifier');
|
|
31
30
|
const { init: initAuth } = require('./services/auth');
|
|
32
31
|
const { init: initDashboard } = require('./services/dashboard');
|
|
@@ -83,8 +82,7 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
83
82
|
initStates(options.dataDir);
|
|
84
83
|
|
|
85
84
|
const { middlewares: authMiddlewares, routes: authRoutes, ensureWsUser } = initAuth({ node, options });
|
|
86
|
-
const notificationService = initNotification({ node });
|
|
87
|
-
const relayService = initRelay({ node });
|
|
85
|
+
const notificationService = initNotification({ node, options });
|
|
88
86
|
const dashboardService = initDashboard({ node, ensureWsUser });
|
|
89
87
|
|
|
90
88
|
// Proxy engine
|
|
@@ -201,7 +199,6 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
201
199
|
// API: notification
|
|
202
200
|
notificationService.sendToUser.attach(server);
|
|
203
201
|
notificationService.sendToAppChannel.attach(server);
|
|
204
|
-
relayService.sendToRelay.attach(server);
|
|
205
202
|
|
|
206
203
|
// Middleware: auth info
|
|
207
204
|
server.use(authMiddlewares.bearerToken);
|
|
@@ -311,7 +308,6 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
311
308
|
|
|
312
309
|
// Notification
|
|
313
310
|
notificationService.attach(wsRouter);
|
|
314
|
-
relayService.attach(wsRouter);
|
|
315
311
|
dashboardService.attachWsServer(wsRouter);
|
|
316
312
|
|
|
317
313
|
// Only for Development
|
package/api/libs/connect/v1.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
-
const get = require('lodash/get');
|
|
3
2
|
const DiskStorage = require('@arcblock/did-auth-storage-nedb');
|
|
4
|
-
const { toAddress } = require('@ocap/util');
|
|
5
3
|
const { WalletAuthenticator } = require('@arcblock/did-auth');
|
|
6
|
-
const getBlockletInfo = require('@blocklet/meta/lib/info');
|
|
7
4
|
const WalletHandlers = require('@blocklet/sdk/lib/wallet-handler');
|
|
8
|
-
const { sendToUser
|
|
5
|
+
const { sendToUser } = require('@blocklet/sdk/lib/util/send-notification');
|
|
9
6
|
const { WELLKNOWN_SERVICE_PATH_PREFIX, NODE_SERVICES_PREFIX } = require('@abtnode/constant');
|
|
10
7
|
|
|
11
|
-
const cache = require('../../cache');
|
|
12
8
|
const { appInfo, chainInfo } = require('./shared');
|
|
13
9
|
|
|
14
10
|
module.exports = (node, opts) => {
|
|
@@ -29,47 +25,11 @@ module.exports = (node, opts) => {
|
|
|
29
25
|
}),
|
|
30
26
|
sendNotificationFn: async (connectedDid, message, { req }) => {
|
|
31
27
|
const { wallet } = await req.getBlockletInfo();
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
appSk: wallet.secretKey,
|
|
38
|
-
},
|
|
39
|
-
process.env.ABT_NODE_SERVICE_PORT
|
|
40
|
-
);
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
// Only handles did-connect updates, because we need to determine the actual app
|
|
44
|
-
sendToRelayFn: async (topic, event, data) => {
|
|
45
|
-
const publisher = get(data, 'appInfo.publisher', '');
|
|
46
|
-
if (!publisher) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const [blocklet, info] = await Promise.all([
|
|
51
|
-
cache.getBlocklet({ did: toAddress(publisher), node, context: {} }),
|
|
52
|
-
cache.getNodeInfo({ node }),
|
|
53
|
-
]);
|
|
54
|
-
if (!blocklet) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const { wallet } = getBlockletInfo(blocklet, info.sk);
|
|
59
|
-
if (!wallet) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return sendToRelay(
|
|
64
|
-
topic,
|
|
65
|
-
event,
|
|
66
|
-
data,
|
|
67
|
-
{
|
|
68
|
-
appDid: wallet.address,
|
|
69
|
-
appSk: wallet.secretKey,
|
|
70
|
-
},
|
|
71
|
-
process.env.ABT_NODE_SERVICE_PORT
|
|
72
|
-
);
|
|
28
|
+
const sender = {
|
|
29
|
+
appDid: wallet.address,
|
|
30
|
+
appSk: wallet.secretKey,
|
|
31
|
+
};
|
|
32
|
+
return sendToUser(connectedDid, message, sender, process.env.ABT_NODE_SERVICE_PORT);
|
|
73
33
|
},
|
|
74
34
|
};
|
|
75
35
|
|
package/api/routes/env.js
CHANGED
|
@@ -6,9 +6,9 @@ const {
|
|
|
6
6
|
const { NODE_MODES } = require('@abtnode/constant');
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line global-require
|
|
9
|
-
const logger = require('@abtnode/logger')(`${require('
|
|
9
|
+
const logger = require('@abtnode/logger')(`${require('../../../../package.json').name}:notification`);
|
|
10
10
|
const { ensureSender, parseNotification, broadcast, EVENTS } = require('../util');
|
|
11
|
-
const states = require('
|
|
11
|
+
const states = require('../../../state');
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
*
|
package/api/{socket/channel/hooks.js → services/notification/channel/get-hooks-by-channel.js}
RENAMED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
const { CHANNEL_TYPE, parseChannel } = require('@blocklet/meta/lib/channel');
|
|
2
2
|
|
|
3
|
-
const AppChannel = require('./app');
|
|
4
|
-
const DidChannel = require('./did');
|
|
5
|
-
const ConnectChannel = require('./relay');
|
|
3
|
+
const AppChannel = require('./app-channel');
|
|
4
|
+
const DidChannel = require('./did-channel');
|
|
6
5
|
|
|
7
6
|
const getHooksByChannel = (channel) => {
|
|
8
7
|
const { type } = parseChannel(channel);
|
|
@@ -12,9 +11,6 @@ const getHooksByChannel = (channel) => {
|
|
|
12
11
|
if (type === CHANNEL_TYPE.APP) {
|
|
13
12
|
return AppChannel;
|
|
14
13
|
}
|
|
15
|
-
if (type === CHANNEL_TYPE.RELAY) {
|
|
16
|
-
return ConnectChannel;
|
|
17
|
-
}
|
|
18
14
|
|
|
19
15
|
throw new Error('Unknown channel type');
|
|
20
16
|
};
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
/* eslint-disable arrow-parens */
|
|
2
2
|
const JWT = require('@arcblock/jwt');
|
|
3
|
-
const Cron = require('@abtnode/cron');
|
|
4
3
|
const { WsServer } = require('@arcblock/ws');
|
|
5
|
-
|
|
4
|
+
const Cron = require('@abtnode/cron');
|
|
6
5
|
// eslint-disable-next-line global-require
|
|
7
6
|
const logger = require('@abtnode/logger')(`${require('../../../package.json').name}:notification`);
|
|
8
7
|
|
|
9
8
|
const states = require('../../state');
|
|
10
9
|
const { PREFIXES } = require('../../util/constants');
|
|
11
10
|
|
|
12
|
-
const { sendToAppChannel } = require('
|
|
13
|
-
const { sendToDid } = require('
|
|
14
|
-
const getHooksByChannel = require('
|
|
15
|
-
const {
|
|
11
|
+
const { sendToAppChannel } = require('./channel/app-channel');
|
|
12
|
+
const { sendToDid } = require('./channel/did-channel');
|
|
13
|
+
const getHooksByChannel = require('./channel/get-hooks-by-channel');
|
|
14
|
+
const { getDid } = require('./util');
|
|
16
15
|
|
|
17
16
|
const authenticateConnect = (req, cb) => {
|
|
18
17
|
const { searchParams } = new URL(req.url, `http://${req.headers.host || 'unknown'}`);
|
|
19
|
-
|
|
20
18
|
const token = searchParams.get('token');
|
|
21
19
|
const pk = searchParams.get('pk');
|
|
22
20
|
|
|
@@ -30,14 +28,11 @@ const authenticateConnect = (req, cb) => {
|
|
|
30
28
|
return;
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
const info = getTokenInfo(decoded);
|
|
35
|
-
cb(null, info);
|
|
31
|
+
cb(null, { did: getDid(JWT.decode(token)) });
|
|
36
32
|
};
|
|
37
33
|
|
|
38
34
|
const authenticateJoinChannel = async ({ topic: channel, payload, node }) => {
|
|
39
|
-
const
|
|
40
|
-
const info = getTokenInfo(decoded);
|
|
35
|
+
const did = getDid(JWT.decode(payload.token));
|
|
41
36
|
|
|
42
37
|
// Support the web wallet to continue to run for one day
|
|
43
38
|
//
|
|
@@ -48,13 +43,15 @@ const authenticateJoinChannel = async ({ topic: channel, payload, node }) => {
|
|
|
48
43
|
const tolerance = 3600 * 24;
|
|
49
44
|
|
|
50
45
|
if (!JWT.verify(payload.token, payload.pk, { tolerance })) {
|
|
51
|
-
throw new Error(`verify did failed: ${
|
|
46
|
+
throw new Error(`verify did failed: ${did}`);
|
|
52
47
|
}
|
|
53
48
|
|
|
54
49
|
const hooks = getHooksByChannel(channel);
|
|
55
|
-
await hooks.onAuthenticate({ channel, did
|
|
50
|
+
await hooks.onAuthenticate({ channel, did, payload, node });
|
|
51
|
+
|
|
52
|
+
const authInfo = { did };
|
|
56
53
|
|
|
57
|
-
return
|
|
54
|
+
return authInfo;
|
|
58
55
|
};
|
|
59
56
|
|
|
60
57
|
const postJoinChannel = async ({ socket, topic: channel, payload, wsServer, node }) => {
|
|
@@ -114,7 +111,7 @@ const init = ({ node }) => {
|
|
|
114
111
|
await sendToDid({ ...req.body.data, node, wsServer });
|
|
115
112
|
res.status(200).send('');
|
|
116
113
|
} catch (error) {
|
|
117
|
-
logger.error('Send message to user
|
|
114
|
+
logger.error('Send message to user failed', { error });
|
|
118
115
|
res.statusMessage = error.message;
|
|
119
116
|
res.status(400).send(error.message);
|
|
120
117
|
}
|
|
@@ -125,7 +122,7 @@ const init = ({ node }) => {
|
|
|
125
122
|
await sendToAppChannel({ ...req.body.data, node, wsServer });
|
|
126
123
|
res.status(200).send('');
|
|
127
124
|
} catch (error) {
|
|
128
|
-
logger.error('Send message to
|
|
125
|
+
logger.error('Send message to channel failed', { error });
|
|
129
126
|
res.statusMessage = error.message;
|
|
130
127
|
res.status(400).send(error.message);
|
|
131
128
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const { nanoid } = require('nanoid');
|
|
2
|
+
|
|
2
3
|
const JWT = require('@arcblock/jwt');
|
|
3
4
|
|
|
4
5
|
const { getTeamInfo } = require('@abtnode/auth/lib/auth');
|
|
5
|
-
|
|
6
6
|
// eslint-disable-next-line global-require
|
|
7
|
-
const logger = require('@abtnode/logger')(`${require('
|
|
7
|
+
const logger = require('@abtnode/logger')(`${require('../../../package.json').name}:notification`);
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @param {Object} notification
|
|
@@ -62,9 +62,7 @@ const ensureSender = async ({ sender, node, nodeInfo }) => {
|
|
|
62
62
|
return senderInfo;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
const
|
|
66
|
-
did: decoded.iss.replace(/^did:abt:/, ''),
|
|
67
|
-
});
|
|
65
|
+
const getDid = (jwt) => jwt.iss.replace(/^did:abt:/, '');
|
|
68
66
|
|
|
69
67
|
const EVENTS = {
|
|
70
68
|
MESSAGE: 'message',
|
|
@@ -74,6 +72,6 @@ module.exports = {
|
|
|
74
72
|
parseNotification,
|
|
75
73
|
broadcast,
|
|
76
74
|
ensureSender,
|
|
77
|
-
|
|
75
|
+
getDid,
|
|
78
76
|
EVENTS,
|
|
79
77
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css",
|
|
4
|
-
"main.js": "/.blocklet/proxy/blocklet-service/static/js/main.
|
|
5
|
-
"static/js/560.
|
|
6
|
-
"static/js/255.
|
|
7
|
-
"static/js/371.
|
|
8
|
-
"static/js/737.
|
|
9
|
-
"static/js/906.
|
|
10
|
-
"static/js/868.
|
|
11
|
-
"static/js/409.
|
|
4
|
+
"main.js": "/.blocklet/proxy/blocklet-service/static/js/main.adf4dcff.js",
|
|
5
|
+
"static/js/560.3efa5410.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/560.3efa5410.chunk.js",
|
|
6
|
+
"static/js/255.db03c1c4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/255.db03c1c4.chunk.js",
|
|
7
|
+
"static/js/371.ab486e50.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/371.ab486e50.chunk.js",
|
|
8
|
+
"static/js/737.a6089895.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/737.a6089895.chunk.js",
|
|
9
|
+
"static/js/906.e4362664.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/906.e4362664.chunk.js",
|
|
10
|
+
"static/js/868.c537e380.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/868.c537e380.chunk.js",
|
|
11
|
+
"static/js/409.44ccfc22.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/409.44ccfc22.chunk.js",
|
|
12
12
|
"static/js/682.c64ae291.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/682.c64ae291.chunk.js",
|
|
13
13
|
"static/js/711.6c22b7c7.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/711.6c22b7c7.chunk.js",
|
|
14
14
|
"static/js/437.d815f0c0.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/437.d815f0c0.chunk.js",
|
|
15
15
|
"static/js/690.f9a59613.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/690.f9a59613.chunk.js",
|
|
16
|
-
"static/js/313.
|
|
16
|
+
"static/js/313.0dd4a9dc.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/313.0dd4a9dc.chunk.js",
|
|
17
17
|
"static/js/712.9667cdcd.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/712.9667cdcd.chunk.js",
|
|
18
18
|
"static/js/511.1dd226f9.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/511.1dd226f9.chunk.js",
|
|
19
19
|
"static/js/248.ad6363a4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/248.ad6363a4.chunk.js",
|
|
@@ -42,19 +42,19 @@
|
|
|
42
42
|
"router-template-styles/styles.css": "/.blocklet/proxy/blocklet-service/router-template-styles/styles.css",
|
|
43
43
|
"index.html": "/.blocklet/proxy/blocklet-service/index.html",
|
|
44
44
|
"main.632501d5.css.map": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css.map",
|
|
45
|
-
"main.
|
|
46
|
-
"560.
|
|
47
|
-
"255.
|
|
48
|
-
"371.
|
|
49
|
-
"737.
|
|
50
|
-
"906.
|
|
51
|
-
"868.
|
|
52
|
-
"409.
|
|
45
|
+
"main.adf4dcff.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.adf4dcff.js.map",
|
|
46
|
+
"560.3efa5410.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/560.3efa5410.chunk.js.map",
|
|
47
|
+
"255.db03c1c4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/255.db03c1c4.chunk.js.map",
|
|
48
|
+
"371.ab486e50.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/371.ab486e50.chunk.js.map",
|
|
49
|
+
"737.a6089895.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/737.a6089895.chunk.js.map",
|
|
50
|
+
"906.e4362664.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/906.e4362664.chunk.js.map",
|
|
51
|
+
"868.c537e380.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/868.c537e380.chunk.js.map",
|
|
52
|
+
"409.44ccfc22.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/409.44ccfc22.chunk.js.map",
|
|
53
53
|
"682.c64ae291.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/682.c64ae291.chunk.js.map",
|
|
54
54
|
"711.6c22b7c7.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/711.6c22b7c7.chunk.js.map",
|
|
55
55
|
"437.d815f0c0.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/437.d815f0c0.chunk.js.map",
|
|
56
56
|
"690.f9a59613.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/690.f9a59613.chunk.js.map",
|
|
57
|
-
"313.
|
|
57
|
+
"313.0dd4a9dc.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/313.0dd4a9dc.chunk.js.map",
|
|
58
58
|
"712.9667cdcd.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/712.9667cdcd.chunk.js.map",
|
|
59
59
|
"511.1dd226f9.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/511.1dd226f9.chunk.js.map",
|
|
60
60
|
"248.ad6363a4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/248.ad6363a4.chunk.js.map",
|
|
@@ -64,6 +64,6 @@
|
|
|
64
64
|
},
|
|
65
65
|
"entrypoints": [
|
|
66
66
|
"static/css/main.632501d5.css",
|
|
67
|
-
"static/js/main.
|
|
67
|
+
"static/js/main.adf4dcff.js"
|
|
68
68
|
]
|
|
69
69
|
}
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script src="__blocklet__.js"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script src="__blocklet__.js"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.adf4dcff.js"></script><link href="/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_abtnode_blocklet_services=self.webpackChunk_abtnode_blocklet_services||[]).push([[255],{71255:function(e,t,r){r.r(t),r.d(t,{default:function(){return l}});var n=r(26391),o=r(4485),a=r(38507),i=r(37574);function l(){return(0,i.jsx)(n.Z,{SessionContext:o.B3,webWalletUrl:(0,a.yP)()})}},41362:function(e,t,r){var n=r(43681).default;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=(0,a.default)("passportId",""),t=n(e,3),r=t[0],o=t[1],i=t[2];return{getPassportId:function(){return setTimeout((function(){i()}),0),r||""},setPassportId:o}};var o,a=(o=r(17708))&&o.__esModule?o:{default:o}},26391:function(e,t,r){var n=r(43681).default;t.Z=void 0;var o,a=r(30969),i=m(r(16380)),l=r(86822),s=m(r(49284)),u=m(r(32901)),c=m(r(92293)),d=m(r(81721)),f=m(r(88029)),p=m(r(7284)),b=r(42167),v=r(20244),y=m(r(17248)),g=m(r(41362)),j=r(37574);function m(e){return e&&e.__esModule?e:{default:e}}var O,P,h=(0,i.default)(d.default)(o||(O=["\n .header {\n text-align: center;\n margin-bottom: 8px;\n }\n\n .subheader {\n text-align: center;\n margin-bottom: 24px;\n }\n\n .login {\n padding: 24px;\n height: auto;\n min-height: 480px;\n display: flex;\n flex-direction: column;\n }\n\n .connect {\n background: #fafafa;\n }\n"],P||(P=O.slice(0)),o=Object.freeze(Object.defineProperties(O,{raw:{value:Object.freeze(P)}})))),w=(0,y.default)((function(e){var t=e.SessionContext,r=e.webWalletUrl,o=(0,a.useContext)(t),i=o.api,d=o.session,y=(0,a.useContext)(b.LocaleContext),m=y.t,O=y.locale,P=(0,a.useState)(!1),w=n(P,2),x=w[0],_=w[1],k=(0,l.useNavigate)(),C=(0,g.default)().setPassportId,S={},E=new URL(window.location.href).searchParams.get("id");return E&&(S.id=E),(0,j.jsx)(h,{children:x?(0,j.jsx)("div",{className:"login",children:(0,j.jsx)("div",{className:"connect",children:(0,j.jsxs)(c.default,{textAlign:"center",children:[(0,j.jsx)(c.default,{mb:3,color:"success.main",children:(0,j.jsx)(u.default,{style:{fontSize:60}})}),(0,j.jsx)(s.default,{component:"p",variant:"body1",className:"subheader",children:m("issuePassport.dialog.success")}),(0,j.jsx)(c.default,{mt:3,children:(0,j.jsx)(f.default,{variant:"contained",color:"primary",onClick:function(){var e;try{d.logout()}catch(t){}((null===(e=window.env)||void 0===e?void 0:e.apiPrefix)||"").startsWith(v.WELLKNOWN_SERVICE_PATH_PREFIX)?k("".concat(v.WELLKNOWN_SERVICE_PATH_PREFIX,"/login"),{replace:!0}):k("/",{replace:!0})},children:m("issuePassport.dialog.loginWithPassport")})})]})})}):(0,j.jsx)(p.default,{className:"connect",action:"issue-passport",forceConnected:!1,autoConnect:!1,checkFn:i.get,checkTimeout:6e5,socketUrl:i.socketUrl,webWalletUrl:r,onSuccess:function(e){null!==e&&void 0!==e&&e.passportId&&C(e.passportId),_(!0)},locale:O,messages:{title:m("issuePassport.title"),scan:m("issuePassport.description",{name:window.env.appName}),confirm:m("issuePassport.dialog.confirm"),success:m("issuePassport.dialog.success")},extraParams:S})})}));t.Z=w},36728:function(e,t,r){var n=r(2717),o=r(41201),a=r(28282);e.exports={translations:{zh:n(a),en:n(o)}}},17248:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){return(0,a.jsx)(n.LocaleProvider,{translations:o.translations,children:(0,a.jsx)(e,l({},t))})}};var n=r(42167),o=r(36728),a=r(37574);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},88029:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(84916));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,o(r(9869)).default)(n.default);t.default=a},9869:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){function t(r){var n=(0,l.mergeProps)(r,t,["style"]),o=n.children,i=n.rounded,c=n.loading,d=n.disabled,p=n.style,v=n.forwardedRef,y=n.color,g=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(n,u),j=d||c,m=16;switch(g.size){case"small":m=14;break;case"large":m=18}var O=b[y]&&b[y][g.variant],P=Object.assign({},p,f({boxShadow:"none",textTransform:"capitalize"},O)),h=g;return O||(h=f(f({},h),{},{color:y})),i&&(P.borderRadius="100vw"),(0,s.jsxs)(e,f(f({style:P,ref:v,disabled:j},h),{},{children:[c&&(0,s.jsx)(a.default,{size:m,style:{marginRight:5}}),o]}))}return t.propTypes={children:o.default.any.isRequired,style:o.default.oneOfType([o.default.object,o.default.string]),size:o.default.oneOf(["large","medium","small"]),forwardedRef:o.default.any,rounded:o.default.bool},t.defaultProps={rounded:!1,size:"medium",forwardedRef:null,style:{}},(0,n.forwardRef)((function(e,r){return(0,s.jsx)(t,f(f({},e),{},{forwardedRef:r}))}))};var n=r(30969),o=c(r(24974)),a=c(r(99)),i=c(r(19996)),l=r(38331),s=r(37574),u=["children","rounded","loading","disabled","style","forwardedRef","color"];function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var b={did:{contained:{backgroundColor:i.default.did.primary,color:i.default.common.white},outlined:{borderColor:i.default.did.primary,color:i.default.did.primary}},reverse:{contained:{backgroundColor:"rgba(255, 255, 255, 0.9)",color:i.default.grey[900]},outlined:{borderColor:i.default.grey[900],color:i.default.grey[900]}}}},32901:function(e,t,r){var n=r(71600);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(r(48035)),a=r(37574),i=(0,o.default)((0,a.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");t.default=i}}]);
|
|
2
|
+
//# sourceMappingURL=255.db03c1c4.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/255.db03c1c4.chunk.js","mappings":"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","sources":["pages/issue-passport.js","../../ux/lib/hooks/use-passport-id.js","../../ux/lib/issue-passport.js","../../ux/lib/locales/index.js","../../ux/lib/wrap-locale.js","../../../node_modules/@arcblock/ux/lib/Button/index.js","../../../node_modules/@arcblock/ux/lib/Button/wrap.js","../../../node_modules/@mui/icons-material/CheckCircle.js"],"sourcesContent":["/* eslint-disable react/jsx-one-expression-per-line */\nimport IssuePassportPage from '@abtnode/ux/lib/issue-passport';\n\nimport { SessionContext } from '../contexts/session';\nimport { getWebWalletUrl } from '../util';\n\nexport default function LostPassport() {\n return <IssuePassportPage SessionContext={SessionContext} webWalletUrl={getWebWalletUrl()} />;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = usePassportId;\nvar _useLocalStorage = _interopRequireDefault(require(\"react-use/lib/useLocalStorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction usePassportId() {\n const [passportId, setPassportId, clearPassportId] = (0, _useLocalStorage.default)('passportId', '');\n const getPassportId = () => {\n setTimeout(() => {\n clearPassportId();\n }, 0);\n return passportId || '';\n };\n return {\n getPassportId,\n setPassportId\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _CheckCircle = _interopRequireDefault(require(\"@mui/icons-material/CheckCircle\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Center = _interopRequireDefault(require(\"@arcblock/ux/lib/Center\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@abtnode/constant\");\nvar _wrapLocale = _interopRequireDefault(require(\"./wrap-locale\"));\nvar _usePassportId = _interopRequireDefault(require(\"./hooks/use-passport-id\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n// eslint-disable-next-line react/prop-types\nfunction IssuePassport(_ref) {\n let {\n SessionContext,\n webWalletUrl\n } = _ref;\n const {\n api,\n session\n } = (0, _react.useContext)(SessionContext);\n const {\n t,\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const [success, setSuccess] = (0, _react.useState)(false);\n const navigate = (0, _reactRouterDom.useNavigate)();\n const {\n setPassportId\n } = (0, _usePassportId.default)();\n const onReceivePassport = result => {\n if (result !== null && result !== void 0 && result.passportId) {\n setPassportId(result.passportId);\n }\n setSuccess(true);\n };\n const extraParams = {};\n const {\n searchParams\n } = new URL(window.location.href);\n const id = searchParams.get('id');\n if (id) {\n extraParams.id = id;\n }\n const onUsePassport = () => {\n var _window$env;\n try {\n session.logout();\n } catch (err) {\n // Do nothing\n }\n if ((((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.apiPrefix) || '').startsWith(_constant.WELLKNOWN_SERVICE_PATH_PREFIX)) {\n navigate(\"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/login\"), {\n replace: true\n });\n return;\n }\n navigate('/', {\n replace: true\n });\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, {\n children: success ? /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"login\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"connect\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n textAlign: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mb: 3,\n color: \"success.main\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckCircle.default, {\n style: {\n fontSize: 60\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"p\",\n variant: \"body1\",\n className: \"subheader\",\n children: t('issuePassport.dialog.success')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 3,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n variant: \"contained\",\n color: \"primary\",\n onClick: onUsePassport,\n children: t('issuePassport.dialog.loginWithPassport')\n })\n })]\n })\n })\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {\n className: \"connect\",\n action: \"issue-passport\",\n forceConnected: false,\n autoConnect: false,\n checkFn: api.get,\n checkTimeout: 10 * 60 * 1000,\n socketUrl: api.socketUrl,\n webWalletUrl: webWalletUrl,\n onSuccess: onReceivePassport,\n locale: locale,\n messages: {\n title: t('issuePassport.title'),\n scan: t('issuePassport.description', {\n name: window.env.appName\n }),\n confirm: t('issuePassport.dialog.confirm'),\n success: t('issuePassport.dialog.success')\n },\n extraParams: extraParams\n })\n });\n}\nconst Div = (0, _styled.default)(_Center.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .header {\\n text-align: center;\\n margin-bottom: 8px;\\n }\\n\\n .subheader {\\n text-align: center;\\n margin-bottom: 24px;\\n }\\n\\n .login {\\n padding: 24px;\\n height: auto;\\n min-height: 480px;\\n display: flex;\\n flex-direction: column;\\n }\\n\\n .connect {\\n background: #fafafa;\\n }\\n\"])));\nvar _default = (0, _wrapLocale.default)(IssuePassport);\nexports.default = _default;","\"use strict\";\n\nconst flat = require('flat');\nconst en = require('./en');\nconst zh = require('./zh');\nmodule.exports = {\n translations: {\n zh: flat(zh),\n en: flat(en)\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = wrapLocale;\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _locales = require(\"./locales\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction wrapLocale(Component) {\n return function LocaleWrapper(props) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.LocaleProvider, {\n translations: _locales.translations,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({}, props))\n });\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _Button = _interopRequireDefault(require(\"@mui/material/Button\"));\n\nvar _wrap = _interopRequireDefault(require(\"./wrap\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = (0, _wrap.default)(_Button.default);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _react = require(\"react\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\n\nvar _Colors = _interopRequireDefault(require(\"../Colors\"));\n\nvar _Util = require(\"../Util\");\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nconst _excluded = [\"children\", \"rounded\", \"loading\", \"disabled\", \"style\", \"forwardedRef\", \"color\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nconst extendedColors = {\n did: {\n contained: {\n backgroundColor: _Colors.default.did.primary,\n color: _Colors.default.common.white\n },\n outlined: {\n borderColor: _Colors.default.did.primary,\n color: _Colors.default.did.primary\n }\n },\n reverse: {\n contained: {\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n color: _Colors.default.grey[900]\n },\n outlined: {\n borderColor: _Colors.default.grey[900],\n color: _Colors.default.grey[900]\n }\n }\n};\n\nfunction _default(BaseComponent) {\n function WrappedComponent(props) {\n const newProps = (0, _Util.mergeProps)(props, WrappedComponent, ['style']);\n\n const {\n children,\n rounded,\n loading,\n disabled,\n style,\n forwardedRef,\n color\n } = newProps,\n rest = _objectWithoutProperties(newProps, _excluded);\n\n const isDisabled = disabled || loading;\n let loadingSize = 16;\n\n switch (rest.size) {\n case 'small':\n loadingSize = 14;\n break;\n\n case 'large':\n loadingSize = 18;\n break;\n\n default:\n } // mui v4 只支持 4 种 color 值: default/inherit/primary/secondary (传入这 4 种之外的值会报 warning),\n // 这里扩展 danger/warning/reverse/did 四种 color\n // !! 已升级到 mui v5, error/warning 等 color 已经默认支持, extendedColors 只扩展了 did/reverse\n\n\n const matched = extendedColors[color] && extendedColors[color][rest.variant];\n const styles = Object.assign({}, style, _objectSpread({\n boxShadow: 'none',\n textTransform: 'capitalize'\n }, matched));\n let _rest = rest;\n\n if (!matched) {\n // mui button 本身支持的 color 交由 mui 处理\n _rest = _objectSpread(_objectSpread({}, _rest), {}, {\n color\n });\n }\n\n if (rounded) {\n // styles.borderRadius = { small: 16, medium: 18, large: 20 }[rest.size];\n styles.borderRadius = '100vw';\n }\n\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BaseComponent, _objectSpread(_objectSpread({\n style: styles,\n ref: forwardedRef,\n disabled: isDisabled\n }, _rest), {}, {\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: loadingSize,\n style: {\n marginRight: 5\n }\n }), children]\n }));\n }\n\n WrappedComponent.propTypes = {\n children: _propTypes.default.any.isRequired,\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),\n size: _propTypes.default.oneOf(['large', 'medium', 'small']),\n forwardedRef: _propTypes.default.any,\n rounded: _propTypes.default.bool\n };\n WrappedComponent.defaultProps = {\n rounded: false,\n size: 'medium',\n forwardedRef: null,\n style: {}\n };\n return /*#__PURE__*/(0, _react.forwardRef)((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, _objectSpread(_objectSpread({}, props), {}, {\n forwardedRef: ref\n })));\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\nexports.default = _default;"],"names":["LostPassport","SessionContext","webWalletUrl","getWebWalletUrl","Object","defineProperty","exports","value","_useLocalStorage","default","passportId","setPassportId","clearPassportId","getPassportId","setTimeout","obj","require","__esModule","_templateObject","_react","_styled","_interopRequireDefault","_reactRouterDom","_Typography","_CheckCircle","_Box","_Center","_Button","_Connect","_context","_constant","_wrapLocale","_usePassportId","_jsxRuntime","strings","raw","Div","slice","freeze","defineProperties","_default","_ref","useContext","api","session","LocaleContext","t","locale","useState","success","setSuccess","navigate","useNavigate","extraParams","id","URL","window","location","href","searchParams","get","jsx","children","className","jsxs","textAlign","mb","color","style","fontSize","component","variant","mt","onClick","_window$env","logout","err","env","apiPrefix","startsWith","WELLKNOWN_SERVICE_PATH_PREFIX","concat","replace","action","forceConnected","autoConnect","checkFn","checkTimeout","socketUrl","onSuccess","result","messages","title","scan","name","appName","confirm","flat","en","zh","module","translations","Component","props","LocaleProvider","_locales","_objectSpread","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","arg","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","configurable","writable","BaseComponent","WrappedComponent","newProps","_Util","mergeProps","rounded","loading","disabled","forwardedRef","rest","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","prototype","propertyIsEnumerable","_objectWithoutProperties","_excluded","isDisabled","loadingSize","size","matched","extendedColors","styles","assign","boxShadow","textTransform","_rest","borderRadius","ref","_CircularProgress","marginRight","propTypes","_propTypes","any","isRequired","oneOfType","string","oneOf","bool","defaultProps","forwardRef","_Colors","did","contained","backgroundColor","primary","common","white","outlined","borderColor","reverse","grey","_createSvgIcon","d"],"sourceRoot":""}
|