@abtnode/blocklet-services 1.16.11-beta-069c3537 → 1.16.11-next-a232f5fb

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.
@@ -1,10 +1,7 @@
1
- const md5 = require('md5');
2
- const axios = require('axios');
3
- const logger = require('@abtnode/auth/lib/logger');
4
1
  const { getPassportStatusEndpoint, getApplicationInfo } = require('@abtnode/auth/lib/auth');
5
2
  const { createPassportVC } = require('@abtnode/auth/lib/passport');
6
3
  const { VC_TYPE_NODE_PASSPORT, PASSPORT_STATUS } = require('@abtnode/constant');
7
- const { parseUserAvatar } = require('@abtnode/util/lib/user');
4
+ const { parseUserAvatar, getAvatarByEmail, getAvatarByUrl } = require('@abtnode/util/lib/user');
8
5
  const { getBlockletAppIdList } = require('@blocklet/meta/lib/util');
9
6
  const pick = require('lodash/pick');
10
7
  const uniq = require('lodash/uniq');
@@ -12,41 +9,6 @@ const uniqBy = require('lodash/uniqBy');
12
9
 
13
10
  const { sendToUser } = require('../notification');
14
11
 
15
- function getEmailHash(email = '') {
16
- const cleanEmail = email.trim().toLowerCase();
17
- return md5(cleanEmail);
18
- }
19
-
20
- async function getAvatarByUrl(url, options = {}) {
21
- const { verbose = true } = options || {};
22
- try {
23
- const { data } = await axios.get(url, {
24
- responseType: 'arraybuffer',
25
- });
26
- const base64Content = Buffer.from(data, 'binary').toString('base64');
27
-
28
- return `data:image/png;base64,${base64Content}`;
29
- } catch (error) {
30
- if (verbose) {
31
- logger.error(`Fetch avatar failed: ${url}`, { error });
32
- return null;
33
- }
34
- throw error;
35
- }
36
- }
37
-
38
- async function getAvatarByEmail(email = '') {
39
- try {
40
- const emailHash = getEmailHash(email);
41
- const gravatarUrl = `https://www.gravatar.com/avatar/${emailHash}`;
42
- const avatarBase64 = await getAvatarByUrl(gravatarUrl, { verbose: false });
43
- return avatarBase64;
44
- } catch (error) {
45
- logger.error(`Fetch gravatar failed: ${email}`, { error });
46
- return null;
47
- }
48
- }
49
-
50
12
  // FIXME: @zhanghan 转移通行证目前只能颁发新的,会导致用户数据中产生多余的通行证
51
13
  async function transferPassport(fromUser, toUser, { req, teamDid, node, nodeInfo }) {
52
14
  if (!fromUser || !toUser) {
@@ -129,7 +91,6 @@ async function transferPassport(fromUser, toUser, { req, teamDid, node, nodeInfo
129
91
  }
130
92
 
131
93
  module.exports = {
132
- getEmailHash,
133
94
  getAvatarByUrl,
134
95
  getAvatarByEmail,
135
96
  transferPassport,
@@ -14,6 +14,10 @@ const checkRunning = async (req, res, next) => {
14
14
  ].includes(blocklet.status)
15
15
  ) {
16
16
  if (shouldGotoStartPage(req, blocklet)) {
17
+ // FIXME: @wangshijun how to validate this token or generate token here?
18
+ if (req.query.setupToken) {
19
+ res.cookie('login_token', req.query.setupToken, { maxAge: 24 * 60 * 60 * 1000 });
20
+ }
17
21
  if (blocklet.settings.initialized) {
18
22
  res.redirect(getRedirectUrl({ req, pagePath: '/start' }));
19
23
  } else {
@@ -1,10 +1,12 @@
1
1
  /* eslint-disable no-console */
2
2
  const fs = require('fs');
3
3
  const cloneDeep = require('lodash/cloneDeep');
4
- const joinUrl = require('url-join');
5
4
  const dayjs = require('dayjs');
6
5
  const JWT = require('@arcblock/jwt');
6
+ const joinUrl = require('url-join');
7
7
  const handleInstanceInStore = require('@abtnode/core/lib/util/public-to-store');
8
+ const { getPassportStatusEndpoint } = require('@abtnode/auth/lib/auth');
9
+ const { createPassportVC, createPassport, createUserPassport } = require('@abtnode/auth/lib/passport');
8
10
 
9
11
  const formatContext = require('@abtnode/util/lib/format-context');
10
12
  const { parseUserAvatar, getAvatarFile } = require('@abtnode/util/lib/user');
@@ -20,17 +22,9 @@ const {
20
22
  } = require('@abtnode/util/lib/logo-middleware');
21
23
  const formatName = require('@abtnode/util/lib/format-name');
22
24
  const { fixBlockletStatus, wipeSensitiveData, findComponentById } = require('@blocklet/meta/lib/util');
23
- const { WELLKNOWN_SERVICE_PATH_PREFIX, USER_AVATAR_PATH_PREFIX } = require('@abtnode/constant');
25
+ const { WELLKNOWN_SERVICE_PATH_PREFIX, USER_AVATAR_PATH_PREFIX, ROLES } = require('@abtnode/constant');
24
26
  const logger = require('@abtnode/logger')(require('../../package.json').name);
25
27
 
26
- const { getPassportStatusEndpoint } = require('@abtnode/auth/lib/auth');
27
-
28
- const {
29
- createPassportVC,
30
- createPassport,
31
- upsertToPassports,
32
- createUserPassport,
33
- } = require('@abtnode/auth/lib/passport');
34
28
  const { createDownloadLogStream } = require('@abtnode/util/lib/log');
35
29
 
36
30
  const { BlockletStatus } = require('@blocklet/constant');
@@ -137,7 +131,7 @@ module.exports = {
137
131
  const blocklet = await req.getBlocklet({ useCache: false });
138
132
 
139
133
  const { fromSetup } = req.body;
140
- const { did: userDid, role } = req.user;
134
+ const { did: userDid } = req.user;
141
135
 
142
136
  // eslint-disable-next-line no-unreachable
143
137
 
@@ -176,8 +170,7 @@ module.exports = {
176
170
  const user = await node.getUser({ teamDid, user: { did: userDid } });
177
171
  user.avatar = await parseUserAvatar(user.avatar, { dataDir: blocklet.env.dataDir });
178
172
 
179
- const { pk, locale = 'en', extra = {} } = user;
180
- const { baseUrl } = extra;
173
+ const { pk, locale = 'en' } = user;
181
174
 
182
175
  await node.setBlockletInitialized({ did: blocklet.meta.did, owner: { did: userDid, pk } });
183
176
 
@@ -193,52 +186,57 @@ module.exports = {
193
186
  }
194
187
  }
195
188
 
196
- // create vc
197
- const vc = createPassportVC({
198
- issuerName: name,
199
- issuerWallet: wallet,
200
- ownerDid: userDid,
201
- passport: await createPassport({
202
- name: role,
203
- node,
204
- teamDid,
205
- locale,
206
- endpoint: baseUrl,
207
- }),
208
- endpoint: getPassportStatusEndpoint({
209
- baseUrl: joinUrl(baseUrl, WELLKNOWN_SERVICE_PATH_PREFIX),
210
- userDid,
211
- teamDid,
212
- }),
213
- ownerProfile: user,
214
- preferredColor: passportColor,
215
- });
216
-
217
- // write passport to db
218
- const passport = createUserPassport(vc, { role });
219
- const result = await node.updateUser({
220
- teamDid,
221
- user: {
222
- did: userDid,
223
- pk,
224
- passports: upsertToPassports(user.passports || [], passport),
225
- },
226
- });
227
- await node.createAuditLog(
228
- {
229
- action: 'updateUser',
230
- args: { teamDid, passport, reason: 'setup blocklet' },
231
- context: formatContext(req),
232
- result,
233
- },
234
- node
235
- );
236
-
237
189
  // send notification to wallet
238
190
  const receiver = userDid;
239
191
  const token = JWT.sign(wallet.address, wallet.secretKey);
240
192
 
241
- if (!blocklet.settings.owner) {
193
+ // send passport to wallet if no passport for this user
194
+ const role = ROLES.OWNER;
195
+ const hasOwnerPassport = (user.passports || []).some((x) => x.name === role);
196
+ if (hasOwnerPassport === false) {
197
+ const appUrl = blocklet.environments.find((item) => item.key === 'BLOCKLET_APP_URL').value;
198
+
199
+ // create vc
200
+ const vc = createPassportVC({
201
+ issuerName: name,
202
+ issuerWallet: wallet,
203
+ ownerDid: userDid,
204
+ passport: await createPassport({
205
+ name: role,
206
+ node,
207
+ teamDid,
208
+ locale,
209
+ endpoint: appUrl,
210
+ }),
211
+ endpoint: getPassportStatusEndpoint({
212
+ baseUrl: joinUrl(appUrl, WELLKNOWN_SERVICE_PATH_PREFIX),
213
+ userDid,
214
+ teamDid,
215
+ }),
216
+ ownerProfile: user,
217
+ preferredColor: passportColor,
218
+ expirationDate: undefined,
219
+ });
220
+
221
+ // write passport to db
222
+ const passport = createUserPassport(vc, { role });
223
+ const result = await node.updateUser({
224
+ teamDid,
225
+ user: {
226
+ did: userDid,
227
+ passports: [passport],
228
+ },
229
+ });
230
+ await node.createAuditLog(
231
+ {
232
+ action: 'updateUser',
233
+ args: { teamDid, passport, reason: 'setup blocklet' },
234
+ context: formatContext(req),
235
+ result,
236
+ },
237
+ node
238
+ );
239
+
242
240
  // send owner vc
243
241
  const notificationText = {
244
242
  title: {
@@ -261,7 +259,7 @@ module.exports = {
261
259
  type: 'vc',
262
260
  data: {
263
261
  credential: vc,
264
- tag: role,
262
+ tag: ROLES.OWNER,
265
263
  },
266
264
  },
267
265
  ],
@@ -62,7 +62,7 @@ async function composeProfileData({ avatar, fullName, email }, { node, req, team
62
62
  }
63
63
  }
64
64
  if (avatar) {
65
- avatarLocal = await getAvatarByUrl(avatar);
65
+ avatarLocal = avatar.startsWith('data:') ? avatar : await getAvatarByUrl(avatar);
66
66
  }
67
67
  if (avatarLocal) {
68
68
  const nodeInfo = await req.getNodeInfo();
@@ -1,4 +1,5 @@
1
1
  const nocache = require('nocache');
2
+ const joinUrl = require('url-join');
2
3
  const SealedBox = require('tweetnacl-sealedbox-js');
3
4
  const { decodeEncryptionKey } = require('@abtnode/util/lib/security');
4
5
  const { WELLKNOWN_SERVICE_PATH_PREFIX, USER_AVATAR_URL_PREFIX, USER_AVATAR_PATH_PREFIX } = require('@abtnode/constant');
@@ -17,9 +18,9 @@ module.exports = {
17
18
  }
18
19
 
19
20
  const teamDid = req.getBlockletDid();
21
+ // FIXME: this code have performance issue
20
22
  const user = await node.getUser({ teamDid, user: { did: req.user.did } });
21
23
  if (req.user.role) {
22
- // FIXME: this code may have performance issue
23
24
  const rbac = await node.getRBAC(teamDid);
24
25
  user.permissions = await rbac.getScope(req.user.role);
25
26
  user.role = req.user.role;
@@ -29,6 +30,12 @@ module.exports = {
29
30
  user.avatar = `${WELLKNOWN_SERVICE_PATH_PREFIX}${USER_AVATAR_PATH_PREFIX}/${
30
31
  user.avatar.split('/').slice(-1)[0]
31
32
  }`;
33
+
34
+ if (req.headers['x-avatar-host'] === '1') {
35
+ const blocklet = await req.getBlocklet();
36
+ const appUrl = blocklet.environmentObj.BLOCKLET_APP_URL;
37
+ user.avatar = joinUrl(appUrl, user.avatar);
38
+ }
32
39
  }
33
40
 
34
41
  const encKey = '_ek_';
package/api/util/index.js CHANGED
@@ -133,6 +133,7 @@ const getRedirectUrl = ({ req, pagePath }) => {
133
133
  redirectUrlObj.searchParams.delete('__start__');
134
134
  redirectUrlObj.searchParams.delete('serverUrl');
135
135
  redirectUrlObj.searchParams.delete('fromLauncher');
136
+ redirectUrlObj.searchParams.delete('setupToken');
136
137
  redirectUrlObj.searchParams.delete('launchType');
137
138
  redirectUrlObj.searchParams.delete('nftId');
138
139
  redirectUrlObj.searchParams.delete('chainHost');
@@ -1,28 +1,28 @@
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.badcc6cc.js",
5
- "static/js/716.0d2a2d32.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/716.0d2a2d32.chunk.js",
6
- "static/js/359.c47779c2.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/359.c47779c2.chunk.js",
4
+ "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.941e7207.js",
5
+ "static/js/716.b48e64d9.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/716.b48e64d9.chunk.js",
6
+ "static/js/359.d6450ee2.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/359.d6450ee2.chunk.js",
7
7
  "static/js/255.279b1bca.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/255.279b1bca.chunk.js",
8
8
  "static/js/371.f67a06b4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/371.f67a06b4.chunk.js",
9
- "static/js/737.38028d6a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/737.38028d6a.chunk.js",
10
- "static/js/158.4e4fac79.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/158.4e4fac79.chunk.js",
9
+ "static/js/737.5fbeda50.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/737.5fbeda50.chunk.js",
10
+ "static/js/158.ca656ebd.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/158.ca656ebd.chunk.js",
11
11
  "static/js/868.ac8df3a0.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/868.ac8df3a0.chunk.js",
12
12
  "static/js/547.03d5d719.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/547.03d5d719.chunk.js",
13
- "static/js/343.5944a507.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/343.5944a507.chunk.js",
13
+ "static/js/343.7deaa08f.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/343.7deaa08f.chunk.js",
14
14
  "static/js/682.a8bf723a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/682.a8bf723a.chunk.js",
15
15
  "static/js/711.56427a24.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/711.56427a24.chunk.js",
16
16
  "static/js/437.075e8453.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/437.075e8453.chunk.js",
17
17
  "static/js/690.afb99ee7.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/690.afb99ee7.chunk.js",
18
18
  "static/js/42.c390a3f4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/42.c390a3f4.chunk.js",
19
- "static/js/189.70043381.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/189.70043381.chunk.js",
19
+ "static/js/189.f876739c.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/189.f876739c.chunk.js",
20
20
  "static/js/162.8c29e450.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/162.8c29e450.chunk.js",
21
21
  "static/js/610.40349d57.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/610.40349d57.chunk.js",
22
22
  "static/css/387.bcbdad69.chunk.css": "/.blocklet/proxy/blocklet-service/static/css/387.bcbdad69.chunk.css",
23
- "static/js/387.cbcd76fa.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/387.cbcd76fa.chunk.js",
23
+ "static/js/387.55ad5515.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/387.55ad5515.chunk.js",
24
24
  "static/js/199.3d76c24b.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/199.3d76c24b.chunk.js",
25
- "static/js/573.b071429e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/573.b071429e.chunk.js",
25
+ "static/js/573.be050716.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/573.be050716.chunk.js",
26
26
  "static/media/ubuntu-mono-all-400-normal.woff": "/.blocklet/proxy/blocklet-service/static/media/ubuntu-mono-all-400-normal.c879328bc62e9c68268f.woff",
27
27
  "static/media/lato-all-400-normal.woff": "/.blocklet/proxy/blocklet-service/static/media/lato-all-400-normal.3dc1eff492ab1f598560.woff",
28
28
  "static/media/iconify.cjs": "/.blocklet/proxy/blocklet-service/static/media/iconify.212917dd32288c600255.cjs",
@@ -45,31 +45,31 @@
45
45
  "router-template-styles/styles.css": "/.blocklet/proxy/blocklet-service/router-template-styles/styles.css",
46
46
  "index.html": "/.blocklet/proxy/blocklet-service/index.html",
47
47
  "main.632501d5.css.map": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css.map",
48
- "main.badcc6cc.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.badcc6cc.js.map",
49
- "716.0d2a2d32.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/716.0d2a2d32.chunk.js.map",
50
- "359.c47779c2.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/359.c47779c2.chunk.js.map",
48
+ "main.941e7207.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.941e7207.js.map",
49
+ "716.b48e64d9.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/716.b48e64d9.chunk.js.map",
50
+ "359.d6450ee2.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/359.d6450ee2.chunk.js.map",
51
51
  "255.279b1bca.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/255.279b1bca.chunk.js.map",
52
52
  "371.f67a06b4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/371.f67a06b4.chunk.js.map",
53
- "737.38028d6a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/737.38028d6a.chunk.js.map",
54
- "158.4e4fac79.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/158.4e4fac79.chunk.js.map",
53
+ "737.5fbeda50.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/737.5fbeda50.chunk.js.map",
54
+ "158.ca656ebd.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/158.ca656ebd.chunk.js.map",
55
55
  "868.ac8df3a0.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/868.ac8df3a0.chunk.js.map",
56
56
  "547.03d5d719.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/547.03d5d719.chunk.js.map",
57
- "343.5944a507.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/343.5944a507.chunk.js.map",
57
+ "343.7deaa08f.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/343.7deaa08f.chunk.js.map",
58
58
  "682.a8bf723a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/682.a8bf723a.chunk.js.map",
59
59
  "711.56427a24.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/711.56427a24.chunk.js.map",
60
60
  "437.075e8453.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/437.075e8453.chunk.js.map",
61
61
  "690.afb99ee7.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/690.afb99ee7.chunk.js.map",
62
62
  "42.c390a3f4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/42.c390a3f4.chunk.js.map",
63
- "189.70043381.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/189.70043381.chunk.js.map",
63
+ "189.f876739c.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/189.f876739c.chunk.js.map",
64
64
  "162.8c29e450.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/162.8c29e450.chunk.js.map",
65
65
  "610.40349d57.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/610.40349d57.chunk.js.map",
66
66
  "387.bcbdad69.chunk.css.map": "/.blocklet/proxy/blocklet-service/static/css/387.bcbdad69.chunk.css.map",
67
- "387.cbcd76fa.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/387.cbcd76fa.chunk.js.map",
67
+ "387.55ad5515.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/387.55ad5515.chunk.js.map",
68
68
  "199.3d76c24b.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/199.3d76c24b.chunk.js.map",
69
- "573.b071429e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/573.b071429e.chunk.js.map"
69
+ "573.be050716.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/573.be050716.chunk.js.map"
70
70
  },
71
71
  "entrypoints": [
72
72
  "static/css/main.632501d5.css",
73
- "static/js/main.badcc6cc.js"
73
+ "static/js/main.941e7207.js"
74
74
  ]
75
75
  }
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.badcc6cc.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.941e7207.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([[158],{21158:function(e,n,t){t.r(n),t.d(n,{default:function(){return ln}});var r,i=t(71171),o=t(33028),a=t(32723),s=t(34795),c=t(30969),l=t(30734),u=t(16380),d=t(19611),p=t.n(d),f=t(54470),h=t(38361),m=t(90445),x=t(71464),v=t(75255),g=t(42167),b=t(94308),j=t(56229),y=t(19006),k=t(47650),w=t(20244),Z=t(7017),P=t(59505),O=t(38507),C=t(92174),S=t(4485),E=t(17660),L=t(7284),N=t(33359),_=t(81721),B=t(99811),T=t(37574);function A(e){var n=e.onNext,t=(0,g.useLocaleContext)(),r=t.t,i=t.locale,o=(0,S.Tt)(),l=o.api,u=o.session,d=(0,L.useSecurity)().encryptKey,f=(0,E.default)((0,s.Z)((0,a.Z)().mark((function e(){var n,t,r,i,o,s;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=new URL(window.location.href)).pathname=p()(null!==(n=null===(t=window)||void 0===t||null===(r=t.env)||void 0===r?void 0:r.apiPrefix)&&void 0!==n?n:"/","/api/did/setup/token"),i.searchParams.set("_ek_",d),e.next=5,l.get(i.href);case 5:return o=e.sent,s=o.data,e.abrupt("return",s);case 8:case"end":return e.stop()}}),e)}))));(0,c.useEffect)((function(){u.user&&n()}),[u.user,n]);var h=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(t,r){var i;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=Array.isArray(t)?t.find((function(e){return e.sessionToken})):t,(0,O.ZB)(r(i.sessionToken)),e.prev=2,e.next=5,u.refresh();case 5:n(),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(2),B.default.error(e.t0.message);case 11:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(n,t){return e.apply(this,arguments)}}();return!f.value||f.loading||u.loading?(0,T.jsx)(_.default,{relative:"parent",children:(0,T.jsx)(b.Z,{})}):f.error?(0,T.jsx)(_.default,{relative:"parent",children:(0,T.jsx)(N.Z,{children:f.error.message})}):(0,T.jsx)(D,{popup:!0,open:!0,hideCloseButton:!0,action:"pre-setup",checkFn:l.get,checkTimeout:6e5,webWalletUrl:(0,O.yP)(),onSuccess:h,locale:i,messages:{title:r("setup.connect.title"),scan:r("setup.connect.scan"),confirm:r("setup.connect.confirm"),success:r("setup.connect.success")},extraParams:{setup:!0,nw:f.value.url}})}A.defaultProps={onNext:function(){}};var I,R,W,D=(0,u.default)(L.default)(r||(r=(0,i.Z)(["\n .action-info-desc {\n padding: 0 72px;\n }\n"]))),K=t(59740),F=t(68079),U=t(96234),M=t(88674),z=t.n(M),q=t(12700),H=t.n(q),G=t(43260),Y=t.n(G),V=t(79476),X=t(65063),Q=t(47768),$=t(98465),J=(0,u.default)($.Z)(I||(I=(0,i.Z)(["\n display: flex;\n flex-direction: column;\n padding-bottom: 16px;\n "," {\n padding-top: 34px;\n padding-bottom: 34px;\n }\n .header {\n width: 100%;\n margin-bottom: 34px;\n "," {\n margin-bottom: 64px;\n }\n }\n .container-main {\n position: relative;\n flex: 1;\n width: 100%;\n }\n .container-inner {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n overflow-y: auto;\n }\n"])),(function(e){return e.theme.breakpoints.up("md")}),(function(e){return e.theme.breakpoints.up("md")})),ee=t(88029);function ne(e){var n=e.blocklet,t=e.onStartNow,r=e.children,i=e.disabled,o=(0,g.useLocaleContext)().t;return!n||(0,O.bg)(n.meta)?(0,T.jsx)(te,{children:r}):(0,T.jsxs)(re,{children:[(0,T.jsx)(ee.default,{className:"start-now",variant:"contained",color:"primary",disabled:i,onClick:function(){return t()},children:o("setup.startNow")}),(0,T.jsx)(h.Z,{display:"flex",alignItems:"center",children:r})]})}ne.defaultProps={blocklet:null,onStartNow:function(){},children:null,disabled:!1};var te=(0,u.default)(h.Z)(R||(R=(0,i.Z)(["\n padding-top: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n .bottom-button {\n min-width: 200px;\n }\n "," {\n .bottom-button {\n min-width: 150px;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")})),re=(0,u.default)(h.Z)(W||(W=(0,i.Z)(["\n padding-bottom: 48px;\n padding-top: 24px;\n margin: 0 auto;\n width: 80%;\n display: flex;\n align-items: center;\n justify-content: space-around;\n .start-now {\n min-width: 140px;\n }\n .bottom-button {\n min-width: 120px;\n }\n "," {\n width: 100%;\n }\n\n "," {\n .start-now {\n min-width: 100px;\n }\n .bottom-button {\n min-width: 80px;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("lg")}),(function(e){return e.theme.breakpoints.down("md")})),ie=t(33665);function oe(e){var n=Object.assign({},((0,ie.Z)(e),e));return(0,T.jsx)(ee.default,(0,o.Z)({className:"bottom-button",variant:"contained",color:"primary"},n))}var ae=["childDid"],se=["value"];function ce(e){var n=e.onNext,t=e.onPrevious,r=(0,v.Z)((function(e){return e.breakpoints.down("md")})),i=(0,g.useLocaleContext)().t,l=(0,c.useState)(!1),u=(0,U.Z)(l,2),d=u[0],p=u[1],f=(0,c.useState)(null),m=(0,U.Z)(f,2),x=m[0],b=m[1],j=(0,C.y0)(),y=j.blocklet,k=j.actions,w=(y.configs||[]).filter((function(e){return!P.BLOCKLET_CONFIGURABLE_KEY[e.key]})),O=y.environments.find((function(e){return"BLOCKLET_PASSPORT_COLOR"===e.key})),S=[{key:P.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,description:i("blocklet.config.name"),value:y.environments.find((function(e){return"BLOCKLET_APP_NAME"===e.key})).value},{key:P.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,description:i("blocklet.config.description"),value:y.environments.find((function(e){return"BLOCKLET_APP_DESCRIPTION"===e.key})).value},{key:P.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,description:i("blocklet.config.passportColor"),value:O?O.value:"auto",componentType:"passport",componentProps:{blocklet:y}}],E=[];(0,Z.forEachChildSync)(y,(function(e,n){var t=n.ancestors.slice(1).map((function(e){return e.meta.did}));E.push((e.configs||[]).map((function(n){return(0,o.Z)((0,o.Z)({},n),{},{childDid:t.concat(e.meta.did)})})))})),y.meta.group===P.BlockletGroup.gateway&&(w=w.filter((function(e){return!e.secure&&e.shared})));var L=H()(Y()([].concat((0,F.Z)(w),E)),"key").filter((function(e){return!!e.key})).sort((function(e,n){return e.required&&!n.required?-1:n.required&&!e.required?1:0})),N=(0,Z.getAppMissingConfigs)(y).length,_=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t,r,i;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=x.childDid,r=(0,K.Z)(x,ae),i=[(0,o.Z)((0,o.Z)({},z()(r,["componentType","componentProps"])),{},{value:n})],e.prev=2,p(!0),e.next=6,k.configBlocklet({configs:i,childDid:t});case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(2),B.default.error(e.t0.message);case 11:return e.prev=11,p(!1),e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[2,8,11,14]])})));return function(n){return e.apply(this,arguments)}}(),A={},I=[].concat(S,(0,F.Z)(L)).map((function(e){var n=e.value,t=(0,K.Z)(e,se);return A[e.key]=n,(0,o.Z)({},t)}));return(0,T.jsxs)(J,{children:[(0,T.jsx)("div",{className:"header",style:{marginBottom:16},children:(0,T.jsx)(Q.default,{title:i("setup.config.title"),subTitle:i("setup.config.subTitle"),onClickBack:function(){t()}})}),(0,T.jsx)("div",{className:"container-main",children:(0,T.jsx)("div",{className:"container-inner",children:(0,T.jsx)(X.Z,{bottom:(0,T.jsx)(ne,{mt:8,disabled:d||x,blocklet:y,onStartNow:function(){return n("complete")},children:(0,T.jsx)(h.Z,{display:"flex",alignItems:"center",children:(0,T.jsx)(oe,{disabled:d||N||x,onClick:function(){k.refreshFuel({showError:!1}),n()},children:i("setup.next")})})}),children:(0,T.jsx)(V.default,{style:{margin:"0 auto 20px",width:"80%",paddingTop:r?0:38},loading:d,schema:I,defaultValue:A,onChange:function(e,n){var t=n.action,r=n.currentItem;"edit"===t?b(r):["cancel","confirm"].includes(t)&&b(null),"confirm"===t&&_(e[r.key])}})})})})]})}ce.defaultProps={onNext:function(){},onPrevious:function(){}};var le,ue=t(11162);function de(e){var n,t,r=e.onNext,i=e.onPrevious,o=(0,c.useContext)(g.LocaleContext).t,a=(0,c.useState)(""),s=(0,U.Z)(a,1)[0],l=(0,C.y0)().blocklet,u=(0,c.useMemo)((function(){var e;return(null===(e=l.environments.find((function(e){return e.key===P.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPACE_ENDPOINT})))||void 0===e?void 0:e.value)||""}),[l]);return(0,T.jsxs)(fe,{children:[(0,T.jsx)("div",{className:"header",children:(0,T.jsx)(Q.default,{title:o("setup.didSpace.title"),subTitle:o("setup.didSpace.subTitle"),onClickBack:i})}),(0,T.jsx)(ue.default,{sx:{marginTop:"24px",marginBottom:"40px"}}),u&&(0,T.jsx)(h.Z,{color:"text.secondary",children:(0,T.jsx)(h.Z,{display:"flex",children:(0,T.jsxs)(h.Z,{display:"inline",children:[o("setup.didSpace.tips"),": \xa0"," ",(0,T.jsx)(h.Z,{display:"inline",color:"primary.main",fontWeight:"fontWeightBold",children:o("setup.didSpace.connected")})]})})}),"required"===(null===l||void 0===l||null===(n=l.capabilities)||void 0===n?void 0:n.didSpace)&&(0,T.jsx)(ne,{mt:8,children:(0,T.jsx)(oe,{loading:!!s,disabled:!u,onClick:function(){return r()},children:s||o("setup.next")})}),"optional"===(null===l||void 0===l||null===(t=l.capabilities)||void 0===t?void 0:t.didSpace)&&(0,T.jsx)(ne,{mt:8,disabled:!!s,blocklet:l,onStartNow:function(){return r("complete")},children:(0,T.jsx)(oe,{loading:!!s,disabled:!!s,onClick:function(){return r()},children:s||o(u?"setup.continue":"setup.skip")})})]})}de.defaultProps={onNext:function(){},onPrevious:function(){}};var pe,fe=(0,u.default)(J)(le||(le=(0,i.Z)(["\n height: 100%;\n overflow-y: auto;\n"]))),he=de,me=t(87006),xe=t(85710),ve=t(65724),ge=t(62068),be=t(99042),je=t(48952),ye=function(e){return["waiting","creating","renewaling"].includes(null===e||void 0===e?void 0:e.status)},ke=function(e,n){return new Promise((function(t,r){var i=setInterval((0,s.Z)((0,a.Z)().mark((function o(){var s,c;return(0,a.Z)().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,je.Z.findCertificateByDomain({input:{domain:e,did:n}});case 3:if(s=o.sent,"generated"!==(null===(c=s.cert)||void 0===c?void 0:c.status)){o.next=9;break}return clearInterval(i),t(!0),o.abrupt("return");case 9:ye(c)||(clearInterval(i),t(!1)),o.next=16;break;case 12:o.prev=12,o.t0=o.catch(0),clearInterval(i),r(o.t0);case 16:case"end":return o.stop()}}),o,null,[[0,12]])}))),1e3)}))},we=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n,t,r){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,je.Z.issueLetsEncryptCert({input:{domain:n,did:r}});case 2:return e.abrupt("return",ke(n,r));case 3:case"end":return e.stop()}}),e)})));return function(n,t,r){return e.apply(this,arguments)}}();function Ze(e){var n,t=e.onNext,r=e.onPrevious,i=(0,c.useContext)(g.LocaleContext),o=i.t,l=i.locale,u=(0,c.useState)(""),d=(0,U.Z)(u,2),p=d[0],f=d[1],m=(0,c.useState)(!1),x=(0,U.Z)(m,2),v=x[0],b=x[1],j=(0,C.y0)().blocklet,y=(0,c.useState)(""),k=(0,U.Z)(y,2),w=k[0],P=k[1],O=(0,c.useState)(!1),S=(0,U.Z)(O,2),E=S[0],L=S[1],N=((null===j||void 0===j?void 0:j.site)||{}).domainAliases||[],_=(null===(n=N.filter((function(e){return!e.isProtected}))[0])||void 0===n?void 0:n.value)||"",A=N.filter((function(e){return e.isProtected})).map((function(e){return(0,Z.replaceSlotToIp)(e.value,w)})),I=(0,c.useState)(_),R=(0,U.Z)(I,2),W=R[0],D=R[1],K=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(o("setup.domain.addingDomain")),e.next=3,(0,xe.sleep)(1500);case 3:if(N.some((function(e){return e.value===W}))){e.next=8;break}return e.next=6,je.Z.addDomainAlias({input:{id:j.site.id,domainAlias:W,teamDid:j.meta.did}});case 6:return e.next=8,je.Z.takeRoutingSnapshot({input:{dryRun:!1,message:"add domain ".concat(W," from blocklet services")}});case 8:return e.next=10,je.Z.configBlocklet({input:{did:[j.meta.did],configs:[{key:ve.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL,value:"http".concat(n?"s":"","://").concat(W)}]}});case 10:t();case 11:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),F=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n,t,r,i,s;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,f(o("setup.domain.checkingResolvable")),e.next=6,(0,xe.sleep)(1500);case 6:return e.next=8,be.Z.get("/dns-resolve?hostname=".concat(W));case 8:if(n=e.sent,t=n.data.address){e.next=12;break}throw new Error(o("setup.domain.cannotResolve",{domain:W}));case 12:if(t===w){e.next=14;break}throw new Error(o("setup.domain.resolvedAddressError",{domain:W,curDomain:window.location.hostname}));case 14:return f(o("setup.domain.addingCert")),r=!1,e.next=18,je.Z.findCertificateByDomain({input:{domain:W,did:j.meta.did}});case 18:if(i=e.sent,s=i.cert){e.next=26;break}return e.next=23,we(W,l,j.meta.did);case 23:r=e.sent,e.next=39;break;case 26:if("generated"!==s.status){e.next=30;break}r=!0,e.next=39;break;case 30:if(!["waiting","creating","renewaling"].includes(s.status)){e.next=36;break}return e.next=33,ke(W,j.meta.did);case 33:r=e.sent,e.next=39;break;case 36:return e.next=38,we(W,l,j.meta.did);case 38:r=e.sent;case 39:r?K(r):L(!0),e.next=46;break;case 42:e.prev=42,e.t0=e.catch(2),B.default.error(e.t0.message),f("");case 46:case"end":return e.stop()}}),e,null,[[2,42]])})));return function(){return e.apply(this,arguments)}}();return(0,c.useEffect)((function(){be.Z.get("/dns-resolve?hostname=".concat(window.location.hostname)).then((function(e){var n=e.data;P(n.address||"")})).catch((function(e){console.error(e.message)}))}),[]),(0,T.jsxs)(Pe,{children:[(0,T.jsx)("div",{className:"header",children:(0,T.jsx)(Q.default,{title:o("setup.domain.title"),subTitle:o("setup.domain.subTitle"),onClickBack:r})}),E&&(0,T.jsx)(ge.default,{PaperProps:{style:{minHeight:"auto"}},open:E,showCloseButton:!1,title:o("setup.domain.genCertFailed"),actions:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(oe,{color:"reverse",onClick:function(){f(""),L(!1)},children:o("setup.cancel")}),(0,T.jsx)(oe,{color:"primary",variant:"contained",onClick:function(){L(!1),K(!1)},children:o("setup.confirm")})]}),children:o("setup.domain.certFailedDesc")}),(0,T.jsxs)(h.Z,{className:"form",children:[(0,T.jsxs)(h.Z,{children:[(0,T.jsxs)(h.Z,{mb:1,color:"text.primary",fontWeight:"fontWeightBold",children:[(0,T.jsx)(h.Z,{display:"inline",children:o("setup.domain.skipStart")}),(0,T.jsx)(oe,{variant:"text",size:"small",disabled:!!p,onClick:function(){return t()},style:{paddingTop:0},children:(0,T.jsx)("span",{style:{textDecoration:"underline"},children:o("setup.domain.skip")})}),(0,T.jsx)(h.Z,{display:"inline",children:o("setup.domain.skipEnd")})]}),A.map((function(e){return(0,T.jsx)(h.Z,{component:"li",fontWeight:"fontWeightBold",color:"primary.main",children:e})})),(0,T.jsx)(h.Z,{mt:1,fontWeight:"fontWeightBold",color:"text.secondary",children:o("setup.domain.certTip")}),(0,T.jsx)(h.Z,{})]}),(0,T.jsx)(h.Z,{mt:4,fontWeight:"fontWeightBold",children:o("setup.domain.subTitle")}),(0,T.jsx)(me.Z,{style:{marginTop:16,minHeight:64},label:o("setup.domain.label"),fullWidth:!0,value:W,onChange:function(e){var n=e.target.value;D(n);var t=(0,xe.validateDomain)(n,l);b(t)},autoFocus:!0,size:"small",variant:"outlined",error:!!v,helperText:v}),W&&(0,T.jsxs)(h.Z,{color:"text.secondary",children:[(0,T.jsxs)(h.Z,{display:"flex",children:[o("setup.domain.tipStart"),(0,T.jsx)(h.Z,{mx:.5,color:"primary.main",fontWeight:"fontWeightBold",children:W}),o("setup.domain.tipEnd")]}),(0,T.jsxs)(h.Z,{component:"li",children:[o("setup.domain.recordType"),":"," ",(0,T.jsx)(h.Z,{display:"inline",fontWeight:"fontWeightBold",color:"primary.main",children:"A"})]}),(0,T.jsxs)(h.Z,{component:"li",children:[o("setup.domain.recordValue"),":"," ",(0,T.jsx)(h.Z,{display:"inline",fontWeight:"fontWeightBold",color:"primary.main",children:w})]})]})]}),(0,T.jsx)(ne,{mt:8,disabled:!!p,blocklet:j,onStartNow:function(){return t("complete")},children:W?(0,T.jsx)(oe,{loading:!!p,disabled:v||!!p||!W,onClick:function(){return F()},children:p||o("setup.next")}):(0,T.jsx)(oe,{variant:"outlined",disabled:!!p,onClick:function(){return t()},children:o("setup.skip")})})]})}Ze.defaultProps={onNext:function(){},onPrevious:function(){}};var Pe=(0,u.default)(J)(pe||(pe=(0,i.Z)(["\n height: 100%;\n overflow-y: auto;\n .form {\n width: 580px;\n word-break: break-all;\n "," {\n width: 80%;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")})),Oe=t(33248),Ce=t(97517),Se=t(49884),Ee=t(87535),Le=t(88876),Ne=t(94702),_e=t(15508),Be=t(55829),Te=t(6779),Ae=t(94551);function Ie(e){var n=e.children,t=(0,g.useLocaleContext)().t;return(0,T.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[n,(0,T.jsx)(Te.Z,{title:t("blocklet.config.access.publicInstanceTip"),children:(0,T.jsx)(Ae.Z,{children:(0,T.jsx)(Be.default,{fontSize:"small"})})})]})}var Re,We=(0,c.memo)(Ie);function De(e){var n=e.onNext,t=(0,Ne.default)(),r=(0,g.useLocaleContext)(),i=r.t,o=r.locale,l=(0,c.useState)(!1),u=(0,U.Z)(l,2),d=u[0],p=u[1],f=(0,c.useState)(""),m=(0,U.Z)(f,2),x=m[0],v=m[1],b=(0,c.useState)(!1),j=(0,U.Z)(b,2),y=j[0],k=j[1],P=(0,C.y0)(),O=P.blocklet,S=P.actions,E=P.getPublicInstance;(0,c.useEffect)((function(){v((0,Z.getWhoCanAccess)(O)),k(E(O))}),[O]);var L=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,p(!0),e.next=4,(0,xe.sleep)(800);case 4:return e.next=6,S.configWhoCanAccess(n);case 6:p(!1),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(0),p(!1),B.default.error(e.t0.message);case 13:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(n){return e.apply(this,arguments)}}(),N=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!d){e.next=2;break}return e.abrupt("return");case 2:return v(n.target.value),e.next=5,L(n.target.value);case 5:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),_=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.target.checked,e.prev=1,p(!0),e.next=5,S.configPublicToStore(t);case 5:p(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(1),p(!1),B.default.error(e.t0.message);case 12:case"end":return e.stop()}}),e,null,[[1,8]])})));return function(n){return e.apply(this,arguments)}}(),A={marginRight:4,fontSize:18,verticalAlign:"text-bottom",color:t.palette.text.secondary};return(0,T.jsxs)(Ue,{children:[(0,T.jsx)("div",{className:"header",children:(0,T.jsx)(Q.default,{title:i("blocklet.config.access.description")})}),(0,T.jsx)(Ee.Z,{component:"fieldset",children:(0,T.jsx)(Ce.Z,{name:"inherit",value:x,onChange:N,children:_e.default.map((function(e){return(0,T.jsxs)("div",{style:{marginBottom:16},children:[(0,T.jsx)(Se.Z,{value:e.value,control:(0,T.jsx)(Oe.Z,{color:"primary"}),label:(0,T.jsxs)("span",{children:[(0,T.jsx)(e.icon,{style:A}),e.title[o]]})}),(0,T.jsxs)(h.Z,{className:"tip",children:[e.description[o],e.value===w.WHO_CAN_ACCESS.ALL&&x===w.WHO_CAN_ACCESS.ALL&&"registry"===O.source&&(0,T.jsx)(We,{children:(0,T.jsx)(Se.Z,{style:{marginRight:0},value:e.value,control:(0,T.jsx)(Le.Z,{size:"small"}),label:(0,T.jsx)("span",{children:i("blocklet.config.access.publicToStore")}),onChange:_,checked:y,disabled:d})})]})]},e.value)}))})}),(0,T.jsx)(ne,{mt:8,disabled:d,blocklet:O,onStartNow:function(){return n("complete")},children:(0,T.jsx)(h.Z,{display:"flex",alignItems:"center",children:(0,T.jsx)(oe,{loading:d,disabled:d,onClick:function(){return n()},children:i("setup.continue")})})})]})}De.defaultProps={onNext:function(){}};var Ke,Fe,Ue=(0,u.default)(J)(Re||(Re=(0,i.Z)(["\n height: 100%;\n overflow-y: auto;\n .header {\n width: 100%;\n }\n .tip {\n margin-left: 32px;\n font-size: 12px;\n margin-top: -8px;\n color: ",";\n }\n"])),(function(e){return e.theme.palette.text.secondary})),Me=u.default.span(Ke||(Ke=(0,i.Z)(["\n color: ",";\n &::before {\n content: '*';\n }\n"])),(function(e){return e.theme.palette.error.main})),ze=t(622),qe=t(11909),He=t(51193),Ge=t.n(He);function Ye(e){var n=e.onNext,t=e.onPrevious,r=(0,c.useContext)(g.LocaleContext),i=r.locale,a=r.t,s=(0,C.y0)(),l=s.blocklet,u=s.gas,d=s.tokenInfo,f=s.actions,m=(0,S.Tt)().api,x=(0,c.useState)(!1),v=(0,U.Z)(x,2),j=v[0],y=v[1],k=u||{},w=k.need,Z=void 0===w?"":w,P=k.current,O=void 0===P?"":P,E=k.owe,N=void 0===E?99999:E,_=k.deficiency,B=k.symbol,A=void 0===B?"":B,I=k.endpoint,R=(I?new URL(I):{}).origin,W=void 0===R?"/":R;(0,c.useEffect)((function(){var e=setInterval((function(){f.refreshFuel()}),2e3);return function(){clearInterval(e)}}),[]);return u?(0,T.jsxs)($e,{children:[(0,T.jsx)("div",{className:"header",children:(0,T.jsx)(Q.default,{title:a("setup.fuel.title"),onClickBack:t})}),(0,T.jsxs)(h.Z,{className:"qr-body",children:[(0,T.jsxs)(h.Z,{mb:6,className:"tip",children:[a("setup.fuel.tipStart").replace("slot",""),(0,T.jsx)("span",{className:"amount",children:"".concat(Z," ").concat(A)}),a("setup.fuel.tipEnd")]}),(0,T.jsx)(h.Z,{fontSize:16,fontWeight:"fontWeightBold",mb:.5,children:a("setup.fuel.addressTitle")}),(0,T.jsxs)(h.Z,{display:"flex",alignItems:"center",children:[(0,T.jsx)(Ge(),{className:"address",children:l.appDid}),(0,T.jsx)(ze.Z,{style:{lineHeight:1},target:"_blank",href:p()(W,"/explorer/accounts/",l.appDid),underline:"hover",children:(0,T.jsx)(qe.default,{className:"icon-launch"})})]}),(0,T.jsx)(h.Z,{my:2,children:(0,T.jsx)(oe,{color:"primary",onClick:function(){return y(!0)},disabled:!N,children:a("setup.fuel.fuelApp")})}),(0,T.jsx)(L.default,{popup:!0,open:j,action:"fuel",checkFn:m.get,checkTimeout:6e5,onSuccess:function(){y(!1)},onClose:function(){return y(!1)},locale:i,messages:{title:a("setup.connect.title"),scan:a("setup.connect.scan"),confirm:a("setup.connect.confirm"),success:a("setup.connect.success")},extraParams:(0,o.Z)((0,o.Z)({amount:_},d),{},{endpoint:I})}),(0,T.jsxs)(h.Z,{display:"flex",color:"text.secondary",children:[(0,T.jsxs)(h.Z,{display:"flex",children:[(0,T.jsxs)(h.Z,{children:[a("setup.fuel.need"),":"]}),(0,T.jsx)(h.Z,{ml:.5,color:"primary.main",fontWeight:"fontWeightBold",children:Z})]}),(0,T.jsxs)(h.Z,{display:"flex",ml:3,children:[(0,T.jsxs)(h.Z,{children:[a("setup.fuel.current"),":"]}),(0,T.jsx)(h.Z,{ml:.5,color:N>0?"error.main":"primary.main",fontWeight:"fontWeightBold",children:O})]})]})]}),(0,T.jsx)(ne,{mt:8,children:(0,T.jsx)(oe,{disabled:N>0,onClick:function(){return n()},children:a("setup.next")})})]}):(0,T.jsx)(h.Z,{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",children:(0,T.jsx)(b.Z,{})})}Ye.defaultProps={onNext:function(){},onPrevious:function(){}};var Ve,Xe,Qe,$e=(0,u.default)(J)(Fe||(Fe=(0,i.Z)(["\n .qr-body {\n width: 580px;\n "," {\n width: 80%;\n }\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .tip {\n font-size: 16px;\n font-weight: bold;\n }\n\n .address {\n width: 100%;\n text-align: center;\n }\n\n .amount {\n color: ",";\n }\n\n .icon-launch {\n font-size: 16px;\n margin-left: 6px;\n line-height: 1;\n color: ",";\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.palette.primary.main}),(function(e){return e.theme.palette.primary.main})),Je=t(67615),en=t(23426),nn=(0,u.default)(en.default)(Ve||(Ve=(0,i.Z)(["\n && .result-footer {\n height: 120px;\n > div {\n flex-wrap: wrap;\n }\n }\n"])));function tn(e){var n=e.onPrevious,t=(0,g.useLocaleContext)().t,r=(0,c.useState)(!1),i=(0,U.Z)(r,2),o=i[0],l=i[1],u=(0,c.useState)("starting"),d=(0,U.Z)(u,2),p=d[0],f=d[1],m=(0,c.useState)(),x=(0,U.Z)(m,2),v=x[0],j=x[1],y=(0,C.y0)().blocklet,k=(0,c.useState)(""),w=(0,U.Z)(k,2),Z=w[0],P=w[1],S=(0,O.tX)("fromLauncher"),E=!["starting","running"].includes(p),L="starting"===p,N={stopped:t("blocklet.start"),starting:t("blocklet.starting"),running:t("blocklet.open")},_=function(){var e=new URL(window.location.href).searchParams.get("redirect");window.location.href=e?new URL(e,Z).href:Z},A=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n,r,i,o,s;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),f("starting"),e.prev=2,e.next=5,be.Z.post("/blocklet/start",{fromSetup:!0});case 5:return e.next=7,je.Z.getBlocklet({input:{did:y.meta.did}});case 7:n=e.sent,r=n.blocklet,i=(void 0===r?{}:r).status,l(!1),f(i),j("running"===i?null:t("setup.complete.notRunning")),e.next=23;break;case 16:e.prev=16,e.t0=e.catch(2),s=(null===e.t0||void 0===e.t0||null===(o=e.t0.response)||void 0===o?void 0:o.data)||e.t0.message,B.default.error(s),l(!1),f("stopped"),j(s);case 23:case"end":return e.stop()}}),e,null,[[2,16]])})));return function(){return e.apply(this,arguments)}}();(0,c.useEffect)((function(){f(y.status),["starting","running"].includes(y.status)||A()}),[]),(0,c.useEffect)((function(){var e=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,Je.evaluateURLs)(y.site.domainAliases.map((function(e){return(0,xe.getAccessUrl)(e.value,O.Bq)})));case 2:(n=e.sent).length>0&&P(n[0].url);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();Z||e()}),[y,Z]);var I=localStorage.getItem("blocklet-server-url"),R=v?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(h.Z,{children:t("setup.complete.failedTitle")}),(0,T.jsx)(h.Z,{fontSize:14,color:"#888",mt:1,children:v})]}):t("setup.complete.title"),W=L||!Z;return S&&!W&&(E?A():_()),(0,T.jsx)(rn,{children:(0,T.jsx)(nn,{variant:v?"error":"success",title:R,footer:(0,T.jsxs)(ne,{children:[E&&(0,T.jsx)(oe,{variant:"outlined",disabled:o,onClick:function(){return n()},children:t("setup.previous")}),S?(0,T.jsxs)(sn,{rel:"noreferrer",children:[(0,T.jsx)(b.Z,{size:16,style:{marginRight:14}})," ",t("common.redirecting")]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(oe,{style:{marginLeft:E?24:0},disabled:o||L,onClick:function(){return E?A():_()},loading:W,children:N[p]||N.stopped}),("running"===p||v)&&!!I&&(0,T.jsx)(h.Z,{width:"100%",mt:2,children:(0,T.jsx)("a",{href:I,target:"_blank",rel:"noopener noreferrer",className:"back-to-server-link",children:t("setup.complete.backToServer")})})]})]})})})}var rn=(0,u.default)(J)(Xe||(Xe=(0,i.Z)(["\n justify-content: center;\n .icon-success {\n width: 64px;\n height: 64px;\n color: ",";\n }\n .back-to-server-link {\n color: ",";\n }\n"])),(function(e){return e.theme.palette.success.main}),(function(e){return e.theme.palette.primary.main}));tn.defaultProps={onPrevious:function(){}};var on,an,sn=u.default.a(Qe||(Qe=(0,i.Z)(["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 36px;\n color: ",";\n"])),(function(e){return e.theme.palette.primary.main})),cn=t(5954);function ln(){var e,n,t,r=(0,v.Z)((function(e){return e.breakpoints.down("md")})),i=(0,g.useLocaleContext)(),u=i.t,d=i.locale,x=(0,l.useNavigate)(),E=(0,C.y0)(),L=E.meta,N=E.blocklet,_=E.actions,B=localStorage.getItem("blocklet-server-url"),I=(0,O.tX)("fromLauncher");(0,c.useEffect)((function(){_.refreshMeta(),_.refreshBlocklet({showError:!1}),(0,O.NU)()}),[]),(0,c.useEffect)((function(){_.refreshFuel({showError:!1})}),[null===N||void 0===N||null===(e=N.meta)||void 0===e?void 0:e.did]);var R="".concat(w.WELLKNOWN_SERVICE_PATH_PREFIX,"/setup"),W=[{key:"connect",name:u("setup.steps.connect"),path:p()(R,"connect")},{key:"access",name:u("setup.steps.access"),path:p()(R,"access")},{key:"domain",name:u("setup.steps.domain"),path:p()(R,"domain")},function(e){var n,t=null===e||void 0===e||null===(n=e.capabilities)||void 0===n?void 0:n.didSpace;if(!t)return null;if(t===P.BLOCKLET_APP_SPACE_ENDPOINTS.REQUIRED)return{key:"did-space",name:(0,T.jsxs)(T.Fragment,{children:[u("setup.steps.didSpace")," ",(0,T.jsx)(Me,{})]}),path:p()(R,"did-space")};if(t===P.BLOCKLET_APP_SPACE_ENDPOINTS.OPTIONAL)return{key:"did-space",name:(0,T.jsx)(T.Fragment,{children:u("setup.steps.didSpace")}),path:p()(R,"did-space")};throw new Error("capabilities.didSpace cannot take the value ".concat(t))}(N),{key:"config",name:(0,T.jsxs)(T.Fragment,{children:[u("setup.steps.config")," ",(0,O.o2)(L)&&(0,T.jsx)(Me,{})]}),path:p()(R,"config")},null!==L&&void 0!==L&&null!==(n=L.requirements)&&void 0!==n&&null!==(t=n.fuels)&&void 0!==t&&t.length?{key:"fuel",name:(0,T.jsxs)(T.Fragment,{children:[u("setup.steps.fuel")," ",(0,T.jsx)(Me,{})]}),path:p()(R,"fuel")}:null].filter(Boolean),D=W.findIndex((function(e){return"".concat(O.Bq.replace(/\/$/,"")).concat(R,"/").concat(e.key)===window.location.pathname})),K=p()(O.Bq,w.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),F=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t,r,i;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new URL(window.location.href),r=t.search,n?(i=W.findIndex((function(e){return e.key===n})),x(i>-1?"".concat(p()(R,W[i].key)).concat(r):"".concat(p()(R,"complete")).concat(r))):W[D+1]?x("".concat(p()(R,W[D+1].key)).concat(r)):x("".concat(p()(R,"complete")).concat(r)),e.next=4,_.refreshBlocklet();case 4:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),U=function(){x(-1)};function M(e,n){return N?(0,T.jsx)(e,(0,o.Z)((0,o.Z)({blocklet:N},n),{},{onNext:F,onPrevious:U})):(0,T.jsx)(h.Z,{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",children:(0,T.jsx)(b.Z,{})})}var z=function(){window.open(B)},q=r?(0,T.jsx)(y.Z,{onClick:z,width:"32",height:"32",style:{cursor:"pointer"}}):(0,T.jsx)(k.Z,{onClick:z,width:"128",height:"48",style:{marginTop:-1,cursor:"pointer"}}),H=[{key:"install",name:u("launchBlocklet.steps.installApp"),path:p()(R,"install")},{key:"setup",name:u("setup.steps.launchApp"),children:W}],G=[{key:"agreement",name:u("launchBlocklet.introduction"),path:p()(R,"agreement")}].concat(H);return I&&(G=[{key:"purchase-space",name:u("launchBlocklet.steps.purchaseSpace")},{key:"prepare-space",name:u("launchBlocklet.steps.prepareSpace")}].concat(H)),(0,T.jsx)(dn,{steps:G,children:(0,T.jsxs)(cn.cK,{children:[(0,T.jsx)(f.Global,{styles:un}),(0,T.jsx)(m.default,{locale:d,blockletMeta:(0,o.Z)((0,o.Z)({},L),{},{title:(0,Z.getDisplayName)((0,o.Z)((0,o.Z)({},N),{},{meta:L}))}),navLogo:q,pcWidth:"80%",style:{height:"100%"},logoUrl:K,useOfSkeleton:!1,headerEndAddons:(0,T.jsx)(j.Z,{SessionContext:S.B3,sessionManagerProps:{disableLogout:!0}}),launchingText:u("setup.title"),children:(0,T.jsxs)(l.Routes,{children:[(0,T.jsx)(l.Route,{path:"connect",element:(0,T.jsx)(A,{onNext:F})}),(0,T.jsx)(l.Route,{path:"domain",element:M(Ze)}),(0,T.jsx)(l.Route,{path:"did-space",element:M(he)}),(0,T.jsx)(l.Route,{path:"config",element:M(ce)}),(0,T.jsx)(l.Route,{path:"access",element:M(De)}),(0,T.jsx)(l.Route,{path:"fuel",element:M(Ye)}),(0,T.jsx)(l.Route,{path:"complete",element:M(tn)}),(0,T.jsx)(l.Route,{path:"*",element:(0,T.jsx)(l.Navigate,{to:"connect".concat(window.location.search),replace:!0})})]})})]})})}var un=(0,f.css)(on||(on=(0,i.Z)(["\n html,\n body,\n #root,\n #root > .wrapper {\n height: 100%;\n }\n"]))),dn=(0,u.default)(x.StepProvider)(an||(an=(0,i.Z)([""])))},65724:function(e,n,t){var r=this&&this.__createBinding||(Object.create?function(e,n,t,r){void 0===r&&(r=t);var i=Object.getOwnPropertyDescriptor(n,t);i&&!("get"in i?!n.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,r,i)}:function(e,n,t,r){void 0===r&&(r=t),e[r]=n[t]}),i=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(n,t)||r(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),i(t(59505),n)},98465:function(e,n,t){n.Z=f;var r,i=c(t(16380)),o=c(t(24974)),a=t(37574),s=["children"];function c(e){return e&&e.__esModule?e:{default:e}}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function u(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n,t){return(n=function(e){var n=function(e,n){if("object"!==typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"===typeof n?n:String(n)}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function f(e){var n=e.children,t=p(e,s);return(0,a.jsx)(x,u(u({},t),{},{children:n}))}f.propTypes={children:o.default.any.isRequired};var h,m,x=i.default.div(r||(h=["\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n\n .header {\n text-align: center;\n }\n\n .body {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 30px;\n width: 100%;\n min-height: 200px;\n flex: 1;\n\n "," {\n padding: 24px;\n }\n\n "," {\n padding: 0 16px 16px;\n }\n }\n\n .footer {\n display: flex;\n justify-content: center;\n\n "," {\n padding-bottom: 34px;\n }\n\n "," {\n margin-top: auto;\n padding-bottom: 10px;\n }\n }\n"],m||(m=h.slice(0)),r=Object.freeze(Object.defineProperties(h,{raw:{value:Object.freeze(m)}}))),(function(e){return e.theme.breakpoints.up("md")}),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.breakpoints.up("sm")}),(function(e){return e.theme.breakpoints.down("md")}))},56229:function(e,n,t){n.Z=b;var r,i=t(30969),o=m(t(16380)),a=m(t(24974)),s=m(t(98623)),c=t(86822),l=m(t(85820)),u=m(t(71847)),d=t(42167),p=m(t(46513)),f=m(t(91077)),h=t(37574);function m(e){return e&&e.__esModule?e:{default:e}}function x(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function v(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?x(Object(t),!0).forEach((function(n){g(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):x(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function g(e,n,t){return(n=function(e){var n=function(e,n){if("object"!==typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"===typeof n?n:String(n)}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function b(e){var n=e.SessionContext,t=e.extraItems,r=e.showLocale,o=e.showHelper,a=e.showSessionManager,m=e.sessionManagerProps,x=(0,i.useContext)(n).session,g=(0,i.useContext)(d.LocaleContext).locale,b=(0,c.useLocation)(),j={"/store":{endpoint:"https://store.blocklet.io"},"/dashboard":{path:"/conceptual/overview"},"/settings/router":{path:"/conceptual/server-architecture"}};return(0,h.jsxs)(k,{children:[t.map((function(e,n){return(0,i.cloneElement)(e,{key:n})})),r&&(0,h.jsx)(u.default,{"data-cy":"locale-addon",icon:p.default,size:23,showText:!1,className:"locale-addon"}),o&&(0,h.jsx)(s.default,{onClick:function(){var e=b.pathname,n={};e.indexOf("/store")>-1?n=j["/store"]:j[e]&&(n=j[e]),window.open("".concat(n.endpoint||"https://developer.blocklet.io/docs","/").concat(g).concat(n.path||""),"_blank")},children:(0,h.jsx)(f.default,{})}),a&&(0,h.jsx)(l.default,v({locale:g,session:x,size:24,showRole:!0},m))]})}b.propTypes={SessionContext:a.default.object.isRequired,webWalletUrl:a.default.string,extraItems:a.default.array,showLocale:a.default.bool,showSessionManager:a.default.bool,showHelper:a.default.bool,sessionManagerProps:a.default.object},b.defaultProps={webWalletUrl:"",extraItems:[],showLocale:!0,showSessionManager:!0,showHelper:!0,sessionManagerProps:{}};var j,y,k=o.default.div(r||(j=["\n display: flex;\n justify-content: center;\n align-items: center;\n\n .MuiIconButton-root svg {\n width: 26px;\n height: 26px;\n }\n\n .user-addon {\n .user-avatar {\n width: 28px;\n border-radius: 14px;\n height: auto;\n }\n }\n\n "," {\n > button,\n > a {\n padding-left: 8px;\n padding-right: 8px;\n }\n }\n"],y||(y=j.slice(0)),r=Object.freeze(Object.defineProperties(j,{raw:{value:Object.freeze(y)}}))),(function(e){return e.theme.breakpoints.down("md")}))}}]);
2
+ //# sourceMappingURL=158.ca656ebd.chunk.js.map