@polkadot/extension-base 0.45.1 → 0.45.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/RequestBytesSign.d.ts +1 -1
- package/background/RequestBytesSign.js +0 -1
- package/background/RequestExtrinsicSign.d.ts +1 -1
- package/background/RequestExtrinsicSign.js +0 -1
- package/background/handlers/Extension.d.ts +2 -2
- package/background/handlers/Extension.js +37 -34
- package/background/handlers/State.d.ts +1 -1
- package/background/handlers/State.js +126 -123
- package/background/handlers/Tabs.d.ts +2 -2
- package/background/handlers/Tabs.js +23 -20
- package/background/handlers/index.d.ts +1 -1
- package/background/handlers/subscriptions.d.ts +1 -1
- package/background/types.d.ts +2 -2
- package/bundle.d.ts +1 -1
- package/cjs/background/handlers/Extension.js +11 -11
- package/cjs/background/handlers/State.js +6 -6
- package/cjs/background/handlers/Tabs.js +14 -14
- package/cjs/background/handlers/index.js +8 -8
- package/cjs/bundle.js +2 -2
- package/cjs/detectPackage.js +3 -3
- package/cjs/index.js +1 -1
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/Injected.js +8 -8
- package/cjs/page/PostMessageProvider.js +2 -2
- package/cjs/page/index.js +6 -6
- package/cjs/stores/Accounts.js +5 -5
- package/cjs/stores/Metadata.js +5 -5
- package/cjs/stores/index.js +4 -4
- package/cjs/utils/getId.js +2 -2
- package/cjs/utils/index.js +2 -2
- package/index.d.ts +1 -1
- package/package.json +14 -14
- package/packageInfo.js +1 -1
- package/page/Accounts.d.ts +1 -1
- package/page/Injected.d.ts +5 -5
- package/page/Injected.js +1 -5
- package/page/Metadata.d.ts +1 -1
- package/page/PostMessageProvider.d.ts +1 -1
- package/page/PostMessageProvider.js +24 -21
- package/page/Signer.d.ts +1 -1
- package/page/index.d.ts +2 -2
- package/page/types.d.ts +1 -1
- package/stores/Accounts.d.ts +1 -1
- package/stores/Base.js +11 -8
- package/stores/Metadata.d.ts +1 -1
- package/stores/index.d.ts +2 -2
- package/utils/index.d.ts +1 -1
|
@@ -9,8 +9,8 @@ const extension_chains_1 = require("@polkadot/extension-chains");
|
|
|
9
9
|
const defaults_1 = require("@polkadot/networks/defaults");
|
|
10
10
|
const ui_settings_1 = tslib_1.__importDefault(require("@polkadot/ui-settings"));
|
|
11
11
|
const util_1 = require("@polkadot/util");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const index_js_1 = require("../../stores/index.js");
|
|
13
|
+
const helpers_js_1 = require("./helpers.js");
|
|
14
14
|
const NOTIFICATION_URL = chrome.extension.getURL('notification.html');
|
|
15
15
|
const POPUP_WINDOW_OPTS = {
|
|
16
16
|
focused: true,
|
|
@@ -69,7 +69,7 @@ class State {
|
|
|
69
69
|
constructor(providers = {}) {
|
|
70
70
|
_State_authUrls.set(this, {});
|
|
71
71
|
_State_authRequests.set(this, {});
|
|
72
|
-
_State_metaStore.set(this, new
|
|
72
|
+
_State_metaStore.set(this, new index_js_1.MetadataStore());
|
|
73
73
|
// Map of providers currently injected in tabs
|
|
74
74
|
_State_injectedProviders.set(this, new Map());
|
|
75
75
|
_State_metaRequests.set(this, {});
|
|
@@ -183,7 +183,7 @@ class State {
|
|
|
183
183
|
return tslib_1.__classPrivateFieldGet(this, _State_authUrls, "f");
|
|
184
184
|
}
|
|
185
185
|
popupClose() {
|
|
186
|
-
tslib_1.__classPrivateFieldGet(this, _State_windows, "f").forEach((id) => (0,
|
|
186
|
+
tslib_1.__classPrivateFieldGet(this, _State_windows, "f").forEach((id) => (0, helpers_js_1.withErrorLog)(() => chrome.windows.remove(id)));
|
|
187
187
|
tslib_1.__classPrivateFieldSet(this, _State_windows, [], "f");
|
|
188
188
|
}
|
|
189
189
|
popupOpen() {
|
|
@@ -245,7 +245,7 @@ class State {
|
|
|
245
245
|
: metaCount
|
|
246
246
|
? 'Meta'
|
|
247
247
|
: (signCount ? `${signCount}` : ''));
|
|
248
|
-
(0,
|
|
248
|
+
(0, helpers_js_1.withErrorLog)(() => chrome.browserAction.setBadgeText({ text }));
|
|
249
249
|
if (shouldClose && text === '') {
|
|
250
250
|
this.popupClose();
|
|
251
251
|
}
|
|
@@ -354,7 +354,7 @@ class State {
|
|
|
354
354
|
port.onDisconnect.addListener(() => {
|
|
355
355
|
const provider = tslib_1.__classPrivateFieldGet(this, _State_injectedProviders, "f").get(port);
|
|
356
356
|
if (provider) {
|
|
357
|
-
(0,
|
|
357
|
+
(0, helpers_js_1.withErrorLog)(() => provider.disconnect());
|
|
358
358
|
}
|
|
359
359
|
tslib_1.__classPrivateFieldGet(this, _State_injectedProviders, "f").delete(port);
|
|
360
360
|
});
|
|
@@ -8,10 +8,10 @@ const phishing_1 = require("@polkadot/phishing");
|
|
|
8
8
|
const ui_keyring_1 = tslib_1.__importDefault(require("@polkadot/ui-keyring"));
|
|
9
9
|
const accounts_1 = require("@polkadot/ui-keyring/observable/accounts");
|
|
10
10
|
const util_1 = require("@polkadot/util");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
11
|
+
const RequestBytesSign_js_1 = tslib_1.__importDefault(require("../RequestBytesSign.js"));
|
|
12
|
+
const RequestExtrinsicSign_js_1 = tslib_1.__importDefault(require("../RequestExtrinsicSign.js"));
|
|
13
|
+
const helpers_js_1 = require("./helpers.js");
|
|
14
|
+
const subscriptions_js_1 = require("./subscriptions.js");
|
|
15
15
|
function transformAccounts(accounts, anyType = false) {
|
|
16
16
|
return Object
|
|
17
17
|
.values(accounts)
|
|
@@ -47,7 +47,7 @@ class Tabs {
|
|
|
47
47
|
return this.filterForAuthorizedAccounts(transformedAccounts, url);
|
|
48
48
|
}
|
|
49
49
|
accountsSubscribeAuthorized(url, id, port) {
|
|
50
|
-
const cb = (0,
|
|
50
|
+
const cb = (0, subscriptions_js_1.createSubscription)(id, port);
|
|
51
51
|
tslib_1.__classPrivateFieldGet(this, _Tabs_accountSubs, "f")[id] = {
|
|
52
52
|
subscription: accounts_1.accounts.subject.subscribe((accounts) => {
|
|
53
53
|
const transformedAccounts = transformAccounts(accounts);
|
|
@@ -66,7 +66,7 @@ class Tabs {
|
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
68
|
delete tslib_1.__classPrivateFieldGet(this, _Tabs_accountSubs, "f")[id];
|
|
69
|
-
(0,
|
|
69
|
+
(0, subscriptions_js_1.unsubscribe)(id);
|
|
70
70
|
sub.subscription.unsubscribe();
|
|
71
71
|
return true;
|
|
72
72
|
}
|
|
@@ -78,12 +78,12 @@ class Tabs {
|
|
|
78
78
|
bytesSign(url, request) {
|
|
79
79
|
const address = request.address;
|
|
80
80
|
const pair = this.getSigningPair(address);
|
|
81
|
-
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").sign(url, new
|
|
81
|
+
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").sign(url, new RequestBytesSign_js_1.default(request), { address, ...pair.meta });
|
|
82
82
|
}
|
|
83
83
|
extrinsicSign(url, request) {
|
|
84
84
|
const address = request.address;
|
|
85
85
|
const pair = this.getSigningPair(address);
|
|
86
|
-
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").sign(url, new
|
|
86
|
+
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").sign(url, new RequestExtrinsicSign_js_1.default(request), { address, ...pair.meta });
|
|
87
87
|
}
|
|
88
88
|
metadataProvide(url, request) {
|
|
89
89
|
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").injectMetadata(url, request);
|
|
@@ -105,21 +105,21 @@ class Tabs {
|
|
|
105
105
|
return tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").rpcStartProvider(key, port);
|
|
106
106
|
}
|
|
107
107
|
async rpcSubscribe(request, id, port) {
|
|
108
|
-
const innerCb = (0,
|
|
108
|
+
const innerCb = (0, subscriptions_js_1.createSubscription)(id, port);
|
|
109
109
|
const cb = (_error, data) => innerCb(data);
|
|
110
110
|
const subscriptionId = await tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").rpcSubscribe(request, cb, port);
|
|
111
111
|
port.onDisconnect.addListener(() => {
|
|
112
|
-
(0,
|
|
113
|
-
(0,
|
|
112
|
+
(0, subscriptions_js_1.unsubscribe)(id);
|
|
113
|
+
(0, helpers_js_1.withErrorLog)(() => this.rpcUnsubscribe({ ...request, subscriptionId }, port));
|
|
114
114
|
});
|
|
115
115
|
return true;
|
|
116
116
|
}
|
|
117
117
|
rpcSubscribeConnected(request, id, port) {
|
|
118
|
-
const innerCb = (0,
|
|
118
|
+
const innerCb = (0, subscriptions_js_1.createSubscription)(id, port);
|
|
119
119
|
const cb = (_error, data) => innerCb(data);
|
|
120
120
|
tslib_1.__classPrivateFieldGet(this, _Tabs_state, "f").rpcSubscribeConnected(request, cb, port);
|
|
121
121
|
port.onDisconnect.addListener(() => {
|
|
122
|
-
(0,
|
|
122
|
+
(0, subscriptions_js_1.unsubscribe)(id);
|
|
123
123
|
});
|
|
124
124
|
return Promise.resolve(true);
|
|
125
125
|
}
|
|
@@ -134,7 +134,7 @@ class Tabs {
|
|
|
134
134
|
tabs
|
|
135
135
|
.map(({ id }) => id)
|
|
136
136
|
.filter((id) => (0, util_1.isNumber)(id))
|
|
137
|
-
.forEach((id) => (0,
|
|
137
|
+
.forEach((id) => (0, helpers_js_1.withErrorLog)(() => chrome.tabs.update(id, { url })));
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
async redirectIfPhishing(url) {
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const util_1 = require("@polkadot/util");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const state = new
|
|
10
|
-
const extension = new
|
|
11
|
-
const tabs = new
|
|
12
|
-
function handler({ id, message, request }, port, extensionPortName =
|
|
5
|
+
const defaults_js_1 = require("../../defaults.js");
|
|
6
|
+
const Extension_js_1 = tslib_1.__importDefault(require("./Extension.js"));
|
|
7
|
+
const State_js_1 = tslib_1.__importDefault(require("./State.js"));
|
|
8
|
+
const Tabs_js_1 = tslib_1.__importDefault(require("./Tabs.js"));
|
|
9
|
+
const state = new State_js_1.default();
|
|
10
|
+
const extension = new Extension_js_1.default(state);
|
|
11
|
+
const tabs = new Tabs_js_1.default(state);
|
|
12
|
+
function handler({ id, message, request }, port, extensionPortName = defaults_js_1.PORT_EXTENSION) {
|
|
13
13
|
const isExtension = !port || port?.name === extensionPortName;
|
|
14
14
|
const sender = port?.sender;
|
|
15
15
|
const from = isExtension
|
package/cjs/bundle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.packageInfo = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return
|
|
4
|
+
var packageInfo_js_1 = require("./packageInfo.js");
|
|
5
|
+
Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return packageInfo_js_1.packageInfo; } });
|
package/cjs/detectPackage.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const util_1 = require("@polkadot/util");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
(0, util_1.detectPackage)(
|
|
5
|
+
const detectOther_js_1 = tslib_1.__importDefault(require("./detectOther.js"));
|
|
6
|
+
const packageInfo_js_1 = require("./packageInfo.js");
|
|
7
|
+
(0, util_1.detectPackage)(packageInfo_js_1.packageInfo, null, detectOther_js_1.default);
|
package/cjs/index.js
CHANGED
package/cjs/packageInfo.js
CHANGED
|
@@ -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.45.
|
|
4
|
+
exports.packageInfo = { name: '@polkadot/extension-base', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '0.45.2' };
|
package/cjs/page/Injected.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const Accounts_js_1 = tslib_1.__importDefault(require("./Accounts.js"));
|
|
5
|
+
const Metadata_js_1 = tslib_1.__importDefault(require("./Metadata.js"));
|
|
6
|
+
const PostMessageProvider_js_1 = tslib_1.__importDefault(require("./PostMessageProvider.js"));
|
|
7
|
+
const Signer_js_1 = tslib_1.__importDefault(require("./Signer.js"));
|
|
8
8
|
class default_1 {
|
|
9
9
|
constructor(sendRequest) {
|
|
10
|
-
this.accounts = new
|
|
11
|
-
this.metadata = new
|
|
12
|
-
this.provider = new
|
|
13
|
-
this.signer = new
|
|
10
|
+
this.accounts = new Accounts_js_1.default(sendRequest);
|
|
11
|
+
this.metadata = new Metadata_js_1.default(sendRequest);
|
|
12
|
+
this.provider = new PostMessageProvider_js_1.default(sendRequest);
|
|
13
|
+
this.signer = new Signer_js_1.default(sendRequest);
|
|
14
14
|
setInterval(() => {
|
|
15
15
|
sendRequest('pub(ping)', null).catch(() => {
|
|
16
16
|
console.error('Extension unavailable, ping failed');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var _PostMessageProvider_eventemitter, _PostMessageProvider_isConnected, _PostMessageProvider_subscriptions;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const eventemitter3_1 =
|
|
5
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
6
6
|
const util_1 = require("@polkadot/util");
|
|
7
7
|
const l = (0, util_1.logger)('PostMessageProvider');
|
|
8
8
|
let sendRequest;
|
|
@@ -24,7 +24,7 @@ class PostMessageProvider {
|
|
|
24
24
|
// only unique for a given subscription method; which is why we identify
|
|
25
25
|
// the subscriptions based on subscription id + type
|
|
26
26
|
_PostMessageProvider_subscriptions.set(this, {}); // {[(type,subscriptionId)]: callback}
|
|
27
|
-
tslib_1.__classPrivateFieldSet(this, _PostMessageProvider_eventemitter, new eventemitter3_1.
|
|
27
|
+
tslib_1.__classPrivateFieldSet(this, _PostMessageProvider_eventemitter, new eventemitter3_1.EventEmitter(), "f");
|
|
28
28
|
sendRequest = _sendRequest;
|
|
29
29
|
}
|
|
30
30
|
get isClonable() {
|
package/cjs/page/index.js
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleResponse = exports.redirectIfPhishing = exports.enable = exports.sendMessage = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
5
|
+
const defaults_js_1 = require("../defaults.js");
|
|
6
|
+
const getId_js_1 = require("../utils/getId.js");
|
|
7
|
+
const Injected_js_1 = tslib_1.__importDefault(require("./Injected.js"));
|
|
8
8
|
const handlers = {};
|
|
9
9
|
function sendMessage(message, request, subscriber) {
|
|
10
10
|
return new Promise((resolve, reject) => {
|
|
11
|
-
const id = (0,
|
|
11
|
+
const id = (0, getId_js_1.getId)();
|
|
12
12
|
handlers[id] = { reject, resolve, subscriber };
|
|
13
13
|
const transportRequestMessage = {
|
|
14
14
|
id,
|
|
15
15
|
message,
|
|
16
|
-
origin:
|
|
16
|
+
origin: defaults_js_1.MESSAGE_ORIGIN_PAGE,
|
|
17
17
|
request: request || null
|
|
18
18
|
};
|
|
19
19
|
window.postMessage(transportRequestMessage, '*');
|
|
@@ -22,7 +22,7 @@ function sendMessage(message, request, subscriber) {
|
|
|
22
22
|
exports.sendMessage = sendMessage;
|
|
23
23
|
async function enable(origin) {
|
|
24
24
|
await sendMessage('pub(authorize.tab)', { origin });
|
|
25
|
-
return new
|
|
25
|
+
return new Injected_js_1.default(sendMessage);
|
|
26
26
|
}
|
|
27
27
|
exports.enable = enable;
|
|
28
28
|
async function redirectIfPhishing() {
|
package/cjs/stores/Accounts.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class AccountsStore extends
|
|
4
|
+
const defaults_js_1 = require("../defaults.js");
|
|
5
|
+
const Base_js_1 = tslib_1.__importDefault(require("./Base.js"));
|
|
6
|
+
class AccountsStore extends Base_js_1.default {
|
|
7
7
|
constructor() {
|
|
8
|
-
super(
|
|
9
|
-
? `${
|
|
8
|
+
super(defaults_js_1.EXTENSION_PREFIX && defaults_js_1.EXTENSION_PREFIX !== 'polkadot{.js}'
|
|
9
|
+
? `${defaults_js_1.EXTENSION_PREFIX}accounts`
|
|
10
10
|
: null);
|
|
11
11
|
}
|
|
12
12
|
set(key, value, update) {
|
package/cjs/stores/Metadata.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class MetadataStore extends
|
|
4
|
+
const defaults_js_1 = require("../defaults.js");
|
|
5
|
+
const Base_js_1 = tslib_1.__importDefault(require("./Base.js"));
|
|
6
|
+
class MetadataStore extends Base_js_1.default {
|
|
7
7
|
constructor() {
|
|
8
|
-
super(
|
|
9
|
-
? `${
|
|
8
|
+
super(defaults_js_1.EXTENSION_PREFIX && defaults_js_1.EXTENSION_PREFIX !== 'polkadot{.js}'
|
|
9
|
+
? `${defaults_js_1.EXTENSION_PREFIX}metadata`
|
|
10
10
|
: 'metadata');
|
|
11
11
|
}
|
|
12
12
|
}
|
package/cjs/stores/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MetadataStore = exports.AccountsStore = void 0;
|
|
7
|
-
var
|
|
8
|
-
Object.defineProperty(exports, "AccountsStore", { enumerable: true, get: function () { return __importDefault(
|
|
9
|
-
var
|
|
10
|
-
Object.defineProperty(exports, "MetadataStore", { enumerable: true, get: function () { return __importDefault(
|
|
7
|
+
var Accounts_js_1 = require("./Accounts.js");
|
|
8
|
+
Object.defineProperty(exports, "AccountsStore", { enumerable: true, get: function () { return __importDefault(Accounts_js_1).default; } });
|
|
9
|
+
var Metadata_js_1 = require("./Metadata.js");
|
|
10
|
+
Object.defineProperty(exports, "MetadataStore", { enumerable: true, get: function () { return __importDefault(Metadata_js_1).default; } });
|
package/cjs/utils/getId.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getId = void 0;
|
|
4
|
-
const
|
|
4
|
+
const defaults_js_1 = require("../defaults.js");
|
|
5
5
|
let counter = 0;
|
|
6
6
|
function getId() {
|
|
7
|
-
return `${
|
|
7
|
+
return `${defaults_js_1.EXTENSION_PREFIX}.${Date.now()}.${++counter}`;
|
|
8
8
|
}
|
|
9
9
|
exports.getId = getId;
|
package/cjs/utils/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.canDerive = void 0;
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "canDerive", { enumerable: true, get: function () { return
|
|
4
|
+
var canDerive_js_1 = require("./canDerive.js");
|
|
5
|
+
Object.defineProperty(exports, "canDerive", { enumerable: true, get: function () { return canDerive_js_1.canDerive; } });
|
package/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './bundle';
|
|
1
|
+
export * from './bundle.js';
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"./cjs/detectPackage.js"
|
|
18
18
|
],
|
|
19
19
|
"type": "module",
|
|
20
|
-
"version": "0.45.
|
|
20
|
+
"version": "0.45.2",
|
|
21
21
|
"main": "./cjs/index.js",
|
|
22
22
|
"module": "./index.js",
|
|
23
23
|
"types": "./index.d.ts",
|
|
@@ -185,19 +185,19 @@
|
|
|
185
185
|
}
|
|
186
186
|
},
|
|
187
187
|
"dependencies": {
|
|
188
|
-
"@polkadot/api": "^10.
|
|
189
|
-
"@polkadot/extension-chains": "^0.45.
|
|
190
|
-
"@polkadot/extension-dapp": "^0.45.
|
|
191
|
-
"@polkadot/extension-inject": "^0.45.
|
|
192
|
-
"@polkadot/keyring": "^11.0.
|
|
193
|
-
"@polkadot/networks": "^11.0.
|
|
194
|
-
"@polkadot/phishing": "^0.20.
|
|
195
|
-
"@polkadot/rpc-provider": "^10.
|
|
196
|
-
"@polkadot/types": "^10.
|
|
197
|
-
"@polkadot/ui-keyring": "^3.0.
|
|
198
|
-
"@polkadot/ui-settings": "^3.0.
|
|
199
|
-
"@polkadot/util": "^11.0.
|
|
200
|
-
"@polkadot/util-crypto": "^11.0.
|
|
188
|
+
"@polkadot/api": "^10.1.1",
|
|
189
|
+
"@polkadot/extension-chains": "^0.45.2",
|
|
190
|
+
"@polkadot/extension-dapp": "^0.45.2",
|
|
191
|
+
"@polkadot/extension-inject": "^0.45.2",
|
|
192
|
+
"@polkadot/keyring": "^11.0.2",
|
|
193
|
+
"@polkadot/networks": "^11.0.2",
|
|
194
|
+
"@polkadot/phishing": "^0.20.2",
|
|
195
|
+
"@polkadot/rpc-provider": "^10.1.1",
|
|
196
|
+
"@polkadot/types": "^10.1.1",
|
|
197
|
+
"@polkadot/ui-keyring": "^3.0.2",
|
|
198
|
+
"@polkadot/ui-settings": "^3.0.2",
|
|
199
|
+
"@polkadot/util": "^11.0.2",
|
|
200
|
+
"@polkadot/util-crypto": "^11.0.2",
|
|
201
201
|
"eventemitter3": "^5.0.0",
|
|
202
202
|
"rxjs": "^7.8.0",
|
|
203
203
|
"tslib": "^2.5.0"
|
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.45.
|
|
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.45.2' };
|
package/page/Accounts.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InjectedAccount, InjectedAccounts, Unsubcall } from '@polkadot/extension-inject/types';
|
|
2
|
-
import type { SendRequest } from './types';
|
|
2
|
+
import type { SendRequest } from './types.js';
|
|
3
3
|
export default class Accounts implements InjectedAccounts {
|
|
4
4
|
constructor(_sendRequest: SendRequest);
|
|
5
5
|
get(anyType?: boolean): Promise<InjectedAccount[]>;
|
package/page/Injected.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Injected } from '@polkadot/extension-inject/types';
|
|
2
|
-
import type { SendRequest } from './types';
|
|
3
|
-
import Accounts from './Accounts';
|
|
4
|
-
import Metadata from './Metadata';
|
|
5
|
-
import PostMessageProvider from './PostMessageProvider';
|
|
6
|
-
import Signer from './Signer';
|
|
2
|
+
import type { SendRequest } from './types.js';
|
|
3
|
+
import Accounts from './Accounts.js';
|
|
4
|
+
import Metadata from './Metadata.js';
|
|
5
|
+
import PostMessageProvider from './PostMessageProvider.js';
|
|
6
|
+
import Signer from './Signer.js';
|
|
7
7
|
export default class implements Injected {
|
|
8
8
|
readonly accounts: Accounts;
|
|
9
9
|
readonly metadata: Metadata;
|
package/page/Injected.js
CHANGED
|
@@ -3,10 +3,6 @@ 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;
|
|
10
6
|
constructor(sendRequest) {
|
|
11
7
|
this.accounts = new Accounts(sendRequest);
|
|
12
8
|
this.metadata = new Metadata(sendRequest);
|
|
@@ -16,6 +12,6 @@ export default class {
|
|
|
16
12
|
sendRequest('pub(ping)', null).catch(() => {
|
|
17
13
|
console.error('Extension unavailable, ping failed');
|
|
18
14
|
});
|
|
19
|
-
},
|
|
15
|
+
}, 5000 + Math.floor(Math.random() * 5000));
|
|
20
16
|
}
|
|
21
17
|
}
|
package/page/Metadata.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InjectedMetadata, InjectedMetadataKnown, MetadataDef } from '@polkadot/extension-inject/types';
|
|
2
|
-
import type { SendRequest } from './types';
|
|
2
|
+
import type { SendRequest } from './types.js';
|
|
3
3
|
export default class Metadata implements InjectedMetadata {
|
|
4
4
|
constructor(_sendRequest: SendRequest);
|
|
5
5
|
get(): Promise<InjectedMetadataKnown[]>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InjectedProvider, ProviderList, ProviderMeta } from '@polkadot/extension-inject/types';
|
|
2
2
|
import type { ProviderInterfaceEmitCb, ProviderInterfaceEmitted } from '@polkadot/rpc-provider/types';
|
|
3
3
|
import type { AnyFunction } from '@polkadot/types/types';
|
|
4
|
-
import type { SendRequest } from './types';
|
|
4
|
+
import type { SendRequest } from './types.js';
|
|
5
5
|
type CallbackHandler = (error?: null | Error, value?: unknown) => void;
|
|
6
6
|
interface SubscriptionHandler {
|
|
7
7
|
callback: CallbackHandler;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var _PostMessageProvider_eventemitter, _PostMessageProvider_isConnected, _PostMessageProvider_subscriptions;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { EventEmitter } from 'eventemitter3';
|
|
2
4
|
import { isUndefined, logger } from '@polkadot/util';
|
|
3
5
|
const l = logger('PostMessageProvider');
|
|
4
6
|
let sendRequest;
|
|
@@ -8,19 +10,19 @@ let sendRequest;
|
|
|
8
10
|
* @description Extension provider to be used by dapps
|
|
9
11
|
*/
|
|
10
12
|
export default class PostMessageProvider {
|
|
11
|
-
#eventemitter;
|
|
12
|
-
// Whether or not the actual extension background provider is connected
|
|
13
|
-
#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
|
-
#subscriptions = {}; // {[(type,subscriptionId)]: callback}
|
|
18
13
|
/**
|
|
19
14
|
* @param {function} sendRequest The function to be called to send requests to the node
|
|
20
15
|
* @param {function} subscriptionNotificationHandler Channel for receiving subscription messages
|
|
21
16
|
*/
|
|
22
17
|
constructor(_sendRequest) {
|
|
23
|
-
this
|
|
18
|
+
_PostMessageProvider_eventemitter.set(this, void 0);
|
|
19
|
+
// Whether or not the actual extension background provider is connected
|
|
20
|
+
_PostMessageProvider_isConnected.set(this, false);
|
|
21
|
+
// Subscription IDs are (historically) not guaranteed to be globally unique;
|
|
22
|
+
// only unique for a given subscription method; which is why we identify
|
|
23
|
+
// the subscriptions based on subscription id + type
|
|
24
|
+
_PostMessageProvider_subscriptions.set(this, {}); // {[(type,subscriptionId)]: callback}
|
|
25
|
+
__classPrivateFieldSet(this, _PostMessageProvider_eventemitter, new EventEmitter(), "f");
|
|
24
26
|
sendRequest = _sendRequest;
|
|
25
27
|
}
|
|
26
28
|
get isClonable() {
|
|
@@ -60,7 +62,7 @@ export default class PostMessageProvider {
|
|
|
60
62
|
* @return {boolean} true if connected
|
|
61
63
|
*/
|
|
62
64
|
get isConnected() {
|
|
63
|
-
return this
|
|
65
|
+
return __classPrivateFieldGet(this, _PostMessageProvider_isConnected, "f");
|
|
64
66
|
}
|
|
65
67
|
listProviders() {
|
|
66
68
|
return sendRequest('pub(rpc.listProviders)', undefined);
|
|
@@ -72,9 +74,9 @@ export default class PostMessageProvider {
|
|
|
72
74
|
* @return unsubscribe function
|
|
73
75
|
*/
|
|
74
76
|
on(type, sub) {
|
|
75
|
-
this
|
|
77
|
+
__classPrivateFieldGet(this, _PostMessageProvider_eventemitter, "f").on(type, sub);
|
|
76
78
|
return () => {
|
|
77
|
-
this
|
|
79
|
+
__classPrivateFieldGet(this, _PostMessageProvider_eventemitter, "f").removeListener(type, sub);
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -84,7 +86,7 @@ export default class PostMessageProvider {
|
|
|
84
86
|
const id = await sendRequest('pub(rpc.subscribe)', { method, params, type }, (res) => {
|
|
85
87
|
subscription.callback(null, res);
|
|
86
88
|
});
|
|
87
|
-
this
|
|
89
|
+
__classPrivateFieldGet(this, _PostMessageProvider_subscriptions, "f")[`${type}::${id}`] = callback;
|
|
88
90
|
return id;
|
|
89
91
|
}
|
|
90
92
|
return sendRequest('pub(rpc.send)', { method, params });
|
|
@@ -94,17 +96,17 @@ export default class PostMessageProvider {
|
|
|
94
96
|
*/
|
|
95
97
|
async startProvider(key) {
|
|
96
98
|
// Disconnect from the previous provider
|
|
97
|
-
this
|
|
98
|
-
this
|
|
99
|
+
__classPrivateFieldSet(this, _PostMessageProvider_isConnected, false, "f");
|
|
100
|
+
__classPrivateFieldGet(this, _PostMessageProvider_eventemitter, "f").emit('disconnected');
|
|
99
101
|
const meta = await sendRequest('pub(rpc.startProvider)', key);
|
|
100
102
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
101
103
|
sendRequest('pub(rpc.subscribeConnected)', null, (connected) => {
|
|
102
|
-
this
|
|
104
|
+
__classPrivateFieldSet(this, _PostMessageProvider_isConnected, connected, "f");
|
|
103
105
|
if (connected) {
|
|
104
|
-
this
|
|
106
|
+
__classPrivateFieldGet(this, _PostMessageProvider_eventemitter, "f").emit('connected');
|
|
105
107
|
}
|
|
106
108
|
else {
|
|
107
|
-
this
|
|
109
|
+
__classPrivateFieldGet(this, _PostMessageProvider_eventemitter, "f").emit('disconnected');
|
|
108
110
|
}
|
|
109
111
|
return true;
|
|
110
112
|
});
|
|
@@ -122,11 +124,12 @@ export default class PostMessageProvider {
|
|
|
122
124
|
// the assigned id now does not match what the API user originally received. It has
|
|
123
125
|
// a slight complication in solving - since we cannot rely on the send id, but rather
|
|
124
126
|
// need to find the actual subscription id to map it
|
|
125
|
-
if (isUndefined(this
|
|
127
|
+
if (isUndefined(__classPrivateFieldGet(this, _PostMessageProvider_subscriptions, "f")[subscription])) {
|
|
126
128
|
l.debug(() => `Unable to find active subscription=${subscription}`);
|
|
127
129
|
return false;
|
|
128
130
|
}
|
|
129
|
-
delete this
|
|
131
|
+
delete __classPrivateFieldGet(this, _PostMessageProvider_subscriptions, "f")[subscription];
|
|
130
132
|
return this.send(method, [id]);
|
|
131
133
|
}
|
|
132
|
-
}
|
|
134
|
+
}
|
|
135
|
+
_PostMessageProvider_eventemitter = new WeakMap(), _PostMessageProvider_isConnected = new WeakMap(), _PostMessageProvider_subscriptions = new WeakMap();
|
package/page/Signer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Signer as SignerInterface, SignerResult } from '@polkadot/api/types';
|
|
2
2
|
import type { SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types';
|
|
3
|
-
import type { SendRequest } from './types';
|
|
3
|
+
import type { SendRequest } from './types.js';
|
|
4
4
|
export default class Signer implements SignerInterface {
|
|
5
5
|
constructor(_sendRequest: SendRequest);
|
|
6
6
|
signPayload(payload: SignerPayloadJSON): Promise<SignerResult>;
|
package/page/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MessageTypes, MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes, TransportResponseMessage } from '../background/types';
|
|
2
|
-
import Injected from './Injected';
|
|
1
|
+
import type { MessageTypes, MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes, TransportResponseMessage } from '../background/types.js';
|
|
2
|
+
import Injected from './Injected.js';
|
|
3
3
|
export interface Handler {
|
|
4
4
|
resolve: (data?: any) => void;
|
|
5
5
|
reject: (error: Error) => void;
|
package/page/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes } from '../background/types';
|
|
1
|
+
import type { MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes } from '../background/types.js';
|
|
2
2
|
export interface SendRequest {
|
|
3
3
|
<TMessageType extends MessageTypesWithNullRequest>(message: TMessageType): Promise<ResponseTypes[TMessageType]>;
|
|
4
4
|
<TMessageType extends MessageTypesWithNoSubscriptions>(message: TMessageType, request: RequestTypes[TMessageType]): Promise<ResponseTypes[TMessageType]>;
|
package/stores/Accounts.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { KeyringJson, KeyringStore } from '@polkadot/ui-keyring/types';
|
|
2
|
-
import BaseStore from './Base';
|
|
2
|
+
import BaseStore from './Base.js';
|
|
3
3
|
export default class AccountsStore extends BaseStore<KeyringJson> implements KeyringStore {
|
|
4
4
|
constructor();
|
|
5
5
|
set(key: string, value: KeyringJson, update?: () => void): void;
|