@keplr-wallet/background 0.11.18-alpha.1 → 0.11.18-alpha.2

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.
@@ -22,4 +22,5 @@ export declare class ChainUpdaterService {
22
22
  rest: string | undefined;
23
23
  }>;
24
24
  resetChainEndpoints(chainId: string): Promise<ChainInfoWithCoreTypes[]>;
25
+ protected checkChainIdFromRPC(rpc: string): Promise<string>;
25
26
  }
@@ -44,7 +44,7 @@ class ChainUpdaterService {
44
44
  }
45
45
  const features = (_a = chainInfo.features) !== null && _a !== void 0 ? _a : [];
46
46
  for (const add of local.features) {
47
- if (!features.find((f) => f !== add)) {
47
+ if (!features.includes(add)) {
48
48
  features.push(add);
49
49
  }
50
50
  }
@@ -88,29 +88,39 @@ class ChainUpdaterService {
88
88
  console.log(`The chainId is not valid.(${chainId} -> ${fetchedChainIdentifier})`);
89
89
  return false;
90
90
  }
91
- let updated = false;
91
+ let repoUpdated = false;
92
92
  const prevFetchedChainInfo = yield this.kvStore.get("updated-chain-info/" + chainIdentifier);
93
93
  if (!prevFetchedChainInfo ||
94
94
  common_1.sortedJsonByKeyStringify(prevFetchedChainInfo) !==
95
95
  common_1.sortedJsonByKeyStringify(chainInfo)) {
96
- updated = true;
97
- }
98
- if (updated) {
96
+ repoUpdated = true;
99
97
  chainInfo = yield chain_validator_1.validateBasicChainInfoType(chainInfo);
100
98
  yield this.kvStore.set("updated-chain-info/" + chainIdentifier, chainInfo);
101
99
  this.chainsService.clearCachedChainInfos();
102
100
  }
103
101
  const updatedChainInfo = yield this.chainsService.getChainInfo(chainId);
102
+ let chainIdUpdated = false;
103
+ const chainIdFromRPC = yield this.checkChainIdFromRPC(updatedChainInfo.rpc);
104
+ if (cosmos_1.ChainIdHelper.parse(chainIdFromRPC).identifier !== chainIdentifier) {
105
+ throw new Error(`Chain id is different from rpc: (expected: ${chainId}, actual: ${chainIdFromRPC})`);
106
+ }
107
+ if (updatedChainInfo.chainId !== chainIdFromRPC) {
108
+ chainIdUpdated = true;
109
+ const local = yield this.kvStore.get(chainIdentifier);
110
+ yield this.kvStore.set(chainIdentifier, Object.assign(Object.assign({}, local), { chainId: chainIdFromRPC }));
111
+ }
104
112
  const toUpdateFeatures = yield chain_validator_1.checkChainFeatures(updatedChainInfo);
105
- updated = toUpdateFeatures.length !== 0;
106
- if (updated) {
113
+ const featuresUpdated = toUpdateFeatures.length !== 0;
114
+ if (featuresUpdated) {
107
115
  const local = yield this.kvStore.get(chainIdentifier);
108
116
  yield this.kvStore.set(chainIdentifier, Object.assign(Object.assign({}, local), { features: [
109
117
  ...new Set([...toUpdateFeatures, ...((_a = local === null || local === void 0 ? void 0 : local.features) !== null && _a !== void 0 ? _a : [])]),
110
118
  ] }));
119
+ }
120
+ if (chainIdUpdated || featuresUpdated) {
111
121
  this.chainsService.clearCachedChainInfos();
112
122
  }
113
- return updated;
123
+ return repoUpdated || chainIdUpdated || featuresUpdated;
114
124
  }
115
125
  catch (e) {
116
126
  console.log(`Failed to try to update chain info for ${chainId}`, e);
@@ -158,6 +168,14 @@ class ChainUpdaterService {
158
168
  return yield this.chainsService.getChainInfos();
159
169
  });
160
170
  }
171
+ checkChainIdFromRPC(rpc) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const statusResponse = yield axios_1.default.get("/status", {
174
+ baseURL: rpc,
175
+ });
176
+ return statusResponse.data.result.node_info.network;
177
+ });
178
+ }
161
179
  }
162
180
  exports.ChainUpdaterService = ChainUpdaterService;
163
181
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/updater/service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAyE;AACzE,iDAAqD;AAErD,mEAGuC;AACvC,kDAA0B;AAE1B,MAAa,mBAAmB;IAG9B,YACqB,OAAgB,EAChB,sBAGlB;QAJkB,YAAO,GAAP,OAAO,CAAS;QAChB,2BAAsB,GAAtB,sBAAsB,CAGxC;IACA,CAAC;IAEJ,IAAI,CAAC,aAA4B;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEK,gBAAgB,CAAC,MAAiB;;YACtC,MAAM,eAAe,GAAG,sBAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;YAEvE,IAAI,SAAS,GAAc,MAAM,CAAC;YAElC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAC7C,qBAAqB,GAAG,eAAe,CACxC,CAAC;YAEF,IAAI,gBAAgB,EAAE;gBACpB,SAAS,GAAG,gBAAgB,CAAC;aAC9B;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAqB,eAAe,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE;gBACT,SAAS,mCACJ,SAAS,GACT;oBACD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO;oBAC3C,QAAQ,EAAE,CAAC,GAAG,EAAE;;wBACd,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;4BACnB,OAAO,SAAS,CAAC,QAAQ,CAAC;yBAC3B;wBAED,MAAM,QAAQ,SAAG,SAAS,CAAC,QAAQ,mCAAI,EAAE,CAAC;wBAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;4BAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;gCACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACpB;yBACF;wBAED,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC,EAAE;iBACL,CACF,CAAC;aACH;YAED,8DAA8D;YAC9D,mEAAmE;YACnE,qGAAqG;YACrG,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE;gBACvE,SAAS,mCACJ,SAAS,KACZ,iBAAiB,EAAE,CAAC,GAAG,EAAE;;wBACvB,IAAI,GAAG,SAAG,SAAS,CAAC,iBAAiB,mCAAI,EAAE,CAAC;wBAE5C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE;4BACvC,OAAO,GAAG,CAAC;yBACZ;wBAED,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;wBAElC,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,EAAE,GACL,CAAC;aACH;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE/D,uCACK,SAAS,KACZ,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,EACnC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IACtC;QACJ,CAAC;KAAA;IAEK,kBAAkB,CAAC,OAAe;;;YACtC,IACE,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,EACvE;gBACA,OAAO,KAAK,CAAC;aACd;YAED,IAAI;gBACF,MAAM,eAAe,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;gBAEhE,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CACzB,WAAW,eAAe,OAAO,EACjC;oBACE,OAAO,EAAE,qCAAqC,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,OAAO;iBAC1I,CACF,CAAC;gBAEF,IAAI,SAAS,GAAc,GAAG,CAAC,IAAI,CAAC;gBAEpC,MAAM,sBAAsB,GAAG,sBAAa,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;qBAClE,UAAU,CAAC;gBACd,IAAI,eAAe,KAAK,sBAAsB,EAAE;oBAC9C,OAAO,CAAC,GAAG,CACT,6BAA6B,OAAO,OAAO,sBAAsB,GAAG,CACrE,CAAC;oBACF,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACjD,qBAAqB,GAAG,eAAe,CACxC,CAAC;gBACF,IACE,CAAC,oBAAoB;oBACrB,iCAAwB,CAAC,oBAAoB,CAAC;wBAC5C,iCAAwB,CAAC,SAAS,CAAC,EACrC;oBACA,OAAO,GAAG,IAAI,CAAC;iBAChB;gBAED,IAAI,OAAO,EAAE;oBACX,SAAS,GAAG,MAAM,4CAA0B,CAAC,SAAS,CAAC,CAAC;oBAExD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,qBAAqB,GAAG,eAAe,EACvC,SAAS,CACV,CAAC;oBAEF,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;iBAC5C;gBAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACxE,MAAM,gBAAgB,GAAG,MAAM,oCAAkB,CAAC,gBAAgB,CAAC,CAAC;gBAEpE,OAAO,GAAG,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;gBAExC,IAAI,OAAO,EAAE;oBACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAClC,eAAe,CAChB,CAAC;oBAEF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAqB,eAAe,kCACrD,KAAK,KACR,QAAQ,EAAE;4BACR,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,OAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC,CAAC;yBAC9D,IACD,CAAC;oBAEH,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;iBAC5C;gBAED,OAAO,OAAO,CAAC;aAChB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;aACrE;YAED,OAAO,KAAK,CAAC;;KACd;IAED,4CAA4C;IAC5C,iBAAiB;IACX,oBAAoB,CAAC,OAAe;;YACxC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,qBAAqB,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAC/D,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC7C,CAAC;KAAA;IAED,wHAAwH;IACxH,qLAAqL;IAExK,iBAAiB,CAC5B,OAAe,EACf,GAAuB,EACvB,IAAwB;;YAExB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,uBAAuB,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EACjE;gBACE,GAAG;gBACH,IAAI;aACL,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE3C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC;KAAA;IAEY,iBAAiB,CAC5B,OAAe;;YAKf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAGjC,uBAAuB,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;YAEtE,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;oBACL,GAAG,EAAE,SAAS;oBACd,IAAI,EAAE,SAAS;iBAChB,CAAC;aACH;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEY,mBAAmB,CAC9B,OAAe;;YAEf,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,uBAAuB,GAAG,sBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EACjE,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE3C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC;KAAA;CACF;AAnOD,kDAmOC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/updater/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/background",
3
- "version": "0.11.18-alpha.1",
3
+ "version": "0.11.18-alpha.2",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -28,15 +28,15 @@
28
28
  "@ethersproject/hash": "^5.7.0",
29
29
  "@ethersproject/transactions": "^5.7.0",
30
30
  "@ethersproject/wallet": "^5.7.0",
31
- "@keplr-wallet/chain-validator": "0.11.18-alpha.1",
32
- "@keplr-wallet/common": "0.11.18-alpha.1",
33
- "@keplr-wallet/cosmos": "0.11.18-alpha.1",
34
- "@keplr-wallet/crypto": "0.11.18-alpha.1",
35
- "@keplr-wallet/popup": "0.11.18-alpha.1",
36
- "@keplr-wallet/proto-types": "0.11.18-alpha.1",
37
- "@keplr-wallet/router": "0.11.18-alpha.1",
38
- "@keplr-wallet/types": "0.11.18-alpha.1",
39
- "@keplr-wallet/unit": "0.11.18-alpha.1",
31
+ "@keplr-wallet/chain-validator": "0.11.18-alpha.2",
32
+ "@keplr-wallet/common": "0.11.18-alpha.2",
33
+ "@keplr-wallet/cosmos": "0.11.18-alpha.2",
34
+ "@keplr-wallet/crypto": "0.11.18-alpha.2",
35
+ "@keplr-wallet/popup": "0.11.18-alpha.2",
36
+ "@keplr-wallet/proto-types": "0.11.18-alpha.2",
37
+ "@keplr-wallet/router": "0.11.18-alpha.2",
38
+ "@keplr-wallet/types": "0.11.18-alpha.2",
39
+ "@keplr-wallet/unit": "0.11.18-alpha.2",
40
40
  "@ledgerhq/hw-app-eth": "^6.29.3",
41
41
  "@ledgerhq/hw-transport": "^6.20.0",
42
42
  "@ledgerhq/hw-transport-webhid": "^6.20.0",
@@ -55,5 +55,5 @@
55
55
  "secretjs": "0.17.7",
56
56
  "utility-types": "^3.10.0"
57
57
  },
58
- "gitHead": "6c3ea550034c3c9e8adfd51ec006aef221061ca6"
58
+ "gitHead": "2e7c96c5af61ec73e920946ff3871de12d8c56c0"
59
59
  }
@@ -49,7 +49,7 @@ export class ChainUpdaterService {
49
49
 
50
50
  const features = chainInfo.features ?? [];
51
51
  for (const add of local.features) {
52
- if (!features.find((f) => f !== add)) {
52
+ if (!features.includes(add)) {
53
53
  features.push(add);
54
54
  }
55
55
  }
@@ -117,7 +117,7 @@ export class ChainUpdaterService {
117
117
  return false;
118
118
  }
119
119
 
120
- let updated = false;
120
+ let repoUpdated = false;
121
121
 
122
122
  const prevFetchedChainInfo = await this.kvStore.get<ChainInfo>(
123
123
  "updated-chain-info/" + chainIdentifier
@@ -127,10 +127,8 @@ export class ChainUpdaterService {
127
127
  sortedJsonByKeyStringify(prevFetchedChainInfo) !==
128
128
  sortedJsonByKeyStringify(chainInfo)
129
129
  ) {
130
- updated = true;
131
- }
130
+ repoUpdated = true;
132
131
 
133
- if (updated) {
134
132
  chainInfo = await validateBasicChainInfoType(chainInfo);
135
133
 
136
134
  await this.kvStore.set<ChainInfo>(
@@ -142,11 +140,34 @@ export class ChainUpdaterService {
142
140
  }
143
141
 
144
142
  const updatedChainInfo = await this.chainsService.getChainInfo(chainId);
143
+
144
+ let chainIdUpdated = false;
145
+ const chainIdFromRPC = await this.checkChainIdFromRPC(
146
+ updatedChainInfo.rpc
147
+ );
148
+ if (ChainIdHelper.parse(chainIdFromRPC).identifier !== chainIdentifier) {
149
+ throw new Error(
150
+ `Chain id is different from rpc: (expected: ${chainId}, actual: ${chainIdFromRPC})`
151
+ );
152
+ }
153
+ if (updatedChainInfo.chainId !== chainIdFromRPC) {
154
+ chainIdUpdated = true;
155
+
156
+ const local = await this.kvStore.get<Partial<ChainInfo>>(
157
+ chainIdentifier
158
+ );
159
+
160
+ await this.kvStore.set<Partial<ChainInfo>>(chainIdentifier, {
161
+ ...local,
162
+ chainId: chainIdFromRPC,
163
+ });
164
+ }
165
+
145
166
  const toUpdateFeatures = await checkChainFeatures(updatedChainInfo);
146
167
 
147
- updated = toUpdateFeatures.length !== 0;
168
+ const featuresUpdated = toUpdateFeatures.length !== 0;
148
169
 
149
- if (updated) {
170
+ if (featuresUpdated) {
150
171
  const local = await this.kvStore.get<Partial<ChainInfo>>(
151
172
  chainIdentifier
152
173
  );
@@ -157,11 +178,13 @@ export class ChainUpdaterService {
157
178
  ...new Set([...toUpdateFeatures, ...(local?.features ?? [])]),
158
179
  ],
159
180
  });
181
+ }
160
182
 
183
+ if (chainIdUpdated || featuresUpdated) {
161
184
  this.chainsService.clearCachedChainInfos();
162
185
  }
163
186
 
164
- return updated;
187
+ return repoUpdated || chainIdUpdated || featuresUpdated;
165
188
  } catch (e) {
166
189
  console.log(`Failed to try to update chain info for ${chainId}`, e);
167
190
  }
@@ -235,4 +258,18 @@ export class ChainUpdaterService {
235
258
 
236
259
  return await this.chainsService.getChainInfos();
237
260
  }
261
+
262
+ protected async checkChainIdFromRPC(rpc: string): Promise<string> {
263
+ const statusResponse = await Axios.get<{
264
+ result: {
265
+ node_info: {
266
+ network: string;
267
+ };
268
+ };
269
+ }>("/status", {
270
+ baseURL: rpc,
271
+ });
272
+
273
+ return statusResponse.data.result.node_info.network;
274
+ }
238
275
  }