@abtnode/blocklet-services 1.8.65 → 1.8.66-beta-7f4224af
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 +5 -1
- package/api/libs/connect/v1.js +46 -6
- package/api/routes/env.js +1 -0
- package/api/services/notification/index.js +17 -14
- package/api/services/relay/index.js +72 -0
- package/api/{services/notification/channel/did-channel.js → socket/channel/did.js} +2 -2
- package/api/{services/notification/channel/get-hooks-by-channel.js → socket/channel/hooks.js} +6 -2
- package/api/socket/channel/relay.js +28 -0
- package/api/{services/notification → socket}/util.js +6 -4
- package/build/asset-manifest.json +13 -13
- package/build/index.html +1 -1
- package/build/static/js/255.4b68f586.chunk.js +2 -0
- package/build/static/js/255.4b68f586.chunk.js.map +1 -0
- package/build/static/js/{371.ab486e50.chunk.js → 371.60842581.chunk.js} +2 -2
- package/build/static/js/371.60842581.chunk.js.map +1 -0
- package/build/static/js/409.118642d5.chunk.js +2 -0
- package/build/static/js/409.118642d5.chunk.js.map +1 -0
- package/build/static/js/560.67762e99.chunk.js +2 -0
- package/build/static/js/560.67762e99.chunk.js.map +1 -0
- package/build/static/js/906.4f68fe8e.chunk.js +2 -0
- package/build/static/js/906.4f68fe8e.chunk.js.map +1 -0
- package/build/static/js/main.836a9fd8.js +3 -0
- package/build/static/js/{main.b8bd2181.js.map → main.836a9fd8.js.map} +1 -1
- package/package.json +31 -31
- package/build/static/js/255.db03c1c4.chunk.js +0 -2
- package/build/static/js/255.db03c1c4.chunk.js.map +0 -1
- package/build/static/js/371.ab486e50.chunk.js.map +0 -1
- package/build/static/js/409.e1991d07.chunk.js +0 -2
- package/build/static/js/409.e1991d07.chunk.js.map +0 -1
- package/build/static/js/560.3efa5410.chunk.js +0 -2
- package/build/static/js/560.3efa5410.chunk.js.map +0 -1
- package/build/static/js/906.e4362664.chunk.js +0 -2
- package/build/static/js/906.e4362664.chunk.js.map +0 -1
- package/build/static/js/main.b8bd2181.js +0 -3
- /package/api/{services/notification/channel/app-channel.js → socket/channel/app.js} +0 -0
- /package/build/static/js/{main.b8bd2181.js.LICENSE.txt → main.836a9fd8.js.LICENSE.txt} +0 -0
package/api/index.js
CHANGED
|
@@ -26,6 +26,7 @@ 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');
|
|
29
30
|
const BlockletEventsNotifier = require('./services/notification/blocklet-events-notifier');
|
|
30
31
|
const { init: initAuth } = require('./services/auth');
|
|
31
32
|
const { init: initDashboard } = require('./services/dashboard');
|
|
@@ -82,7 +83,8 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
82
83
|
initStates(options.dataDir);
|
|
83
84
|
|
|
84
85
|
const { middlewares: authMiddlewares, routes: authRoutes, ensureWsUser } = initAuth({ node, options });
|
|
85
|
-
const notificationService = initNotification({ node
|
|
86
|
+
const notificationService = initNotification({ node });
|
|
87
|
+
const relayService = initRelay({ node });
|
|
86
88
|
const dashboardService = initDashboard({ node, ensureWsUser });
|
|
87
89
|
|
|
88
90
|
// Proxy engine
|
|
@@ -199,6 +201,7 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
199
201
|
// API: notification
|
|
200
202
|
notificationService.sendToUser.attach(server);
|
|
201
203
|
notificationService.sendToAppChannel.attach(server);
|
|
204
|
+
relayService.sendToRelay.attach(server);
|
|
202
205
|
|
|
203
206
|
// Middleware: auth info
|
|
204
207
|
server.use(authMiddlewares.bearerToken);
|
|
@@ -308,6 +311,7 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
308
311
|
|
|
309
312
|
// Notification
|
|
310
313
|
notificationService.attach(wsRouter);
|
|
314
|
+
relayService.attach(wsRouter);
|
|
311
315
|
dashboardService.attachWsServer(wsRouter);
|
|
312
316
|
|
|
313
317
|
// Only for Development
|
package/api/libs/connect/v1.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
+
const get = require('lodash/get');
|
|
2
3
|
const DiskStorage = require('@arcblock/did-auth-storage-nedb');
|
|
4
|
+
const { toAddress } = require('@ocap/util');
|
|
3
5
|
const { WalletAuthenticator } = require('@arcblock/did-auth');
|
|
6
|
+
const getBlockletInfo = require('@blocklet/meta/lib/info');
|
|
4
7
|
const WalletHandlers = require('@blocklet/sdk/lib/wallet-handler');
|
|
5
|
-
const { sendToUser } = require('@blocklet/sdk/lib/util/send-notification');
|
|
8
|
+
const { sendToUser, sendToRelay } = require('@blocklet/sdk/lib/util/send-notification');
|
|
6
9
|
const { WELLKNOWN_SERVICE_PATH_PREFIX, NODE_SERVICES_PREFIX } = require('@abtnode/constant');
|
|
7
10
|
|
|
11
|
+
const cache = require('../../cache');
|
|
8
12
|
const { appInfo, chainInfo } = require('./shared');
|
|
9
13
|
|
|
10
14
|
module.exports = (node, opts) => {
|
|
@@ -25,11 +29,47 @@ module.exports = (node, opts) => {
|
|
|
25
29
|
}),
|
|
26
30
|
sendNotificationFn: async (connectedDid, message, { req }) => {
|
|
27
31
|
const { wallet } = await req.getBlockletInfo();
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
+
);
|
|
33
73
|
},
|
|
34
74
|
};
|
|
35
75
|
|
package/api/routes/env.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
/* eslint-disable arrow-parens */
|
|
2
2
|
const JWT = require('@arcblock/jwt');
|
|
3
|
-
const { WsServer } = require('@arcblock/ws');
|
|
4
3
|
const Cron = require('@abtnode/cron');
|
|
4
|
+
const { WsServer } = require('@arcblock/ws');
|
|
5
|
+
|
|
5
6
|
// eslint-disable-next-line global-require
|
|
6
7
|
const logger = require('@abtnode/logger')(`${require('../../../package.json').name}:notification`);
|
|
7
8
|
|
|
8
9
|
const states = require('../../state');
|
|
9
10
|
const { PREFIXES } = require('../../util/constants');
|
|
10
11
|
|
|
11
|
-
const { sendToAppChannel } = require('
|
|
12
|
-
const { sendToDid } = require('
|
|
13
|
-
const getHooksByChannel = require('
|
|
14
|
-
const {
|
|
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');
|
|
15
16
|
|
|
16
17
|
const authenticateConnect = (req, cb) => {
|
|
17
18
|
const { searchParams } = new URL(req.url, `http://${req.headers.host || 'unknown'}`);
|
|
19
|
+
|
|
18
20
|
const token = searchParams.get('token');
|
|
19
21
|
const pk = searchParams.get('pk');
|
|
20
22
|
|
|
@@ -28,11 +30,14 @@ const authenticateConnect = (req, cb) => {
|
|
|
28
30
|
return;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
const decoded = JWT.decode(token);
|
|
34
|
+
const info = getTokenInfo(decoded);
|
|
35
|
+
cb(null, info);
|
|
32
36
|
};
|
|
33
37
|
|
|
34
38
|
const authenticateJoinChannel = async ({ topic: channel, payload, node }) => {
|
|
35
|
-
const
|
|
39
|
+
const decoded = JWT.decode(payload.token);
|
|
40
|
+
const info = getTokenInfo(decoded);
|
|
36
41
|
|
|
37
42
|
// Support the web wallet to continue to run for one day
|
|
38
43
|
//
|
|
@@ -43,15 +48,13 @@ const authenticateJoinChannel = async ({ topic: channel, payload, node }) => {
|
|
|
43
48
|
const tolerance = 3600 * 24;
|
|
44
49
|
|
|
45
50
|
if (!JWT.verify(payload.token, payload.pk, { tolerance })) {
|
|
46
|
-
throw new Error(`verify did failed: ${did}`);
|
|
51
|
+
throw new Error(`verify did failed: ${info.did}`);
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
const hooks = getHooksByChannel(channel);
|
|
50
|
-
await hooks.onAuthenticate({ channel, did, payload, node });
|
|
51
|
-
|
|
52
|
-
const authInfo = { did };
|
|
55
|
+
await hooks.onAuthenticate({ channel, did: info.did, payload, node });
|
|
53
56
|
|
|
54
|
-
return
|
|
57
|
+
return info;
|
|
55
58
|
};
|
|
56
59
|
|
|
57
60
|
const postJoinChannel = async ({ socket, topic: channel, payload, wsServer, node }) => {
|
|
@@ -111,7 +114,7 @@ const init = ({ node }) => {
|
|
|
111
114
|
await sendToDid({ ...req.body.data, node, wsServer });
|
|
112
115
|
res.status(200).send('');
|
|
113
116
|
} catch (error) {
|
|
114
|
-
logger.error('Send message to user failed', { error });
|
|
117
|
+
logger.error('Send message to user channel failed', { error });
|
|
115
118
|
res.statusMessage = error.message;
|
|
116
119
|
res.status(400).send(error.message);
|
|
117
120
|
}
|
|
@@ -122,7 +125,7 @@ const init = ({ node }) => {
|
|
|
122
125
|
await sendToAppChannel({ ...req.body.data, node, wsServer });
|
|
123
126
|
res.status(200).send('');
|
|
124
127
|
} catch (error) {
|
|
125
|
-
logger.error('Send message to channel failed', { error });
|
|
128
|
+
logger.error('Send message to app channel failed', { error });
|
|
126
129
|
res.statusMessage = error.message;
|
|
127
130
|
res.status(400).send(error.message);
|
|
128
131
|
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const { WsServer } = require('@arcblock/ws');
|
|
2
|
+
const { CHANNEL_TYPE, parseChannel } = require('@blocklet/meta/lib/channel');
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line global-require
|
|
5
|
+
const logger = require('@abtnode/logger')(`${require('../../../package.json').name}:relay`);
|
|
6
|
+
|
|
7
|
+
const { PREFIXES } = require('../../util/constants');
|
|
8
|
+
|
|
9
|
+
const { sendToRelay } = require('../../socket/channel/relay');
|
|
10
|
+
const getHooksByChannel = require('../../socket/channel/hooks');
|
|
11
|
+
|
|
12
|
+
const authenticateJoinChannel = async ({ topic: channel }) => {
|
|
13
|
+
// Skip client authentication for relay
|
|
14
|
+
const parsed = parseChannel(channel);
|
|
15
|
+
if (parsed.type === CHANNEL_TYPE.RELAY) {
|
|
16
|
+
return parsed;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
throw new Error(`Can not join non-relay channel: ${channel}`);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const postJoinChannel = async ({ socket, topic: channel, payload, wsServer, node }) => {
|
|
23
|
+
const hooks = getHooksByChannel(channel);
|
|
24
|
+
await hooks.onJoin({ socket, channel, payload, wsServer, node });
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const receiveMessage = async ({ socket, topic: channel, event, payload, wsServer, node }) => {
|
|
28
|
+
const hooks = getHooksByChannel(channel);
|
|
29
|
+
await hooks.onMessage({ socket, channel, event, payload, wsServer, node });
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const init = ({ node }) => {
|
|
33
|
+
const wsServer = new WsServer({
|
|
34
|
+
logger,
|
|
35
|
+
hooks: {
|
|
36
|
+
authenticateJoinChannel: (param) => authenticateJoinChannel({ ...param, wsServer, node }),
|
|
37
|
+
postJoinChannel: (param) => postJoinChannel({ ...param, wsServer, node }),
|
|
38
|
+
receiveMessage: (param) => receiveMessage({ ...param, wsServer, node }),
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const onSendToRelay = async (req, res) => {
|
|
43
|
+
try {
|
|
44
|
+
await sendToRelay({ ...req.body.data, node, wsServer });
|
|
45
|
+
res.status(200).send('');
|
|
46
|
+
} catch (error) {
|
|
47
|
+
logger.error('Send message to relay channel failed', { error });
|
|
48
|
+
res.statusMessage = error.message;
|
|
49
|
+
res.status(400).send(error.message);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// mount
|
|
54
|
+
return {
|
|
55
|
+
sendToRelay: {
|
|
56
|
+
attach: (app) => {
|
|
57
|
+
PREFIXES.forEach((prefix) => {
|
|
58
|
+
app.post(`${prefix}/relay/api/send-to-relay-channel`, onSendToRelay);
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
exec: (data) => sendToRelay({ ...data, node, wsServer }),
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
attach: (wsRouter) => {
|
|
65
|
+
PREFIXES.forEach((prefix) => {
|
|
66
|
+
wsRouter.use(`${prefix}/relay/websocket`, wsServer.onConnect.bind(wsServer));
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
module.exports = { init };
|
|
@@ -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/{services/notification/channel/get-hooks-by-channel.js → socket/channel/hooks.js}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const { CHANNEL_TYPE, parseChannel } = require('@blocklet/meta/lib/channel');
|
|
2
2
|
|
|
3
|
-
const AppChannel = require('./app
|
|
4
|
-
const DidChannel = require('./did
|
|
3
|
+
const AppChannel = require('./app');
|
|
4
|
+
const DidChannel = require('./did');
|
|
5
|
+
const ConnectChannel = require('./relay');
|
|
5
6
|
|
|
6
7
|
const getHooksByChannel = (channel) => {
|
|
7
8
|
const { type } = parseChannel(channel);
|
|
@@ -11,6 +12,9 @@ const getHooksByChannel = (channel) => {
|
|
|
11
12
|
if (type === CHANNEL_TYPE.APP) {
|
|
12
13
|
return AppChannel;
|
|
13
14
|
}
|
|
15
|
+
if (type === CHANNEL_TYPE.RELAY) {
|
|
16
|
+
return ConnectChannel;
|
|
17
|
+
}
|
|
14
18
|
|
|
15
19
|
throw new Error('Unknown channel type');
|
|
16
20
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const { CHANNEL_TYPE, parseChannel } = require('@blocklet/meta/lib/channel');
|
|
2
|
+
const { ensureSender, broadcast, EVENTS } = require('../util');
|
|
3
|
+
|
|
4
|
+
// Only a blocklet can send message to a relay channel
|
|
5
|
+
// But multiple clients can subscribe to the same relay channel
|
|
6
|
+
const sendToRelay = async ({ sender, channel, event = EVENTS.MESSAGE, data, node, wsServer }) => {
|
|
7
|
+
const info = parseChannel(channel);
|
|
8
|
+
if (info.type !== CHANNEL_TYPE.RELAY) {
|
|
9
|
+
throw new Error('Cannot send message to non-relay channel');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const nodeInfo = await node.getNodeInfo();
|
|
13
|
+
const result = await ensureSender({ sender, node, nodeInfo });
|
|
14
|
+
if (info.appDid !== result.wallet.address) {
|
|
15
|
+
throw new Error('Cannot sent message to relay channel of other app');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const socketFilters = { [`channel.${channel}.authInfo.topic`]: info.topic };
|
|
19
|
+
broadcast(wsServer, channel, event, data, { socketFilters });
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const onAuthenticate = () => {};
|
|
23
|
+
|
|
24
|
+
const onJoin = () => {};
|
|
25
|
+
|
|
26
|
+
const onMessage = () => {};
|
|
27
|
+
|
|
28
|
+
module.exports = { onAuthenticate, onJoin, onMessage, sendToRelay };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const { nanoid } = require('nanoid');
|
|
2
|
-
|
|
3
2
|
const JWT = require('@arcblock/jwt');
|
|
4
3
|
|
|
5
4
|
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}:socket`);
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @param {Object} notification
|
|
@@ -62,7 +62,9 @@ const ensureSender = async ({ sender, node, nodeInfo }) => {
|
|
|
62
62
|
return senderInfo;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
const
|
|
65
|
+
const getTokenInfo = (decoded) => ({
|
|
66
|
+
did: decoded.iss.replace(/^did:abt:/, ''),
|
|
67
|
+
});
|
|
66
68
|
|
|
67
69
|
const EVENTS = {
|
|
68
70
|
MESSAGE: 'message',
|
|
@@ -72,6 +74,6 @@ module.exports = {
|
|
|
72
74
|
parseNotification,
|
|
73
75
|
broadcast,
|
|
74
76
|
ensureSender,
|
|
75
|
-
|
|
77
|
+
getTokenInfo,
|
|
76
78
|
EVENTS,
|
|
77
79
|
};
|
|
@@ -1,14 +1,14 @@
|
|
|
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.
|
|
4
|
+
"main.js": "/.blocklet/proxy/blocklet-service/static/js/main.836a9fd8.js",
|
|
5
|
+
"static/js/560.67762e99.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/560.67762e99.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
8
|
"static/js/737.a6089895.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/737.a6089895.chunk.js",
|
|
9
|
-
"static/js/906.
|
|
9
|
+
"static/js/906.4f68fe8e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/906.4f68fe8e.chunk.js",
|
|
10
10
|
"static/js/868.c537e380.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/868.c537e380.chunk.js",
|
|
11
|
-
"static/js/409.
|
|
11
|
+
"static/js/409.118642d5.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/409.118642d5.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",
|
|
@@ -42,14 +42,14 @@
|
|
|
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.
|
|
45
|
+
"main.836a9fd8.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.836a9fd8.js.map",
|
|
46
|
+
"560.67762e99.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/560.67762e99.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
49
|
"737.a6089895.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/737.a6089895.chunk.js.map",
|
|
50
|
-
"906.
|
|
50
|
+
"906.4f68fe8e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/906.4f68fe8e.chunk.js.map",
|
|
51
51
|
"868.c537e380.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/868.c537e380.chunk.js.map",
|
|
52
|
-
"409.
|
|
52
|
+
"409.118642d5.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/409.118642d5.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",
|
|
@@ -64,6 +64,6 @@
|
|
|
64
64
|
},
|
|
65
65
|
"entrypoints": [
|
|
66
66
|
"static/css/main.632501d5.css",
|
|
67
|
-
"static/js/main.
|
|
67
|
+
"static/js/main.836a9fd8.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.836a9fd8.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],C=(0,l.useNavigate)(),S=(0,g.default)().setPassportId,k={},E=new URL(window.location.href).searchParams.get("id");return E&&(k.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)?C("".concat(v.WELLKNOWN_SERVICE_PATH_PREFIX,"/login"),{replace:!0}):C("/",{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,webWalletUrl:r,onSuccess:function(e){null!==e&&void 0!==e&&e.passportId&&S(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:k})})}));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.4b68f586.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/255.4b68f586.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 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","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":""}
|