@polkadot/extension-base 0.41.2 → 0.41.3-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,4 +5,6 @@ Functions, classes and other utilities used in `@polkadot/extension`. These incl
5
5
  - message passing,
6
6
  - scripts injected inside pages.
7
7
 
8
- They are primarily meant to be used in `@polkadot/extension`, and can be broken without any notice to cater for `@polkadot/extension`'s needs. They are exported here if you wish to use part of them in the development of your own extension.
8
+ They are primarily meant to be used in `@polkadot/extension`, and can be broken without any notice to cater for `@polkadot/extension`'s needs.
9
+
10
+ They are exported here if you wish to use part of them in the development of your own extension. Don't forget to add `process.env.EXTENSION_PREFIX` to separate ports and stores from the current extension's ones.
@@ -13,6 +13,8 @@ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime
13
13
 
14
14
  var _rxjs = require("rxjs");
15
15
 
16
+ var _getId = require("@polkadot/extension-base/utils/getId");
17
+
16
18
  var _extensionChains = require("@polkadot/extension-chains");
17
19
 
18
20
  var _chrome = _interopRequireDefault(require("@polkadot/extension-inject/chrome"));
@@ -25,8 +27,6 @@ var _index = require("../../stores/index.cjs");
25
27
 
26
28
  // Copyright 2019-2021 @polkadot/extension-bg authors & contributors
27
29
  // SPDX-License-Identifier: Apache-2.0
28
- let idCounter = 0;
29
-
30
30
  const NOTIFICATION_URL = _chrome.default.extension.getURL('notification.html');
31
31
 
32
32
  const POPUP_WINDOW_OPTS = {
@@ -54,10 +54,6 @@ exports.NotificationOptions = NotificationOptions;
54
54
 
55
55
  const AUTH_URLS_KEY = 'authUrls';
56
56
 
57
- function getId() {
58
- return `${Date.now()}.${++idCounter}`;
59
- }
60
-
61
57
  var _authUrls = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("authUrls");
62
58
 
63
59
  var _authRequests = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("authRequests");
@@ -349,7 +345,7 @@ class State {
349
345
  }
350
346
 
351
347
  return new Promise((resolve, reject) => {
352
- const id = getId();
348
+ const id = (0, _getId.getId)();
353
349
  (0, _classPrivateFieldLooseBase2.default)(this, _authRequests)[_authRequests][id] = { ...this.authComplete(id, resolve, reject),
354
350
  id,
355
351
  idStr,
@@ -371,7 +367,7 @@ class State {
371
367
 
372
368
  injectMetadata(url, request) {
373
369
  return new Promise((resolve, reject) => {
374
- const id = getId();
370
+ const id = (0, _getId.getId)();
375
371
  (0, _classPrivateFieldLooseBase2.default)(this, _metaRequests)[_metaRequests][id] = { ...this.metaComplete(id, resolve, reject),
376
372
  id,
377
373
  request,
@@ -475,7 +471,7 @@ class State {
475
471
  }
476
472
 
477
473
  sign(url, request, account) {
478
- const id = getId();
474
+ const id = (0, _getId.getId)();
479
475
  return new Promise((resolve, reject) => {
480
476
  (0, _classPrivateFieldLooseBase2.default)(this, _signRequests)[_signRequests][id] = { ...this.signComplete(id, resolve, reject),
481
477
  account,
@@ -3,12 +3,12 @@ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateF
3
3
  // Copyright 2019-2021 @polkadot/extension-bg authors & contributors
4
4
  // SPDX-License-Identifier: Apache-2.0
5
5
  import { BehaviorSubject } from 'rxjs';
6
+ import { getId } from '@polkadot/extension-base/utils/getId';
6
7
  import { addMetadata, knownMetadata } from '@polkadot/extension-chains';
7
8
  import chrome from '@polkadot/extension-inject/chrome';
8
9
  import settings from '@polkadot/ui-settings';
9
10
  import { assert } from '@polkadot/util';
10
11
  import { MetadataStore } from "../../stores/index.js";
11
- let idCounter = 0;
12
12
  const NOTIFICATION_URL = chrome.extension.getURL('notification.html');
13
13
  const POPUP_WINDOW_OPTS = {
14
14
  focused: true,
@@ -34,10 +34,6 @@ export let NotificationOptions;
34
34
 
35
35
  const AUTH_URLS_KEY = 'authUrls';
36
36
 
37
- function getId() {
38
- return `${Date.now()}.${++idCounter}`;
39
- }
40
-
41
37
  var _authUrls = /*#__PURE__*/_classPrivateFieldLooseKey("authUrls");
42
38
 
43
39
  var _authRequests = /*#__PURE__*/_classPrivateFieldLooseKey("authRequests");
@@ -117,7 +117,7 @@ export declare type MessageTypesWithNullRequest = NullKeys<RequestTypes>;
117
117
  export interface TransportRequestMessage<TMessageType extends MessageTypes> {
118
118
  id: string;
119
119
  message: TMessageType;
120
- origin: 'page' | 'extension';
120
+ origin: string;
121
121
  request: RequestTypes[TMessageType];
122
122
  }
123
123
  export interface RequestAuthorizeTab {
package/defaults.cjs CHANGED
@@ -3,17 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PORT_EXTENSION = exports.PORT_CONTENT = exports.PHISHING_PAGE_REDIRECT = exports.PASSWORD_EXPIRY_MS = exports.PASSWORD_EXPIRY_MIN = exports.ALLOWED_PATH = void 0;
6
+ exports.PORT_EXTENSION = exports.PORT_CONTENT = exports.PHISHING_PAGE_REDIRECT = exports.PASSWORD_EXPIRY_MS = exports.PASSWORD_EXPIRY_MIN = exports.MESSAGE_ORIGIN_PAGE = exports.MESSAGE_ORIGIN_CONTENT = exports.EXTENSION_PREFIX = exports.ALLOWED_PATH = void 0;
7
7
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
8
8
  // SPDX-License-Identifier: Apache-2.0
9
9
  const ALLOWED_PATH = ['/', '/account/import-ledger', '/account/restore-json'];
10
10
  exports.ALLOWED_PATH = ALLOWED_PATH;
11
- const PORT_CONTENT = 'content';
12
- exports.PORT_CONTENT = PORT_CONTENT;
13
11
  const PHISHING_PAGE_REDIRECT = '/phishing-page-detected';
14
12
  exports.PHISHING_PAGE_REDIRECT = PHISHING_PAGE_REDIRECT;
15
- const PORT_EXTENSION = 'extension';
13
+ const EXTENSION_PREFIX = process.env.EXTENSION_PREFIX || '';
14
+ exports.EXTENSION_PREFIX = EXTENSION_PREFIX;
15
+ const PORT_CONTENT = `${EXTENSION_PREFIX}content`;
16
+ exports.PORT_CONTENT = PORT_CONTENT;
17
+ const PORT_EXTENSION = `${EXTENSION_PREFIX}extension`;
16
18
  exports.PORT_EXTENSION = PORT_EXTENSION;
19
+ const MESSAGE_ORIGIN_PAGE = `${EXTENSION_PREFIX}page`;
20
+ exports.MESSAGE_ORIGIN_PAGE = MESSAGE_ORIGIN_PAGE;
21
+ const MESSAGE_ORIGIN_CONTENT = `${EXTENSION_PREFIX}content`;
22
+ exports.MESSAGE_ORIGIN_CONTENT = MESSAGE_ORIGIN_CONTENT;
17
23
  const PASSWORD_EXPIRY_MIN = 15;
18
24
  exports.PASSWORD_EXPIRY_MIN = PASSWORD_EXPIRY_MIN;
19
25
  const PASSWORD_EXPIRY_MS = PASSWORD_EXPIRY_MIN * 60 * 1000;
package/defaults.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  declare const ALLOWED_PATH: readonly ["/", "/account/import-ledger", "/account/restore-json"];
2
- declare const PORT_CONTENT = "content";
3
2
  declare const PHISHING_PAGE_REDIRECT = "/phishing-page-detected";
4
- declare const PORT_EXTENSION = "extension";
3
+ declare const EXTENSION_PREFIX: string;
4
+ declare const PORT_CONTENT: string;
5
+ declare const PORT_EXTENSION: string;
6
+ declare const MESSAGE_ORIGIN_PAGE: string;
7
+ declare const MESSAGE_ORIGIN_CONTENT: string;
5
8
  declare const PASSWORD_EXPIRY_MIN = 15;
6
9
  declare const PASSWORD_EXPIRY_MS: number;
7
- export { ALLOWED_PATH, PASSWORD_EXPIRY_MIN, PASSWORD_EXPIRY_MS, PHISHING_PAGE_REDIRECT, PORT_CONTENT, PORT_EXTENSION };
10
+ export { ALLOWED_PATH, PASSWORD_EXPIRY_MIN, PASSWORD_EXPIRY_MS, PHISHING_PAGE_REDIRECT, EXTENSION_PREFIX, PORT_CONTENT, PORT_EXTENSION, MESSAGE_ORIGIN_PAGE, MESSAGE_ORIGIN_CONTENT };
package/defaults.js CHANGED
@@ -1,9 +1,12 @@
1
1
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  const ALLOWED_PATH = ['/', '/account/import-ledger', '/account/restore-json'];
4
- const PORT_CONTENT = 'content';
5
4
  const PHISHING_PAGE_REDIRECT = '/phishing-page-detected';
6
- const PORT_EXTENSION = 'extension';
5
+ const EXTENSION_PREFIX = process.env.EXTENSION_PREFIX || '';
6
+ const PORT_CONTENT = `${EXTENSION_PREFIX}content`;
7
+ const PORT_EXTENSION = `${EXTENSION_PREFIX}extension`;
8
+ const MESSAGE_ORIGIN_PAGE = `${EXTENSION_PREFIX}page`;
9
+ const MESSAGE_ORIGIN_CONTENT = `${EXTENSION_PREFIX}content`;
7
10
  const PASSWORD_EXPIRY_MIN = 15;
8
11
  const PASSWORD_EXPIRY_MS = PASSWORD_EXPIRY_MIN * 60 * 1000;
9
- export { ALLOWED_PATH, PASSWORD_EXPIRY_MIN, PASSWORD_EXPIRY_MS, PHISHING_PAGE_REDIRECT, PORT_CONTENT, PORT_EXTENSION };
12
+ export { ALLOWED_PATH, PASSWORD_EXPIRY_MIN, PASSWORD_EXPIRY_MS, PHISHING_PAGE_REDIRECT, EXTENSION_PREFIX, PORT_CONTENT, PORT_EXTENSION, MESSAGE_ORIGIN_PAGE, MESSAGE_ORIGIN_CONTENT };
package/package.json CHANGED
@@ -14,16 +14,16 @@
14
14
  },
15
15
  "sideEffects": false,
16
16
  "type": "module",
17
- "version": "0.41.2",
17
+ "version": "0.41.3-3",
18
18
  "main": "index.js",
19
19
  "dependencies": {
20
20
  "@babel/runtime": "^7.16.3",
21
- "@polkadot/api": "^6.10.2",
22
- "@polkadot/extension-dapp": "^0.41.2",
23
- "@polkadot/extension-inject": "^0.41.2",
24
- "@polkadot/keyring": "^8.0.4",
25
- "@polkadot/phishing": "^0.6.481",
26
- "@polkadot/ui-keyring": "^0.87.2"
21
+ "@polkadot/api": "^6.11.1",
22
+ "@polkadot/extension-dapp": "^0.41.3-3",
23
+ "@polkadot/extension-inject": "^0.41.3-3",
24
+ "@polkadot/keyring": "^8.1.2",
25
+ "@polkadot/phishing": "^0.6.510",
26
+ "@polkadot/ui-keyring": "^0.87.5"
27
27
  },
28
28
  "exports": {
29
29
  ".": {
@@ -157,6 +157,11 @@
157
157
  "default": "./utils/canDerive.js"
158
158
  },
159
159
  "./utils/canDerive.d.ts": "./utils/canDerive.d.ts",
160
+ "./utils/getId": {
161
+ "require": "./utils/getId.cjs",
162
+ "default": "./utils/getId.js"
163
+ },
164
+ "./utils/getId.d.ts": "./utils/getId.d.ts",
160
165
  "./utils/index.d.ts": "./utils/index.d.ts"
161
166
  }
162
167
  }
package/packageInfo.cjs CHANGED
@@ -9,6 +9,6 @@ exports.packageInfo = void 0;
9
9
  // Auto-generated by @polkadot/dev, do not edit
10
10
  const packageInfo = {
11
11
  name: '@polkadot/extension-base',
12
- version: '0.41.2'
12
+ version: '0.41.3-3'
13
13
  };
14
14
  exports.packageInfo = packageInfo;
package/packageInfo.js CHANGED
@@ -3,5 +3,5 @@
3
3
  // Auto-generated by @polkadot/dev, do not edit
4
4
  export const packageInfo = {
5
5
  name: '@polkadot/extension-base',
6
- version: '0.41.2'
6
+ version: '0.41.3-3'
7
7
  };
package/page/index.cjs CHANGED
@@ -10,17 +10,20 @@ exports.handleResponse = handleResponse;
10
10
  exports.redirectIfPhishing = redirectIfPhishing;
11
11
  exports.sendMessage = sendMessage;
12
12
 
13
+ var _defaults = require("../defaults.cjs");
14
+
15
+ var _getId = require("../utils/getId.cjs");
16
+
13
17
  var _Injected = _interopRequireDefault(require("./Injected.cjs"));
14
18
 
15
19
  // Copyright 2019-2021 @polkadot/extension authors & contributors
16
20
  // SPDX-License-Identifier: Apache-2.0
17
- const handlers = {};
18
- let idCounter = 0; // a generic message sender that creates an event, returning a promise that will
21
+ const handlers = {}; // a generic message sender that creates an event, returning a promise that will
19
22
  // resolve once the event is resolved (by the response listener just below this)
20
23
 
21
24
  function sendMessage(message, request, subscriber) {
22
25
  return new Promise((resolve, reject) => {
23
- const id = `${Date.now()}.${++idCounter}`;
26
+ const id = (0, _getId.getId)();
24
27
  handlers[id] = {
25
28
  reject,
26
29
  resolve,
@@ -29,7 +32,7 @@ function sendMessage(message, request, subscriber) {
29
32
  const transportRequestMessage = {
30
33
  id,
31
34
  message,
32
- origin: 'page',
35
+ origin: _defaults.MESSAGE_ORIGIN_PAGE,
33
36
  request: request || null
34
37
  };
35
38
  window.postMessage(transportRequestMessage, '*');
package/page/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  // Copyright 2019-2021 @polkadot/extension authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { MESSAGE_ORIGIN_PAGE } from "../defaults.js";
4
+ import { getId } from "../utils/getId.js";
3
5
  import Injected from "./Injected.js"; // when sending a message from the injector to the extension, we
4
6
  // - create an event - this we send to the loader
5
7
  // - the loader takes this event and uses port.postMessage to background
@@ -7,13 +9,12 @@ import Injected from "./Injected.js"; // when sending a message from the injecto
7
9
  // - this injector, listens on the events, maps it to the original
8
10
  // - resolves/rejects the promise with the result (or sub data)
9
11
 
10
- const handlers = {};
11
- let idCounter = 0; // a generic message sender that creates an event, returning a promise that will
12
+ const handlers = {}; // a generic message sender that creates an event, returning a promise that will
12
13
  // resolve once the event is resolved (by the response listener just below this)
13
14
 
14
15
  export function sendMessage(message, request, subscriber) {
15
16
  return new Promise((resolve, reject) => {
16
- const id = `${Date.now()}.${++idCounter}`;
17
+ const id = getId();
17
18
  handlers[id] = {
18
19
  reject,
19
20
  resolve,
@@ -22,7 +23,7 @@ export function sendMessage(message, request, subscriber) {
22
23
  const transportRequestMessage = {
23
24
  id,
24
25
  message,
25
- origin: 'page',
26
+ origin: MESSAGE_ORIGIN_PAGE,
26
27
  request: request || null
27
28
  };
28
29
  window.postMessage(transportRequestMessage, '*');
@@ -7,13 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defaults = require("../defaults.cjs");
11
+
10
12
  var _Base = _interopRequireDefault(require("./Base.cjs"));
11
13
 
12
14
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
13
15
  // SPDX-License-Identifier: Apache-2.0
14
16
  class AccountsStore extends _Base.default {
15
17
  constructor() {
16
- super(null);
18
+ super(`${_defaults.EXTENSION_PREFIX}accounts`);
17
19
  }
18
20
 
19
21
  set(key, value, update) {
@@ -1,9 +1,10 @@
1
1
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
3
4
  import BaseStore from "./Base.js";
4
5
  export default class AccountsStore extends BaseStore {
5
6
  constructor() {
6
- super(null);
7
+ super(`${EXTENSION_PREFIX}accounts`);
7
8
  }
8
9
 
9
10
  set(key, value, update) {
@@ -7,13 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defaults = require("../defaults.cjs");
11
+
10
12
  var _Base = _interopRequireDefault(require("./Base.cjs"));
11
13
 
12
14
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
13
15
  // SPDX-License-Identifier: Apache-2.0
14
16
  class MetadataStore extends _Base.default {
15
17
  constructor() {
16
- super('metadata');
18
+ super(`${_defaults.EXTENSION_PREFIX}metadata`);
17
19
  }
18
20
 
19
21
  }
@@ -1,9 +1,10 @@
1
1
  // Copyright 2019-2021 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
3
4
  import BaseStore from "./Base.js";
4
5
  export default class MetadataStore extends BaseStore {
5
6
  constructor() {
6
- super('metadata');
7
+ super(`${EXTENSION_PREFIX}metadata`);
7
8
  }
8
9
 
9
10
  }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getId = getId;
7
+
8
+ var _defaults = require("../defaults.cjs");
9
+
10
+ // Copyright 2019-2021 @polkadot/extension authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+ let counter = 0;
13
+
14
+ function getId() {
15
+ return `${_defaults.EXTENSION_PREFIX}.${Date.now()}.${++counter}`;
16
+ }
@@ -0,0 +1 @@
1
+ export declare function getId(): string;
package/utils/getId.js ADDED
@@ -0,0 +1,7 @@
1
+ // Copyright 2019-2021 @polkadot/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
4
+ let counter = 0;
5
+ export function getId() {
6
+ return `${EXTENSION_PREFIX}.${Date.now()}.${++counter}`;
7
+ }