@multiversx/sdk-web-wallet-cross-window-provider 0.2.0 → 0.3.0-alpha.0
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 +11 -9
- package/out/CrossWindowProvider/CrossWindowProvider.js +25 -17
- package/out/CrossWindowProvider/CrossWindowProvider.js.map +1 -1
- package/out/CrossWindowProvider/PopupConsent/PopupConsent.js +8 -8
- package/out/CrossWindowProvider/PopupConsent/PopupConsent.js.map +1 -1
- package/out/CrossWindowProvider/tests/Cancel.test.js +2 -3
- package/out/CrossWindowProvider/tests/Cancel.test.js.map +1 -1
- package/out/CrossWindowProvider/tests/Login.test.js +1 -2
- package/out/CrossWindowProvider/tests/Login.test.js.map +1 -1
- package/out/CrossWindowProvider/tests/Logout.test.js +2 -3
- package/out/CrossWindowProvider/tests/Logout.test.js.map +1 -1
- package/out/CrossWindowProvider/tests/SignMessage.test.js +1 -2
- package/out/CrossWindowProvider/tests/SignMessage.test.js.map +1 -1
- package/out/CrossWindowProvider/tests/SignTransaction.test.js +1 -2
- package/out/CrossWindowProvider/tests/SignTransaction.test.js.map +1 -1
- package/out/IFrameManager/IFrameProviderContentWindow.d.ts +27 -0
- package/out/IFrameManager/IFrameProviderContentWindow.js +150 -0
- package/out/IFrameManager/IFrameProviderContentWindow.js.map +1 -0
- package/out/IFrameManager/IframeManager.d.ts +18 -0
- package/out/IFrameManager/IframeManager.js +98 -0
- package/out/IFrameManager/IframeManager.js.map +1 -0
- package/out/IFrameManager/iframeManager.styles.d.ts +6 -0
- package/out/IFrameManager/iframeManager.styles.js +78 -0
- package/out/IFrameManager/iframeManager.styles.js.map +1 -0
- package/out/IFrameProvider/IframeProvider.d.ts +11 -0
- package/out/IFrameProvider/IframeProvider.js +70 -0
- package/out/IFrameProvider/IframeProvider.js.map +1 -0
- package/out/WindowManager/WindowManager.d.ts +3 -3
- package/out/WindowManager/WindowManager.js +29 -22
- package/out/WindowManager/WindowManager.js.map +1 -1
- package/out/WindowManager/tests/windowManager.test.js +11 -12
- package/out/WindowManager/tests/windowManager.test.js.map +1 -1
- package/out/constants/index.d.ts +2 -0
- package/out/constants/index.js +6 -0
- package/out/constants/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SignableMessage, Transaction } from '@multiversx/sdk-core';
|
|
2
2
|
import { CrossWindowProviderRequestEnums } from '@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums';
|
|
3
|
-
|
|
3
|
+
import { WindowManager } from '../WindowManager';
|
|
4
|
+
export interface ICrossWindowWalletAccount {
|
|
4
5
|
address: string;
|
|
5
6
|
signature?: string;
|
|
6
7
|
multisig?: string;
|
|
@@ -8,18 +9,20 @@ interface ICrossWindowWalletAccount {
|
|
|
8
9
|
}
|
|
9
10
|
export declare class CrossWindowProvider {
|
|
10
11
|
account: ICrossWindowWalletAccount;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
protected initialized: boolean;
|
|
13
|
+
protected windowManager: WindowManager;
|
|
14
|
+
protected static _instance: CrossWindowProvider | null;
|
|
14
15
|
private accessToken;
|
|
15
16
|
protected _shouldShowConsentPopup: boolean;
|
|
16
|
-
|
|
17
|
+
constructor();
|
|
17
18
|
setShouldShowConsentPopup(shouldShow: boolean): void;
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
protected ensureConnected(): void;
|
|
20
|
+
protected disconnect(): void;
|
|
20
21
|
static getInstance(): CrossWindowProvider;
|
|
22
|
+
getWindowManager(): WindowManager;
|
|
21
23
|
setAddress(address: string): CrossWindowProvider;
|
|
22
24
|
setWalletUrl(url: string): CrossWindowProvider;
|
|
25
|
+
setWalletWindow(): Promise<void>;
|
|
23
26
|
init(): Promise<boolean>;
|
|
24
27
|
login(options?: {
|
|
25
28
|
token?: string;
|
|
@@ -33,6 +36,5 @@ export declare class CrossWindowProvider {
|
|
|
33
36
|
guardTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
34
37
|
signMessage(message: SignableMessage): Promise<SignableMessage>;
|
|
35
38
|
cancelAction(): Promise<import("@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes").PostMessageReturnType<CrossWindowProviderRequestEnums.cancelAction>> | undefined;
|
|
36
|
-
|
|
39
|
+
openPopupConsent(): Promise<boolean>;
|
|
37
40
|
}
|
|
38
|
-
export {};
|
|
@@ -34,22 +34,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.CrossWindowProvider = void 0;
|
|
36
36
|
const sdk_core_1 = require("@multiversx/sdk-core");
|
|
37
|
-
const crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
38
37
|
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
39
|
-
const
|
|
38
|
+
const constants_1 = require("../constants");
|
|
40
39
|
const errors_1 = require("../errors");
|
|
41
|
-
const
|
|
40
|
+
const WindowManager_1 = require("../WindowManager");
|
|
41
|
+
const constants_2 = require("./PopupConsent/constants");
|
|
42
42
|
class CrossWindowProvider {
|
|
43
43
|
constructor() {
|
|
44
44
|
this.account = { address: '' };
|
|
45
45
|
this.initialized = false;
|
|
46
46
|
this.accessToken = undefined;
|
|
47
47
|
this._shouldShowConsentPopup = false;
|
|
48
|
-
|
|
49
|
-
throw new errors_1.ErrInstantiationFailed();
|
|
50
|
-
}
|
|
51
|
-
this.windowManager = WindowManager_1.WindowManager.getInstance();
|
|
52
|
-
CrossWindowProvider._instance = this;
|
|
48
|
+
this.windowManager = new WindowManager_1.WindowManager();
|
|
53
49
|
}
|
|
54
50
|
setShouldShowConsentPopup(shouldShow) {
|
|
55
51
|
this._shouldShowConsentPopup = shouldShow;
|
|
@@ -63,15 +59,28 @@ class CrossWindowProvider {
|
|
|
63
59
|
this.account = { address: '' };
|
|
64
60
|
}
|
|
65
61
|
static getInstance() {
|
|
62
|
+
if (!CrossWindowProvider._instance) {
|
|
63
|
+
CrossWindowProvider._instance = new CrossWindowProvider();
|
|
64
|
+
return CrossWindowProvider._instance;
|
|
65
|
+
}
|
|
66
66
|
return CrossWindowProvider._instance;
|
|
67
67
|
}
|
|
68
|
+
getWindowManager() {
|
|
69
|
+
return this.windowManager;
|
|
70
|
+
}
|
|
68
71
|
setAddress(address) {
|
|
72
|
+
if (!CrossWindowProvider._instance) {
|
|
73
|
+
throw new errors_1.ErrInstantiationFailed();
|
|
74
|
+
}
|
|
69
75
|
this.account.address = address;
|
|
70
76
|
return CrossWindowProvider._instance;
|
|
71
77
|
}
|
|
72
78
|
setWalletUrl(url) {
|
|
73
79
|
this.windowManager.setWalletUrl(url);
|
|
74
|
-
return
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
setWalletWindow() {
|
|
83
|
+
return this.windowManager.setWalletWindow();
|
|
75
84
|
}
|
|
76
85
|
init() {
|
|
77
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -235,7 +244,6 @@ class CrossWindowProvider {
|
|
|
235
244
|
cancelAction() {
|
|
236
245
|
var _a, _b;
|
|
237
246
|
const isWalletOpened = (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.isWalletOpened(crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.cancelAction);
|
|
238
|
-
console.log(isWalletOpened);
|
|
239
247
|
if (!isWalletOpened) {
|
|
240
248
|
return;
|
|
241
249
|
}
|
|
@@ -248,24 +256,24 @@ class CrossWindowProvider {
|
|
|
248
256
|
var _a, _b, _c;
|
|
249
257
|
return __awaiter(this, void 0, void 0, function* () {
|
|
250
258
|
yield Promise.resolve().then(() => __importStar(require('./PopupConsent/PopupConsent')));
|
|
251
|
-
const dialog = (_a =
|
|
252
|
-
const document =
|
|
259
|
+
const dialog = (_a = constants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.createElement('div');
|
|
260
|
+
const document = constants_1.safeWindow.document;
|
|
253
261
|
if (!this._shouldShowConsentPopup || !document || !dialog) {
|
|
254
262
|
return true;
|
|
255
263
|
}
|
|
256
|
-
const popup = (_b =
|
|
264
|
+
const popup = (_b = constants_1.safeWindow.document) === null || _b === void 0 ? void 0 : _b.createElement(constants_2.confirmationDialogTag);
|
|
257
265
|
popup.walletUrl = this.windowManager.walletUrl;
|
|
258
|
-
(_c =
|
|
266
|
+
(_c = constants_1.safeWindow.document) === null || _c === void 0 ? void 0 : _c.body.appendChild(popup);
|
|
259
267
|
const popupConsentResponse = yield new Promise((resolve) => {
|
|
260
268
|
popup.onConfirm = () => {
|
|
261
269
|
var _a;
|
|
262
270
|
resolve(true);
|
|
263
|
-
(_a =
|
|
271
|
+
(_a = constants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.body.removeChild(popup);
|
|
264
272
|
};
|
|
265
273
|
popup.onCancel = () => {
|
|
266
274
|
var _a;
|
|
267
275
|
resolve(false);
|
|
268
|
-
(_a =
|
|
276
|
+
(_a = constants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.body.removeChild(popup);
|
|
269
277
|
};
|
|
270
278
|
});
|
|
271
279
|
this._shouldShowConsentPopup = false;
|
|
@@ -273,6 +281,6 @@ class CrossWindowProvider {
|
|
|
273
281
|
});
|
|
274
282
|
}
|
|
275
283
|
}
|
|
276
|
-
CrossWindowProvider._instance =
|
|
284
|
+
CrossWindowProvider._instance = null;
|
|
277
285
|
exports.CrossWindowProvider = CrossWindowProvider;
|
|
278
286
|
//# sourceMappingURL=CrossWindowProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PopupConsent = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const constants_2 = require("./constants");
|
|
6
6
|
const getStyles_1 = require("./getStyles");
|
|
7
7
|
class PopupConsent extends HTMLElement {
|
|
8
8
|
constructor() {
|
|
9
9
|
super();
|
|
10
10
|
this.walletUrl = '';
|
|
11
|
-
this.identifier =
|
|
11
|
+
this.identifier = constants_2.confirmationDialogTag;
|
|
12
12
|
this.onCancel = () => {
|
|
13
13
|
console.log('onCancel');
|
|
14
14
|
};
|
|
@@ -47,9 +47,9 @@ class PopupConsent extends HTMLElement {
|
|
|
47
47
|
render() {
|
|
48
48
|
this.innerHTML = `
|
|
49
49
|
<style>
|
|
50
|
-
${(0, getStyles_1.getStyles)(
|
|
50
|
+
${(0, getStyles_1.getStyles)(constants_2.confirmationDialogTag)}
|
|
51
51
|
</style>
|
|
52
|
-
<div id="${
|
|
52
|
+
<div id="${constants_2.confirmationDialogTag}">
|
|
53
53
|
<div class="content">
|
|
54
54
|
<div class="body">
|
|
55
55
|
<div class="title">Confirm on MultiversX Wallet</div>
|
|
@@ -91,8 +91,8 @@ class PopupConsent extends HTMLElement {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
exports.PopupConsent = PopupConsent;
|
|
94
|
-
const customElements =
|
|
95
|
-
if (customElements && !customElements.get(
|
|
96
|
-
customElements.define(
|
|
94
|
+
const customElements = constants_1.safeWindow.customElements;
|
|
95
|
+
if (customElements && !customElements.get(constants_2.confirmationDialogTag)) {
|
|
96
|
+
customElements.define(constants_2.confirmationDialogTag, PopupConsent);
|
|
97
97
|
}
|
|
98
98
|
//# sourceMappingURL=PopupConsent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupConsent.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/PopupConsent/PopupConsent.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"PopupConsent.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/PopupConsent/PopupConsent.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("../../test-utils");
|
|
13
|
-
const WindowManager_1 = require("../../WindowManager/WindowManager");
|
|
14
13
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
15
14
|
describe('CrossWindowProvider Login', () => {
|
|
16
15
|
let crossWindowProvider;
|
|
@@ -18,10 +17,10 @@ describe('CrossWindowProvider Login', () => {
|
|
|
18
17
|
let windowOpenSpy;
|
|
19
18
|
beforeEach(() => {
|
|
20
19
|
walletWindowMock = (0, test_utils_1.getWalletWindowMock)();
|
|
21
|
-
|
|
20
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().postMessage = jest
|
|
22
21
|
.fn()
|
|
23
22
|
.mockImplementation(() => undefined);
|
|
24
|
-
|
|
23
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().isWalletOpened = jest
|
|
25
24
|
.fn()
|
|
26
25
|
.mockImplementation(() => true);
|
|
27
26
|
crossWindowProvider = CrossWindowProvider_1.CrossWindowProvider.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cancel.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Cancel.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"Cancel.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Cancel.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,gEAA6D;AAE7D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,mBAAwC,CAAC;IAC7C,IAAI,gBAAsC,CAAC;IAC3C,IAAI,aAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QACzC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,GAAG,IAAI;aACpE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEvC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,cAAc,GAAG,IAAI;aACvE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QACjD,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("../../test-utils");
|
|
13
|
-
const WindowManager_1 = require("../../WindowManager/WindowManager");
|
|
14
13
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
15
14
|
describe('CrossWindowProvider Login', () => {
|
|
16
15
|
let crossWindowProvider;
|
|
@@ -18,7 +17,7 @@ describe('CrossWindowProvider Login', () => {
|
|
|
18
17
|
let windowOpenSpy;
|
|
19
18
|
beforeEach(() => {
|
|
20
19
|
walletWindowMock = (0, test_utils_1.getWalletWindowMock)();
|
|
21
|
-
|
|
20
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().postMessage = jest
|
|
22
21
|
.fn()
|
|
23
22
|
.mockImplementation(() => ({
|
|
24
23
|
payload: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Login.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"Login.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Login.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,gEAA6D;AAE7D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,mBAAwC,CAAC;IAC7C,IAAI,gBAAsC,CAAC;IAC3C,IAAI,aAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QACzC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,GAAG,IAAI;aACpE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE;aAC7D;SACF,CAAC,CAAC,CAAC;QAEN,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("../../test-utils");
|
|
13
|
-
const WindowManager_1 = require("../../WindowManager/WindowManager");
|
|
14
13
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
15
14
|
describe('CrossWindowProvider', () => {
|
|
16
15
|
let crossWindowProvider;
|
|
@@ -18,10 +17,10 @@ describe('CrossWindowProvider', () => {
|
|
|
18
17
|
let windowOpenSpy;
|
|
19
18
|
beforeEach(() => {
|
|
20
19
|
walletWindowMock = (0, test_utils_1.getWalletWindowMock)();
|
|
21
|
-
|
|
20
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().postMessage = jest
|
|
22
21
|
.fn()
|
|
23
22
|
.mockImplementation(() => true);
|
|
24
|
-
|
|
23
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().closeConnection = jest
|
|
25
24
|
.fn()
|
|
26
25
|
.mockImplementation(() => true);
|
|
27
26
|
crossWindowProvider = CrossWindowProvider_1.CrossWindowProvider.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logout.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Logout.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"Logout.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/Logout.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,gEAA6D;AAE7D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,mBAAwC,CAAC;IAC7C,IAAI,gBAAsC,CAAC;IAC3C,IAAI,aAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QACzC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,GAAG,IAAI;aACpE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,eAAe,GAAG,IAAI;aACxE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;QAC9C,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const out_1 = require("@multiversx/sdk-core/out");
|
|
13
13
|
const test_utils_1 = require("../../test-utils");
|
|
14
|
-
const WindowManager_1 = require("../../WindowManager/WindowManager");
|
|
15
14
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
16
15
|
describe('CrossWindowProvider Login', () => {
|
|
17
16
|
let crossWindowProvider;
|
|
@@ -19,7 +18,7 @@ describe('CrossWindowProvider Login', () => {
|
|
|
19
18
|
let windowOpenSpy;
|
|
20
19
|
beforeEach(() => {
|
|
21
20
|
walletWindowMock = (0, test_utils_1.getWalletWindowMock)();
|
|
22
|
-
|
|
21
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().postMessage = jest
|
|
23
22
|
.fn()
|
|
24
23
|
.mockImplementation(() => ({
|
|
25
24
|
payload: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignMessage.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignMessage.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA2D;AAC3D,iDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"SignMessage.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignMessage.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA2D;AAC3D,iDAA6E;AAC7E,gEAA6D;AAE7D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,mBAAwC,CAAC;IAC7C,IAAI,gBAAsC,CAAC;IAC3C,IAAI,aAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QACzC,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,GAAG,IAAI;aACpE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACxD;aACF;SACF,CAAC,CAAC,CAAC;QAEN,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAS,EAAE;QAC/C,MAAM,WAAW,GAAG,IAAI,qBAAe,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1E,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("../../test-utils");
|
|
13
|
-
const WindowManager_1 = require("../../WindowManager/WindowManager");
|
|
14
13
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
15
14
|
describe('CrossWindowProvider Login', () => {
|
|
16
15
|
let crossWindowProvider;
|
|
@@ -24,7 +23,7 @@ describe('CrossWindowProvider Login', () => {
|
|
|
24
23
|
receiverUsername: 'receiver',
|
|
25
24
|
senderUsername: 'sender'
|
|
26
25
|
});
|
|
27
|
-
|
|
26
|
+
CrossWindowProvider_1.CrossWindowProvider.getInstance().getWindowManager().postMessage = jest
|
|
28
27
|
.fn()
|
|
29
28
|
.mockImplementation(() => ({
|
|
30
29
|
payload: { data: [mockTransaction.toPlainObject()] }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignTransaction.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignTransaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,iDAI0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"SignTransaction.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignTransaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,iDAI0B;AAC1B,gEAA6D;AAE7D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,mBAAwC,CAAC;IAC7C,IAAI,gBAAsC,CAAC;IAC3C,IAAI,aAA+B,CAAC;IAEpC,IAAI,eAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QACzC,eAAe,GAAG,IAAA,kCAAqB,EAAC;YACtC,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,QAAQ;SACzB,CAAC,CAAC;QAEH,yCAAmB,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,WAAW,GAAG,IAAI;aACpE,EAAE,EAAE;aACJ,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE;SACrD,CAAC,CAAC,CAAC;QAEN,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class IFrameProviderContentWindow {
|
|
2
|
+
iframe: HTMLIFrameElement;
|
|
3
|
+
contentWindow: Window | null;
|
|
4
|
+
walletAddress: string;
|
|
5
|
+
private readonly container;
|
|
6
|
+
private readonly header;
|
|
7
|
+
private readonly body;
|
|
8
|
+
private readonly onClose;
|
|
9
|
+
constructor(props: {
|
|
10
|
+
id: string;
|
|
11
|
+
url: string;
|
|
12
|
+
anchor?: HTMLElement;
|
|
13
|
+
onClose?: () => void;
|
|
14
|
+
});
|
|
15
|
+
private buildWindow;
|
|
16
|
+
private getHeaderButtons;
|
|
17
|
+
private setupWindow;
|
|
18
|
+
getContainer(): HTMLDivElement;
|
|
19
|
+
getIframe(): HTMLIFrameElement;
|
|
20
|
+
getContentWindow(): Window | null;
|
|
21
|
+
setUrl(url: string): void;
|
|
22
|
+
remove(): void;
|
|
23
|
+
setWalletVisible(visible: boolean): void;
|
|
24
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
|
|
25
|
+
private setupResizable;
|
|
26
|
+
private setupDraggable;
|
|
27
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IFrameProviderContentWindow = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const iframeManager_styles_1 = require("./iframeManager.styles");
|
|
6
|
+
class IFrameProviderContentWindow {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f;
|
|
9
|
+
this.walletAddress = '';
|
|
10
|
+
this.onClose = undefined;
|
|
11
|
+
const { id, url, anchor, onClose } = props;
|
|
12
|
+
this.onClose = onClose;
|
|
13
|
+
this.container = (_a = constants_1.safeDocument.createElement) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeDocument, 'div');
|
|
14
|
+
this.header = (_b = constants_1.safeDocument.createElement) === null || _b === void 0 ? void 0 : _b.call(constants_1.safeDocument, 'div');
|
|
15
|
+
this.body = (_c = constants_1.safeDocument.createElement) === null || _c === void 0 ? void 0 : _c.call(constants_1.safeDocument, 'div');
|
|
16
|
+
this.iframe = (_d = constants_1.safeDocument.createElement) === null || _d === void 0 ? void 0 : _d.call(constants_1.safeDocument, 'iframe');
|
|
17
|
+
this.buildWindow(id, url);
|
|
18
|
+
this.contentWindow = this.iframe.contentWindow;
|
|
19
|
+
this.setupWindow();
|
|
20
|
+
if (anchor) {
|
|
21
|
+
anchor.appendChild(this.container);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
(_f = (_e = constants_1.safeDocument.body) === null || _e === void 0 ? void 0 : _e.appendChild) === null || _f === void 0 ? void 0 : _f.call(_e, this.container);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
buildWindow(id, url) {
|
|
28
|
+
this.container.setAttribute('data-draggable', 'true');
|
|
29
|
+
this.container.setAttribute('data-resizable', 'true');
|
|
30
|
+
this.header.setAttribute('data-drag-handle', 'true');
|
|
31
|
+
this.container.style.cssText = iframeManager_styles_1.containerStyle;
|
|
32
|
+
this.header.style.cssText = iframeManager_styles_1.headerStyle;
|
|
33
|
+
this.body.style.cssText = iframeManager_styles_1.bodyStyle;
|
|
34
|
+
const { collapsibleButton, closeWalletButton } = this.getHeaderButtons();
|
|
35
|
+
this.header.appendChild(closeWalletButton);
|
|
36
|
+
this.header.appendChild(collapsibleButton);
|
|
37
|
+
this.container.appendChild(this.header);
|
|
38
|
+
this.container.appendChild(this.body);
|
|
39
|
+
this.iframe.id = id;
|
|
40
|
+
this.iframe.src = url;
|
|
41
|
+
this.iframe.style.cssText = iframeManager_styles_1.iframeStyle;
|
|
42
|
+
this.body.appendChild(this.iframe);
|
|
43
|
+
}
|
|
44
|
+
getHeaderButtons() {
|
|
45
|
+
var _a, _b, _c;
|
|
46
|
+
const title = (_a = constants_1.safeDocument.createElement) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeDocument, 'span');
|
|
47
|
+
title.innerText = 'Wallet';
|
|
48
|
+
this.header.appendChild(title);
|
|
49
|
+
const collapsibleButton = (_b = constants_1.safeDocument.createElement) === null || _b === void 0 ? void 0 : _b.call(constants_1.safeDocument, 'span');
|
|
50
|
+
collapsibleButton.id = 'iframe-toggle-button';
|
|
51
|
+
collapsibleButton.innerText = '+';
|
|
52
|
+
collapsibleButton.style.cssText = iframeManager_styles_1.collapsibleButtonStyle;
|
|
53
|
+
collapsibleButton.onclick = () => {
|
|
54
|
+
this.body.style.visibility =
|
|
55
|
+
this.body.style.visibility === 'hidden' ? 'visible' : 'hidden';
|
|
56
|
+
this.container.style.height =
|
|
57
|
+
this.body.style.visibility === 'hidden' ? '50px' : '600px';
|
|
58
|
+
collapsibleButton.innerText =
|
|
59
|
+
this.body.style.visibility === 'hidden' ? '+' : '-';
|
|
60
|
+
this.container.style.setProperty('resize', this.body.style.visibility === 'hidden' ? 'none' : 'both');
|
|
61
|
+
};
|
|
62
|
+
const closeWalletButton = (_c = constants_1.safeDocument.createElement) === null || _c === void 0 ? void 0 : _c.call(constants_1.safeDocument, 'span');
|
|
63
|
+
closeWalletButton.id = 'iframe-close-button';
|
|
64
|
+
closeWalletButton.innerText = '✖';
|
|
65
|
+
closeWalletButton.style.cssText = iframeManager_styles_1.closeWalletButtonStyle;
|
|
66
|
+
closeWalletButton.onclick = () => {
|
|
67
|
+
var _a;
|
|
68
|
+
this.container.remove();
|
|
69
|
+
(_a = this.onClose) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
70
|
+
};
|
|
71
|
+
return { collapsibleButton, closeWalletButton };
|
|
72
|
+
}
|
|
73
|
+
setupWindow() {
|
|
74
|
+
this.iframe.onload = () => {
|
|
75
|
+
this.contentWindow = this.iframe.contentWindow;
|
|
76
|
+
const event = new CustomEvent('iframeWindowReady', {
|
|
77
|
+
detail: this.iframe
|
|
78
|
+
});
|
|
79
|
+
this.iframe.dispatchEvent(event);
|
|
80
|
+
};
|
|
81
|
+
this.setupResizable();
|
|
82
|
+
this.setupDraggable();
|
|
83
|
+
}
|
|
84
|
+
getContainer() {
|
|
85
|
+
return this.container;
|
|
86
|
+
}
|
|
87
|
+
getIframe() {
|
|
88
|
+
return this.iframe;
|
|
89
|
+
}
|
|
90
|
+
getContentWindow() {
|
|
91
|
+
return this.contentWindow;
|
|
92
|
+
}
|
|
93
|
+
setUrl(url) {
|
|
94
|
+
this.iframe.setAttribute('src', url);
|
|
95
|
+
}
|
|
96
|
+
remove() {
|
|
97
|
+
this.container.remove();
|
|
98
|
+
}
|
|
99
|
+
setWalletVisible(visible) {
|
|
100
|
+
this.container.style.visibility = visible ? 'visible' : 'hidden';
|
|
101
|
+
}
|
|
102
|
+
addEventListener(type, listener) {
|
|
103
|
+
this.iframe.addEventListener(type, listener);
|
|
104
|
+
}
|
|
105
|
+
setupResizable() {
|
|
106
|
+
this.container.style.setProperty('resize', 'both');
|
|
107
|
+
this.container.style.setProperty('overflow', 'hidden');
|
|
108
|
+
}
|
|
109
|
+
setupDraggable() {
|
|
110
|
+
this.container.ondragstart = () => {
|
|
111
|
+
return false;
|
|
112
|
+
};
|
|
113
|
+
this.header.onmousedown = (event) => {
|
|
114
|
+
var _a;
|
|
115
|
+
const shiftX = event.clientX - this.container.getBoundingClientRect().left;
|
|
116
|
+
const shiftY = event.clientY - this.container.getBoundingClientRect().top;
|
|
117
|
+
// moves the window at (pageX, pageY) coordinates
|
|
118
|
+
// taking initial shifts into account
|
|
119
|
+
const moveAt = (pageX, pageY) => {
|
|
120
|
+
this.container.style.left = pageX - shiftX + 'px';
|
|
121
|
+
this.container.style.top = pageY - shiftY + 'px';
|
|
122
|
+
};
|
|
123
|
+
this.container.style.position = 'absolute';
|
|
124
|
+
this.container.style.zIndex = '1000';
|
|
125
|
+
moveAt(event.pageX, event.pageY);
|
|
126
|
+
const onMouseMove = (ev) => {
|
|
127
|
+
var _a;
|
|
128
|
+
moveAt(ev.pageX, ev.pageY);
|
|
129
|
+
(_a = constants_1.safeWindow.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
130
|
+
};
|
|
131
|
+
// move the container on mousemove
|
|
132
|
+
(_a = constants_1.safeDocument.addEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeDocument, 'mousemove', onMouseMove);
|
|
133
|
+
// drop the container, remove unneeded handlers
|
|
134
|
+
this.container.onmouseup = () => {
|
|
135
|
+
var _a;
|
|
136
|
+
(_a = constants_1.safeDocument.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeDocument, 'mousemove', onMouseMove);
|
|
137
|
+
this.container.onmouseup = null;
|
|
138
|
+
};
|
|
139
|
+
// drop the header, remove unneeded handlers
|
|
140
|
+
this.header.onmouseup = () => {
|
|
141
|
+
var _a;
|
|
142
|
+
(_a = constants_1.safeDocument.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeDocument, 'mousemove', onMouseMove);
|
|
143
|
+
this.header.removeEventListener('mouseup', onMouseMove);
|
|
144
|
+
this.header.onmouseup = null;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.IFrameProviderContentWindow = IFrameProviderContentWindow;
|
|
150
|
+
//# sourceMappingURL=IFrameProviderContentWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFrameProviderContentWindow.js","sourceRoot":"","sources":["../../src/IFrameManager/IFrameProviderContentWindow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CrossWindowProviderRequestEnums } from '@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums';
|
|
2
|
+
import { PostMessageParamsType, PostMessageReturnType } from '@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes';
|
|
3
|
+
import { WindowManager } from '../WindowManager';
|
|
4
|
+
import { IFrameProviderContentWindow } from './IFrameProviderContentWindow';
|
|
5
|
+
export declare class IframeManager extends WindowManager {
|
|
6
|
+
private floatingWalletComponent;
|
|
7
|
+
private readonly onClose;
|
|
8
|
+
constructor(props?: {
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
});
|
|
11
|
+
get floatingWallet(): IFrameProviderContentWindow | null;
|
|
12
|
+
postMessage<T extends CrossWindowProviderRequestEnums>({ type, payload }: PostMessageParamsType<T>): Promise<PostMessageReturnType<T>>;
|
|
13
|
+
closeConnection(): Promise<boolean>;
|
|
14
|
+
isWalletOpened(): boolean;
|
|
15
|
+
closeWalletWindow(): void;
|
|
16
|
+
setWalletWindow(): Promise<void>;
|
|
17
|
+
setWalletVisible(visible: boolean): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IframeManager = void 0;
|
|
13
|
+
const crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
14
|
+
const constants_1 = require("../constants");
|
|
15
|
+
const WindowManager_1 = require("../WindowManager");
|
|
16
|
+
const IFrameProviderContentWindow_1 = require("./IFrameProviderContentWindow");
|
|
17
|
+
class IframeManager extends WindowManager_1.WindowManager {
|
|
18
|
+
constructor(props) {
|
|
19
|
+
super();
|
|
20
|
+
this.floatingWalletComponent = null;
|
|
21
|
+
this.onClose = undefined;
|
|
22
|
+
this.onClose = props === null || props === void 0 ? void 0 : props.onClose;
|
|
23
|
+
}
|
|
24
|
+
get floatingWallet() {
|
|
25
|
+
return this.floatingWalletComponent;
|
|
26
|
+
}
|
|
27
|
+
postMessage({ type, payload }) {
|
|
28
|
+
var _a;
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
yield this.handshake(type);
|
|
31
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
32
|
+
type,
|
|
33
|
+
payload
|
|
34
|
+
}, this.walletUrl);
|
|
35
|
+
const data = yield this.listenOnce(crossWindowProviderConstants_1.responseTypeMap[type]);
|
|
36
|
+
return data;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
closeConnection() {
|
|
40
|
+
const _super = Object.create(null, {
|
|
41
|
+
closeConnection: { get: () => super.closeConnection }
|
|
42
|
+
});
|
|
43
|
+
var _a;
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const result = yield _super.closeConnection.call(this);
|
|
46
|
+
(_a = this.floatingWalletComponent) === null || _a === void 0 ? void 0 : _a.remove();
|
|
47
|
+
this.walletWindow = null;
|
|
48
|
+
return result;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
isWalletOpened() {
|
|
52
|
+
return Boolean(this.walletWindow);
|
|
53
|
+
}
|
|
54
|
+
closeWalletWindow() {
|
|
55
|
+
var _a;
|
|
56
|
+
if (!this.walletWindow) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
(_a = this.floatingWallet) === null || _a === void 0 ? void 0 : _a.setWalletVisible(false);
|
|
60
|
+
}
|
|
61
|
+
setWalletWindow() {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
if (this.walletWindow) {
|
|
65
|
+
(_a = this.floatingWallet) === null || _a === void 0 ? void 0 : _a.setWalletVisible(true);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const anchor = (_b = constants_1.safeDocument.getElementById) === null || _b === void 0 ? void 0 : _b.call(constants_1.safeDocument, 'root');
|
|
69
|
+
this.floatingWalletComponent = new IFrameProviderContentWindow_1.IFrameProviderContentWindow({
|
|
70
|
+
id: 'floating-wallet',
|
|
71
|
+
anchor,
|
|
72
|
+
url: this.walletUrl,
|
|
73
|
+
onClose: () => {
|
|
74
|
+
var _a;
|
|
75
|
+
this.closeConnection();
|
|
76
|
+
(_a = this.onClose) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
this.floatingWalletComponent.walletAddress = this.walletUrl;
|
|
80
|
+
const iframe = yield new Promise((resolve) => {
|
|
81
|
+
var _a;
|
|
82
|
+
(_a = this.floatingWalletComponent) === null || _a === void 0 ? void 0 : _a.addEventListener('iframeWindowReady', (event) => {
|
|
83
|
+
resolve(event.detail);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
if (!iframe) {
|
|
87
|
+
throw new Error('Cannot initialize iframe window');
|
|
88
|
+
}
|
|
89
|
+
this.walletWindow = iframe.contentWindow;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
setWalletVisible(visible) {
|
|
93
|
+
var _a;
|
|
94
|
+
(_a = this.floatingWalletComponent) === null || _a === void 0 ? void 0 : _a.setWalletVisible(visible);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.IframeManager = IframeManager;
|
|
98
|
+
//# sourceMappingURL=IframeManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IframeManager.js","sourceRoot":"","sources":["../../src/IFrameManager/IframeManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wHAAwG;AAMxG,4CAA4C;AAC5C,oDAAiD;AACjD,+EAA4E;AAE5E,MAAa,aAAc,SAAQ,6BAAa;IAI9C,YAAY,KAAgC;QAC1C,KAAK,EAAE,CAAC;QAJF,4BAAuB,GAAuC,IAAI,CAAC;QAC1D,YAAO,GAA6B,SAAS,CAAC;QAI7D,IAAI,CAAC,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;IAChC,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEqB,WAAW,CAA4C,EAC3E,IAAI,EACJ,OAAO,EACkB;;;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE3B,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,CAC5B;gBACE,IAAI;gBACJ,OAAO;aACR,EACD,IAAI,CAAC,SAAS,CACf,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,8CAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;;KACb;IAEqB,eAAe;;;;;;YACnC,MAAM,MAAM,GAAG,MAAM,OAAM,eAAe,WAAE,CAAC;YAC7C,MAAA,IAAI,CAAC,uBAAuB,0CAAE,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,MAAM,CAAC;;KACf;IAEe,cAAc;QAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAEe,iBAAiB;;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QAED,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEqB,eAAe;;;YACnC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO;aACR;YAED,MAAM,MAAM,GAAG,MAAA,wBAAY,CAAC,cAAc,yEAAG,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,uBAAuB,GAAG,IAAI,yDAA2B,CAAC;gBAC7D,EAAE,EAAE,iBAAiB;gBACrB,MAAM;gBACN,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,OAAO,EAAE,GAAG,EAAE;;oBACZ,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;gBACnB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAC9B,CAAC,OAA4C,EAAE,EAAE;;gBAC/C,MAAA,IAAI,CAAC,uBAAuB,0CAAE,gBAAgB,CAC5C,mBAAmB,EACnB,CAAC,KAA6C,EAAE,EAAE;oBAChD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC,CACF,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;;KAC1C;IAEM,gBAAgB,CAAC,OAAgB;;QACtC,MAAA,IAAI,CAAC,uBAAuB,0CAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AAzFD,sCAyFC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const containerStyle = "\n width: 400px;\n height: 600px;\n border: 1px solid #0d0e10;\n border-radius: 5px;\n z-index: 9999;\n position: absolute;\n bottom: 0;\n right: 0;\n visibility: hidden;\n ";
|
|
2
|
+
export declare const headerStyle = "\n color: #fff;\n background-color: #0d0e10;\n padding: 10px 15px;\n cursor: pointer;\n height: 50px;\n ";
|
|
3
|
+
export declare const bodyStyle = "\n width: 100%;\n height: calc(100% - 40px);\n overflow: hidden;\n ";
|
|
4
|
+
export declare const iframeStyle = "\n width: 100%;\n height: 100%;\n border: none;\n border-radius: 0 0 5px 5px;\n ";
|
|
5
|
+
export declare const collapsibleButtonStyle = "\n width: 30px;\n height: 30px;\n cursor: pointer;\n margin: 0px;\n padding: 0px;\n box-sizing: content-box;\n font-family: sans-serif;\n text-align: center;\n font-size: 40px;\n line-height: 14px;\n border-width: 0px;\n border-radius: 2px;\n border-color: rgb(170, 170, 170);\n border-style: solid;\n background-color: transparent;\n color: gray;\n z-index: 50;\n user-select: none;\n float: right;\n ";
|
|
6
|
+
export declare const closeWalletButtonStyle = "\n width: 30px;\n height: 30px;\n cursor: pointer;\n margin-top: 0px; \n display: inline-block; \n cursor: pointer;\n margin-top: 5px;\n padding: 0px;\n box-sizing: content-box;\n font-family: sans-serif;\n text-align: center;\n font-size: 30px;\n line-height: 14px;\n border-width: 0px;\n border-radius: 2px;\n border-color: rgb(170, 170, 170);\n border-style: solid;\n background-color: transparent;\n color: gray;\n z-index: 50;\n user-select: none;\n float: right;\n ";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.closeWalletButtonStyle = exports.collapsibleButtonStyle = exports.iframeStyle = exports.bodyStyle = exports.headerStyle = exports.containerStyle = void 0;
|
|
4
|
+
exports.containerStyle = `
|
|
5
|
+
width: 400px;
|
|
6
|
+
height: 600px;
|
|
7
|
+
border: 1px solid #0d0e10;
|
|
8
|
+
border-radius: 5px;
|
|
9
|
+
z-index: 9999;
|
|
10
|
+
position: absolute;
|
|
11
|
+
bottom: 0;
|
|
12
|
+
right: 0;
|
|
13
|
+
visibility: hidden;
|
|
14
|
+
`;
|
|
15
|
+
exports.headerStyle = `
|
|
16
|
+
color: #fff;
|
|
17
|
+
background-color: #0d0e10;
|
|
18
|
+
padding: 10px 15px;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
height: 50px;
|
|
21
|
+
`;
|
|
22
|
+
exports.bodyStyle = `
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: calc(100% - 40px);
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
`;
|
|
27
|
+
exports.iframeStyle = `
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
border: none;
|
|
31
|
+
border-radius: 0 0 5px 5px;
|
|
32
|
+
`;
|
|
33
|
+
exports.collapsibleButtonStyle = `
|
|
34
|
+
width: 30px;
|
|
35
|
+
height: 30px;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
margin: 0px;
|
|
38
|
+
padding: 0px;
|
|
39
|
+
box-sizing: content-box;
|
|
40
|
+
font-family: sans-serif;
|
|
41
|
+
text-align: center;
|
|
42
|
+
font-size: 40px;
|
|
43
|
+
line-height: 14px;
|
|
44
|
+
border-width: 0px;
|
|
45
|
+
border-radius: 2px;
|
|
46
|
+
border-color: rgb(170, 170, 170);
|
|
47
|
+
border-style: solid;
|
|
48
|
+
background-color: transparent;
|
|
49
|
+
color: gray;
|
|
50
|
+
z-index: 50;
|
|
51
|
+
user-select: none;
|
|
52
|
+
float: right;
|
|
53
|
+
`;
|
|
54
|
+
exports.closeWalletButtonStyle = `
|
|
55
|
+
width: 30px;
|
|
56
|
+
height: 30px;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
margin-top: 0px;
|
|
59
|
+
display: inline-block;
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
margin-top: 5px;
|
|
62
|
+
padding: 0px;
|
|
63
|
+
box-sizing: content-box;
|
|
64
|
+
font-family: sans-serif;
|
|
65
|
+
text-align: center;
|
|
66
|
+
font-size: 30px;
|
|
67
|
+
line-height: 14px;
|
|
68
|
+
border-width: 0px;
|
|
69
|
+
border-radius: 2px;
|
|
70
|
+
border-color: rgb(170, 170, 170);
|
|
71
|
+
border-style: solid;
|
|
72
|
+
background-color: transparent;
|
|
73
|
+
color: gray;
|
|
74
|
+
z-index: 50;
|
|
75
|
+
user-select: none;
|
|
76
|
+
float: right;
|
|
77
|
+
`;
|
|
78
|
+
//# sourceMappingURL=iframeManager.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iframeManager.styles.js","sourceRoot":"","sources":["../../src/IFrameManager/iframeManager.styles.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;;;;;;;;;;GAU3B,CAAC;AAES,QAAA,WAAW,GAAG;;;;;;GAMxB,CAAC;AAES,QAAA,SAAS,GAAG;;;;GAItB,CAAC;AAES,QAAA,WAAW,GAAG;;;;;GAKxB,CAAC;AAES,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;GAoBnC,CAAC;AAES,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;GAuBnC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CrossWindowProvider, ICrossWindowWalletAccount } from '../CrossWindowProvider';
|
|
2
|
+
export declare class IframeProvider extends CrossWindowProvider {
|
|
3
|
+
constructor();
|
|
4
|
+
static getInstance(): IframeProvider;
|
|
5
|
+
init(): Promise<boolean>;
|
|
6
|
+
login(options?: {
|
|
7
|
+
token?: string;
|
|
8
|
+
}): Promise<ICrossWindowWalletAccount>;
|
|
9
|
+
logout(): Promise<boolean>;
|
|
10
|
+
openPopupConsent(): Promise<boolean>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IframeProvider = void 0;
|
|
13
|
+
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
14
|
+
const errors_1 = require("../errors");
|
|
15
|
+
const IframeManager_1 = require("../IFrameManager/IframeManager");
|
|
16
|
+
class IframeProvider extends CrossWindowProvider_1.CrossWindowProvider {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.windowManager = new IframeManager_1.IframeManager({
|
|
20
|
+
// TODO check why the logout is not sending logout request through postMessage
|
|
21
|
+
onClose: this.logout.bind(this)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
static getInstance() {
|
|
25
|
+
if (!IframeProvider._instance) {
|
|
26
|
+
IframeProvider._instance = new IframeProvider();
|
|
27
|
+
return IframeProvider._instance;
|
|
28
|
+
}
|
|
29
|
+
return IframeProvider._instance;
|
|
30
|
+
}
|
|
31
|
+
init() {
|
|
32
|
+
const _super = Object.create(null, {
|
|
33
|
+
init: { get: () => super.init }
|
|
34
|
+
});
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const initialized = yield _super.init.call(this);
|
|
37
|
+
yield this.windowManager.setWalletWindow();
|
|
38
|
+
return initialized;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
login(options = {}) {
|
|
42
|
+
const _super = Object.create(null, {
|
|
43
|
+
login: { get: () => super.login }
|
|
44
|
+
});
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const account = yield _super.login.call(this, options);
|
|
47
|
+
yield this.windowManager.setWalletWindow();
|
|
48
|
+
return account;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
logout() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
if (!this.initialized) {
|
|
54
|
+
throw new errors_1.ErrProviderNotInitialized();
|
|
55
|
+
}
|
|
56
|
+
this.ensureConnected();
|
|
57
|
+
const connectionClosed = yield this.windowManager.closeConnection();
|
|
58
|
+
this.initialized = false;
|
|
59
|
+
this.disconnect();
|
|
60
|
+
return connectionClosed;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
openPopupConsent() {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return true;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.IframeProvider = IframeProvider;
|
|
70
|
+
//# sourceMappingURL=IframeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IframeProvider.js","sourceRoot":"","sources":["../../src/IFrameProvider/IframeProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAGgC;AAChC,sCAAsD;AACtD,kEAA+D;AAE/D,MAAa,cAAe,SAAQ,yCAAmB;IACrD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC;YACrC,8EAA8E;YAC9E,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAC7B,cAAc,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;YAChD,OAAO,cAAc,CAAC,SAAS,CAAC;SACjC;QAED,OAAO,cAAc,CAAC,SAAS,CAAC;IAClC,CAAC;IAEqB,IAAI;;;;;YACxB,MAAM,WAAW,GAAG,MAAM,OAAM,IAAI,WAAE,CAAC;YACvC,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAE3C,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAEqB,KAAK,CACzB,UAEI,EAAE;;;;;YAEN,MAAM,OAAO,GAAG,MAAM,OAAM,KAAK,YAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAE3C,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEqB,MAAM;;YAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,kCAAyB,EAAE,CAAC;aACvC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KAAA;IAEqB,gBAAgB;;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF;AApDD,wCAoDC"}
|
|
@@ -2,12 +2,10 @@ import { CrossWindowProviderRequestEnums, CrossWindowProviderResponseEnums } fro
|
|
|
2
2
|
import { PostMessageParamsType, PostMessageReturnType, ReplyWithPostMessagePayloadType } from '@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes';
|
|
3
3
|
export declare class WindowManager {
|
|
4
4
|
private _walletUrl;
|
|
5
|
-
|
|
6
|
-
private static _instance;
|
|
5
|
+
protected initialized: boolean;
|
|
7
6
|
walletWindow: Window | null;
|
|
8
7
|
constructor();
|
|
9
8
|
get walletUrl(): string;
|
|
10
|
-
static getInstance(): WindowManager;
|
|
11
9
|
setWalletUrl(url: string): WindowManager;
|
|
12
10
|
init(): Promise<boolean>;
|
|
13
11
|
isWalletOpened(type?: CrossWindowProviderRequestEnums): boolean;
|
|
@@ -20,4 +18,6 @@ export declare class WindowManager {
|
|
|
20
18
|
closeConnection(): Promise<boolean>;
|
|
21
19
|
isInitialized(): boolean;
|
|
22
20
|
postMessage<T extends CrossWindowProviderRequestEnums>({ type, payload }: PostMessageParamsType<T>): Promise<PostMessageReturnType<T>>;
|
|
21
|
+
closeWalletWindow(): void;
|
|
22
|
+
setWalletWindow(): Promise<void>;
|
|
23
23
|
}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.WindowManager = void 0;
|
|
13
13
|
const crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
14
14
|
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
15
|
+
const constants_1 = require("../constants");
|
|
15
16
|
const errors_1 = require("../errors");
|
|
16
17
|
class WindowManager {
|
|
17
18
|
constructor() {
|
|
@@ -19,22 +20,17 @@ class WindowManager {
|
|
|
19
20
|
this._walletUrl = '';
|
|
20
21
|
this.initialized = false;
|
|
21
22
|
this.walletWindow = null;
|
|
22
|
-
(_a =
|
|
23
|
-
|
|
24
|
-
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
23
|
+
(_a = constants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, 'beforeunload', () => {
|
|
24
|
+
this.closeWalletWindow();
|
|
25
25
|
});
|
|
26
|
-
|
|
27
|
-
WindowManager._instance = this; // TODO: remove singleton
|
|
26
|
+
constants_1.safeWindow.name = (_b = constants_1.safeWindow.location) === null || _b === void 0 ? void 0 : _b.origin;
|
|
28
27
|
}
|
|
29
28
|
get walletUrl() {
|
|
30
29
|
return this._walletUrl;
|
|
31
30
|
}
|
|
32
|
-
static getInstance() {
|
|
33
|
-
return WindowManager._instance;
|
|
34
|
-
}
|
|
35
31
|
setWalletUrl(url) {
|
|
36
32
|
this._walletUrl = url;
|
|
37
|
-
return
|
|
33
|
+
return this;
|
|
38
34
|
}
|
|
39
35
|
init() {
|
|
40
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -47,20 +43,19 @@ class WindowManager {
|
|
|
47
43
|
Boolean(this.walletWindow));
|
|
48
44
|
}
|
|
49
45
|
handshake(type) {
|
|
50
|
-
var _a
|
|
46
|
+
var _a;
|
|
51
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
48
|
const isOpened = this.isWalletOpened(type);
|
|
53
49
|
if (isOpened) {
|
|
54
50
|
return true;
|
|
55
51
|
}
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
(_c = (_b = crossWindowProviderConstants_1.safeWindow.open) === null || _b === void 0 ? void 0 : _b.call(crossWindowProviderConstants_1.safeWindow, this.walletUrl, this.walletUrl)) !== null && _c !== void 0 ? _c : null;
|
|
52
|
+
this.closeWalletWindow();
|
|
53
|
+
yield this.setWalletWindow();
|
|
59
54
|
const { payload: isWalletReady } = yield this.listenOnce(crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.handshakeResponse);
|
|
60
55
|
if (!isWalletReady) {
|
|
61
56
|
throw new errors_1.ErrCannotEstablishHandshake();
|
|
62
57
|
}
|
|
63
|
-
(
|
|
58
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
64
59
|
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.finalizeHandshakeRequest
|
|
65
60
|
}, this.walletUrl);
|
|
66
61
|
this.addHandshakeChangeListener();
|
|
@@ -84,14 +79,16 @@ class WindowManager {
|
|
|
84
79
|
if (payload === false) {
|
|
85
80
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
86
81
|
this.walletWindow = null;
|
|
87
|
-
(_b =
|
|
82
|
+
(_b = constants_1.safeWindow.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(constants_1.safeWindow, 'message', eventHandler);
|
|
88
83
|
}
|
|
89
84
|
break;
|
|
90
85
|
}
|
|
91
86
|
}
|
|
92
|
-
catch (
|
|
87
|
+
catch (e) {
|
|
88
|
+
console.error('Handshake response error', e);
|
|
89
|
+
}
|
|
93
90
|
};
|
|
94
|
-
(_a =
|
|
91
|
+
(_a = constants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, 'message', eventHandler);
|
|
95
92
|
});
|
|
96
93
|
}
|
|
97
94
|
listenOnce(action) {
|
|
@@ -102,7 +99,7 @@ class WindowManager {
|
|
|
102
99
|
return yield new Promise((resolve) => {
|
|
103
100
|
var _a;
|
|
104
101
|
const walletUrl = this.walletUrl;
|
|
105
|
-
(_a =
|
|
102
|
+
(_a = constants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, 'message', function eventHandler(event) {
|
|
106
103
|
var _a;
|
|
107
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
105
|
const { type, payload } = event.data;
|
|
@@ -112,7 +109,7 @@ class WindowManager {
|
|
|
112
109
|
if (!isCurrentAction || !isWalletEvent) {
|
|
113
110
|
return;
|
|
114
111
|
}
|
|
115
|
-
(_a =
|
|
112
|
+
(_a = constants_1.safeWindow.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(constants_1.safeWindow, 'message', eventHandler);
|
|
116
113
|
resolve({ type, payload });
|
|
117
114
|
});
|
|
118
115
|
});
|
|
@@ -135,7 +132,7 @@ class WindowManager {
|
|
|
135
132
|
return this.initialized;
|
|
136
133
|
}
|
|
137
134
|
postMessage({ type, payload }) {
|
|
138
|
-
var _a
|
|
135
|
+
var _a;
|
|
139
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
140
137
|
yield this.handshake(type);
|
|
141
138
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
@@ -143,11 +140,21 @@ class WindowManager {
|
|
|
143
140
|
payload
|
|
144
141
|
}, this.walletUrl);
|
|
145
142
|
const data = yield this.listenOnce(crossWindowProviderConstants_1.responseTypeMap[type]);
|
|
146
|
-
|
|
143
|
+
this.closeWalletWindow();
|
|
147
144
|
return data;
|
|
148
145
|
});
|
|
149
146
|
}
|
|
147
|
+
closeWalletWindow() {
|
|
148
|
+
var _a;
|
|
149
|
+
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
150
|
+
}
|
|
151
|
+
setWalletWindow() {
|
|
152
|
+
var _a, _b;
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
this.walletWindow =
|
|
155
|
+
(_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;
|
|
156
|
+
});
|
|
157
|
+
}
|
|
150
158
|
}
|
|
151
|
-
WindowManager._instance = new WindowManager();
|
|
152
159
|
exports.WindowManager = WindowManager;
|
|
153
160
|
//# sourceMappingURL=WindowManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,43 +32,42 @@ describe('WindowManager', () => {
|
|
|
32
32
|
afterEach(() => {
|
|
33
33
|
jest.resetAllMocks();
|
|
34
34
|
});
|
|
35
|
-
it('should be a singleton instance', () => {
|
|
36
|
-
const instance1 = WindowManager_1.WindowManager.getInstance();
|
|
37
|
-
const instance2 = WindowManager_1.WindowManager.getInstance();
|
|
38
|
-
expect(instance1).toBe(instance2);
|
|
39
|
-
});
|
|
40
35
|
it('should set wallet URL and initialize', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
-
const windowManager = WindowManager_1.WindowManager
|
|
36
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
42
37
|
windowManager.setWalletUrl('https://wallet.example.com');
|
|
43
38
|
yield windowManager.init();
|
|
44
39
|
expect(windowManager.isInitialized()).toBeTruthy();
|
|
45
40
|
}));
|
|
46
41
|
it('should call init successfully correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
-
const windowManager = WindowManager_1.WindowManager
|
|
42
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
48
43
|
yield windowManager.init();
|
|
49
44
|
expect(windowManager.isInitialized()).toBeTruthy();
|
|
50
45
|
}));
|
|
51
46
|
it('should call handshake successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
-
const windowManager = WindowManager_1.WindowManager
|
|
47
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
53
48
|
windowManager.handshake(crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest);
|
|
54
49
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(1);
|
|
55
50
|
expect(windowOpenSpy).toHaveBeenCalledTimes(1);
|
|
56
51
|
expect(windowCloseSpy).toHaveBeenCalledTimes(0);
|
|
57
52
|
}));
|
|
58
53
|
it('should close connections correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
-
const windowManager = WindowManager_1.WindowManager
|
|
54
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
55
|
+
windowManager.init();
|
|
56
|
+
windowManager.setWalletUrl('https://wallet.example.com');
|
|
60
57
|
windowManager.closeConnection();
|
|
61
58
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(1);
|
|
62
59
|
expect(windowOpenSpy).toHaveBeenCalledTimes(1);
|
|
63
60
|
expect(windowCloseSpy).toHaveBeenCalledTimes(0);
|
|
64
61
|
}));
|
|
65
62
|
it('should call add event listener successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
-
const windowManager = WindowManager_1.WindowManager
|
|
63
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
64
|
+
yield windowManager.init();
|
|
65
|
+
windowManager.handshake(crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest);
|
|
67
66
|
windowManager.listenOnce(crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.loginResponse);
|
|
68
|
-
expect(windowAddListenerSpy).toHaveBeenCalledTimes(
|
|
67
|
+
expect(windowAddListenerSpy).toHaveBeenCalledTimes(2);
|
|
69
68
|
}));
|
|
70
69
|
it('should call postMessage successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
-
const windowManager = WindowManager_1.WindowManager
|
|
70
|
+
const windowManager = new WindowManager_1.WindowManager();
|
|
72
71
|
windowManager.postMessage({
|
|
73
72
|
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest,
|
|
74
73
|
payload: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowManager.test.js","sourceRoot":"","sources":["../../../src/WindowManager/tests/windowManager.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4GAGuE;AACvE,iDAAuD;AAEvD,oDAAiD;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,aAA+B,CAAC;IACpC,IAAI,cAAgC,CAAC;IACrC,IAAI,oBAAsC,CAAC;IAC3C,IAAI,uBAAyC,CAAC;IAC9C,IAAI,gBAA8D,CAAC;IAEnE,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,IAAA,gCAAmB,GAAE,CAAC;QAEzC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC9D,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnD,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACpE,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEtD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7C,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"windowManager.test.js","sourceRoot":"","sources":["../../../src/WindowManager/tests/windowManager.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.safeDocument = exports.safeWindow = void 0;
|
|
4
|
+
exports.safeWindow = typeof window !== 'undefined' ? window : {};
|
|
5
|
+
exports.safeDocument = typeof document !== 'undefined' ? document : {};
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAU,CAAC;AAClE,QAAA,YAAY,GACvB,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAU,CAAC"}
|