@multiversx/sdk-web-wallet-cross-window-provider 3.1.1 → 3.1.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/out/CrossWindowProvider/CrossWindowProvider.d.ts +1 -4
- package/out/CrossWindowProvider/CrossWindowProvider.js +1 -77
- package/out/CrossWindowProvider/CrossWindowProvider.js.map +1 -1
- package/out/WindowManager/WindowManager.d.ts +3 -1
- package/out/WindowManager/WindowManager.js +70 -2
- package/out/WindowManager/WindowManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,17 +12,15 @@ export declare class CrossWindowProvider {
|
|
|
12
12
|
private accessToken;
|
|
13
13
|
protected initialized: boolean;
|
|
14
14
|
protected windowManager: WindowManager;
|
|
15
|
-
protected _shouldShowConsentPopup: boolean;
|
|
16
15
|
protected static _instance: CrossWindowProvider | null;
|
|
17
16
|
constructor();
|
|
18
|
-
setShouldShowConsentPopup(shouldShow: boolean): void;
|
|
19
17
|
protected ensureConnected(): void;
|
|
20
18
|
protected disconnect(): void;
|
|
21
19
|
static getInstance(): CrossWindowProvider;
|
|
22
20
|
getWindowManager(): WindowManager;
|
|
23
21
|
setAddress(address: string): CrossWindowProvider;
|
|
24
22
|
setWalletUrl(url: string): CrossWindowProvider;
|
|
25
|
-
setWalletWindow(): Promise<
|
|
23
|
+
setWalletWindow(): Promise<boolean>;
|
|
26
24
|
init(): Promise<boolean>;
|
|
27
25
|
onDestroy(): boolean;
|
|
28
26
|
login(options?: {
|
|
@@ -40,5 +38,4 @@ export declare class CrossWindowProvider {
|
|
|
40
38
|
guardTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
41
39
|
signMessage(messageToSign: Message): Promise<Message>;
|
|
42
40
|
cancelAction(): Promise<import("../types").PostMessageReturnType<WindowProviderRequestEnums.cancelAction>> | undefined;
|
|
43
|
-
openPopupConsent(): Promise<boolean>;
|
|
44
41
|
}
|
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -34,22 +11,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
12
|
exports.CrossWindowProvider = void 0;
|
|
36
13
|
const sdk_core_1 = require("@multiversx/sdk-core");
|
|
37
|
-
const constants_1 = require("../constants");
|
|
38
14
|
const enums_1 = require("../enums");
|
|
39
15
|
const errors_1 = require("../errors");
|
|
40
16
|
const WindowManager_1 = require("../WindowManager");
|
|
41
|
-
const constants_2 = require("./PopupConsent/constants");
|
|
42
17
|
class CrossWindowProvider {
|
|
43
18
|
constructor() {
|
|
44
19
|
this.account = { address: '' };
|
|
45
20
|
this.accessToken = undefined;
|
|
46
21
|
this.initialized = false;
|
|
47
|
-
this._shouldShowConsentPopup = false;
|
|
48
22
|
this.windowManager = new WindowManager_1.WindowManager();
|
|
49
23
|
}
|
|
50
|
-
setShouldShowConsentPopup(shouldShow) {
|
|
51
|
-
this._shouldShowConsentPopup = shouldShow;
|
|
52
|
-
}
|
|
53
24
|
ensureConnected() {
|
|
54
25
|
if (!this.account.address) {
|
|
55
26
|
throw new errors_1.ErrAccountNotConnected();
|
|
@@ -106,10 +77,6 @@ class CrossWindowProvider {
|
|
|
106
77
|
};
|
|
107
78
|
}
|
|
108
79
|
this.accessToken = options.token;
|
|
109
|
-
const popupConsentResponse = yield this.openPopupConsent();
|
|
110
|
-
if (!popupConsentResponse) {
|
|
111
|
-
throw new errors_1.ErrCouldNotLogin();
|
|
112
|
-
}
|
|
113
80
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
114
81
|
type: enums_1.WindowProviderRequestEnums.loginRequest,
|
|
115
82
|
payload: {
|
|
@@ -141,8 +108,7 @@ class CrossWindowProvider {
|
|
|
141
108
|
}
|
|
142
109
|
logout() {
|
|
143
110
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
|
|
145
|
-
if (!this.initialized || !popupConsentResponse) {
|
|
111
|
+
if (!this.initialized) {
|
|
146
112
|
throw new errors_1.ErrProviderNotInitialized();
|
|
147
113
|
}
|
|
148
114
|
this.ensureConnected();
|
|
@@ -185,10 +151,6 @@ class CrossWindowProvider {
|
|
|
185
151
|
signTransactions(transactions) {
|
|
186
152
|
return __awaiter(this, void 0, void 0, function* () {
|
|
187
153
|
this.ensureConnected();
|
|
188
|
-
const popupConsentResponse = yield this.openPopupConsent();
|
|
189
|
-
if (!popupConsentResponse) {
|
|
190
|
-
throw new errors_1.ErrTransactionCancelled();
|
|
191
|
-
}
|
|
192
154
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
193
155
|
type: enums_1.WindowProviderRequestEnums.signTransactionsRequest,
|
|
194
156
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
@@ -209,10 +171,6 @@ class CrossWindowProvider {
|
|
|
209
171
|
guardTransactions(transactions) {
|
|
210
172
|
return __awaiter(this, void 0, void 0, function* () {
|
|
211
173
|
this.ensureConnected();
|
|
212
|
-
const popupConsentResponse = yield this.openPopupConsent();
|
|
213
|
-
if (!popupConsentResponse) {
|
|
214
|
-
throw new errors_1.ErrTransactionCancelled();
|
|
215
|
-
}
|
|
216
174
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
217
175
|
type: enums_1.WindowProviderRequestEnums.guardTransactionsRequest,
|
|
218
176
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
@@ -234,10 +192,6 @@ class CrossWindowProvider {
|
|
|
234
192
|
var _a;
|
|
235
193
|
return __awaiter(this, void 0, void 0, function* () {
|
|
236
194
|
this.ensureConnected();
|
|
237
|
-
const popupConsentResponse = yield this.openPopupConsent();
|
|
238
|
-
if (!popupConsentResponse) {
|
|
239
|
-
throw new errors_1.ErrCouldNotSignMessage();
|
|
240
|
-
}
|
|
241
195
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
242
196
|
type: enums_1.WindowProviderRequestEnums.signMessageRequest,
|
|
243
197
|
payload: {
|
|
@@ -271,36 +225,6 @@ class CrossWindowProvider {
|
|
|
271
225
|
payload: undefined
|
|
272
226
|
});
|
|
273
227
|
}
|
|
274
|
-
openPopupConsent() {
|
|
275
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
276
|
-
if (!this._shouldShowConsentPopup ||
|
|
277
|
-
typeof document === 'undefined' ||
|
|
278
|
-
typeof window === 'undefined') {
|
|
279
|
-
return true;
|
|
280
|
-
}
|
|
281
|
-
const module = yield Promise.resolve().then(() => __importStar(require('./PopupConsent/PopupConsent')));
|
|
282
|
-
const PopupConsent = module.PopupConsent;
|
|
283
|
-
const customElements = constants_1.safeWindow.customElements;
|
|
284
|
-
if (customElements && !customElements.get(constants_2.confirmationDialogTag)) {
|
|
285
|
-
customElements.define(constants_2.confirmationDialogTag, PopupConsent);
|
|
286
|
-
}
|
|
287
|
-
const popup = document.createElement(constants_2.confirmationDialogTag);
|
|
288
|
-
popup.walletUrl = this.windowManager.walletUrl;
|
|
289
|
-
document.body.appendChild(popup);
|
|
290
|
-
const popupConsentResponse = yield new Promise((resolve) => {
|
|
291
|
-
popup.onConfirm = () => {
|
|
292
|
-
resolve(true);
|
|
293
|
-
document.body.removeChild(popup);
|
|
294
|
-
};
|
|
295
|
-
popup.onCancel = () => {
|
|
296
|
-
resolve(false);
|
|
297
|
-
document.body.removeChild(popup);
|
|
298
|
-
};
|
|
299
|
-
});
|
|
300
|
-
this._shouldShowConsentPopup = false;
|
|
301
|
-
return popupConsentResponse;
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
228
|
}
|
|
305
229
|
CrossWindowProvider._instance = null;
|
|
306
230
|
exports.CrossWindowProvider = CrossWindowProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare class WindowManager {
|
|
|
5
5
|
private _walletUrl;
|
|
6
6
|
protected initialized: boolean;
|
|
7
7
|
walletWindow: Window | null;
|
|
8
|
+
isPopupBlocked: boolean;
|
|
8
9
|
private activeListeners;
|
|
9
10
|
private static readonly SESSION_STORAGE_KEY;
|
|
10
11
|
constructor();
|
|
@@ -16,6 +17,7 @@ export declare class WindowManager {
|
|
|
16
17
|
init(): Promise<boolean>;
|
|
17
18
|
onDestroy(): boolean;
|
|
18
19
|
isWalletOpened(type?: WindowProviderRequestEnums): boolean;
|
|
20
|
+
openPopupConsent(): Promise<boolean>;
|
|
19
21
|
handshake(type: WindowProviderRequestEnums): Promise<boolean>;
|
|
20
22
|
private addHandshakeChangeListener;
|
|
21
23
|
listenOnce<T extends WindowProviderResponseEnums>(action: T): Promise<{
|
|
@@ -26,5 +28,5 @@ export declare class WindowManager {
|
|
|
26
28
|
isInitialized(): boolean;
|
|
27
29
|
postMessage<T extends WindowProviderRequestEnums>({ type, payload }: PostMessageParamsType<T>): Promise<PostMessageReturnType<T>>;
|
|
28
30
|
closeWalletWindow(): void;
|
|
29
|
-
setWalletWindow(): Promise<
|
|
31
|
+
setWalletWindow(): Promise<boolean>;
|
|
30
32
|
}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -11,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
35
|
exports.WindowManager = void 0;
|
|
13
36
|
const constants_1 = require("../constants");
|
|
37
|
+
const constants_2 = require("../CrossWindowProvider/PopupConsent/constants");
|
|
14
38
|
const enums_1 = require("../enums");
|
|
15
39
|
const errors_1 = require("../errors");
|
|
16
40
|
class WindowManager {
|
|
@@ -20,6 +44,7 @@ class WindowManager {
|
|
|
20
44
|
this._walletUrl = '';
|
|
21
45
|
this.initialized = false;
|
|
22
46
|
this.walletWindow = null;
|
|
47
|
+
this.isPopupBlocked = false;
|
|
23
48
|
this.activeListeners = new Map();
|
|
24
49
|
(_a = constants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, 'beforeunload', () => {
|
|
25
50
|
this.closeWalletWindow();
|
|
@@ -78,6 +103,35 @@ class WindowManager {
|
|
|
78
103
|
return (type === enums_1.WindowProviderRequestEnums.cancelAction &&
|
|
79
104
|
Boolean(this.walletWindow));
|
|
80
105
|
}
|
|
106
|
+
openPopupConsent() {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
if (typeof document === 'undefined' ||
|
|
109
|
+
typeof window === 'undefined' ||
|
|
110
|
+
!this.isPopupBlocked) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
const module = yield Promise.resolve().then(() => __importStar(require('../CrossWindowProvider/PopupConsent/PopupConsent')));
|
|
114
|
+
const PopupConsent = module.PopupConsent;
|
|
115
|
+
const customElements = constants_1.safeWindow.customElements;
|
|
116
|
+
if (customElements && !customElements.get(constants_2.confirmationDialogTag)) {
|
|
117
|
+
customElements.define(constants_2.confirmationDialogTag, PopupConsent);
|
|
118
|
+
}
|
|
119
|
+
const popup = document.createElement(constants_2.confirmationDialogTag);
|
|
120
|
+
popup.walletUrl = this.walletUrl;
|
|
121
|
+
document.body.appendChild(popup);
|
|
122
|
+
const popupConsentResponse = yield new Promise((resolve) => {
|
|
123
|
+
popup.onConfirm = () => {
|
|
124
|
+
resolve(true);
|
|
125
|
+
document.body.removeChild(popup);
|
|
126
|
+
};
|
|
127
|
+
popup.onCancel = () => {
|
|
128
|
+
resolve(false);
|
|
129
|
+
document.body.removeChild(popup);
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
return popupConsentResponse;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
81
135
|
handshake(type) {
|
|
82
136
|
var _a;
|
|
83
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -86,7 +140,13 @@ class WindowManager {
|
|
|
86
140
|
return true;
|
|
87
141
|
}
|
|
88
142
|
this.closeWalletWindow();
|
|
89
|
-
yield this.setWalletWindow();
|
|
143
|
+
const isWindowInitialized = yield this.setWalletWindow();
|
|
144
|
+
if (!isWindowInitialized) {
|
|
145
|
+
const popupConsentResponse = yield this.openPopupConsent();
|
|
146
|
+
if (!popupConsentResponse) {
|
|
147
|
+
throw new errors_1.ErrCouldNotLogin();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
90
150
|
const { payload } = yield this.listenOnce(enums_1.WindowProviderResponseEnums.handshakeResponse);
|
|
91
151
|
if (!payload) {
|
|
92
152
|
throw new errors_1.ErrCannotEstablishHandshake();
|
|
@@ -140,8 +200,13 @@ class WindowManager {
|
|
|
140
200
|
}
|
|
141
201
|
listenOnce(action) {
|
|
142
202
|
return __awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
// If the wallet window was previously blocked (e.g., by a popup blocker),
|
|
204
|
+
// reinitialize the connection by opening the wallet window again.
|
|
143
205
|
if (!this.walletWindow) {
|
|
144
|
-
|
|
206
|
+
const isWindowInitialized = yield this.setWalletWindow();
|
|
207
|
+
if (!isWindowInitialized) {
|
|
208
|
+
throw new errors_1.ErrProviderNotInstantiated();
|
|
209
|
+
}
|
|
145
210
|
}
|
|
146
211
|
return new Promise((resolve) => {
|
|
147
212
|
const walletUrl = this.walletUrl;
|
|
@@ -210,6 +275,9 @@ class WindowManager {
|
|
|
210
275
|
return __awaiter(this, void 0, void 0, function* () {
|
|
211
276
|
this.walletWindow =
|
|
212
277
|
(_b = (_a = constants_1.safeWindow.open) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, this.walletUrl, this.walletUrl)) !== null && _b !== void 0 ? _b : null;
|
|
278
|
+
const isWindowInitialized = Boolean(this.walletWindow);
|
|
279
|
+
this.isPopupBlocked = !isWindowInitialized;
|
|
280
|
+
return isWindowInitialized;
|
|
213
281
|
});
|
|
214
282
|
}
|
|
215
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":"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"}
|