@multiversx/sdk-web-wallet-cross-window-provider 0.0.38 → 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 -3
- package/out/CrossWindowProvider/CrossWindowProvider.js +19 -19
- 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 +5 -5
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SignableMessage, Transaction } from '@multiversx/sdk-core';
|
|
2
|
-
import { CrossWindowProviderRequestEnums } from '
|
|
3
|
-
import './PopupConsent';
|
|
2
|
+
import { CrossWindowProviderRequestEnums } from '@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums';
|
|
4
3
|
interface ICrossWindowWalletAccount {
|
|
5
4
|
address: string;
|
|
6
5
|
signature?: string;
|
|
@@ -33,7 +32,7 @@ export declare class CrossWindowProvider {
|
|
|
33
32
|
signTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
34
33
|
guardTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
35
34
|
signMessage(message: SignableMessage): Promise<SignableMessage>;
|
|
36
|
-
cancelAction(): Promise<import("
|
|
35
|
+
cancelAction(): Promise<import("@multiversx/sdk-dapp-utils/out/types/crossWindowProviderTypes").PostMessageReturnType<CrossWindowProviderRequestEnums.cancelAction>> | undefined;
|
|
37
36
|
protected openPopupConsent(): Promise<boolean>;
|
|
38
37
|
}
|
|
39
38
|
export {};
|
|
@@ -11,11 +11,10 @@ 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
|
|
15
|
-
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");
|
|
16
16
|
const errors_1 = require("../errors");
|
|
17
|
-
const
|
|
18
|
-
require("./PopupConsent");
|
|
17
|
+
const WindowManager_1 = require("../WindowManager");
|
|
19
18
|
const PopupConsent_1 = require("./PopupConsent");
|
|
20
19
|
class CrossWindowProvider {
|
|
21
20
|
constructor() {
|
|
@@ -78,7 +77,7 @@ class CrossWindowProvider {
|
|
|
78
77
|
throw new errors_1.ErrCouldNotLogin();
|
|
79
78
|
}
|
|
80
79
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
81
|
-
type:
|
|
80
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.loginRequest,
|
|
82
81
|
payload: {
|
|
83
82
|
token: this.accessToken
|
|
84
83
|
}
|
|
@@ -146,13 +145,13 @@ class CrossWindowProvider {
|
|
|
146
145
|
throw new errors_1.ErrTransactionCancelled();
|
|
147
146
|
}
|
|
148
147
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
149
|
-
type:
|
|
148
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.signTransactionsRequest,
|
|
150
149
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
151
150
|
});
|
|
152
151
|
if (error || !signedPlainTransactions) {
|
|
153
152
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
154
153
|
}
|
|
155
|
-
if (type ===
|
|
154
|
+
if (type === crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.cancelResponse) {
|
|
156
155
|
throw new errors_1.ErrTransactionCancelled();
|
|
157
156
|
}
|
|
158
157
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -170,13 +169,13 @@ class CrossWindowProvider {
|
|
|
170
169
|
throw new errors_1.ErrTransactionCancelled();
|
|
171
170
|
}
|
|
172
171
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
173
|
-
type:
|
|
172
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.guardTransactionsRequest,
|
|
174
173
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
175
174
|
});
|
|
176
175
|
if (error || !signedPlainTransactions) {
|
|
177
176
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
178
177
|
}
|
|
179
|
-
if (type ===
|
|
178
|
+
if (type === crossWindowProviderEnums_1.CrossWindowProviderResponseEnums.cancelResponse) {
|
|
180
179
|
throw new errors_1.ErrTransactionCancelled();
|
|
181
180
|
}
|
|
182
181
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -194,7 +193,7 @@ class CrossWindowProvider {
|
|
|
194
193
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
195
194
|
}
|
|
196
195
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
197
|
-
type:
|
|
196
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.signMessageRequest,
|
|
198
197
|
payload: {
|
|
199
198
|
message: message.message.toString()
|
|
200
199
|
}
|
|
@@ -203,7 +202,7 @@ class CrossWindowProvider {
|
|
|
203
202
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
204
203
|
}
|
|
205
204
|
const { status, signature } = data;
|
|
206
|
-
if (status !==
|
|
205
|
+
if (status !== crossWindowProviderEnums_1.SignMessageStatusEnum.signed) {
|
|
207
206
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
208
207
|
}
|
|
209
208
|
message.applySignature(Buffer.from(String(signature), 'hex'));
|
|
@@ -212,36 +211,37 @@ class CrossWindowProvider {
|
|
|
212
211
|
}
|
|
213
212
|
cancelAction() {
|
|
214
213
|
var _a, _b;
|
|
215
|
-
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);
|
|
216
215
|
if (!isWalletOpened) {
|
|
217
216
|
return;
|
|
218
217
|
}
|
|
219
218
|
return (_b = this.windowManager) === null || _b === void 0 ? void 0 : _b.postMessage({
|
|
220
|
-
type:
|
|
219
|
+
type: crossWindowProviderEnums_1.CrossWindowProviderRequestEnums.cancelAction,
|
|
221
220
|
payload: undefined
|
|
222
221
|
});
|
|
223
222
|
}
|
|
224
223
|
openPopupConsent() {
|
|
225
224
|
var _a, _b, _c;
|
|
226
225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
-
|
|
228
|
-
const
|
|
226
|
+
require('./PopupConsent');
|
|
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",
|
|
@@ -15,14 +15,13 @@
|
|
|
15
15
|
"pretest": "npm run compile",
|
|
16
16
|
"prepare": "npm run compile",
|
|
17
17
|
"lint": "eslint --fix --ext js,ts src",
|
|
18
|
-
"test": "jest"
|
|
19
|
-
"unpublish-verdaccio": "npm unpublish @ks/sdk-web-wallet-cross-window-provider --force",
|
|
20
|
-
"update-version": "npm version patch --force",
|
|
21
|
-
"publish-verdaccio": "npm run compile && npm run update-version && npm run unpublish-verdaccio && npm publish"
|
|
18
|
+
"test": "jest"
|
|
22
19
|
},
|
|
23
20
|
"author": "MultiversX",
|
|
24
21
|
"license": "GPL-3.0-or-later",
|
|
25
22
|
"devDependencies": {
|
|
23
|
+
"@multiversx/sdk-core": ">= 12.18.0",
|
|
24
|
+
"@multiversx/sdk-dapp-utils": ">= 0.0.1",
|
|
26
25
|
"@types/node": "18.19.0",
|
|
27
26
|
"@typescript-eslint/eslint-plugin": "5.0.0",
|
|
28
27
|
"@typescript-eslint/parser": "5.14.0",
|
|
@@ -43,6 +42,7 @@
|
|
|
43
42
|
},
|
|
44
43
|
"peerDependencies": {
|
|
45
44
|
"@multiversx/sdk-core": ">= 12.18.0",
|
|
45
|
+
"@multiversx/sdk-dapp-utils": ">= 0.0.1",
|
|
46
46
|
"lit": ">=3.1.2"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|