@abtnode/util 1.16.23-beta-aeb9f5bd → 1.16.23-beta-7b5b0175

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.
@@ -18,7 +18,7 @@ const getDID = (address) => {
18
18
  return `did:abt:${address}`;
19
19
  };
20
20
 
21
- const update = ({ id, services, didRegistryUrl, wallet, alsoKnownAs = [] }) => {
21
+ const update = ({ id, services, didRegistryUrl, wallet, alsoKnownAs = [], blockletServerVersion }) => {
22
22
  debug('update did document', { didRegistryUrl });
23
23
 
24
24
  const did = getDID(wallet.address);
@@ -52,7 +52,10 @@ const update = ({ id, services, didRegistryUrl, wallet, alsoKnownAs = [] }) => {
52
52
 
53
53
  document.proof = proof;
54
54
 
55
- return axios.post(joinUrl(didRegistryUrl, '/.well-known/did-resolver/registries'), document, { timeout: 10 * 1000 });
55
+ return axios.post(joinUrl(didRegistryUrl, '/.well-known/did-resolver/registries'), document, {
56
+ timeout: 10 * 1000,
57
+ headers: { 'X-Blocklet-Server-Version': blockletServerVersion },
58
+ });
56
59
  };
57
60
 
58
61
  const updateWithRetry = (...args) => pRetry(() => update(...args), { retries: 3 });
@@ -76,7 +79,7 @@ const getServerServices = ({ ips, wallet, domain }) => {
76
79
  return services;
77
80
  };
78
81
 
79
- const getBlockletServices = ({ appPid, slpDid, daemonDidDomain, domain, slpDomain }) => {
82
+ const getBlockletServices = ({ appPid, slpDid, daemonDidDomain, domain, slpDomain, serverDid }) => {
80
83
  const records = [
81
84
  {
82
85
  type: 'CNAME',
@@ -92,6 +95,7 @@ const getBlockletServices = ({ appPid, slpDid, daemonDidDomain, domain, slpDomai
92
95
  rr: encodeBase32(slpDid),
93
96
  value: daemonDidDomain,
94
97
  domain: slpDomain,
98
+ derivedFrom: serverDid, // 用于验证 slpDid 的所有权是否合法
95
99
  });
96
100
  }
97
101
 
@@ -105,7 +109,7 @@ const getBlockletServices = ({ appPid, slpDid, daemonDidDomain, domain, slpDomai
105
109
  };
106
110
 
107
111
  // eslint-disable-next-line require-await
108
- const updateServerDocument = async ({ ips, wallet, didRegistryUrl, domain }) => {
112
+ const updateServerDocument = async ({ ips, wallet, didRegistryUrl, domain, blockletServerVersion }) => {
109
113
  const filteredIps = (ips || []).filter(Boolean);
110
114
  if (filteredIps.length === 0) {
111
115
  throw new Error('No DID Document to update');
@@ -113,7 +117,7 @@ const updateServerDocument = async ({ ips, wallet, didRegistryUrl, domain }) =>
113
117
 
114
118
  const services = getServerServices({ ips: filteredIps, domain, wallet });
115
119
 
116
- return updateWithRetry({ id: getDID(wallet.address), services, didRegistryUrl, wallet });
120
+ return updateWithRetry({ id: getDID(wallet.address), services, didRegistryUrl, wallet, blockletServerVersion });
117
121
  };
118
122
 
119
123
  const updateBlockletDocument = ({
@@ -125,11 +129,13 @@ const updateBlockletDocument = ({
125
129
  slpDomain,
126
130
  daemonDidDomain,
127
131
  alsoKnownAs = [],
132
+ serverDid,
133
+ blockletServerVersion,
128
134
  }) => {
129
135
  const { appPid } = blocklet;
130
136
 
131
- const services = getBlockletServices({ appPid, slpDid, daemonDidDomain, domain, slpDomain });
132
- return updateWithRetry({ id: appPid, services, didRegistryUrl, alsoKnownAs, wallet });
137
+ const services = getBlockletServices({ appPid, slpDid, daemonDidDomain, domain, slpDomain, serverDid });
138
+ return updateWithRetry({ id: appPid, services, didRegistryUrl, alsoKnownAs, wallet, blockletServerVersion });
133
139
  };
134
140
 
135
141
  module.exports = {
@@ -6,10 +6,7 @@ const axios = require('./axios');
6
6
  module.exports = async (name, { includePrereleases = false, limit = 60 } = {}) => {
7
7
  const {
8
8
  data: { time, versions },
9
- } = await Promise.race([
10
- axios.get(`https://registry.npmjs.org/${name}?t=${Date.now()}`),
11
- axios.get(`https://registry.npm.taobao.org/${name}?t=${Date.now()}`),
12
- ]);
9
+ } = await axios.get(`https://registry.npmjs.org/${name}?t=${Date.now()}`);
13
10
  const valid = semverSort.desc(semverClean(Object.keys(time), { includePrereleases, clean: true }));
14
11
 
15
12
  const result = valid
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.23-beta-aeb9f5bd",
6
+ "version": "1.16.23-beta-7b5b0175",
7
7
  "description": "ArcBlock's JavaScript utility",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -18,10 +18,10 @@
18
18
  "author": "polunzh <polunzh@gmail.com> (http://github.com/polunzh)",
19
19
  "license": "Apache-2.0",
20
20
  "dependencies": {
21
- "@abtnode/constant": "1.16.23-beta-aeb9f5bd",
22
- "@abtnode/logger": "1.16.23-beta-aeb9f5bd",
23
- "@blocklet/constant": "1.16.23-beta-aeb9f5bd",
24
- "@blocklet/meta": "1.16.23-beta-aeb9f5bd",
21
+ "@abtnode/constant": "1.16.23-beta-7b5b0175",
22
+ "@abtnode/logger": "1.16.23-beta-7b5b0175",
23
+ "@blocklet/constant": "1.16.23-beta-7b5b0175",
24
+ "@blocklet/meta": "1.16.23-beta-7b5b0175",
25
25
  "@ocap/client": "1.18.108",
26
26
  "@ocap/mcrypto": "1.18.108",
27
27
  "@ocap/util": "1.18.108",
@@ -36,7 +36,7 @@
36
36
  "cross-spawn": "^7.0.3",
37
37
  "dayjs": "^1.11.8",
38
38
  "debug": "^4.3.4",
39
- "fast-glob": "^3.2.12",
39
+ "fast-glob": "^3.3.2",
40
40
  "find-up": "^5.0.0",
41
41
  "fkill": "^7.2.1",
42
42
  "flush-write-stream": "^2.0.0",
@@ -73,8 +73,8 @@
73
73
  "cookie-signature": "^1.0.6",
74
74
  "detect-port": "^1.5.1",
75
75
  "express": "^4.18.2",
76
- "fs-extra": "^10.1.0",
76
+ "fs-extra": "^11.2.0",
77
77
  "jest": "^29.7.0"
78
78
  },
79
- "gitHead": "418cacd970d373aecc8706f8992e57369d394577"
79
+ "gitHead": "d1386002a4a10a65bf53cfca9754ea077c1d5983"
80
80
  }