@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.
Files changed (48) hide show
  1. package/api/index.js +1 -5
  2. package/api/libs/connect/v1.js +6 -46
  3. package/api/routes/env.js +0 -1
  4. package/api/{socket/channel/did.js → services/notification/channel/did-channel.js} +2 -2
  5. package/api/{socket/channel/hooks.js → services/notification/channel/get-hooks-by-channel.js} +2 -6
  6. package/api/services/notification/index.js +14 -17
  7. package/api/{socket → services/notification}/util.js +4 -6
  8. package/build/asset-manifest.json +19 -19
  9. package/build/index.html +1 -1
  10. package/build/static/js/255.db03c1c4.chunk.js +2 -0
  11. package/build/static/js/255.db03c1c4.chunk.js.map +1 -0
  12. package/build/static/js/313.0dd4a9dc.chunk.js +3 -0
  13. package/build/static/js/313.0dd4a9dc.chunk.js.map +1 -0
  14. package/build/static/js/{371.60842581.chunk.js → 371.ab486e50.chunk.js} +2 -2
  15. package/build/static/js/371.ab486e50.chunk.js.map +1 -0
  16. package/build/static/js/409.44ccfc22.chunk.js +2 -0
  17. package/build/static/js/409.44ccfc22.chunk.js.map +1 -0
  18. package/build/static/js/560.3efa5410.chunk.js +2 -0
  19. package/build/static/js/560.3efa5410.chunk.js.map +1 -0
  20. package/build/static/js/737.a6089895.chunk.js +2 -0
  21. package/build/static/js/737.a6089895.chunk.js.map +1 -0
  22. package/build/static/js/{868.43103624.chunk.js → 868.c537e380.chunk.js} +2 -2
  23. package/build/static/js/868.c537e380.chunk.js.map +1 -0
  24. package/build/static/js/906.e4362664.chunk.js +2 -0
  25. package/build/static/js/906.e4362664.chunk.js.map +1 -0
  26. package/build/static/js/main.adf4dcff.js +3 -0
  27. package/build/static/js/{main.b0d63299.js.map → main.adf4dcff.js.map} +1 -1
  28. package/package.json +31 -31
  29. package/api/services/relay/index.js +0 -72
  30. package/api/socket/channel/relay.js +0 -28
  31. package/build/static/js/255.4b68f586.chunk.js +0 -2
  32. package/build/static/js/255.4b68f586.chunk.js.map +0 -1
  33. package/build/static/js/313.a7c0a03a.chunk.js +0 -3
  34. package/build/static/js/313.a7c0a03a.chunk.js.map +0 -1
  35. package/build/static/js/371.60842581.chunk.js.map +0 -1
  36. package/build/static/js/409.0b3df370.chunk.js +0 -2
  37. package/build/static/js/409.0b3df370.chunk.js.map +0 -1
  38. package/build/static/js/560.4d01281e.chunk.js +0 -2
  39. package/build/static/js/560.4d01281e.chunk.js.map +0 -1
  40. package/build/static/js/737.76692b09.chunk.js +0 -2
  41. package/build/static/js/737.76692b09.chunk.js.map +0 -1
  42. package/build/static/js/868.43103624.chunk.js.map +0 -1
  43. package/build/static/js/906.24196de2.chunk.js +0 -2
  44. package/build/static/js/906.24196de2.chunk.js.map +0 -1
  45. package/build/static/js/main.b0d63299.js +0 -3
  46. /package/api/{socket/channel/app.js → services/notification/channel/app-channel.js} +0 -0
  47. /package/build/static/js/{313.a7c0a03a.chunk.js.LICENSE.txt → 313.0dd4a9dc.chunk.js.LICENSE.txt} +0 -0
  48. /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
@@ -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, sendToRelay } = require('@blocklet/sdk/lib/util/send-notification');
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
- return sendToUser(
33
- connectedDid,
34
- message,
35
- {
36
- appDid: wallet.address,
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
@@ -33,7 +33,6 @@ module.exports = {
33
33
  passportColor: "${passportColor}",
34
34
  serverDid: "${info.did}",
35
35
  serverVersion: "${info.version}",
36
- mode: "${info.mode}"
37
36
  }`);
38
37
  });
39
38
  },
@@ -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('../../../package.json').name}:notification`);
9
+ const logger = require('@abtnode/logger')(`${require('../../../../package.json').name}:notification`);
10
10
  const { ensureSender, parseNotification, broadcast, EVENTS } = require('../util');
11
- const states = require('../../state');
11
+ const states = require('../../../state');
12
12
 
13
13
  /**
14
14
  *
@@ -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('../../socket/channel/app');
13
- const { sendToDid } = require('../../socket/channel/did');
14
- const getHooksByChannel = require('../../socket/channel/hooks');
15
- const { getTokenInfo } = require('../../socket/util');
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
- const decoded = JWT.decode(token);
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 decoded = JWT.decode(payload.token);
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: ${info.did}`);
46
+ throw new Error(`verify did failed: ${did}`);
52
47
  }
53
48
 
54
49
  const hooks = getHooksByChannel(channel);
55
- await hooks.onAuthenticate({ channel, did: info.did, payload, node });
50
+ await hooks.onAuthenticate({ channel, did, payload, node });
51
+
52
+ const authInfo = { did };
56
53
 
57
- return info;
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 channel failed', { error });
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 app channel failed', { error });
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('../../package.json').name}:socket`);
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 getTokenInfo = (decoded) => ({
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
- getTokenInfo,
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.b0d63299.js",
5
- "static/js/560.4d01281e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/560.4d01281e.chunk.js",
6
- "static/js/255.4b68f586.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/255.4b68f586.chunk.js",
7
- "static/js/371.60842581.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/371.60842581.chunk.js",
8
- "static/js/737.76692b09.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/737.76692b09.chunk.js",
9
- "static/js/906.24196de2.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/906.24196de2.chunk.js",
10
- "static/js/868.43103624.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/868.43103624.chunk.js",
11
- "static/js/409.0b3df370.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/409.0b3df370.chunk.js",
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.a7c0a03a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/313.a7c0a03a.chunk.js",
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.b0d63299.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.b0d63299.js.map",
46
- "560.4d01281e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/560.4d01281e.chunk.js.map",
47
- "255.4b68f586.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/255.4b68f586.chunk.js.map",
48
- "371.60842581.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/371.60842581.chunk.js.map",
49
- "737.76692b09.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/737.76692b09.chunk.js.map",
50
- "906.24196de2.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/906.24196de2.chunk.js.map",
51
- "868.43103624.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/868.43103624.chunk.js.map",
52
- "409.0b3df370.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/409.0b3df370.chunk.js.map",
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.a7c0a03a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/313.a7c0a03a.chunk.js.map",
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.b0d63299.js"
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.b0d63299.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>
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":""}