@multiversx/sdk-web-wallet-cross-window-provider 0.0.39 → 0.1.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 +2 -2
- package/out/CrossWindowProvider/CrossWindowProvider.js +17 -17
- package/out/CrossWindowProvider/CrossWindowProvider.js.map +1 -1
- package/out/CrossWindowProvider/popupConsent.d.ts +4 -0
- package/out/CrossWindowProvider/popupConsent.js +121 -0
- package/out/CrossWindowProvider/popupConsent.js.map +1 -0
- package/out/WindowManager/WindowManager.d.ts +2 -1
- package/out/WindowManager/WindowManager.js +16 -16
- package/out/WindowManager/WindowManager.js.map +1 -1
- package/out/WindowManager/tests/windowManager.test.js +4 -4
- package/out/WindowManager/tests/windowManager.test.js.map +1 -1
- package/out/constants.d.ts +1 -1
- package/out/constants.js.map +1 -1
- package/out/types.d.ts +0 -62
- package/package.json +4 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SignableMessage, Transaction } from '@multiversx/sdk-core';
|
|
2
|
-
import { CrossWindowProviderRequestEnums } from '
|
|
2
|
+
import { CrossWindowProviderRequestEnums } from '@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums';
|
|
3
3
|
interface ICrossWindowWalletAccount {
|
|
4
4
|
address: string;
|
|
5
5
|
signature?: string;
|
|
@@ -32,7 +32,7 @@ export declare class CrossWindowProvider {
|
|
|
32
32
|
signTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
33
33
|
guardTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
34
34
|
signMessage(message: SignableMessage): Promise<SignableMessage>;
|
|
35
|
-
cancelAction(): Promise<import("
|
|
35
|
+
cancelAction(): Promise<import("@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes").PostMessageReturnType<CrossWindowProviderRequestEnums.cancelAction>> | undefined;
|
|
36
36
|
protected openPopupConsent(): Promise<boolean>;
|
|
37
37
|
}
|
|
38
38
|
export {};
|
|
@@ -11,9 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CrossWindowProvider = void 0;
|
|
13
13
|
const sdk_core_1 = require("@multiversx/sdk-core");
|
|
14
|
-
const
|
|
14
|
+
const crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
15
|
+
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
15
16
|
const errors_1 = require("../errors");
|
|
16
|
-
const types_1 = require("../types");
|
|
17
17
|
const WindowManager_1 = require("../WindowManager");
|
|
18
18
|
const PopupConsent_1 = require("./PopupConsent");
|
|
19
19
|
class CrossWindowProvider {
|
|
@@ -77,7 +77,7 @@ class CrossWindowProvider {
|
|
|
77
77
|
throw new errors_1.ErrCouldNotLogin();
|
|
78
78
|
}
|
|
79
79
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
80
|
-
type:
|
|
80
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest,
|
|
81
81
|
payload: {
|
|
82
82
|
token: this.accessToken
|
|
83
83
|
}
|
|
@@ -145,13 +145,13 @@ class CrossWindowProvider {
|
|
|
145
145
|
throw new errors_1.ErrTransactionCancelled();
|
|
146
146
|
}
|
|
147
147
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
148
|
-
type:
|
|
148
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.signTransactionsRequest,
|
|
149
149
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
150
150
|
});
|
|
151
151
|
if (error || !signedPlainTransactions) {
|
|
152
152
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
153
153
|
}
|
|
154
|
-
if (type ===
|
|
154
|
+
if (type === crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.cancelResponse) {
|
|
155
155
|
throw new errors_1.ErrTransactionCancelled();
|
|
156
156
|
}
|
|
157
157
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -169,13 +169,13 @@ class CrossWindowProvider {
|
|
|
169
169
|
throw new errors_1.ErrTransactionCancelled();
|
|
170
170
|
}
|
|
171
171
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
172
|
-
type:
|
|
172
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.guardTransactionsRequest,
|
|
173
173
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
174
174
|
});
|
|
175
175
|
if (error || !signedPlainTransactions) {
|
|
176
176
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
177
177
|
}
|
|
178
|
-
if (type ===
|
|
178
|
+
if (type === crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.cancelResponse) {
|
|
179
179
|
throw new errors_1.ErrTransactionCancelled();
|
|
180
180
|
}
|
|
181
181
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -193,7 +193,7 @@ class CrossWindowProvider {
|
|
|
193
193
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
194
194
|
}
|
|
195
195
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
196
|
-
type:
|
|
196
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.signMessageRequest,
|
|
197
197
|
payload: {
|
|
198
198
|
message: message.message.toString()
|
|
199
199
|
}
|
|
@@ -202,7 +202,7 @@ class CrossWindowProvider {
|
|
|
202
202
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
203
203
|
}
|
|
204
204
|
const { status, signature } = data;
|
|
205
|
-
if (status !==
|
|
205
|
+
if (status !== crossWindowProviderEnums_1.SignMessageStatusEnum.signed) {
|
|
206
206
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
207
207
|
}
|
|
208
208
|
message.applySignature(Buffer.from(String(signature), 'hex'));
|
|
@@ -211,12 +211,12 @@ class CrossWindowProvider {
|
|
|
211
211
|
}
|
|
212
212
|
cancelAction() {
|
|
213
213
|
var _a, _b;
|
|
214
|
-
const isWalletOpened = (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.isWalletOpened(
|
|
214
|
+
const isWalletOpened = (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.isWalletOpened(crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.cancelAction);
|
|
215
215
|
if (!isWalletOpened) {
|
|
216
216
|
return;
|
|
217
217
|
}
|
|
218
218
|
return (_b = this.windowManager) === null || _b === void 0 ? void 0 : _b.postMessage({
|
|
219
|
-
type:
|
|
219
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.cancelAction,
|
|
220
220
|
payload: undefined
|
|
221
221
|
});
|
|
222
222
|
}
|
|
@@ -224,24 +224,24 @@ class CrossWindowProvider {
|
|
|
224
224
|
var _a, _b, _c;
|
|
225
225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
226
226
|
require('./PopupConsent');
|
|
227
|
-
const dialog = (_a =
|
|
228
|
-
const document =
|
|
227
|
+
const dialog = (_a = crossWindowProviderConstants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.createElement('div');
|
|
228
|
+
const document = crossWindowProviderConstants_1.safeWindow.document;
|
|
229
229
|
if (!this._shouldShowConsentPopup || !document || !dialog) {
|
|
230
230
|
return true;
|
|
231
231
|
}
|
|
232
|
-
const popup = (_b =
|
|
232
|
+
const popup = (_b = crossWindowProviderConstants_1.safeWindow.document) === null || _b === void 0 ? void 0 : _b.createElement(PopupConsent_1.confirmationDialogTag);
|
|
233
233
|
popup.walletUrl = this.windowManager.walletUrl;
|
|
234
|
-
(_c =
|
|
234
|
+
(_c = crossWindowProviderConstants_1.safeWindow.document) === null || _c === void 0 ? void 0 : _c.body.appendChild(popup);
|
|
235
235
|
const popupConsentResponse = yield new Promise((resolve) => {
|
|
236
236
|
popup.onConfirm = () => {
|
|
237
237
|
var _a;
|
|
238
238
|
resolve(true);
|
|
239
|
-
(_a =
|
|
239
|
+
(_a = crossWindowProviderConstants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.body.removeChild(popup);
|
|
240
240
|
};
|
|
241
241
|
popup.onCancel = () => {
|
|
242
242
|
var _a;
|
|
243
243
|
resolve(false);
|
|
244
|
-
(_a =
|
|
244
|
+
(_a = crossWindowProviderConstants_1.safeWindow.document) === null || _a === void 0 ? void 0 : _a.body.removeChild(popup);
|
|
245
245
|
};
|
|
246
246
|
});
|
|
247
247
|
this._shouldShowConsentPopup = false;
|
|
@@ -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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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMarkup = exports.cancelId = exports.confirmId = exports.dialogId = void 0;
|
|
4
|
+
exports.dialogId = 'mxcwp_confirmation-dialog';
|
|
5
|
+
exports.confirmId = 'mxcwp_confirm-button';
|
|
6
|
+
exports.cancelId = 'mxcwp_cancel-button';
|
|
7
|
+
const getStyle = () => `
|
|
8
|
+
<style>
|
|
9
|
+
#${exports.dialogId} {
|
|
10
|
+
position: fixed;
|
|
11
|
+
z-index: 9999;
|
|
12
|
+
padding-top: 100px;
|
|
13
|
+
left: 50%;
|
|
14
|
+
top: 50%;
|
|
15
|
+
transform: translate(-50%, -50%);
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
overflow: auto;
|
|
19
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#${exports.dialogId}:modal {
|
|
25
|
+
max-width: 100vw;
|
|
26
|
+
width: 100vw;
|
|
27
|
+
max-height: 100vh;
|
|
28
|
+
height: 100vh;
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#${exports.dialogId} .content {
|
|
33
|
+
background: #fff;
|
|
34
|
+
border-radius: 20px;
|
|
35
|
+
z-index: 9999;
|
|
36
|
+
max-width: 500px;
|
|
37
|
+
margin: auto;
|
|
38
|
+
padding: 0;
|
|
39
|
+
position: relative;
|
|
40
|
+
width: 100%;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#${exports.dialogId} .body {
|
|
44
|
+
padding: 50px 0;
|
|
45
|
+
color: #262525;
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#${exports.dialogId} .title {
|
|
50
|
+
text-align: center;
|
|
51
|
+
font-size: 1.5rem;
|
|
52
|
+
}
|
|
53
|
+
#${exports.dialogId} .subtitle {
|
|
54
|
+
margin-top: 10px;
|
|
55
|
+
text-align: center;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
#${exports.dialogId} .actions-container {
|
|
59
|
+
margin-top: 40px;
|
|
60
|
+
margin-bottom: 10px;
|
|
61
|
+
display: flex;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
gap: 20px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#${exports.dialogId} .button {
|
|
67
|
+
max-width: 200px;
|
|
68
|
+
margin-top: 10px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
#${exports.dialogId} button {
|
|
73
|
+
border-radius: 8px;
|
|
74
|
+
border: 1px solid transparent;
|
|
75
|
+
padding: 0.6em 1.2em;
|
|
76
|
+
font-size: 1em;
|
|
77
|
+
font-weight: 500;
|
|
78
|
+
font-family: inherit;
|
|
79
|
+
background-color: #efeeee;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
transition: border-color 0.25s;
|
|
82
|
+
}
|
|
83
|
+
#${exports.dialogId} button:hover {
|
|
84
|
+
border-color: #cacaca;
|
|
85
|
+
}
|
|
86
|
+
#${exports.dialogId} button:focus,
|
|
87
|
+
#${exports.dialogId} button:focus-visible {
|
|
88
|
+
outline: 4px auto -webkit-focus-ring-color;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#${exports.dialogId} .btn-proceed {
|
|
92
|
+
background-color: #262626;
|
|
93
|
+
color: #fff;
|
|
94
|
+
padding-left: 40px;
|
|
95
|
+
padding-right: 40px;
|
|
96
|
+
}
|
|
97
|
+
</style>`;
|
|
98
|
+
const getMarkup = (walletUrl) => {
|
|
99
|
+
return `
|
|
100
|
+
${getStyle()}
|
|
101
|
+
<div class="content">
|
|
102
|
+
<div class="body">
|
|
103
|
+
<div class="title">Confirm on MultiversX Wallet</div>
|
|
104
|
+
<div class="subtitle">
|
|
105
|
+
Continue to ${walletUrl}
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div class="actions-container">
|
|
109
|
+
<button id="${exports.cancelId}" class="button">
|
|
110
|
+
Cancel
|
|
111
|
+
</button>
|
|
112
|
+
<button id="${exports.confirmId}" class="button btn-proceed">
|
|
113
|
+
Continue →
|
|
114
|
+
</button>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
`;
|
|
119
|
+
};
|
|
120
|
+
exports.getMarkup = getMarkup;
|
|
121
|
+
//# sourceMappingURL=popupConsent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popupConsent.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/popupConsent.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,2BAA2B,CAAC;AACvC,QAAA,SAAS,GAAG,sBAAsB,CAAC;AACnC,QAAA,QAAQ,GAAG,qBAAqB,CAAC;AAE9C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC;;GAEpB,gBAAQ;;;;;;;;;;;;;;;GAeR,gBAAQ;;;;;;;;KAQN,gBAAQ;;;;;;;;;;;KAWR,gBAAQ;;;;;;KAMR,gBAAQ;;;;KAIR,gBAAQ;;;;;KAKR,gBAAQ;;;;;;;;KAQR,gBAAQ;;;;;;KAMR,gBAAQ;;;;;;;;;;;KAWR,gBAAQ;;;KAGR,gBAAQ;KACR,gBAAQ;;;;KAIR,gBAAQ;;;;;;SAMJ,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC7C,OAAO;IACL,QAAQ,EAAE;;;;;wBAKU,SAAS;;;;0BAIP,gBAAQ;;;0BAGR,iBAAS;;;;;;CAMlC,CAAC;AACF,CAAC,CAAC;AArBW,QAAA,SAAS,aAqBpB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CrossWindowProviderRequestEnums, CrossWindowProviderResponseEnums
|
|
1
|
+
import { CrossWindowProviderRequestEnums, CrossWindowProviderResponseEnums } from '@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums';
|
|
2
|
+
import { PostMessageParamsType, PostMessageReturnType, ReplyWithPostMessagePayloadType } from '@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes';
|
|
2
3
|
export declare class WindowManager {
|
|
3
4
|
private _walletUrl;
|
|
4
5
|
private initialized;
|
|
@@ -10,20 +10,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.WindowManager = void 0;
|
|
13
|
-
const
|
|
13
|
+
const crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
14
|
+
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
14
15
|
const errors_1 = require("../errors");
|
|
15
|
-
const types_1 = require("../types");
|
|
16
16
|
class WindowManager {
|
|
17
17
|
constructor() {
|
|
18
18
|
var _a, _b;
|
|
19
19
|
this._walletUrl = '';
|
|
20
20
|
this.initialized = false;
|
|
21
21
|
this.walletWindow = null;
|
|
22
|
-
(_a =
|
|
22
|
+
(_a = crossWindowProviderConstants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(crossWindowProviderConstants_1.safeWindow, 'beforeunload', () => {
|
|
23
23
|
var _a;
|
|
24
24
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
25
25
|
});
|
|
26
|
-
|
|
26
|
+
crossWindowProviderConstants_1.safeWindow.name = (_b = crossWindowProviderConstants_1.safeWindow.location) === null || _b === void 0 ? void 0 : _b.origin;
|
|
27
27
|
WindowManager._instance = this; // TODO: remove singleton
|
|
28
28
|
}
|
|
29
29
|
get walletUrl() {
|
|
@@ -43,7 +43,7 @@ class WindowManager {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
isWalletOpened(type) {
|
|
46
|
-
return (type ===
|
|
46
|
+
return (type === crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.cancelAction &&
|
|
47
47
|
Boolean(this.walletWindow));
|
|
48
48
|
}
|
|
49
49
|
handshake(type) {
|
|
@@ -55,13 +55,13 @@ class WindowManager {
|
|
|
55
55
|
}
|
|
56
56
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
57
57
|
this.walletWindow =
|
|
58
|
-
(_c = (_b =
|
|
59
|
-
const { payload: isWalletReady } = yield this.listenOnce(
|
|
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;
|
|
59
|
+
const { payload: isWalletReady } = yield this.listenOnce(crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.handshakeResponse);
|
|
60
60
|
if (!isWalletReady) {
|
|
61
61
|
throw new errors_1.ErrCannotEstablishHandshake();
|
|
62
62
|
}
|
|
63
63
|
(_d = this.walletWindow) === null || _d === void 0 ? void 0 : _d.postMessage({
|
|
64
|
-
type:
|
|
64
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.finalizeHandshakeRequest
|
|
65
65
|
}, this.walletUrl);
|
|
66
66
|
this.addHandshakeChangeListener();
|
|
67
67
|
return true;
|
|
@@ -80,18 +80,18 @@ class WindowManager {
|
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
switch (type) {
|
|
83
|
-
case
|
|
83
|
+
case crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.handshakeResponse:
|
|
84
84
|
if (payload === false) {
|
|
85
85
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
86
86
|
this.walletWindow = null;
|
|
87
|
-
(_b =
|
|
87
|
+
(_b = crossWindowProviderConstants_1.safeWindow.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(crossWindowProviderConstants_1.safeWindow, 'message', eventHandler);
|
|
88
88
|
}
|
|
89
89
|
break;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
catch (_c) { }
|
|
93
93
|
};
|
|
94
|
-
(_a =
|
|
94
|
+
(_a = crossWindowProviderConstants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(crossWindowProviderConstants_1.safeWindow, 'message', eventHandler);
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
listenOnce(action) {
|
|
@@ -102,17 +102,17 @@ class WindowManager {
|
|
|
102
102
|
return yield new Promise((resolve) => {
|
|
103
103
|
var _a;
|
|
104
104
|
const walletUrl = this.walletUrl;
|
|
105
|
-
(_a =
|
|
105
|
+
(_a = crossWindowProviderConstants_1.safeWindow.addEventListener) === null || _a === void 0 ? void 0 : _a.call(crossWindowProviderConstants_1.safeWindow, 'message', function eventHandler(event) {
|
|
106
106
|
var _a;
|
|
107
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
108
|
const { type, payload } = event.data;
|
|
109
109
|
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
110
110
|
const isCurrentAction = action === type ||
|
|
111
|
-
type ===
|
|
111
|
+
type === crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.cancelResponse;
|
|
112
112
|
if (!isCurrentAction || !isWalletEvent) {
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
|
-
(_a =
|
|
115
|
+
(_a = crossWindowProviderConstants_1.safeWindow.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(crossWindowProviderConstants_1.safeWindow, 'message', eventHandler);
|
|
116
116
|
resolve({ type, payload });
|
|
117
117
|
});
|
|
118
118
|
});
|
|
@@ -125,7 +125,7 @@ class WindowManager {
|
|
|
125
125
|
throw new errors_1.ErrProviderNotInitialized();
|
|
126
126
|
}
|
|
127
127
|
yield this.postMessage({
|
|
128
|
-
type:
|
|
128
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.logoutRequest,
|
|
129
129
|
payload: undefined
|
|
130
130
|
});
|
|
131
131
|
return true;
|
|
@@ -142,7 +142,7 @@ class WindowManager {
|
|
|
142
142
|
type,
|
|
143
143
|
payload
|
|
144
144
|
}, this.walletUrl);
|
|
145
|
-
const data = yield this.listenOnce(
|
|
145
|
+
const data = yield this.listenOnce(crossWindowProviderConstants_1.responseTypeMap[type]);
|
|
146
146
|
(_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
|
|
147
147
|
return data;
|
|
148
148
|
});
|
|
@@ -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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"}
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
12
13
|
const test_utils_1 = require("../../test-utils");
|
|
13
|
-
const types_1 = require("../../types");
|
|
14
14
|
const WindowManager_1 = require("../WindowManager");
|
|
15
15
|
describe('WindowManager', () => {
|
|
16
16
|
let windowOpenSpy;
|
|
@@ -50,7 +50,7 @@ describe('WindowManager', () => {
|
|
|
50
50
|
}));
|
|
51
51
|
it('should call handshake successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
52
|
const windowManager = WindowManager_1.WindowManager.getInstance();
|
|
53
|
-
windowManager.handshake(
|
|
53
|
+
windowManager.handshake(crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest);
|
|
54
54
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(1);
|
|
55
55
|
expect(windowOpenSpy).toHaveBeenCalledTimes(1);
|
|
56
56
|
expect(windowCloseSpy).toHaveBeenCalledTimes(0);
|
|
@@ -64,13 +64,13 @@ describe('WindowManager', () => {
|
|
|
64
64
|
}));
|
|
65
65
|
it('should call add event listener successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
66
|
const windowManager = WindowManager_1.WindowManager.getInstance();
|
|
67
|
-
windowManager.listenOnce(
|
|
67
|
+
windowManager.listenOnce(crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.loginResponse);
|
|
68
68
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(1);
|
|
69
69
|
}));
|
|
70
70
|
it('should call postMessage successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
71
|
const windowManager = WindowManager_1.WindowManager.getInstance();
|
|
72
72
|
windowManager.postMessage({
|
|
73
|
-
type:
|
|
73
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest,
|
|
74
74
|
payload: {
|
|
75
75
|
token: 'token'
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowManager.test.js","sourceRoot":"","sources":["../../../src/WindowManager/tests/windowManager.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"windowManager.test.js","sourceRoot":"","sources":["../../../src/WindowManager/tests/windowManager.test.ts"],"names":[],"mappings":"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"}
|
package/out/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResponseTypeMap } from '
|
|
1
|
+
import { ResponseTypeMap } from '@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes';
|
|
2
2
|
export declare const responseTypeMap: ResponseTypeMap;
|
|
3
3
|
type SafeWindowType<T extends Window = Window> = {
|
|
4
4
|
[K in keyof T]?: T[K];
|
package/out/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACA,mCAGiB;AAEJ,QAAA,eAAe,GAAoB;IAC9C,CAAC,uCAA+B,CAAC,uBAAuB,CAAC,EACvD,wCAAgC,CAAC,wBAAwB;IAC3D,CAAC,uCAA+B,CAAC,wBAAwB,CAAC,EACxD,wCAAgC,CAAC,yBAAyB;IAC5D,CAAC,uCAA+B,CAAC,kBAAkB,CAAC,EAClD,wCAAgC,CAAC,mBAAmB;IACtD,CAAC,uCAA+B,CAAC,YAAY,CAAC,EAC5C,wCAAgC,CAAC,aAAa;IAChD,CAAC,uCAA+B,CAAC,aAAa,CAAC,EAC7C,wCAAgC,CAAC,kBAAkB;IACrD,CAAC,uCAA+B,CAAC,YAAY,CAAC,EAC5C,wCAAgC,CAAC,cAAc;IACjD,CAAC,uCAA+B,CAAC,wBAAwB,CAAC,EACxD,wCAAgC,CAAC,YAAY;IAC/C,CAAC,uCAA+B,CAAC,yBAAyB,CAAC,EACzD,wCAAgC,CAAC,kBAAkB;CACtD,CAAC;AAMW,QAAA,UAAU,GACrB,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAqB,CAAC"}
|
package/out/types.d.ts
CHANGED
|
@@ -26,58 +26,6 @@ export declare enum SignMessageStatusEnum {
|
|
|
26
26
|
signed = "signed",
|
|
27
27
|
cancelled = "cancelled"
|
|
28
28
|
}
|
|
29
|
-
export type ReplyWithPostMessageObjectType = {
|
|
30
|
-
[CrossWindowProviderResponseEnums.handshakeResponse]: boolean;
|
|
31
|
-
[CrossWindowProviderResponseEnums.loginResponse]: {
|
|
32
|
-
address: string;
|
|
33
|
-
accessToken?: string;
|
|
34
|
-
/**
|
|
35
|
-
* used in De-Fi wallet extension as wallet name
|
|
36
|
-
* */
|
|
37
|
-
name?: string;
|
|
38
|
-
signature?: string;
|
|
39
|
-
/**
|
|
40
|
-
* contract address for alternate multisig login
|
|
41
|
-
* */
|
|
42
|
-
multisig?: string;
|
|
43
|
-
/**
|
|
44
|
-
* custom address for alternate login
|
|
45
|
-
* */
|
|
46
|
-
impersonate?: string;
|
|
47
|
-
};
|
|
48
|
-
[CrossWindowProviderResponseEnums.disconnectResponse]: boolean;
|
|
49
|
-
[CrossWindowProviderResponseEnums.cancelResponse]: {
|
|
50
|
-
address: string;
|
|
51
|
-
};
|
|
52
|
-
[CrossWindowProviderResponseEnums.signTransactionsResponse]: IPlainTransactionObject[];
|
|
53
|
-
[CrossWindowProviderResponseEnums.guardTransactionsResponse]: IPlainTransactionObject[];
|
|
54
|
-
[CrossWindowProviderResponseEnums.signMessageResponse]: {
|
|
55
|
-
signature?: string;
|
|
56
|
-
status: SignMessageStatusEnum;
|
|
57
|
-
};
|
|
58
|
-
[CrossWindowProviderResponseEnums.noneResponse]: null;
|
|
59
|
-
[CrossWindowProviderResponseEnums.resetStateResponse]: boolean;
|
|
60
|
-
};
|
|
61
|
-
export type ReplyWithPostMessagePayloadType<K extends keyof ReplyWithPostMessageObjectType> = {
|
|
62
|
-
data?: ReplyWithPostMessageObjectType[K];
|
|
63
|
-
error?: string;
|
|
64
|
-
};
|
|
65
|
-
export type ReplyWithPostMessageType = {
|
|
66
|
-
[K in keyof ReplyWithPostMessageObjectType]: {
|
|
67
|
-
type: K;
|
|
68
|
-
payload: ReplyWithPostMessagePayloadType<K>;
|
|
69
|
-
};
|
|
70
|
-
}[keyof ReplyWithPostMessageObjectType];
|
|
71
|
-
export type ResponseTypeMap = {
|
|
72
|
-
[CrossWindowProviderRequestEnums.signTransactionsRequest]: CrossWindowProviderResponseEnums.signTransactionsResponse;
|
|
73
|
-
[CrossWindowProviderRequestEnums.signMessageRequest]: CrossWindowProviderResponseEnums.signMessageResponse;
|
|
74
|
-
[CrossWindowProviderRequestEnums.loginRequest]: CrossWindowProviderResponseEnums.loginResponse;
|
|
75
|
-
[CrossWindowProviderRequestEnums.logoutRequest]: CrossWindowProviderResponseEnums.disconnectResponse;
|
|
76
|
-
[CrossWindowProviderRequestEnums.guardTransactionsRequest]: CrossWindowProviderResponseEnums.guardTransactionsResponse;
|
|
77
|
-
[CrossWindowProviderRequestEnums.cancelAction]: CrossWindowProviderResponseEnums.cancelResponse;
|
|
78
|
-
[CrossWindowProviderRequestEnums.finalizeHandshakeRequest]: CrossWindowProviderResponseEnums.noneResponse;
|
|
79
|
-
[CrossWindowProviderRequestEnums.finalizeResetStateRequest]: CrossWindowProviderResponseEnums.resetStateResponse;
|
|
80
|
-
};
|
|
81
29
|
export type RequestPayloadType = {
|
|
82
30
|
[CrossWindowProviderRequestEnums.loginRequest]: {
|
|
83
31
|
token: string | undefined;
|
|
@@ -98,17 +46,7 @@ export type RequestMessageType = {
|
|
|
98
46
|
payload: RequestPayloadType[K];
|
|
99
47
|
};
|
|
100
48
|
}[keyof RequestPayloadType];
|
|
101
|
-
export type ReplyWithPostMessageEventType = {
|
|
102
|
-
[K in keyof ReplyWithPostMessageObjectType]: {
|
|
103
|
-
type: CrossWindowProviderResponseEnums;
|
|
104
|
-
payload: ReplyWithPostMessageObjectType[K];
|
|
105
|
-
};
|
|
106
|
-
}[keyof ReplyWithPostMessageObjectType];
|
|
107
49
|
export interface PostMessageParamsType<T extends CrossWindowProviderRequestEnums> {
|
|
108
50
|
type: T;
|
|
109
51
|
payload: RequestPayloadType[keyof RequestPayloadType];
|
|
110
52
|
}
|
|
111
|
-
export interface PostMessageReturnType<T extends CrossWindowProviderRequestEnums> {
|
|
112
|
-
type: ResponseTypeMap[T] | CrossWindowProviderResponseEnums.cancelResponse;
|
|
113
|
-
payload: ReplyWithPostMessagePayloadType<ResponseTypeMap[T]>;
|
|
114
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiversx/sdk-web-wallet-cross-window-provider",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Signing provider for dApps: Cross Window",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"types": "out/index.d.js",
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
"author": "MultiversX",
|
|
21
21
|
"license": "GPL-3.0-or-later",
|
|
22
22
|
"devDependencies": {
|
|
23
|
+
"@multiversx/sdk-core": ">= 12.18.0",
|
|
24
|
+
"@multiversx/sdk-dapp-utils": ">= 0.0.1",
|
|
23
25
|
"@types/node": "18.19.0",
|
|
24
26
|
"@typescript-eslint/eslint-plugin": "5.0.0",
|
|
25
27
|
"@typescript-eslint/parser": "5.14.0",
|
|
@@ -40,6 +42,7 @@
|
|
|
40
42
|
},
|
|
41
43
|
"peerDependencies": {
|
|
42
44
|
"@multiversx/sdk-core": ">= 12.18.0",
|
|
45
|
+
"@multiversx/sdk-dapp-utils": ">= 0.0.1",
|
|
43
46
|
"lit": ">=3.1.2"
|
|
44
47
|
},
|
|
45
48
|
"dependencies": {
|