@keplr-wallet/background 0.11.3 → 0.11.4

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.
@@ -19,7 +19,7 @@ export declare class AutoLockAccountService {
19
19
  init(keyringService: {
20
20
  lock: () => void;
21
21
  readonly keyRingStatus: KeyRingStatus;
22
- }): void;
22
+ }): Promise<void>;
23
23
  private stateChangedHandler;
24
24
  startAppStateCheckTimer(): void;
25
25
  private stopAppStateCheckTimer;
@@ -23,11 +23,12 @@ class AutoLockAccountService {
23
23
  this.autoLockTimer = null;
24
24
  }
25
25
  init(keyringService) {
26
- this.keyringService = keyringService;
27
- // No need to wait
28
- this.loadDuration();
29
- browser.idle.onStateChanged.addListener((idle) => {
30
- this.stateChangedHandler(idle);
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ this.keyringService = keyringService;
28
+ browser.idle.onStateChanged.addListener((idle) => {
29
+ this.stateChangedHandler(idle);
30
+ });
31
+ yield this.loadDuration();
31
32
  });
32
33
  }
33
34
  stateChangedHandler(newState) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/auto-lock-account/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/auto-lock-account/service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA2C;AAE3C,MAAa,sBAAsB;IAajC,YACqB,OAAgB,EAChB,OAEf;QACF,kBAAkB,EAAE,KAAK;KAC1B;QALkB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAItB;QAbH,WAAW;QACD,qBAAgB,GAAW,CAAC,CAAC;QAE7B,uBAAkB,GAA0B,IAAI,CAAC;QAEjD,kBAAa,GAA0B,IAAI,CAAC;IASnD,CAAC;IAEE,IAAI,CAAC,cAGV;;YACC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAErC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEO,mBAAmB,CAAC,QAAgC;QAC1D,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;YAC7B,IAAK,QAAgB,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC5C,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBAChC;qBAAM;oBACL,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC3B;oBACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBAC/B;YACH,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAClC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;IACH,CAAC;IAEM,gBAAgB;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,UAAU,EAAE;YACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBACnD,OAAO,IAAI,CAAC;iBACb;aACF;SACF;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;YAC9B,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAEO,IAAI;QACV,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,yEAAyE;gBACzE,6DAA6D;gBAC7D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAClE,IAAI,CAAC,KAAK,EAAE,CAAC;iBACd;aACF;SACF;IACH,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,KAAK,uBAAa,CAAC,QAAQ,CAAC;IACtE,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,QAAgB;QACjC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAEjC,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAEa,YAAY;;YACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;YAEpE,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;aAClC;QACH,CAAC;KAAA;CACF;AA7JD,wDA6JC"}
@@ -45,8 +45,7 @@ describe("Test auto lock account service", () => {
45
45
  };
46
46
  const keyRingService = new MockKeyRingService();
47
47
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"));
48
- service.init(keyRingService);
49
- yield new Promise((resolve) => setTimeout(resolve, 10));
48
+ yield service.init(keyRingService);
50
49
  expect(mockListener).toBeCalledTimes(1);
51
50
  jest.restoreAllMocks();
52
51
  }));
@@ -65,17 +64,12 @@ describe("Test auto lock account service", () => {
65
64
  const keyRingService = new MockKeyRingService();
66
65
  const memStore = new common_1.MemoryKVStore("test");
67
66
  let service = new service_1.AutoLockAccountService(memStore);
68
- service.init(keyRingService);
69
- yield new Promise((resolve) => setTimeout(resolve, 10));
67
+ yield service.init(keyRingService);
70
68
  // Set duration.
71
69
  yield service.setDuration(1000);
72
70
  expect(service.getAutoLockDuration()).toBe(1000);
73
71
  service = new service_1.AutoLockAccountService(memStore);
74
- service.init(keyRingService);
75
- // Not restored yet.
76
- expect(service.getAutoLockDuration()).toBe(0);
77
- yield new Promise((resolve) => setTimeout(resolve, 10));
78
- // Restoring is async. Assume that users can not interact with app right after app launch.
72
+ yield service.init(keyRingService);
79
73
  expect(service.getAutoLockDuration()).toBe(1000);
80
74
  jest.restoreAllMocks();
81
75
  }));
@@ -116,8 +110,7 @@ describe("Test auto lock account service", () => {
116
110
  };
117
111
  const keyRingService = new MockKeyRingService();
118
112
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"));
119
- service.init(keyRingService);
120
- yield new Promise((resolve) => setTimeout(resolve, 10));
113
+ yield service.init(keyRingService);
121
114
  expect(service.checkAppIsActive()).toBe(false);
122
115
  // Cases that don't actually happen
123
116
  background = undefined;
@@ -161,8 +154,7 @@ describe("Test auto lock account service", () => {
161
154
  };
162
155
  const keyRingService = new MockKeyRingService();
163
156
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"));
164
- service.init(keyRingService);
165
- yield new Promise((resolve) => setTimeout(resolve, 10));
157
+ yield service.init(keyRingService);
166
158
  keyRingService.unlock();
167
159
  event.emit("onStateChanged", "locked");
168
160
  expect(keyRingService.isLocked).toBe(false);
@@ -183,8 +175,7 @@ describe("Test auto lock account service", () => {
183
175
  };
184
176
  const keyRingService = new MockKeyRingService();
185
177
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"));
186
- service.init(keyRingService);
187
- yield new Promise((resolve) => setTimeout(resolve, 10));
178
+ yield service.init(keyRingService);
188
179
  yield service.setDuration(1000);
189
180
  keyRingService.lock();
190
181
  event.emit("onStateChanged", "locked");
@@ -207,14 +198,13 @@ describe("Test auto lock account service", () => {
207
198
  };
208
199
  const keyRingService = new MockKeyRingService();
209
200
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"));
210
- service.init(keyRingService);
211
- yield new Promise((resolve) => setTimeout(resolve, 10));
201
+ yield service.init(keyRingService);
212
202
  yield service.setDuration(1000);
213
203
  keyRingService.lock();
214
204
  expect(service.keyRingIsUnlocked).toBe(false);
215
205
  service.startAppStateCheckTimer();
216
- // Expect setTimeout not called. But, in test code itself, setTimeout is used right after init() method.
217
- expect(setTimeoutSpy).toBeCalledTimes(1);
206
+ // Expect setTimeout not called.
207
+ expect(setTimeoutSpy).toBeCalledTimes(0);
218
208
  expect(mockListener).toBeCalledTimes(1);
219
209
  jest.restoreAllMocks();
220
210
  }));
@@ -253,12 +243,12 @@ describe("Test auto lock account service", () => {
253
243
  getViews: mockGetViews,
254
244
  },
255
245
  };
246
+ jest.useFakeTimers();
256
247
  const keyRingService = new MockKeyRingService();
257
248
  const service = new service_1.AutoLockAccountService(new common_1.MemoryKVStore("test"), {
258
249
  monitoringInterval: 500,
259
250
  });
260
- service.init(keyRingService);
261
- yield new Promise((resolve) => setTimeout(resolve, 10));
251
+ yield service.init(keyRingService);
262
252
  yield service.setDuration(1000);
263
253
  keyRingService.unlock();
264
254
  background =
@@ -271,7 +261,7 @@ describe("Test auto lock account service", () => {
271
261
  expect(service.keyRingIsUnlocked).toBe(true);
272
262
  service.startAppStateCheckTimer();
273
263
  for (let i = 0; i < 3; i++) {
274
- yield new Promise((resolve) => setTimeout(resolve, 500));
264
+ jest.advanceTimersByTime(500);
275
265
  expect(service.checkAppIsActive()).toBe(true);
276
266
  expect(keyRingService.isLocked).toBe(false);
277
267
  expect(service.keyRingIsUnlocked).toBe(true);
@@ -283,16 +273,17 @@ describe("Test auto lock account service", () => {
283
273
  expect(service.checkAppIsActive()).toBe(false);
284
274
  expect(keyRingService.isLocked).toBe(false);
285
275
  expect(service.keyRingIsUnlocked).toBe(true);
286
- yield new Promise((resolve) => setTimeout(resolve, 500));
276
+ jest.advanceTimersByTime(500);
287
277
  expect(service.checkAppIsActive()).toBe(false);
288
278
  expect(keyRingService.isLocked).toBe(false);
289
279
  expect(service.keyRingIsUnlocked).toBe(true);
290
- yield new Promise((resolve) => setTimeout(resolve, 1000));
280
+ jest.advanceTimersByTime(1000);
291
281
  expect(service.checkAppIsActive()).toBe(false);
292
282
  expect(keyRingService.isLocked).toBe(true);
293
283
  expect(service.keyRingIsUnlocked).toBe(false);
294
284
  expect(mockListener).toBeCalledTimes(1);
295
285
  jest.restoreAllMocks();
286
+ jest.useRealTimers();
296
287
  }));
297
288
  });
298
289
  //# sourceMappingURL=service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/auto-lock-account/service.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wCAA2C;AAC3C,uCAAmD;AACnD,iDAAqD;AACrD,oDAAkC;AAElC,MAAM,kBAAkB;IAAxB;QACS,kBAAa,GAAkB,uBAAa,CAAC,SAAS,CAAC;QACvD,aAAQ,GAAG,IAAI,CAAC;IAWzB,CAAC;IATC,MAAM;QACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,uBAAa,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,uBAAa,CAAC,MAAM,CAAC;IAC5C,CAAC;CACF;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,WAAW,EAAE,GAAS,EAAE;QACzB,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAS,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,IAAI,gCAAsB,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,gBAAgB;QAChB,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,GAAG,IAAI,gCAAsB,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,oBAAoB;QACpB,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,0FAA0F;QAC1F,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,IAAI,UAA8B,CAAC;QACnC,IAAI,KAAK,GAAa,EAAE,CAAC;QAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC9D,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,UAAU;iBACjB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;YACD,SAAS,EAAE;gBACT,iBAAiB,EAAE,qBAAqB;gBACxC,QAAQ,EAAE,YAAY;aACvB;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,mCAAmC;QACnC,UAAU,GAAG,SAAS,CAAC;QACvB,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,mCAAmC;QACnC,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG,EAAE,CAAC;QACX,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,mCAAmC;QACnC,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG;YACN,UAAU;YACV,gEAAgE;SACjE,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAS,EAAE;QACjC,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAS,EAAE;QACnC,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,cAAc,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEvC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;QAC9E,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,cAAc,CAAC,IAAI,EAAE,CAAC;QAEtB,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAElC,wGAAwG;QACxG,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,gBAAY,EAAE,CAAC;QAEjC,IAAI,UAA8B,CAAC;QACnC,IAAI,KAAK,GAAa,EAAE,CAAC;QAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC9D,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,UAAU;iBACjB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,WAAW,EAAE,YAAY;iBAC1B;aACF;YACD,SAAS,EAAE;gBACT,iBAAiB,EAAE,qBAAqB;gBACxC,QAAQ,EAAE,YAAY;aACvB;SACK,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,gCAAsB,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,EAAE;YACpE,kBAAkB,EAAE,GAAG;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,cAAc,CAAC,MAAM,EAAE,CAAC;QAExB,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG;YACN,UAAU;YACV,gEAAgE;SACjE,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C;QAED,wGAAwG;QACxG,UAAU;YACR,qFAAqF,CAAC;QACxF,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;QAErB,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/auto-lock-account/service.spec.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -69,6 +69,7 @@ privilegedOrigins, commonCrypto, notification, ledgerOptions = {}, experimentalO
69
69
  blockListUrl: "https://raw.githubusercontent.com/chainapsis/phishing-block-list/main/block-list.txt",
70
70
  fetchingIntervalMs: 3 * 3600 * 1000,
71
71
  retryIntervalMs: 10 * 60 * 1000,
72
+ allowTimeoutMs: 10 * 60 * 1000,
72
73
  });
73
74
  const autoLockAccountService = new AutoLocker.AutoLockAccountService(storeCreator("auto-lock-account"));
74
75
  interactionService.init();
@@ -82,6 +83,7 @@ privilegedOrigins, commonCrypto, notification, ledgerOptions = {}, experimentalO
82
83
  secretWasmService.init(chainsService, keyRingService, permissionService);
83
84
  backgroundTxService.init(chainsService, permissionService);
84
85
  phishingListService.init();
86
+ // No need to wait because user can't interact with app right after launch.
85
87
  autoLockAccountService.init(keyRingService);
86
88
  Interaction.init(router, interactionService);
87
89
  PersistentMemory.init(router, persistentMemoryService);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+EAAiE;AACjE,0DAA4C;AAC5C,0DAA4C;AAC5C,4DAA8C;AAC9C,mEAAqD;AACrD,4DAA8C;AAC9C,4DAA8C;AAC9C,0DAA4C;AAC5C,oEAAsD;AACtD,kEAAoD;AACpD,uEAAyD;AACzD,yEAA2D;AAE3D,sDAAoC;AACpC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAC9B,uCAAqB;AACrB,4CAA0B;AAC1B,2CAAyB;AACzB,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,sDAAoC;AAQpC,SAAgB,IAAI,CAClB,MAAc,EACd,YAAyC;AACzC,2CAA2C;AAC3C,iBAAmC,EACnC,eAA4B;AAC5B,oDAAoD;AACpD,iBAA2B,EAC3B,YAA0B,EAC1B,YAA0B,EAC1B,gBAAwC,EAAE,EAC1C,sBAOK,EAAE;;IAEP,MAAM,kBAAkB,GAAG,IAAI,WAAW,CAAC,kBAAkB,CAC3D,iBAAiB,EACjB,YAAY,CAAC,GAAG,CACjB,CAAC;IAEF,MAAM,uBAAuB,GAAG,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;IAE/E,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CACxD,YAAY,CAAC,YAAY,CAAC,EAC1B,iBAAiB,CAClB,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CACzD,YAAY,CAAC,SAAS,CAAC,CACxB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAC5C,YAAY,CAAC,QAAQ,CAAC,EACtB,eAAe,EACf;QACE,+BAA+B,QAC7B,mBAAmB,CAAC,YAAY,0CAAE,gBAAgB;KACrD,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAC5C,YAAY,CAAC,QAAQ,CAAC,EACtB,aAAa,CACd,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAC/C,YAAY,CAAC,SAAS,CAAC,EACvB,eAAe,EACf,YAAY,CACb,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CACxD,YAAY,CAAC,YAAY,CAAC,CAC3B,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAC9D,YAAY,CACb,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAAC;QAC/D,YAAY,EACV,sFAAsF;QACxF,kBAAkB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;QACnC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KAChC,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,sBAAsB,CAClE,YAAY,CAAC,mBAAmB,CAAC,CAClC,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAC1B,uBAAuB,CAAC,IAAI,EAAE,CAAC;IAC/B,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC1E,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,aAAa,CAAC,IAAI,CAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,cAAc,CACf,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvC,cAAc,CAAC,IAAI,CACjB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,aAAa,CACd,CAAC;IACF,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACzE,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC3D,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC3B,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE5C,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACvD,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAClD,CAAC;AA/GD,oBA+GC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ const getHandler = (service) => {
7
7
  switch (msg.constructor) {
8
8
  case messages_1.CheckURLIsPhishingMsg:
9
9
  return handleCheckURLIsPhishingMsg(service)(env, msg);
10
+ case messages_1.URLTempAllowMsg:
11
+ return handleURLTempAllow(service)(env, msg);
10
12
  default:
11
13
  throw new Error("Unknown msg type");
12
14
  }
@@ -16,4 +18,7 @@ exports.getHandler = getHandler;
16
18
  const handleCheckURLIsPhishingMsg = (service) => (_, msg) => {
17
19
  return service.checkURLIsPhishing(msg.origin);
18
20
  };
21
+ const handleURLTempAllow = (service) => (_, msg) => {
22
+ service.allowUrlTemp(msg.url);
23
+ };
19
24
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/phishing-list/handler.ts"],"names":[],"mappings":";;;AAEA,yCAAmD;AAE5C,MAAM,UAAU,GAA8C,CACnE,OAA4B,EAC5B,EAAE;IACF,OAAO,CAAC,GAAQ,EAAE,GAAqB,EAAE,EAAE;QACzC,QAAQ,GAAG,CAAC,WAAW,EAAE;YACvB,KAAK,gCAAqB;gBACxB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CACzC,GAAG,EACH,GAA4B,CAC7B,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEF,MAAM,2BAA2B,GAEa,CAC5C,OAA4B,EAC5B,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;IACd,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/phishing-list/handler.ts"],"names":[],"mappings":";;;AAEA,yCAAoE;AAE7D,MAAM,UAAU,GAA8C,CACnE,OAA4B,EAC5B,EAAE;IACF,OAAO,CAAC,GAAQ,EAAE,GAAqB,EAAE,EAAE;QACzC,QAAQ,GAAG,CAAC,WAAW,EAAE;YACvB,KAAK,gCAAqB;gBACxB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CACzC,GAAG,EACH,GAA4B,CAC7B,CAAC;YACJ,KAAK,0BAAe;gBAClB,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC;YAClE;gBACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACvC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB;AAEF,MAAM,2BAA2B,GAEa,CAC5C,OAA4B,EAC5B,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;IACd,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAEgB,CAAC,OAA4B,EAAE,EAAE,CAAC,CACxE,CAAC,EACD,GAAG,EACH,EAAE;IACF,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ const handler_1 = require("./handler");
6
6
  const messages_1 = require("./messages");
7
7
  function init(router, service) {
8
8
  router.registerMessage(messages_1.CheckURLIsPhishingMsg);
9
+ router.registerMessage(messages_1.URLTempAllowMsg);
9
10
  router.addHandler(constants_1.ROUTE, handler_1.getHandler(service));
10
11
  }
11
12
  exports.init = init;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/phishing-list/init.ts"],"names":[],"mappings":";;;AACA,2CAAoC;AACpC,uCAAuC;AAEvC,yCAAmD;AAEnD,SAAgB,IAAI,CAAC,MAAc,EAAE,OAA4B;IAC/D,MAAM,CAAC,eAAe,CAAC,gCAAqB,CAAC,CAAC;IAE9C,MAAM,CAAC,UAAU,CAAC,iBAAK,EAAE,oBAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAJD,oBAIC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/phishing-list/init.ts"],"names":[],"mappings":";;;AACA,2CAAoC;AACpC,uCAAuC;AAEvC,yCAAoE;AAEpE,SAAgB,IAAI,CAAC,MAAc,EAAE,OAA4B;IAC/D,MAAM,CAAC,eAAe,CAAC,gCAAqB,CAAC,CAAC;IAC9C,MAAM,CAAC,eAAe,CAAC,0BAAe,CAAC,CAAC;IAExC,MAAM,CAAC,UAAU,CAAC,iBAAK,EAAE,oBAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AALD,oBAKC"}
@@ -7,3 +7,11 @@ export declare class CheckURLIsPhishingMsg extends Message<boolean> {
7
7
  route(): string;
8
8
  type(): string;
9
9
  }
10
+ export declare class URLTempAllowMsg extends Message<void> {
11
+ readonly url: string;
12
+ static type(): string;
13
+ constructor(url: string);
14
+ validateBasic(): void;
15
+ route(): string;
16
+ type(): string;
17
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckURLIsPhishingMsg = void 0;
3
+ exports.URLTempAllowMsg = exports.CheckURLIsPhishingMsg = void 0;
4
4
  const router_1 = require("@keplr-wallet/router");
5
5
  const constants_1 = require("./constants");
6
6
  const utils_1 = require("./utils");
@@ -27,4 +27,25 @@ class CheckURLIsPhishingMsg extends router_1.Message {
27
27
  }
28
28
  }
29
29
  exports.CheckURLIsPhishingMsg = CheckURLIsPhishingMsg;
30
+ class URLTempAllowMsg extends router_1.Message {
31
+ constructor(url) {
32
+ super();
33
+ this.url = url;
34
+ }
35
+ static type() {
36
+ return "url-temp-allow";
37
+ }
38
+ validateBasic() {
39
+ const url = new URL(this.url);
40
+ // Will throw an error if url has not second level domain.
41
+ utils_1.parseDomainUntilSecondLevel(url.origin);
42
+ }
43
+ route() {
44
+ return constants_1.ROUTE;
45
+ }
46
+ type() {
47
+ return URLTempAllowMsg.type();
48
+ }
49
+ }
50
+ exports.URLTempAllowMsg = URLTempAllowMsg;
30
51
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/phishing-list/messages.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,2CAAoC;AACpC,mCAAsD;AAEtD,MAAa,qBAAsB,SAAQ,gBAAgB;IAClD,MAAM,CAAC,IAAI;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,0DAA0D;QAC1D,mCAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACF;AA3BD,sDA2BC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/phishing-list/messages.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,2CAAoC;AACpC,mCAAsD;AAEtD,MAAa,qBAAsB,SAAQ,gBAAgB;IAClD,MAAM,CAAC,IAAI;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,0DAA0D;QAC1D,mCAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACF;AA3BD,sDA2BC;AAED,MAAa,eAAgB,SAAQ,gBAAa;IAKhD,YAA4B,GAAW;QACrC,KAAK,EAAE,CAAC;QADkB,QAAG,GAAH,GAAG,CAAQ;IAEvC,CAAC;IANM,MAAM,CAAC,IAAI;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAMD,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,0DAA0D;QAC1D,mCAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACF;AAtBD,0CAsBC"}
@@ -4,8 +4,10 @@ export declare class PhishingListService {
4
4
  readonly blockListUrl: string;
5
5
  readonly fetchingIntervalMs: number;
6
6
  readonly retryIntervalMs: number;
7
+ readonly allowTimeoutMs: number;
7
8
  };
8
9
  protected map: Map<string, boolean>;
10
+ protected allowed: Map<string, number>;
9
11
  protected _hasInited: boolean;
10
12
  protected _hasStopped: boolean;
11
13
  protected timeoutId?: NodeJS.Timeout;
@@ -13,10 +15,12 @@ export declare class PhishingListService {
13
15
  readonly blockListUrl: string;
14
16
  readonly fetchingIntervalMs: number;
15
17
  readonly retryIntervalMs: number;
18
+ readonly allowTimeoutMs: number;
16
19
  });
17
20
  get hasInited(): boolean;
18
21
  init(): void;
19
22
  stop(): void;
20
23
  startFetchPhishingList(): Promise<void>;
21
24
  checkURLIsPhishing(url: string): boolean;
25
+ allowUrlTemp(url: string): void;
22
26
  }
@@ -19,6 +19,7 @@ class PhishingListService {
19
19
  constructor(opts) {
20
20
  this.opts = opts;
21
21
  this.map = new Map();
22
+ this.allowed = new Map();
22
23
  this._hasInited = false;
23
24
  this._hasStopped = false;
24
25
  }
@@ -78,8 +79,22 @@ class PhishingListService {
78
79
  });
79
80
  }
80
81
  checkURLIsPhishing(url) {
82
+ const parsed = utils_1.parseDomainUntilSecondLevel(new URL(url).origin);
83
+ if (this.map.get(parsed) === true) {
84
+ const allowed = this.allowed.get(parsed);
85
+ if (allowed &&
86
+ allowed + this.opts.allowTimeoutMs >= new Date().getTime()) {
87
+ return false;
88
+ }
89
+ return true;
90
+ }
91
+ else {
92
+ return false;
93
+ }
94
+ }
95
+ allowUrlTemp(url) {
81
96
  const parsed = new URL(url);
82
- return this.map.get(utils_1.parseDomainUntilSecondLevel(parsed.origin)) === true;
97
+ this.allowed.set(utils_1.parseDomainUntilSecondLevel(parsed.origin), new Date().getTime());
83
98
  }
84
99
  }
85
100
  exports.PhishingListService = PhishingListService;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/phishing-list/service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAsD;AAEtD,MAAa,mBAAmB;IAO9B,YACkB,IAIf;QAJe,SAAI,GAAJ,IAAI,CAInB;QAXO,QAAG,GAAyB,IAAI,GAAG,EAAE,CAAC;QAEtC,eAAU,GAAY,KAAK,CAAC;QAC5B,gBAAW,GAAY,KAAK,CAAC;IASpC,CAAC;IAEJ,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEK,sBAAsB;;YAC1B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,OAAO;aACR;YAED,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE5D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI;qBACrB,KAAK,CAAC,mBAAmB,CAAC;qBAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;qBAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,IAAI;wBACF,GAAG,CAAC,GAAG,CAAC,mCAA2B,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;qBACpD;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBAChB;iBACF;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;aAChB;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,GAAG,IAAI,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,SAAS,GAAG,UAAU,CACzB,GAAG,EAAE;oBACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,CAAC,EACD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAClE,CAAC;aACH;QACH,CAAC;KAAA;IAED,kBAAkB,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mCAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3E,CAAC;CACF;AApFD,kDAoFC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/phishing-list/service.ts"],"names":[],"mappings":"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"}
@@ -145,7 +145,10 @@ describe("Test phishing list service", () => {
145
145
  let port = -1;
146
146
  let closeServer;
147
147
  let getQueryCount;
148
+ const notMockSetInterval = setInterval;
149
+ const notMockClearInterval = clearInterval;
148
150
  beforeEach(() => {
151
+ jest.useFakeTimers();
149
152
  const server = createMockServer();
150
153
  port = server.port;
151
154
  closeServer = server.closeServer;
@@ -160,6 +163,7 @@ describe("Test phishing list service", () => {
160
163
  closeServer();
161
164
  closeServer = undefined;
162
165
  }
166
+ jest.useRealTimers();
163
167
  });
164
168
  const waitServiceInit = (service) => {
165
169
  return new Promise((resolve) => {
@@ -167,10 +171,10 @@ describe("Test phishing list service", () => {
167
171
  resolve();
168
172
  return;
169
173
  }
170
- const intervalId = setInterval(() => {
174
+ const intervalId = notMockSetInterval(() => {
171
175
  if (service.hasInited) {
172
176
  resolve();
173
- clearInterval(intervalId);
177
+ notMockClearInterval(intervalId);
174
178
  }
175
179
  }, 10);
176
180
  });
@@ -196,6 +200,7 @@ describe("Test phishing list service", () => {
196
200
  blockListUrl: `http://127.0.0.1:${port}/list1`,
197
201
  fetchingIntervalMs: 3600,
198
202
  retryIntervalMs: 3600,
203
+ allowTimeoutMs: 100,
199
204
  });
200
205
  eachService = service;
201
206
  service.init();
@@ -207,6 +212,7 @@ describe("Test phishing list service", () => {
207
212
  blockListUrl: `http://127.0.0.1:${port}/list2`,
208
213
  fetchingIntervalMs: 3600,
209
214
  retryIntervalMs: 3600,
215
+ allowTimeoutMs: 100,
210
216
  });
211
217
  eachService = service;
212
218
  service.init();
@@ -218,6 +224,7 @@ describe("Test phishing list service", () => {
218
224
  blockListUrl: `http://127.0.0.1:${port}/list3`,
219
225
  fetchingIntervalMs: 3600,
220
226
  retryIntervalMs: 3600,
227
+ allowTimeoutMs: 100,
221
228
  });
222
229
  eachService = service;
223
230
  service.init();
@@ -229,21 +236,28 @@ describe("Test phishing list service", () => {
229
236
  blockListUrl: `http://127.0.0.1:${port}/list3`,
230
237
  fetchingIntervalMs: 200,
231
238
  retryIntervalMs: 3600,
239
+ allowTimeoutMs: 100,
232
240
  });
241
+ const spyFetch = jest.spyOn(service, "startFetchPhishingList");
233
242
  eachService = service;
234
243
  service.init();
235
244
  yield waitServiceInit(service);
245
+ expect(spyFetch).toBeCalledTimes(1);
236
246
  testCheckURLIsPhishing(service);
237
247
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(false);
238
248
  expect(getQueryCount()).toBe(1);
239
- // Wait re-fetching
240
- yield new Promise((resolve) => setTimeout(resolve, 210));
249
+ // Proceed re-fetching
250
+ jest.advanceTimersByTime(210);
251
+ expect(spyFetch).toBeCalledTimes(2);
252
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
241
253
  testCheckURLIsPhishing(service);
242
254
  // See the implementation of /list3
243
255
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(true);
244
256
  expect(getQueryCount()).toBe(2);
245
- // Wait re-fetching
246
- yield new Promise((resolve) => setTimeout(resolve, 210));
257
+ // Proceed re-fetching
258
+ jest.advanceTimersByTime(210);
259
+ expect(spyFetch).toBeCalledTimes(3);
260
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
247
261
  testCheckURLIsPhishing(service);
248
262
  // See the implementation of /list3
249
263
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(false);
@@ -254,7 +268,9 @@ describe("Test phishing list service", () => {
254
268
  blockListUrl: `http://127.0.0.1:${port}/test-retry`,
255
269
  fetchingIntervalMs: 200,
256
270
  retryIntervalMs: 100,
271
+ allowTimeoutMs: 100,
257
272
  });
273
+ const spyFetch = jest.spyOn(service, "startFetchPhishingList");
258
274
  eachService = service;
259
275
  service.init();
260
276
  const testPhishingUntil = (count) => {
@@ -268,35 +284,75 @@ describe("Test phishing list service", () => {
268
284
  }
269
285
  };
270
286
  yield waitServiceInit(service);
287
+ expect(spyFetch).toBeCalledTimes(1);
271
288
  testPhishingUntil(1);
272
289
  expect(getQueryCount()).toBe(1);
273
- // Wait re-fetching
274
- yield new Promise((resolve) => setTimeout(resolve, 210));
290
+ // Proceed re-fetching
291
+ jest.advanceTimersByTime(210);
292
+ expect(spyFetch).toBeCalledTimes(2);
293
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
275
294
  // See the implementation of /test-retry
276
295
  testPhishingUntil(2);
277
296
  expect(getQueryCount()).toBe(2);
278
- // Wait re-fetching
279
- yield new Promise((resolve) => setTimeout(resolve, 210));
297
+ // Proceed re-fetching
298
+ jest.advanceTimersByTime(210);
299
+ expect(spyFetch).toBeCalledTimes(3);
300
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
280
301
  // See the implementation of /test-retry
281
302
  // In this case, the fetching should be failed.
282
303
  // So, there is no update on phishing list.
283
304
  testPhishingUntil(2);
284
305
  expect(getQueryCount()).toBe(3);
285
306
  // Wait retry for failed query
286
- yield new Promise((resolve) => setTimeout(resolve, 110));
307
+ jest.advanceTimersByTime(110);
308
+ expect(spyFetch).toBeCalledTimes(4);
309
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
287
310
  // See the implementation of /test-retry
288
311
  testPhishingUntil(4);
289
312
  expect(getQueryCount()).toBe(4);
290
313
  // Not yet re-fetching
291
- yield new Promise((resolve) => setTimeout(resolve, 110));
314
+ jest.advanceTimersByTime(110);
315
+ expect(spyFetch).toBeCalledTimes(4);
292
316
  // See the implementation of /test-retry
293
317
  testPhishingUntil(4);
294
318
  expect(getQueryCount()).toBe(4);
295
319
  // Now re-fetching
296
- yield new Promise((resolve) => setTimeout(resolve, 110));
320
+ jest.advanceTimersByTime(110);
321
+ expect(spyFetch).toBeCalledTimes(5);
322
+ yield spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
297
323
  // See the implementation of /test-retry
298
324
  testPhishingUntil(5);
299
325
  expect(getQueryCount()).toBe(5);
300
326
  }));
327
+ test("Test addUrlTemp allow blocked url", () => __awaiter(void 0, void 0, void 0, function* () {
328
+ const service = new service_1.PhishingListService({
329
+ blockListUrl: `http://127.0.0.1:${port}/list1`,
330
+ fetchingIntervalMs: 200,
331
+ retryIntervalMs: 100,
332
+ allowTimeoutMs: 100,
333
+ });
334
+ eachService = service;
335
+ service.init();
336
+ yield waitServiceInit(service);
337
+ // block phishings site
338
+ const [phishing, anotherPhishing] = phishings;
339
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(true);
340
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(true);
341
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
342
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(true);
343
+ // allow temp Url
344
+ service.allowUrlTemp("https://" + phishing);
345
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(false);
346
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(false);
347
+ // but another url still blocked
348
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
349
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(true);
350
+ // should be blocked again
351
+ jest.advanceTimersByTime(110);
352
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(true);
353
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(true);
354
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
355
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(true);
356
+ }));
301
357
  });
302
358
  //# sourceMappingURL=service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/phishing-list/service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.spec.js","sourceRoot":"","sources":["../../src/phishing-list/service.spec.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.3",
3
+ "version": "0.11.4",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -29,14 +29,14 @@
29
29
  "@ethersproject/bytes": "^5.5.0",
30
30
  "@ethersproject/keccak256": "^5.5.0",
31
31
  "@ethersproject/wallet": "^5.5.0",
32
- "@keplr-wallet/common": "0.11.3",
33
- "@keplr-wallet/cosmos": "0.11.3",
34
- "@keplr-wallet/crypto": "0.11.3",
35
- "@keplr-wallet/popup": "0.11.3",
36
- "@keplr-wallet/proto-types": "0.11.3",
37
- "@keplr-wallet/router": "0.11.3",
38
- "@keplr-wallet/types": "0.11.3",
39
- "@keplr-wallet/unit": "0.11.3",
32
+ "@keplr-wallet/common": "0.11.4",
33
+ "@keplr-wallet/cosmos": "0.11.4",
34
+ "@keplr-wallet/crypto": "0.11.4",
35
+ "@keplr-wallet/popup": "0.11.4",
36
+ "@keplr-wallet/proto-types": "0.11.4",
37
+ "@keplr-wallet/router": "0.11.4",
38
+ "@keplr-wallet/types": "0.11.4",
39
+ "@keplr-wallet/unit": "0.11.4",
40
40
  "@ledgerhq/hw-transport": "^6.20.0",
41
41
  "@ledgerhq/hw-transport-webhid": "^6.20.0",
42
42
  "@ledgerhq/hw-transport-webusb": "^6.20.0",
@@ -54,5 +54,5 @@
54
54
  "secretjs": "0.17.7",
55
55
  "utility-types": "^3.10.0"
56
56
  },
57
- "gitHead": "d28bb74c96fcd3159cc7e685e9c6de420d220461"
57
+ "gitHead": "3fbe95316b46711a90a003d03c39cd058c3ff0a9"
58
58
  }
@@ -35,8 +35,7 @@ describe("Test auto lock account service", () => {
35
35
 
36
36
  const keyRingService = new MockKeyRingService();
37
37
  const service = new AutoLockAccountService(new MemoryKVStore("test"));
38
- service.init(keyRingService);
39
- await new Promise((resolve) => setTimeout(resolve, 10));
38
+ await service.init(keyRingService);
40
39
 
41
40
  expect(mockListener).toBeCalledTimes(1);
42
41
  jest.restoreAllMocks();
@@ -59,21 +58,15 @@ describe("Test auto lock account service", () => {
59
58
  const keyRingService = new MockKeyRingService();
60
59
  const memStore = new MemoryKVStore("test");
61
60
  let service = new AutoLockAccountService(memStore);
62
- service.init(keyRingService);
63
- await new Promise((resolve) => setTimeout(resolve, 10));
61
+ await service.init(keyRingService);
64
62
 
65
63
  // Set duration.
66
64
  await service.setDuration(1000);
67
65
  expect(service.getAutoLockDuration()).toBe(1000);
68
66
 
69
67
  service = new AutoLockAccountService(memStore);
70
- service.init(keyRingService);
71
- // Not restored yet.
72
- expect(service.getAutoLockDuration()).toBe(0);
68
+ await service.init(keyRingService);
73
69
 
74
- await new Promise((resolve) => setTimeout(resolve, 10));
75
-
76
- // Restoring is async. Assume that users can not interact with app right after app launch.
77
70
  expect(service.getAutoLockDuration()).toBe(1000);
78
71
 
79
72
  jest.restoreAllMocks();
@@ -120,8 +113,7 @@ describe("Test auto lock account service", () => {
120
113
 
121
114
  const keyRingService = new MockKeyRingService();
122
115
  const service = new AutoLockAccountService(new MemoryKVStore("test"));
123
- service.init(keyRingService);
124
- await new Promise((resolve) => setTimeout(resolve, 10));
116
+ await service.init(keyRingService);
125
117
 
126
118
  expect(service.checkAppIsActive()).toBe(false);
127
119
 
@@ -175,8 +167,7 @@ describe("Test auto lock account service", () => {
175
167
 
176
168
  const keyRingService = new MockKeyRingService();
177
169
  const service = new AutoLockAccountService(new MemoryKVStore("test"));
178
- service.init(keyRingService);
179
- await new Promise((resolve) => setTimeout(resolve, 10));
170
+ await service.init(keyRingService);
180
171
 
181
172
  keyRingService.unlock();
182
173
  event.emit("onStateChanged", "locked");
@@ -203,8 +194,7 @@ describe("Test auto lock account service", () => {
203
194
 
204
195
  const keyRingService = new MockKeyRingService();
205
196
  const service = new AutoLockAccountService(new MemoryKVStore("test"));
206
- service.init(keyRingService);
207
- await new Promise((resolve) => setTimeout(resolve, 10));
197
+ await service.init(keyRingService);
208
198
 
209
199
  await service.setDuration(1000);
210
200
 
@@ -235,8 +225,7 @@ describe("Test auto lock account service", () => {
235
225
 
236
226
  const keyRingService = new MockKeyRingService();
237
227
  const service = new AutoLockAccountService(new MemoryKVStore("test"));
238
- service.init(keyRingService);
239
- await new Promise((resolve) => setTimeout(resolve, 10));
228
+ await service.init(keyRingService);
240
229
 
241
230
  await service.setDuration(1000);
242
231
 
@@ -246,8 +235,8 @@ describe("Test auto lock account service", () => {
246
235
 
247
236
  service.startAppStateCheckTimer();
248
237
 
249
- // Expect setTimeout not called. But, in test code itself, setTimeout is used right after init() method.
250
- expect(setTimeoutSpy).toBeCalledTimes(1);
238
+ // Expect setTimeout not called.
239
+ expect(setTimeoutSpy).toBeCalledTimes(0);
251
240
  expect(mockListener).toBeCalledTimes(1);
252
241
  jest.restoreAllMocks();
253
242
  });
@@ -291,12 +280,13 @@ describe("Test auto lock account service", () => {
291
280
  },
292
281
  } as any;
293
282
 
283
+ jest.useFakeTimers();
284
+
294
285
  const keyRingService = new MockKeyRingService();
295
286
  const service = new AutoLockAccountService(new MemoryKVStore("test"), {
296
287
  monitoringInterval: 500,
297
288
  });
298
- service.init(keyRingService);
299
- await new Promise((resolve) => setTimeout(resolve, 10));
289
+ await service.init(keyRingService);
300
290
 
301
291
  await service.setDuration(1000);
302
292
 
@@ -314,7 +304,7 @@ describe("Test auto lock account service", () => {
314
304
  service.startAppStateCheckTimer();
315
305
 
316
306
  for (let i = 0; i < 3; i++) {
317
- await new Promise((resolve) => setTimeout(resolve, 500));
307
+ jest.advanceTimersByTime(500);
318
308
  expect(service.checkAppIsActive()).toBe(true);
319
309
  expect(keyRingService.isLocked).toBe(false);
320
310
  expect(service.keyRingIsUnlocked).toBe(true);
@@ -329,13 +319,13 @@ describe("Test auto lock account service", () => {
329
319
  expect(keyRingService.isLocked).toBe(false);
330
320
  expect(service.keyRingIsUnlocked).toBe(true);
331
321
 
332
- await new Promise((resolve) => setTimeout(resolve, 500));
322
+ jest.advanceTimersByTime(500);
333
323
 
334
324
  expect(service.checkAppIsActive()).toBe(false);
335
325
  expect(keyRingService.isLocked).toBe(false);
336
326
  expect(service.keyRingIsUnlocked).toBe(true);
337
327
 
338
- await new Promise((resolve) => setTimeout(resolve, 1000));
328
+ jest.advanceTimersByTime(1000);
339
329
 
340
330
  expect(service.checkAppIsActive()).toBe(false);
341
331
  expect(keyRingService.isLocked).toBe(true);
@@ -343,5 +333,7 @@ describe("Test auto lock account service", () => {
343
333
 
344
334
  expect(mockListener).toBeCalledTimes(1);
345
335
  jest.restoreAllMocks();
336
+
337
+ jest.useRealTimers();
346
338
  });
347
339
  });
@@ -23,17 +23,17 @@ export class AutoLockAccountService {
23
23
  }
24
24
  ) {}
25
25
 
26
- init(keyringService: {
26
+ async init(keyringService: {
27
27
  lock: () => void;
28
28
  readonly keyRingStatus: KeyRingStatus;
29
29
  }) {
30
30
  this.keyringService = keyringService;
31
- // No need to wait
32
- this.loadDuration();
33
31
 
34
32
  browser.idle.onStateChanged.addListener((idle) => {
35
33
  this.stateChangedHandler(idle);
36
34
  });
35
+
36
+ await this.loadDuration();
37
37
  }
38
38
 
39
39
  private stateChangedHandler(newState: browser.idle.IdleState) {
package/src/index.ts CHANGED
@@ -102,7 +102,8 @@ export function init(
102
102
  blockListUrl:
103
103
  "https://raw.githubusercontent.com/chainapsis/phishing-block-list/main/block-list.txt",
104
104
  fetchingIntervalMs: 3 * 3600 * 1000, // 3 hours
105
- retryIntervalMs: 10 * 60 * 1000, // 10 mins
105
+ retryIntervalMs: 10 * 60 * 1000, // 10 mins,
106
+ allowTimeoutMs: 10 * 60 * 1000, // 10 mins,
106
107
  });
107
108
  const autoLockAccountService = new AutoLocker.AutoLockAccountService(
108
109
  storeCreator("auto-lock-account")
@@ -129,6 +130,7 @@ export function init(
129
130
  secretWasmService.init(chainsService, keyRingService, permissionService);
130
131
  backgroundTxService.init(chainsService, permissionService);
131
132
  phishingListService.init();
133
+ // No need to wait because user can't interact with app right after launch.
132
134
  autoLockAccountService.init(keyRingService);
133
135
 
134
136
  Interaction.init(router, interactionService);
@@ -1,6 +1,6 @@
1
1
  import { Env, Handler, InternalHandler, Message } from "@keplr-wallet/router";
2
2
  import { PhishingListService } from "./service";
3
- import { CheckURLIsPhishingMsg } from "./messages";
3
+ import { CheckURLIsPhishingMsg, URLTempAllowMsg } from "./messages";
4
4
 
5
5
  export const getHandler: (service: PhishingListService) => Handler = (
6
6
  service: PhishingListService
@@ -12,6 +12,8 @@ export const getHandler: (service: PhishingListService) => Handler = (
12
12
  env,
13
13
  msg as CheckURLIsPhishingMsg
14
14
  );
15
+ case URLTempAllowMsg:
16
+ return handleURLTempAllow(service)(env, msg as URLTempAllowMsg);
15
17
  default:
16
18
  throw new Error("Unknown msg type");
17
19
  }
@@ -25,3 +27,12 @@ const handleCheckURLIsPhishingMsg: (
25
27
  ) => (_, msg) => {
26
28
  return service.checkURLIsPhishing(msg.origin);
27
29
  };
30
+
31
+ const handleURLTempAllow: (
32
+ service: PhishingListService
33
+ ) => InternalHandler<URLTempAllowMsg> = (service: PhishingListService) => (
34
+ _,
35
+ msg
36
+ ) => {
37
+ service.allowUrlTemp(msg.url);
38
+ };
@@ -2,10 +2,11 @@ import { Router } from "@keplr-wallet/router";
2
2
  import { ROUTE } from "./constants";
3
3
  import { getHandler } from "./handler";
4
4
  import { PhishingListService } from "./service";
5
- import { CheckURLIsPhishingMsg } from "./messages";
5
+ import { CheckURLIsPhishingMsg, URLTempAllowMsg } from "./messages";
6
6
 
7
7
  export function init(router: Router, service: PhishingListService): void {
8
8
  router.registerMessage(CheckURLIsPhishingMsg);
9
+ router.registerMessage(URLTempAllowMsg);
9
10
 
10
11
  router.addHandler(ROUTE, getHandler(service));
11
12
  }
@@ -30,3 +30,27 @@ export class CheckURLIsPhishingMsg extends Message<boolean> {
30
30
  return CheckURLIsPhishingMsg.type();
31
31
  }
32
32
  }
33
+
34
+ export class URLTempAllowMsg extends Message<void> {
35
+ public static type() {
36
+ return "url-temp-allow";
37
+ }
38
+
39
+ constructor(public readonly url: string) {
40
+ super();
41
+ }
42
+
43
+ validateBasic(): void {
44
+ const url = new URL(this.url);
45
+ // Will throw an error if url has not second level domain.
46
+ parseDomainUntilSecondLevel(url.origin);
47
+ }
48
+
49
+ route(): string {
50
+ return ROUTE;
51
+ }
52
+
53
+ type(): string {
54
+ return URLTempAllowMsg.type();
55
+ }
56
+ }
@@ -151,7 +151,12 @@ describe("Test phishing list service", () => {
151
151
  let closeServer: (() => void) | undefined;
152
152
  let getQueryCount: () => number;
153
153
 
154
+ const notMockSetInterval = setInterval;
155
+ const notMockClearInterval = clearInterval;
156
+
154
157
  beforeEach(() => {
158
+ jest.useFakeTimers();
159
+
155
160
  const server = createMockServer();
156
161
  port = server.port;
157
162
  closeServer = server.closeServer;
@@ -168,6 +173,8 @@ describe("Test phishing list service", () => {
168
173
  closeServer();
169
174
  closeServer = undefined;
170
175
  }
176
+
177
+ jest.useRealTimers();
171
178
  });
172
179
 
173
180
  const waitServiceInit = (service: PhishingListService) => {
@@ -177,10 +184,10 @@ describe("Test phishing list service", () => {
177
184
  return;
178
185
  }
179
186
 
180
- const intervalId = setInterval(() => {
187
+ const intervalId = notMockSetInterval(() => {
181
188
  if (service.hasInited) {
182
189
  resolve();
183
- clearInterval(intervalId);
190
+ notMockClearInterval(intervalId);
184
191
  }
185
192
  }, 10);
186
193
  });
@@ -226,6 +233,7 @@ describe("Test phishing list service", () => {
226
233
  blockListUrl: `http://127.0.0.1:${port}/list1`,
227
234
  fetchingIntervalMs: 3600,
228
235
  retryIntervalMs: 3600,
236
+ allowTimeoutMs: 100,
229
237
  });
230
238
  eachService = service;
231
239
 
@@ -241,6 +249,7 @@ describe("Test phishing list service", () => {
241
249
  blockListUrl: `http://127.0.0.1:${port}/list2`,
242
250
  fetchingIntervalMs: 3600,
243
251
  retryIntervalMs: 3600,
252
+ allowTimeoutMs: 100,
244
253
  });
245
254
  eachService = service;
246
255
 
@@ -256,6 +265,7 @@ describe("Test phishing list service", () => {
256
265
  blockListUrl: `http://127.0.0.1:${port}/list3`,
257
266
  fetchingIntervalMs: 3600,
258
267
  retryIntervalMs: 3600,
268
+ allowTimeoutMs: 100,
259
269
  });
260
270
  eachService = service;
261
271
 
@@ -271,30 +281,37 @@ describe("Test phishing list service", () => {
271
281
  blockListUrl: `http://127.0.0.1:${port}/list3`,
272
282
  fetchingIntervalMs: 200,
273
283
  retryIntervalMs: 3600,
284
+ allowTimeoutMs: 100,
274
285
  });
286
+ const spyFetch = jest.spyOn(service, "startFetchPhishingList");
275
287
  eachService = service;
276
288
 
277
289
  service.init();
278
290
 
279
291
  await waitServiceInit(service);
280
292
 
293
+ expect(spyFetch).toBeCalledTimes(1);
281
294
  testCheckURLIsPhishing(service);
282
295
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(false);
283
296
 
284
297
  expect(getQueryCount()).toBe(1);
285
298
 
286
- // Wait re-fetching
287
- await new Promise((resolve) => setTimeout(resolve, 210));
299
+ // Proceed re-fetching
300
+ jest.advanceTimersByTime(210);
288
301
 
302
+ expect(spyFetch).toBeCalledTimes(2);
303
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
289
304
  testCheckURLIsPhishing(service);
290
305
  // See the implementation of /list3
291
306
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(true);
292
307
 
293
308
  expect(getQueryCount()).toBe(2);
294
309
 
295
- // Wait re-fetching
296
- await new Promise((resolve) => setTimeout(resolve, 210));
310
+ // Proceed re-fetching
311
+ jest.advanceTimersByTime(210);
297
312
 
313
+ expect(spyFetch).toBeCalledTimes(3);
314
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
298
315
  testCheckURLIsPhishing(service);
299
316
  // See the implementation of /list3
300
317
  expect(service.checkURLIsPhishing("https://added.domain")).toBe(false);
@@ -307,7 +324,9 @@ describe("Test phishing list service", () => {
307
324
  blockListUrl: `http://127.0.0.1:${port}/test-retry`,
308
325
  fetchingIntervalMs: 200,
309
326
  retryIntervalMs: 100,
327
+ allowTimeoutMs: 100,
310
328
  });
329
+ const spyFetch = jest.spyOn(service, "startFetchPhishingList");
311
330
  eachService = service;
312
331
 
313
332
  service.init();
@@ -325,19 +344,24 @@ describe("Test phishing list service", () => {
325
344
 
326
345
  await waitServiceInit(service);
327
346
 
347
+ expect(spyFetch).toBeCalledTimes(1);
328
348
  testPhishingUntil(1);
329
349
  expect(getQueryCount()).toBe(1);
330
350
 
331
- // Wait re-fetching
332
- await new Promise((resolve) => setTimeout(resolve, 210));
351
+ // Proceed re-fetching
352
+ jest.advanceTimersByTime(210);
333
353
 
354
+ expect(spyFetch).toBeCalledTimes(2);
355
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
334
356
  // See the implementation of /test-retry
335
357
  testPhishingUntil(2);
336
358
  expect(getQueryCount()).toBe(2);
337
359
 
338
- // Wait re-fetching
339
- await new Promise((resolve) => setTimeout(resolve, 210));
360
+ // Proceed re-fetching
361
+ jest.advanceTimersByTime(210);
340
362
 
363
+ expect(spyFetch).toBeCalledTimes(3);
364
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
341
365
  // See the implementation of /test-retry
342
366
  // In this case, the fetching should be failed.
343
367
  // So, there is no update on phishing list.
@@ -345,23 +369,73 @@ describe("Test phishing list service", () => {
345
369
  expect(getQueryCount()).toBe(3);
346
370
 
347
371
  // Wait retry for failed query
348
- await new Promise((resolve) => setTimeout(resolve, 110));
372
+ jest.advanceTimersByTime(110);
349
373
 
374
+ expect(spyFetch).toBeCalledTimes(4);
375
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
350
376
  // See the implementation of /test-retry
351
377
  testPhishingUntil(4);
352
378
  expect(getQueryCount()).toBe(4);
353
379
 
354
380
  // Not yet re-fetching
355
- await new Promise((resolve) => setTimeout(resolve, 110));
381
+ jest.advanceTimersByTime(110);
356
382
 
383
+ expect(spyFetch).toBeCalledTimes(4);
357
384
  // See the implementation of /test-retry
358
385
  testPhishingUntil(4);
359
386
  expect(getQueryCount()).toBe(4);
360
387
 
361
388
  // Now re-fetching
362
- await new Promise((resolve) => setTimeout(resolve, 110));
389
+ jest.advanceTimersByTime(110);
390
+
391
+ expect(spyFetch).toBeCalledTimes(5);
392
+ await spyFetch.mock.results[spyFetch.mock.results.length - 1].value;
363
393
  // See the implementation of /test-retry
364
394
  testPhishingUntil(5);
365
395
  expect(getQueryCount()).toBe(5);
366
396
  });
397
+
398
+ test("Test addUrlTemp allow blocked url", async () => {
399
+ const service = new PhishingListService({
400
+ blockListUrl: `http://127.0.0.1:${port}/list1`,
401
+ fetchingIntervalMs: 200,
402
+ retryIntervalMs: 100,
403
+ allowTimeoutMs: 100,
404
+ });
405
+ eachService = service;
406
+
407
+ service.init();
408
+
409
+ await waitServiceInit(service);
410
+
411
+ // block phishings site
412
+ const [phishing, anotherPhishing] = phishings;
413
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(true);
414
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(true);
415
+
416
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
417
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(
418
+ true
419
+ );
420
+
421
+ // allow temp Url
422
+ service.allowUrlTemp("https://" + phishing);
423
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(false);
424
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(false);
425
+ // but another url still blocked
426
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
427
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(
428
+ true
429
+ );
430
+
431
+ // should be blocked again
432
+ jest.advanceTimersByTime(110);
433
+ expect(service.checkURLIsPhishing("https://" + phishing)).toBe(true);
434
+ expect(service.checkURLIsPhishing("https://test." + phishing)).toBe(true);
435
+
436
+ expect(service.checkURLIsPhishing("https://" + anotherPhishing)).toBe(true);
437
+ expect(service.checkURLIsPhishing("https://test." + anotherPhishing)).toBe(
438
+ true
439
+ );
440
+ });
367
441
  });
@@ -3,6 +3,7 @@ import { parseDomainUntilSecondLevel } from "./utils";
3
3
 
4
4
  export class PhishingListService {
5
5
  protected map: Map<string, boolean> = new Map();
6
+ protected allowed: Map<string, number> = new Map();
6
7
 
7
8
  protected _hasInited: boolean = false;
8
9
  protected _hasStopped: boolean = false;
@@ -13,6 +14,7 @@ export class PhishingListService {
13
14
  readonly blockListUrl: string;
14
15
  readonly fetchingIntervalMs: number;
15
16
  readonly retryIntervalMs: number;
17
+ readonly allowTimeoutMs: number;
16
18
  }
17
19
  ) {}
18
20
 
@@ -82,7 +84,26 @@ export class PhishingListService {
82
84
  }
83
85
 
84
86
  checkURLIsPhishing(url: string): boolean {
87
+ const parsed = parseDomainUntilSecondLevel(new URL(url).origin);
88
+ if (this.map.get(parsed) === true) {
89
+ const allowed = this.allowed.get(parsed);
90
+ if (
91
+ allowed &&
92
+ allowed + this.opts.allowTimeoutMs >= new Date().getTime()
93
+ ) {
94
+ return false;
95
+ }
96
+ return true;
97
+ } else {
98
+ return false;
99
+ }
100
+ }
101
+
102
+ allowUrlTemp(url: string): void {
85
103
  const parsed = new URL(url);
86
- return this.map.get(parseDomainUntilSecondLevel(parsed.origin)) === true;
104
+ this.allowed.set(
105
+ parseDomainUntilSecondLevel(parsed.origin),
106
+ new Date().getTime()
107
+ );
87
108
  }
88
109
  }