@multiversx/sdk-web-wallet-cross-window-provider 2.0.2 → 2.0.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { WindowProviderRequestEnums, WindowProviderResponseEnums } from '../enums';
|
|
2
2
|
import { PostMessageParamsType, PostMessageReturnType, ReplyWithPostMessagePayloadType } from '../types';
|
|
3
3
|
export declare class WindowManager {
|
|
4
|
+
private _session;
|
|
4
5
|
private _walletUrl;
|
|
5
6
|
protected initialized: boolean;
|
|
6
7
|
walletWindow: Window | null;
|
|
@@ -16,6 +16,7 @@ const errors_1 = require("../errors");
|
|
|
16
16
|
class WindowManager {
|
|
17
17
|
constructor() {
|
|
18
18
|
var _a, _b;
|
|
19
|
+
this._session = '';
|
|
19
20
|
this._walletUrl = '';
|
|
20
21
|
this.initialized = false;
|
|
21
22
|
this.walletWindow = null;
|
|
@@ -50,12 +51,15 @@ class WindowManager {
|
|
|
50
51
|
}
|
|
51
52
|
this.closeWalletWindow();
|
|
52
53
|
yield this.setWalletWindow();
|
|
53
|
-
const { payload
|
|
54
|
-
if (!
|
|
54
|
+
const { payload } = yield this.listenOnce(enums_1.WindowProviderResponseEnums.handshakeResponse);
|
|
55
|
+
if (!payload) {
|
|
55
56
|
throw new errors_1.ErrCannotEstablishHandshake();
|
|
56
57
|
}
|
|
58
|
+
this._session = this._session || payload.data || Date.now().toString();
|
|
59
|
+
console.log(this._session);
|
|
57
60
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
58
|
-
type: enums_1.WindowProviderRequestEnums.finalizeHandshakeRequest
|
|
61
|
+
type: enums_1.WindowProviderRequestEnums.finalizeHandshakeRequest,
|
|
62
|
+
payload: this._session
|
|
59
63
|
}, this.walletUrl);
|
|
60
64
|
this.addHandshakeChangeListener();
|
|
61
65
|
return true;
|
|
@@ -75,10 +79,15 @@ class WindowManager {
|
|
|
75
79
|
}
|
|
76
80
|
switch (type) {
|
|
77
81
|
case enums_1.WindowProviderResponseEnums.handshakeResponse:
|
|
78
|
-
if (payload ===
|
|
82
|
+
if (payload === '') {
|
|
79
83
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
80
84
|
this.walletWindow = null;
|
|
81
85
|
(_b = constants_1.safeWindow.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(constants_1.safeWindow, 'message', eventHandler);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
// Save the current session and send it in later handshake requests
|
|
89
|
+
if (typeof payload === 'string') {
|
|
90
|
+
this._session = payload;
|
|
82
91
|
}
|
|
83
92
|
break;
|
|
84
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA2D;AAC3D,oCAGkB;AAClB,sCAImB;AAQnB,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../../src/WindowManager/WindowManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IPlainTransactionObject } from '@multiversx/sdk-core';
|
|
2
2
|
import { WindowProviderRequestEnums, WindowProviderResponseEnums, SignMessageStatusEnum } from '../enums';
|
|
3
3
|
export type ReplyWithPostMessageObjectType = {
|
|
4
|
-
[WindowProviderResponseEnums.handshakeResponse]:
|
|
4
|
+
[WindowProviderResponseEnums.handshakeResponse]: string;
|
|
5
5
|
[WindowProviderResponseEnums.loginResponse]: {
|
|
6
6
|
address: string;
|
|
7
7
|
signature: string;
|
|
@@ -66,7 +66,7 @@ export type RequestPayloadType = {
|
|
|
66
66
|
message: string;
|
|
67
67
|
};
|
|
68
68
|
[WindowProviderRequestEnums.cancelAction]: undefined;
|
|
69
|
-
[WindowProviderRequestEnums.finalizeHandshakeRequest]:
|
|
69
|
+
[WindowProviderRequestEnums.finalizeHandshakeRequest]: string;
|
|
70
70
|
[WindowProviderRequestEnums.finalizeResetStateRequest]: undefined;
|
|
71
71
|
};
|
|
72
72
|
export type RequestMessageType = {
|