@polkadot/extension-base 0.46.5 → 0.46.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
- import { wrapBytes } from '@polkadot/extension-dapp/wrapBytes';
2
- import { u8aToHex } from '@polkadot/util';
1
+ import { u8aToHex, u8aWrapBytes } from '@polkadot/util';
3
2
  export default class RequestBytesSign {
3
+ payload;
4
4
  constructor(payload) {
5
5
  this.payload = payload;
6
6
  }
7
7
  sign(_registry, pair) {
8
8
  return {
9
- signature: u8aToHex(pair.sign(wrapBytes(this.payload.data)))
9
+ signature: u8aToHex(pair.sign(u8aWrapBytes(this.payload.data)))
10
10
  };
11
11
  }
12
12
  }
@@ -1,4 +1,5 @@
1
1
  export default class RequestExtrinsicSign {
2
+ payload;
2
3
  constructor(payload) {
3
4
  this.payload = payload;
4
5
  }
@@ -19,6 +19,8 @@ function isJsonPayload(value) {
19
19
  return value.genesisHash !== undefined;
20
20
  }
21
21
  export default class Extension {
22
+ __internal__cachedUnlocks;
23
+ __internal__state;
22
24
  constructor(state) {
23
25
  this.__internal__cachedUnlocks = {};
24
26
  this.__internal__state = state;
@@ -61,79 +61,23 @@ function extractMetadata(store) {
61
61
  });
62
62
  }
63
63
  export default class State {
64
+ __internal__authUrls = {};
65
+ __internal__authRequests = {};
66
+ __internal__metaStore = new MetadataStore();
67
+ // Map of providers currently injected in tabs
68
+ __internal__injectedProviders = new Map();
69
+ __internal__metaRequests = {};
70
+ __internal__notification = settings.notification;
71
+ // Map of all providers exposed by the extension, they are retrievable by key
72
+ __internal__providers;
73
+ __internal__signRequests = {};
74
+ __internal__windows = [];
75
+ __internal__connectedTabsUrl = [];
76
+ authSubject = new BehaviorSubject([]);
77
+ metaSubject = new BehaviorSubject([]);
78
+ signSubject = new BehaviorSubject([]);
79
+ defaultAuthAccountSelection = [];
64
80
  constructor(providers = {}) {
65
- this.__internal__authUrls = {};
66
- this.__internal__authRequests = {};
67
- this.__internal__metaStore = new MetadataStore();
68
- // Map of providers currently injected in tabs
69
- this.__internal__injectedProviders = new Map();
70
- this.__internal__metaRequests = {};
71
- this.__internal__notification = settings.notification;
72
- this.__internal__signRequests = {};
73
- this.__internal__windows = [];
74
- this.__internal__connectedTabsUrl = [];
75
- this.authSubject = new BehaviorSubject([]);
76
- this.metaSubject = new BehaviorSubject([]);
77
- this.signSubject = new BehaviorSubject([]);
78
- this.defaultAuthAccountSelection = [];
79
- this.authComplete = (id, resolve, reject) => {
80
- const complete = (authorizedAccounts = []) => {
81
- const { idStr, request: { origin }, url } = this.__internal__authRequests[id];
82
- this.__internal__authUrls[this.stripUrl(url)] = {
83
- authorizedAccounts,
84
- count: 0,
85
- id: idStr,
86
- origin,
87
- url
88
- };
89
- this.saveCurrentAuthList();
90
- this.updateDefaultAuthAccounts(authorizedAccounts);
91
- delete this.__internal__authRequests[id];
92
- this.updateIconAuth(true);
93
- };
94
- return {
95
- reject: (error) => {
96
- complete();
97
- reject(error);
98
- },
99
- resolve: ({ authorizedAccounts, result }) => {
100
- complete(authorizedAccounts);
101
- resolve({ authorizedAccounts, result });
102
- }
103
- };
104
- };
105
- this.metaComplete = (id, resolve, reject) => {
106
- const complete = () => {
107
- delete this.__internal__metaRequests[id];
108
- this.updateIconMeta(true);
109
- };
110
- return {
111
- reject: (error) => {
112
- complete();
113
- reject(error);
114
- },
115
- resolve: (result) => {
116
- complete();
117
- resolve(result);
118
- }
119
- };
120
- };
121
- this.signComplete = (id, resolve, reject) => {
122
- const complete = () => {
123
- delete this.__internal__signRequests[id];
124
- this.updateIconSign(true);
125
- };
126
- return {
127
- reject: (error) => {
128
- complete();
129
- reject(error);
130
- },
131
- resolve: (result) => {
132
- complete();
133
- resolve(result);
134
- }
135
- };
136
- };
137
81
  this.__internal__providers = providers;
138
82
  extractMetadata(this.__internal__metaStore);
139
83
  // retrieve previously set authorizations
@@ -189,6 +133,32 @@ export default class State {
189
133
  }
190
134
  });
191
135
  }
136
+ authComplete = (id, resolve, reject) => {
137
+ const complete = (authorizedAccounts = []) => {
138
+ const { idStr, request: { origin }, url } = this.__internal__authRequests[id];
139
+ this.__internal__authUrls[this.stripUrl(url)] = {
140
+ authorizedAccounts,
141
+ count: 0,
142
+ id: idStr,
143
+ origin,
144
+ url
145
+ };
146
+ this.saveCurrentAuthList();
147
+ this.updateDefaultAuthAccounts(authorizedAccounts);
148
+ delete this.__internal__authRequests[id];
149
+ this.updateIconAuth(true);
150
+ };
151
+ return {
152
+ reject: (error) => {
153
+ complete();
154
+ reject(error);
155
+ },
156
+ resolve: ({ authorizedAccounts, result }) => {
157
+ complete(authorizedAccounts);
158
+ resolve({ authorizedAccounts, result });
159
+ }
160
+ };
161
+ };
192
162
  udateCurrentTabsUrl(urls) {
193
163
  const connectedTabs = urls.map((url) => {
194
164
  let strippedUrl = '';
@@ -224,6 +194,38 @@ export default class State {
224
194
  this.defaultAuthAccountSelection = newList;
225
195
  this.saveDefaultAuthAccounts();
226
196
  }
197
+ metaComplete = (id, resolve, reject) => {
198
+ const complete = () => {
199
+ delete this.__internal__metaRequests[id];
200
+ this.updateIconMeta(true);
201
+ };
202
+ return {
203
+ reject: (error) => {
204
+ complete();
205
+ reject(error);
206
+ },
207
+ resolve: (result) => {
208
+ complete();
209
+ resolve(result);
210
+ }
211
+ };
212
+ };
213
+ signComplete = (id, resolve, reject) => {
214
+ const complete = () => {
215
+ delete this.__internal__signRequests[id];
216
+ this.updateIconSign(true);
217
+ };
218
+ return {
219
+ reject: (error) => {
220
+ complete();
221
+ reject(error);
222
+ },
223
+ resolve: (result) => {
224
+ complete();
225
+ resolve(result);
226
+ }
227
+ };
228
+ };
227
229
  stripUrl(url) {
228
230
  assert(url && (url.startsWith('http:') || url.startsWith('https:') || url.startsWith('ipfs:') || url.startsWith('ipns:')), `Invalid url ${url}, expected to start with http: or https: or ipfs: or ipns:`);
229
231
  const parts = url.split('/');
@@ -22,8 +22,9 @@ function transformAccounts(accounts, anyType = false) {
22
22
  }));
23
23
  }
24
24
  export default class Tabs {
25
+ __internal__accountSubs = {};
26
+ __internal__state;
25
27
  constructor(state) {
26
- this.__internal__accountSubs = {};
27
28
  this.__internal__state = state;
28
29
  }
29
30
  filterForAuthorizedAccounts(accounts, url) {
@@ -10,9 +10,12 @@ const tabs = new Tabs(state);
10
10
  export default function handler({ id, message, request }, port, extensionPortName = PORT_EXTENSION) {
11
11
  const isExtension = !port || port?.name === extensionPortName;
12
12
  const sender = port?.sender;
13
+ if (!sender) {
14
+ throw new Error('Unable to extract message sender');
15
+ }
13
16
  const from = isExtension
14
17
  ? 'extension'
15
- : (sender.tab && sender.tab.url) || sender.url || '<unknown>';
18
+ : (sender.tab?.url) || sender.url || '<unknown>';
16
19
  const source = `${from}: ${id}: ${message}`;
17
20
  console.log(` [in] ${source}`); // :: ${JSON.stringify(request)}`);
18
21
  const promise = isExtension
@@ -35,13 +35,13 @@ export interface AccountJson extends KeyringPair$Meta {
35
35
  export type AccountWithChildren = AccountJson & {
36
36
  children?: AccountWithChildren[];
37
37
  };
38
- export type AccountsContext = {
38
+ export interface AccountsContext {
39
39
  accounts: AccountJson[];
40
40
  hierarchy: AccountWithChildren[];
41
41
  master?: AccountJson;
42
42
  selectedAccounts?: AccountJson['address'][];
43
43
  setSelectedAccounts?: (address: AccountJson['address'][]) => void;
44
- };
44
+ }
45
45
  export interface AuthorizeRequest {
46
46
  id: string;
47
47
  request: RequestAuthorizeTab;
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const wrapBytes_1 = require("@polkadot/extension-dapp/wrapBytes");
4
3
  const util_1 = require("@polkadot/util");
5
4
  class RequestBytesSign {
5
+ payload;
6
6
  constructor(payload) {
7
7
  this.payload = payload;
8
8
  }
9
9
  sign(_registry, pair) {
10
10
  return {
11
- signature: (0, util_1.u8aToHex)(pair.sign((0, wrapBytes_1.wrapBytes)(this.payload.data)))
11
+ signature: (0, util_1.u8aToHex)(pair.sign((0, util_1.u8aWrapBytes)(this.payload.data)))
12
12
  };
13
13
  }
14
14
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class RequestExtrinsicSign {
4
+ payload;
4
5
  constructor(payload) {
5
6
  this.payload = payload;
6
7
  }
@@ -22,6 +22,8 @@ function isJsonPayload(value) {
22
22
  return value.genesisHash !== undefined;
23
23
  }
24
24
  class Extension {
25
+ __internal__cachedUnlocks;
26
+ __internal__state;
25
27
  constructor(state) {
26
28
  this.__internal__cachedUnlocks = {};
27
29
  this.__internal__state = state;
@@ -30,7 +30,7 @@ var NotificationOptions;
30
30
  NotificationOptions[NotificationOptions["None"] = 0] = "None";
31
31
  NotificationOptions[NotificationOptions["Normal"] = 1] = "Normal";
32
32
  NotificationOptions[NotificationOptions["PopUp"] = 2] = "PopUp";
33
- })(NotificationOptions = exports.NotificationOptions || (exports.NotificationOptions = {}));
33
+ })(NotificationOptions || (exports.NotificationOptions = NotificationOptions = {}));
34
34
  const AUTH_URLS_KEY = 'authUrls';
35
35
  const DEFAULT_AUTH_ACCOUNTS = 'defaultAuthAccounts';
36
36
  function extractMetadata(store) {
@@ -65,79 +65,23 @@ function extractMetadata(store) {
65
65
  });
66
66
  }
67
67
  class State {
68
+ __internal__authUrls = {};
69
+ __internal__authRequests = {};
70
+ __internal__metaStore = new index_js_1.MetadataStore();
71
+ // Map of providers currently injected in tabs
72
+ __internal__injectedProviders = new Map();
73
+ __internal__metaRequests = {};
74
+ __internal__notification = ui_settings_1.default.notification;
75
+ // Map of all providers exposed by the extension, they are retrievable by key
76
+ __internal__providers;
77
+ __internal__signRequests = {};
78
+ __internal__windows = [];
79
+ __internal__connectedTabsUrl = [];
80
+ authSubject = new rxjs_1.BehaviorSubject([]);
81
+ metaSubject = new rxjs_1.BehaviorSubject([]);
82
+ signSubject = new rxjs_1.BehaviorSubject([]);
83
+ defaultAuthAccountSelection = [];
68
84
  constructor(providers = {}) {
69
- this.__internal__authUrls = {};
70
- this.__internal__authRequests = {};
71
- this.__internal__metaStore = new index_js_1.MetadataStore();
72
- // Map of providers currently injected in tabs
73
- this.__internal__injectedProviders = new Map();
74
- this.__internal__metaRequests = {};
75
- this.__internal__notification = ui_settings_1.default.notification;
76
- this.__internal__signRequests = {};
77
- this.__internal__windows = [];
78
- this.__internal__connectedTabsUrl = [];
79
- this.authSubject = new rxjs_1.BehaviorSubject([]);
80
- this.metaSubject = new rxjs_1.BehaviorSubject([]);
81
- this.signSubject = new rxjs_1.BehaviorSubject([]);
82
- this.defaultAuthAccountSelection = [];
83
- this.authComplete = (id, resolve, reject) => {
84
- const complete = (authorizedAccounts = []) => {
85
- const { idStr, request: { origin }, url } = this.__internal__authRequests[id];
86
- this.__internal__authUrls[this.stripUrl(url)] = {
87
- authorizedAccounts,
88
- count: 0,
89
- id: idStr,
90
- origin,
91
- url
92
- };
93
- this.saveCurrentAuthList();
94
- this.updateDefaultAuthAccounts(authorizedAccounts);
95
- delete this.__internal__authRequests[id];
96
- this.updateIconAuth(true);
97
- };
98
- return {
99
- reject: (error) => {
100
- complete();
101
- reject(error);
102
- },
103
- resolve: ({ authorizedAccounts, result }) => {
104
- complete(authorizedAccounts);
105
- resolve({ authorizedAccounts, result });
106
- }
107
- };
108
- };
109
- this.metaComplete = (id, resolve, reject) => {
110
- const complete = () => {
111
- delete this.__internal__metaRequests[id];
112
- this.updateIconMeta(true);
113
- };
114
- return {
115
- reject: (error) => {
116
- complete();
117
- reject(error);
118
- },
119
- resolve: (result) => {
120
- complete();
121
- resolve(result);
122
- }
123
- };
124
- };
125
- this.signComplete = (id, resolve, reject) => {
126
- const complete = () => {
127
- delete this.__internal__signRequests[id];
128
- this.updateIconSign(true);
129
- };
130
- return {
131
- reject: (error) => {
132
- complete();
133
- reject(error);
134
- },
135
- resolve: (result) => {
136
- complete();
137
- resolve(result);
138
- }
139
- };
140
- };
141
85
  this.__internal__providers = providers;
142
86
  extractMetadata(this.__internal__metaStore);
143
87
  // retrieve previously set authorizations
@@ -193,6 +137,32 @@ class State {
193
137
  }
194
138
  });
195
139
  }
140
+ authComplete = (id, resolve, reject) => {
141
+ const complete = (authorizedAccounts = []) => {
142
+ const { idStr, request: { origin }, url } = this.__internal__authRequests[id];
143
+ this.__internal__authUrls[this.stripUrl(url)] = {
144
+ authorizedAccounts,
145
+ count: 0,
146
+ id: idStr,
147
+ origin,
148
+ url
149
+ };
150
+ this.saveCurrentAuthList();
151
+ this.updateDefaultAuthAccounts(authorizedAccounts);
152
+ delete this.__internal__authRequests[id];
153
+ this.updateIconAuth(true);
154
+ };
155
+ return {
156
+ reject: (error) => {
157
+ complete();
158
+ reject(error);
159
+ },
160
+ resolve: ({ authorizedAccounts, result }) => {
161
+ complete(authorizedAccounts);
162
+ resolve({ authorizedAccounts, result });
163
+ }
164
+ };
165
+ };
196
166
  udateCurrentTabsUrl(urls) {
197
167
  const connectedTabs = urls.map((url) => {
198
168
  let strippedUrl = '';
@@ -228,6 +198,38 @@ class State {
228
198
  this.defaultAuthAccountSelection = newList;
229
199
  this.saveDefaultAuthAccounts();
230
200
  }
201
+ metaComplete = (id, resolve, reject) => {
202
+ const complete = () => {
203
+ delete this.__internal__metaRequests[id];
204
+ this.updateIconMeta(true);
205
+ };
206
+ return {
207
+ reject: (error) => {
208
+ complete();
209
+ reject(error);
210
+ },
211
+ resolve: (result) => {
212
+ complete();
213
+ resolve(result);
214
+ }
215
+ };
216
+ };
217
+ signComplete = (id, resolve, reject) => {
218
+ const complete = () => {
219
+ delete this.__internal__signRequests[id];
220
+ this.updateIconSign(true);
221
+ };
222
+ return {
223
+ reject: (error) => {
224
+ complete();
225
+ reject(error);
226
+ },
227
+ resolve: (result) => {
228
+ complete();
229
+ resolve(result);
230
+ }
231
+ };
232
+ };
231
233
  stripUrl(url) {
232
234
  (0, util_1.assert)(url && (url.startsWith('http:') || url.startsWith('https:') || url.startsWith('ipfs:') || url.startsWith('ipns:')), `Invalid url ${url}, expected to start with http: or https: or ipfs: or ipns:`);
233
235
  const parts = url.split('/');
@@ -25,8 +25,9 @@ function transformAccounts(accounts, anyType = false) {
25
25
  }));
26
26
  }
27
27
  class Tabs {
28
+ __internal__accountSubs = {};
29
+ __internal__state;
28
30
  constructor(state) {
29
- this.__internal__accountSubs = {};
30
31
  this.__internal__state = state;
31
32
  }
32
33
  filterForAuthorizedAccounts(accounts, url) {
@@ -15,9 +15,12 @@ const tabs = new Tabs_js_1.default(state);
15
15
  function handler({ id, message, request }, port, extensionPortName = defaults_js_1.PORT_EXTENSION) {
16
16
  const isExtension = !port || port?.name === extensionPortName;
17
17
  const sender = port?.sender;
18
+ if (!sender) {
19
+ throw new Error('Unable to extract message sender');
20
+ }
18
21
  const from = isExtension
19
22
  ? 'extension'
20
- : (sender.tab && sender.tab.url) || sender.url || '<unknown>';
23
+ : (sender.tab?.url) || sender.url || '<unknown>';
21
24
  const source = `${from}: ${id}: ${message}`;
22
25
  console.log(` [in] ${source}`); // :: ${JSON.stringify(request)}`);
23
26
  const promise = isExtension
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageInfo = void 0;
4
- exports.packageInfo = { name: '@polkadot/extension-base', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '0.46.5' };
4
+ exports.packageInfo = { name: '@polkadot/extension-base', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '0.46.6' };
@@ -6,6 +6,10 @@ const Metadata_js_1 = tslib_1.__importDefault(require("./Metadata.js"));
6
6
  const PostMessageProvider_js_1 = tslib_1.__importDefault(require("./PostMessageProvider.js"));
7
7
  const Signer_js_1 = tslib_1.__importDefault(require("./Signer.js"));
8
8
  class default_1 {
9
+ accounts;
10
+ metadata;
11
+ provider;
12
+ signer;
9
13
  constructor(sendRequest) {
10
14
  this.accounts = new Accounts_js_1.default(sendRequest);
11
15
  this.metadata = new Metadata_js_1.default(sendRequest);
@@ -10,22 +10,23 @@ let sendRequest;
10
10
  * @description Extension provider to be used by dapps
11
11
  */
12
12
  class PostMessageProvider {
13
+ __internal__eventemitter;
14
+ // Whether or not the actual extension background provider is connected
15
+ __internal__isConnected = false;
16
+ // Subscription IDs are (historically) not guaranteed to be globally unique;
17
+ // only unique for a given subscription method; which is why we identify
18
+ // the subscriptions based on subscription id + type
19
+ __internal__subscriptions = {}; // {[(type,subscriptionId)]: callback}
13
20
  /**
14
21
  * @param {function} sendRequest The function to be called to send requests to the node
15
22
  * @param {function} subscriptionNotificationHandler Channel for receiving subscription messages
16
23
  */
17
24
  constructor(_sendRequest) {
18
- // Whether or not the actual extension background provider is connected
19
- this.__internal__isConnected = false;
20
- // Subscription IDs are (historically) not guaranteed to be globally unique;
21
- // only unique for a given subscription method; which is why we identify
22
- // the subscriptions based on subscription id + type
23
- this.__internal__subscriptions = {}; // {[(type,subscriptionId)]: callback}
24
25
  this.__internal__eventemitter = new eventemitter3_1.EventEmitter();
25
26
  sendRequest = _sendRequest;
26
27
  }
27
28
  get isClonable() {
28
- return true;
29
+ return !!true;
29
30
  }
30
31
  /**
31
32
  * @description Returns a clone of the object
@@ -54,7 +55,7 @@ class PostMessageProvider {
54
55
  */
55
56
  get hasSubscriptions() {
56
57
  // FIXME This should see if the extension's state's provider has subscriptions
57
- return true;
58
+ return !!true;
58
59
  }
59
60
  /**
60
61
  * @summary Whether the node is connected or not.
@@ -7,6 +7,7 @@ const lastError = (type) => {
7
7
  }
8
8
  };
9
9
  class BaseStore {
10
+ __internal__prefix;
10
11
  constructor(prefix) {
11
12
  this.__internal__prefix = prefix ? `${prefix}:` : '';
12
13
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bugs": "https://github.com/polkadot-js/extension/issues",
4
4
  "description": "Functions, classes and other utilities used in @polkadot/extension",
5
5
  "engines": {
6
- "node": ">=16"
6
+ "node": ">=18"
7
7
  },
8
8
  "homepage": "https://github.com/polkadot-js/extension/tree/master/packages/extension-base#readme",
9
9
  "license": "Apache-2.0",
@@ -18,7 +18,7 @@
18
18
  "./cjs/detectPackage.js"
19
19
  ],
20
20
  "type": "module",
21
- "version": "0.46.5",
21
+ "version": "0.46.6",
22
22
  "main": "./cjs/index.js",
23
23
  "module": "./index.js",
24
24
  "types": "./index.d.ts",
@@ -223,21 +223,21 @@
223
223
  }
224
224
  },
225
225
  "dependencies": {
226
- "@polkadot/api": "^10.9.1",
227
- "@polkadot/extension-chains": "0.46.5",
228
- "@polkadot/extension-dapp": "0.46.5",
229
- "@polkadot/extension-inject": "0.46.5",
230
- "@polkadot/keyring": "^12.3.2",
231
- "@polkadot/networks": "^12.3.2",
232
- "@polkadot/phishing": "^0.21.5",
233
- "@polkadot/rpc-provider": "^10.9.1",
234
- "@polkadot/types": "^10.9.1",
235
- "@polkadot/ui-keyring": "^3.5.1",
236
- "@polkadot/ui-settings": "^3.5.1",
237
- "@polkadot/util": "^12.3.2",
238
- "@polkadot/util-crypto": "^12.3.2",
226
+ "@polkadot/api": "^10.11.1",
227
+ "@polkadot/extension-chains": "0.46.6",
228
+ "@polkadot/extension-dapp": "0.46.6",
229
+ "@polkadot/extension-inject": "0.46.6",
230
+ "@polkadot/keyring": "^12.6.1",
231
+ "@polkadot/networks": "^12.6.1",
232
+ "@polkadot/phishing": "^0.22.1",
233
+ "@polkadot/rpc-provider": "^10.11.1",
234
+ "@polkadot/types": "^10.11.1",
235
+ "@polkadot/ui-keyring": "^3.6.4",
236
+ "@polkadot/ui-settings": "^3.6.4",
237
+ "@polkadot/util": "^12.6.1",
238
+ "@polkadot/util-crypto": "^12.6.1",
239
239
  "eventemitter3": "^5.0.1",
240
240
  "rxjs": "^7.8.1",
241
- "tslib": "^2.5.3"
241
+ "tslib": "^2.6.2"
242
242
  }
243
243
  }
package/packageInfo.js CHANGED
@@ -1 +1 @@
1
- export const packageInfo = { name: '@polkadot/extension-base', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '0.46.5' };
1
+ export const packageInfo = { name: '@polkadot/extension-base', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '0.46.6' };
package/page/Injected.js CHANGED
@@ -3,6 +3,10 @@ import Metadata from './Metadata.js';
3
3
  import PostMessageProvider from './PostMessageProvider.js';
4
4
  import Signer from './Signer.js';
5
5
  export default class {
6
+ accounts;
7
+ metadata;
8
+ provider;
9
+ signer;
6
10
  constructor(sendRequest) {
7
11
  this.accounts = new Accounts(sendRequest);
8
12
  this.metadata = new Metadata(sendRequest);
@@ -8,22 +8,23 @@ let sendRequest;
8
8
  * @description Extension provider to be used by dapps
9
9
  */
10
10
  export default class PostMessageProvider {
11
+ __internal__eventemitter;
12
+ // Whether or not the actual extension background provider is connected
13
+ __internal__isConnected = false;
14
+ // Subscription IDs are (historically) not guaranteed to be globally unique;
15
+ // only unique for a given subscription method; which is why we identify
16
+ // the subscriptions based on subscription id + type
17
+ __internal__subscriptions = {}; // {[(type,subscriptionId)]: callback}
11
18
  /**
12
19
  * @param {function} sendRequest The function to be called to send requests to the node
13
20
  * @param {function} subscriptionNotificationHandler Channel for receiving subscription messages
14
21
  */
15
22
  constructor(_sendRequest) {
16
- // Whether or not the actual extension background provider is connected
17
- this.__internal__isConnected = false;
18
- // Subscription IDs are (historically) not guaranteed to be globally unique;
19
- // only unique for a given subscription method; which is why we identify
20
- // the subscriptions based on subscription id + type
21
- this.__internal__subscriptions = {}; // {[(type,subscriptionId)]: callback}
22
23
  this.__internal__eventemitter = new EventEmitter();
23
24
  sendRequest = _sendRequest;
24
25
  }
25
26
  get isClonable() {
26
- return true;
27
+ return !!true;
27
28
  }
28
29
  /**
29
30
  * @description Returns a clone of the object
@@ -52,7 +53,7 @@ export default class PostMessageProvider {
52
53
  */
53
54
  get hasSubscriptions() {
54
55
  // FIXME This should see if the extension's state's provider has subscriptions
55
- return true;
56
+ return !!true;
56
57
  }
57
58
  /**
58
59
  * @summary Whether the node is connected or not.
package/stores/Base.js CHANGED
@@ -5,6 +5,7 @@ const lastError = (type) => {
5
5
  }
6
6
  };
7
7
  export default class BaseStore {
8
+ __internal__prefix;
8
9
  constructor(prefix) {
9
10
  this.__internal__prefix = prefix ? `${prefix}:` : '';
10
11
  }