@multiversx/sdk-web-wallet-cross-window-provider 0.4.2 → 2.0.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/README.md +2 -6
- package/out/CrossWindowProvider/CrossWindowProvider.d.ts +12 -10
- package/out/CrossWindowProvider/CrossWindowProvider.js +29 -19
- package/out/CrossWindowProvider/CrossWindowProvider.js.map +1 -1
- package/out/CrossWindowProvider/tests/SignMessage.test.js +5 -4
- package/out/CrossWindowProvider/tests/SignMessage.test.js.map +1 -1
- package/out/WindowManager/WindowManager.d.ts +6 -6
- package/out/WindowManager/WindowManager.js +8 -9
- package/out/WindowManager/WindowManager.js.map +1 -1
- package/out/WindowManager/tests/windowManager.test.js +5 -5
- package/out/WindowManager/tests/windowManager.test.js.map +1 -1
- package/out/constants/index.d.ts +1 -0
- package/out/constants/index.js +15 -0
- package/out/constants/index.js.map +1 -1
- package/out/constants/windowProviderConstants.d.ts +2 -0
- package/out/constants/windowProviderConstants.js +15 -0
- package/out/constants/windowProviderConstants.js.map +1 -0
- package/out/enums/index.d.ts +2 -0
- package/out/enums/index.js +19 -0
- package/out/enums/index.js.map +1 -0
- package/out/enums/signMessageStatusEnum.d.ts +6 -0
- package/out/enums/signMessageStatusEnum.js +11 -0
- package/out/enums/signMessageStatusEnum.js.map +1 -0
- package/out/enums/windowProviderEnums.d.ts +21 -0
- package/out/enums/windowProviderEnums.js +27 -0
- package/out/enums/windowProviderEnums.js.map +1 -0
- package/out/types/index.d.ts +2 -0
- package/out/types/index.js +19 -0
- package/out/types/index.js.map +1 -0
- package/out/types/nullable.d.ts +1 -0
- package/out/types/nullable.js +3 -0
- package/out/types/nullable.js.map +1 -0
- package/out/types/windowProviderTypes.d.ts +84 -0
- package/out/types/windowProviderTypes.js +4 -0
- package/out/types/windowProviderTypes.js.map +1 -0
- package/package.json +3 -5
package/README.md
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
# mx-sdk-js-web-wallet-cross-window-provider
|
|
2
2
|
|
|
3
|
-
Signing provider for dApps:
|
|
3
|
+
Signing provider for dApps: Cross Window.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
By using this package, developers can integrate the MultiversX Web Wallet into their dApps, allowing users to sign transactions and messages with their MultiversX account.
|
|
7
|
-
The connection between the dApp and the Web Wallet is established through a cross-window communication channel, which is managed by the Web Wallet Cross Window Provider.
|
|
8
|
-
|
|
9
|
-
Documentation is available on [docs.multiversx.com](https://docs.multiversx.com/sdk-and-tools/sdk-js/sdk-js-signing-providers/#the-web-wallet-cross-window-provider), while an integration example can be found [here](https://github.com/multiversx/mx-sdk-js-examples/tree/main/signing-providers).
|
|
5
|
+
Documentation is available on [docs.multiversx.com](https://docs.multiversx.com/sdk-and-tools/sdk-js/sdk-js-signing-providers), while an integration example can be found [here](https://github.com/multiversx/mx-sdk-js-examples/tree/main/signing-providers).
|
|
10
6
|
|
|
11
7
|
Note that **we recommend using [sdk-dapp](https://github.com/multiversx/mx-sdk-dapp)** instead of integrating the signing provider on your own.
|
|
12
8
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Message, Transaction } from '@multiversx/sdk-core';
|
|
2
|
+
import { WindowProviderRequestEnums } from '../enums';
|
|
3
3
|
import { WindowManager } from '../WindowManager';
|
|
4
|
-
export interface
|
|
4
|
+
export interface IProviderAccount {
|
|
5
5
|
address: string;
|
|
6
6
|
signature?: string;
|
|
7
7
|
multisig?: string;
|
|
8
8
|
impersonate?: string;
|
|
9
9
|
}
|
|
10
10
|
export declare class CrossWindowProvider {
|
|
11
|
-
account
|
|
11
|
+
private account;
|
|
12
|
+
private accessToken;
|
|
12
13
|
protected initialized: boolean;
|
|
13
14
|
protected windowManager: WindowManager;
|
|
14
|
-
protected static _instance: CrossWindowProvider | null;
|
|
15
|
-
private accessToken;
|
|
16
15
|
protected _shouldShowConsentPopup: boolean;
|
|
16
|
+
protected static _instance: CrossWindowProvider | null;
|
|
17
17
|
constructor();
|
|
18
18
|
setShouldShowConsentPopup(shouldShow: boolean): void;
|
|
19
19
|
protected ensureConnected(): void;
|
|
@@ -26,16 +26,18 @@ export declare class CrossWindowProvider {
|
|
|
26
26
|
init(): Promise<boolean>;
|
|
27
27
|
login(options?: {
|
|
28
28
|
token?: string;
|
|
29
|
-
}): Promise<
|
|
29
|
+
}): Promise<IProviderAccount>;
|
|
30
30
|
dispose(): Promise<boolean>;
|
|
31
31
|
logout(): Promise<boolean>;
|
|
32
32
|
getAddress(): Promise<string>;
|
|
33
33
|
isInitialized(): boolean;
|
|
34
|
-
isConnected():
|
|
34
|
+
isConnected(): boolean;
|
|
35
|
+
getAccount(): IProviderAccount | null;
|
|
36
|
+
setAccount(account: IProviderAccount): void;
|
|
35
37
|
signTransaction(transaction: Transaction): Promise<Transaction>;
|
|
36
38
|
signTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
37
39
|
guardTransactions(transactions: Transaction[]): Promise<Transaction[]>;
|
|
38
|
-
signMessage(
|
|
39
|
-
cancelAction(): Promise<import("
|
|
40
|
+
signMessage(messageToSign: Message): Promise<Message>;
|
|
41
|
+
cancelAction(): Promise<import("../types").PostMessageReturnType<WindowProviderRequestEnums.cancelAction>> | undefined;
|
|
40
42
|
openPopupConsent(): Promise<boolean>;
|
|
41
43
|
}
|
|
@@ -34,16 +34,16 @@ 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 crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
38
37
|
const constants_1 = require("../constants");
|
|
38
|
+
const enums_1 = require("../enums");
|
|
39
39
|
const errors_1 = require("../errors");
|
|
40
40
|
const WindowManager_1 = require("../WindowManager");
|
|
41
41
|
const constants_2 = require("./PopupConsent/constants");
|
|
42
42
|
class CrossWindowProvider {
|
|
43
43
|
constructor() {
|
|
44
44
|
this.account = { address: '' };
|
|
45
|
-
this.initialized = false;
|
|
46
45
|
this.accessToken = undefined;
|
|
46
|
+
this.initialized = false;
|
|
47
47
|
this._shouldShowConsentPopup = false;
|
|
48
48
|
this.windowManager = new WindowManager_1.WindowManager();
|
|
49
49
|
}
|
|
@@ -90,7 +90,7 @@ class CrossWindowProvider {
|
|
|
90
90
|
if (!this.initialized) {
|
|
91
91
|
throw new errors_1.ErrProviderNotInitialized();
|
|
92
92
|
}
|
|
93
|
-
const isRelogin =
|
|
93
|
+
const isRelogin = this.isConnected();
|
|
94
94
|
if (isRelogin) {
|
|
95
95
|
const { address, signature, multisig, impersonate } = this.account;
|
|
96
96
|
return {
|
|
@@ -106,7 +106,7 @@ class CrossWindowProvider {
|
|
|
106
106
|
throw new errors_1.ErrCouldNotLogin();
|
|
107
107
|
}
|
|
108
108
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
109
|
-
type:
|
|
109
|
+
type: enums_1.WindowProviderRequestEnums.loginRequest,
|
|
110
110
|
payload: {
|
|
111
111
|
token: this.accessToken
|
|
112
112
|
}
|
|
@@ -158,9 +158,13 @@ class CrossWindowProvider {
|
|
|
158
158
|
return this.initialized;
|
|
159
159
|
}
|
|
160
160
|
isConnected() {
|
|
161
|
-
return
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
return Boolean(this.account.address);
|
|
162
|
+
}
|
|
163
|
+
getAccount() {
|
|
164
|
+
return this.account;
|
|
165
|
+
}
|
|
166
|
+
setAccount(account) {
|
|
167
|
+
this.account = account;
|
|
164
168
|
}
|
|
165
169
|
signTransaction(transaction) {
|
|
166
170
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -180,13 +184,13 @@ class CrossWindowProvider {
|
|
|
180
184
|
throw new errors_1.ErrTransactionCancelled();
|
|
181
185
|
}
|
|
182
186
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
183
|
-
type:
|
|
187
|
+
type: enums_1.WindowProviderRequestEnums.signTransactionsRequest,
|
|
184
188
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
185
189
|
});
|
|
186
190
|
if (error || !signedPlainTransactions) {
|
|
187
191
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
188
192
|
}
|
|
189
|
-
if (type ===
|
|
193
|
+
if (type === enums_1.WindowProviderResponseEnums.cancelResponse) {
|
|
190
194
|
throw new errors_1.ErrTransactionCancelled();
|
|
191
195
|
}
|
|
192
196
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -204,13 +208,13 @@ class CrossWindowProvider {
|
|
|
204
208
|
throw new errors_1.ErrTransactionCancelled();
|
|
205
209
|
}
|
|
206
210
|
const { type, payload: { data: signedPlainTransactions, error } } = yield this.windowManager.postMessage({
|
|
207
|
-
type:
|
|
211
|
+
type: enums_1.WindowProviderRequestEnums.guardTransactionsRequest,
|
|
208
212
|
payload: transactions.map((tx) => tx.toPlainObject())
|
|
209
213
|
});
|
|
210
214
|
if (error || !signedPlainTransactions) {
|
|
211
215
|
throw new errors_1.ErrCouldNotSignTransactions();
|
|
212
216
|
}
|
|
213
|
-
if (type ===
|
|
217
|
+
if (type === enums_1.WindowProviderResponseEnums.cancelResponse) {
|
|
214
218
|
throw new errors_1.ErrTransactionCancelled();
|
|
215
219
|
}
|
|
216
220
|
const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
|
|
@@ -220,7 +224,8 @@ class CrossWindowProvider {
|
|
|
220
224
|
return signedPlainTransactions.map((tx) => sdk_core_1.Transaction.fromPlainObject(tx));
|
|
221
225
|
});
|
|
222
226
|
}
|
|
223
|
-
signMessage(
|
|
227
|
+
signMessage(messageToSign) {
|
|
228
|
+
var _a;
|
|
224
229
|
return __awaiter(this, void 0, void 0, function* () {
|
|
225
230
|
this.ensureConnected();
|
|
226
231
|
const popupConsentResponse = yield this.openPopupConsent();
|
|
@@ -228,30 +233,35 @@ class CrossWindowProvider {
|
|
|
228
233
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
229
234
|
}
|
|
230
235
|
const { payload: { data, error } } = yield this.windowManager.postMessage({
|
|
231
|
-
type:
|
|
236
|
+
type: enums_1.WindowProviderRequestEnums.signMessageRequest,
|
|
232
237
|
payload: {
|
|
233
|
-
message:
|
|
238
|
+
message: Buffer.from(messageToSign.data).toString(),
|
|
234
239
|
}
|
|
235
240
|
});
|
|
236
241
|
if (error || !data) {
|
|
237
242
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
238
243
|
}
|
|
239
244
|
const { status, signature } = data;
|
|
240
|
-
if (status !==
|
|
245
|
+
if (status !== enums_1.SignMessageStatusEnum.signed) {
|
|
241
246
|
throw new errors_1.ErrCouldNotSignMessage();
|
|
242
247
|
}
|
|
243
|
-
|
|
244
|
-
|
|
248
|
+
return new sdk_core_1.Message({
|
|
249
|
+
data: Buffer.from(messageToSign.data),
|
|
250
|
+
address: (_a = messageToSign.address) !== null && _a !== void 0 ? _a : sdk_core_1.Address.fromBech32(this.account.address),
|
|
251
|
+
signer: 'wallet-cross-window',
|
|
252
|
+
version: messageToSign.version,
|
|
253
|
+
signature: Buffer.from(String(signature), 'hex')
|
|
254
|
+
});
|
|
245
255
|
});
|
|
246
256
|
}
|
|
247
257
|
cancelAction() {
|
|
248
258
|
var _a, _b;
|
|
249
|
-
const isWalletOpened = (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.isWalletOpened(
|
|
259
|
+
const isWalletOpened = (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.isWalletOpened(enums_1.WindowProviderRequestEnums.cancelAction);
|
|
250
260
|
if (!isWalletOpened) {
|
|
251
261
|
return;
|
|
252
262
|
}
|
|
253
263
|
return (_b = this.windowManager) === null || _b === void 0 ? void 0 : _b.postMessage({
|
|
254
|
-
type:
|
|
264
|
+
type: enums_1.WindowProviderRequestEnums.cancelAction,
|
|
255
265
|
payload: undefined
|
|
256
266
|
});
|
|
257
267
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CrossWindowProvider.js","sourceRoot":"","sources":["../../src/CrossWindowProvider/CrossWindowProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const out_1 = require("@multiversx/sdk-core/out");
|
|
13
12
|
const test_utils_1 = require("../../test-utils");
|
|
14
13
|
const CrossWindowProvider_1 = require("../CrossWindowProvider");
|
|
14
|
+
const out_1 = require("@multiversx/sdk-core/out");
|
|
15
15
|
describe('CrossWindowProvider Login', () => {
|
|
16
16
|
let crossWindowProvider;
|
|
17
17
|
let walletWindowMock;
|
|
@@ -33,11 +33,12 @@ describe('CrossWindowProvider Login', () => {
|
|
|
33
33
|
windowOpenSpy.mockImplementation(() => walletWindowMock);
|
|
34
34
|
});
|
|
35
35
|
it('should sign a message correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
var _a;
|
|
37
|
+
const mockMessage = new out_1.Message({ data: Buffer.from('test') });
|
|
38
|
+
crossWindowProvider.setAddress('erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th');
|
|
38
39
|
yield crossWindowProvider.init();
|
|
39
40
|
const result = yield crossWindowProvider.signMessage(mockMessage);
|
|
40
|
-
expect(result.signature.toString()).toBe('testSignature');
|
|
41
|
+
expect((_a = result.signature) === null || _a === void 0 ? void 0 : _a.toString()).toBe('testSignature');
|
|
41
42
|
}));
|
|
42
43
|
});
|
|
43
44
|
//# sourceMappingURL=SignMessage.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignMessage.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignMessage.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"SignMessage.test.js","sourceRoot":"","sources":["../../../src/CrossWindowProvider/tests/SignMessage.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6E;AAC7E,gEAA6D;AAC7D,kDAAmD;AAEnD,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,aAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,mBAAmB,CAAC,UAAU,CAC5B,gEAAgE,CACjE,CAAC;QACF,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PostMessageParamsType, PostMessageReturnType, ReplyWithPostMessagePayloadType } from '
|
|
1
|
+
import { WindowProviderRequestEnums, WindowProviderResponseEnums } from '../enums';
|
|
2
|
+
import { PostMessageParamsType, PostMessageReturnType, ReplyWithPostMessagePayloadType } from '../types';
|
|
3
3
|
export declare class WindowManager {
|
|
4
4
|
private _walletUrl;
|
|
5
5
|
protected initialized: boolean;
|
|
@@ -8,16 +8,16 @@ export declare class WindowManager {
|
|
|
8
8
|
get walletUrl(): string;
|
|
9
9
|
setWalletUrl(url: string): WindowManager;
|
|
10
10
|
init(): Promise<boolean>;
|
|
11
|
-
isWalletOpened(type?:
|
|
12
|
-
handshake(type:
|
|
11
|
+
isWalletOpened(type?: WindowProviderRequestEnums): boolean;
|
|
12
|
+
handshake(type: WindowProviderRequestEnums): Promise<boolean>;
|
|
13
13
|
private addHandshakeChangeListener;
|
|
14
|
-
listenOnce<T extends
|
|
14
|
+
listenOnce<T extends WindowProviderResponseEnums>(action: T): Promise<{
|
|
15
15
|
type: T;
|
|
16
16
|
payload: ReplyWithPostMessagePayloadType<T>;
|
|
17
17
|
}>;
|
|
18
18
|
closeConnection(): Promise<boolean>;
|
|
19
19
|
isInitialized(): boolean;
|
|
20
|
-
postMessage<T extends
|
|
20
|
+
postMessage<T extends WindowProviderRequestEnums>({ type, payload }: PostMessageParamsType<T>): Promise<PostMessageReturnType<T>>;
|
|
21
21
|
closeWalletWindow(): void;
|
|
22
22
|
setWalletWindow(): Promise<void>;
|
|
23
23
|
}
|
|
@@ -10,9 +10,8 @@ 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 crossWindowProviderConstants_1 = require("@multiversx/sdk-dapp-utils/out/constants/crossWindowProviderConstants");
|
|
14
|
-
const crossWindowProviderEnums_1 = require("@multiversx/sdk-dapp-utils/out/enums/crossWindowProviderEnums");
|
|
15
13
|
const constants_1 = require("../constants");
|
|
14
|
+
const enums_1 = require("../enums");
|
|
16
15
|
const errors_1 = require("../errors");
|
|
17
16
|
class WindowManager {
|
|
18
17
|
constructor() {
|
|
@@ -39,7 +38,7 @@ class WindowManager {
|
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
40
|
isWalletOpened(type) {
|
|
42
|
-
return (type ===
|
|
41
|
+
return (type === enums_1.WindowProviderRequestEnums.cancelAction &&
|
|
43
42
|
Boolean(this.walletWindow));
|
|
44
43
|
}
|
|
45
44
|
handshake(type) {
|
|
@@ -51,12 +50,12 @@ class WindowManager {
|
|
|
51
50
|
}
|
|
52
51
|
this.closeWalletWindow();
|
|
53
52
|
yield this.setWalletWindow();
|
|
54
|
-
const { payload: isWalletReady } = yield this.listenOnce(
|
|
53
|
+
const { payload: isWalletReady } = yield this.listenOnce(enums_1.WindowProviderResponseEnums.handshakeResponse);
|
|
55
54
|
if (!isWalletReady) {
|
|
56
55
|
throw new errors_1.ErrCannotEstablishHandshake();
|
|
57
56
|
}
|
|
58
57
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
59
|
-
type:
|
|
58
|
+
type: enums_1.WindowProviderRequestEnums.finalizeHandshakeRequest
|
|
60
59
|
}, this.walletUrl);
|
|
61
60
|
this.addHandshakeChangeListener();
|
|
62
61
|
return true;
|
|
@@ -75,7 +74,7 @@ class WindowManager {
|
|
|
75
74
|
return;
|
|
76
75
|
}
|
|
77
76
|
switch (type) {
|
|
78
|
-
case
|
|
77
|
+
case enums_1.WindowProviderResponseEnums.handshakeResponse:
|
|
79
78
|
if (payload === false) {
|
|
80
79
|
(_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
|
|
81
80
|
this.walletWindow = null;
|
|
@@ -105,7 +104,7 @@ class WindowManager {
|
|
|
105
104
|
const { type, payload } = event.data;
|
|
106
105
|
const isWalletEvent = event.origin === new URL(walletUrl).origin;
|
|
107
106
|
const isCurrentAction = action === type ||
|
|
108
|
-
type ===
|
|
107
|
+
type === enums_1.WindowProviderResponseEnums.cancelResponse;
|
|
109
108
|
if (!isCurrentAction || !isWalletEvent) {
|
|
110
109
|
return;
|
|
111
110
|
}
|
|
@@ -122,7 +121,7 @@ class WindowManager {
|
|
|
122
121
|
throw new errors_1.ErrProviderNotInitialized();
|
|
123
122
|
}
|
|
124
123
|
yield this.postMessage({
|
|
125
|
-
type:
|
|
124
|
+
type: enums_1.WindowProviderRequestEnums.logoutRequest,
|
|
126
125
|
payload: undefined
|
|
127
126
|
});
|
|
128
127
|
return true;
|
|
@@ -139,7 +138,7 @@ class WindowManager {
|
|
|
139
138
|
type,
|
|
140
139
|
payload
|
|
141
140
|
}, this.walletUrl);
|
|
142
|
-
const data = yield this.listenOnce(
|
|
141
|
+
const data = yield this.listenOnce(constants_1.responseTypeMap[type]);
|
|
143
142
|
this.closeWalletWindow();
|
|
144
143
|
return data;
|
|
145
144
|
});
|
|
@@ -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,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
12
|
+
const enums_1 = require("../../enums");
|
|
13
13
|
const test_utils_1 = require("../../test-utils");
|
|
14
14
|
const WindowManager_1 = require("../WindowManager");
|
|
15
15
|
describe('WindowManager', () => {
|
|
@@ -45,7 +45,7 @@ describe('WindowManager', () => {
|
|
|
45
45
|
}));
|
|
46
46
|
it('should call handshake successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
47
|
const windowManager = new WindowManager_1.WindowManager();
|
|
48
|
-
windowManager.handshake(
|
|
48
|
+
windowManager.handshake(enums_1.WindowProviderRequestEnums.loginRequest);
|
|
49
49
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(1);
|
|
50
50
|
expect(windowOpenSpy).toHaveBeenCalledTimes(1);
|
|
51
51
|
expect(windowCloseSpy).toHaveBeenCalledTimes(0);
|
|
@@ -62,14 +62,14 @@ describe('WindowManager', () => {
|
|
|
62
62
|
it('should call add event listener successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
63
|
const windowManager = new WindowManager_1.WindowManager();
|
|
64
64
|
yield windowManager.init();
|
|
65
|
-
windowManager.handshake(
|
|
66
|
-
windowManager.listenOnce(
|
|
65
|
+
windowManager.handshake(enums_1.WindowProviderRequestEnums.loginRequest);
|
|
66
|
+
windowManager.listenOnce(enums_1.WindowProviderResponseEnums.loginResponse);
|
|
67
67
|
expect(windowAddListenerSpy).toHaveBeenCalledTimes(2);
|
|
68
68
|
}));
|
|
69
69
|
it('should call postMessage successfully', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
70
|
const windowManager = new WindowManager_1.WindowManager();
|
|
71
71
|
windowManager.postMessage({
|
|
72
|
-
type:
|
|
72
|
+
type: enums_1.WindowProviderRequestEnums.loginRequest,
|
|
73
73
|
payload: {
|
|
74
74
|
token: 'token'
|
|
75
75
|
}
|
|
@@ -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/index.d.ts
CHANGED
package/out/constants/index.js
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.safeDocument = exports.safeWindow = void 0;
|
|
18
|
+
__exportStar(require("./windowProviderConstants"), exports);
|
|
4
19
|
exports.safeWindow = typeof window !== 'undefined' ? window : {};
|
|
5
20
|
exports.safeDocument = typeof document !== 'undefined' ? document : {};
|
|
6
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4DAA0C;AAE7B,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.responseTypeMap = void 0;
|
|
4
|
+
const enums_1 = require("../enums");
|
|
5
|
+
exports.responseTypeMap = {
|
|
6
|
+
[enums_1.WindowProviderRequestEnums.signTransactionsRequest]: enums_1.WindowProviderResponseEnums.signTransactionsResponse,
|
|
7
|
+
[enums_1.WindowProviderRequestEnums.guardTransactionsRequest]: enums_1.WindowProviderResponseEnums.guardTransactionsResponse,
|
|
8
|
+
[enums_1.WindowProviderRequestEnums.signMessageRequest]: enums_1.WindowProviderResponseEnums.signMessageResponse,
|
|
9
|
+
[enums_1.WindowProviderRequestEnums.loginRequest]: enums_1.WindowProviderResponseEnums.loginResponse,
|
|
10
|
+
[enums_1.WindowProviderRequestEnums.logoutRequest]: enums_1.WindowProviderResponseEnums.disconnectResponse,
|
|
11
|
+
[enums_1.WindowProviderRequestEnums.cancelAction]: enums_1.WindowProviderResponseEnums.cancelResponse,
|
|
12
|
+
[enums_1.WindowProviderRequestEnums.finalizeHandshakeRequest]: enums_1.WindowProviderResponseEnums.noneResponse,
|
|
13
|
+
[enums_1.WindowProviderRequestEnums.finalizeResetStateRequest]: enums_1.WindowProviderResponseEnums.resetStateResponse
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=windowProviderConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windowProviderConstants.js","sourceRoot":"","sources":["../../src/constants/windowProviderConstants.ts"],"names":[],"mappings":";;;AAAA,oCAGkB;AAGL,QAAA,eAAe,GAAoB;IAC9C,CAAC,kCAA0B,CAAC,uBAAuB,CAAC,EAClD,mCAA2B,CAAC,wBAAwB;IACtD,CAAC,kCAA0B,CAAC,wBAAwB,CAAC,EACnD,mCAA2B,CAAC,yBAAyB;IACvD,CAAC,kCAA0B,CAAC,kBAAkB,CAAC,EAC7C,mCAA2B,CAAC,mBAAmB;IACjD,CAAC,kCAA0B,CAAC,YAAY,CAAC,EACvC,mCAA2B,CAAC,aAAa;IAC3C,CAAC,kCAA0B,CAAC,aAAa,CAAC,EACxC,mCAA2B,CAAC,kBAAkB;IAChD,CAAC,kCAA0B,CAAC,YAAY,CAAC,EACvC,mCAA2B,CAAC,cAAc;IAC5C,CAAC,kCAA0B,CAAC,wBAAwB,CAAC,EACnD,mCAA2B,CAAC,YAAY;IAC1C,CAAC,kCAA0B,CAAC,yBAAyB,CAAC,EACpD,mCAA2B,CAAC,kBAAkB;CACjD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./windowProviderEnums"), exports);
|
|
18
|
+
__exportStar(require("./signMessageStatusEnum"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,0DAAwC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignMessageStatusEnum = void 0;
|
|
4
|
+
var SignMessageStatusEnum;
|
|
5
|
+
(function (SignMessageStatusEnum) {
|
|
6
|
+
SignMessageStatusEnum["pending"] = "pending";
|
|
7
|
+
SignMessageStatusEnum["failed"] = "failed";
|
|
8
|
+
SignMessageStatusEnum["signed"] = "signed";
|
|
9
|
+
SignMessageStatusEnum["cancelled"] = "cancelled";
|
|
10
|
+
})(SignMessageStatusEnum = exports.SignMessageStatusEnum || (exports.SignMessageStatusEnum = {}));
|
|
11
|
+
//# sourceMappingURL=signMessageStatusEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signMessageStatusEnum.js","sourceRoot":"","sources":["../../src/enums/signMessageStatusEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,gDAAuB,CAAA;AACzB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare enum WindowProviderRequestEnums {
|
|
2
|
+
signTransactionsRequest = "SIGN_TRANSACTIONS_REQUEST",
|
|
3
|
+
guardTransactionsRequest = "GUARD_TRANSACTIONS_REQUEST",
|
|
4
|
+
signMessageRequest = "SIGN_MESSAGE_REQUEST",
|
|
5
|
+
loginRequest = "LOGIN_REQUEST",
|
|
6
|
+
logoutRequest = "LOGOUT_REQUEST",
|
|
7
|
+
cancelAction = "CANCEL_ACTION_REQUEST",
|
|
8
|
+
finalizeHandshakeRequest = "FINALIZE_HANDSHAKE_REQUEST",
|
|
9
|
+
finalizeResetStateRequest = "FINALIZE_RESET_STATE_REQUEST"
|
|
10
|
+
}
|
|
11
|
+
export declare enum WindowProviderResponseEnums {
|
|
12
|
+
handshakeResponse = "HANDSHAKE_RESPONSE",
|
|
13
|
+
guardTransactionsResponse = "GUARD_TRANSACTIONS_RESPONSE",
|
|
14
|
+
loginResponse = "LOGIN_RESPONSE",
|
|
15
|
+
disconnectResponse = "DISCONNECT_RESPONSE",
|
|
16
|
+
cancelResponse = "CANCEL_RESPONSE",
|
|
17
|
+
signTransactionsResponse = "SIGN_TRANSACTIONS_RESPONSE",
|
|
18
|
+
signMessageResponse = "SIGN_MESSAGE_RESPONSE",
|
|
19
|
+
noneResponse = "NONE_RESPONSE",
|
|
20
|
+
resetStateResponse = "RESET_STATE_RESPONSE"
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WindowProviderResponseEnums = exports.WindowProviderRequestEnums = void 0;
|
|
4
|
+
var WindowProviderRequestEnums;
|
|
5
|
+
(function (WindowProviderRequestEnums) {
|
|
6
|
+
WindowProviderRequestEnums["signTransactionsRequest"] = "SIGN_TRANSACTIONS_REQUEST";
|
|
7
|
+
WindowProviderRequestEnums["guardTransactionsRequest"] = "GUARD_TRANSACTIONS_REQUEST";
|
|
8
|
+
WindowProviderRequestEnums["signMessageRequest"] = "SIGN_MESSAGE_REQUEST";
|
|
9
|
+
WindowProviderRequestEnums["loginRequest"] = "LOGIN_REQUEST";
|
|
10
|
+
WindowProviderRequestEnums["logoutRequest"] = "LOGOUT_REQUEST";
|
|
11
|
+
WindowProviderRequestEnums["cancelAction"] = "CANCEL_ACTION_REQUEST";
|
|
12
|
+
WindowProviderRequestEnums["finalizeHandshakeRequest"] = "FINALIZE_HANDSHAKE_REQUEST";
|
|
13
|
+
WindowProviderRequestEnums["finalizeResetStateRequest"] = "FINALIZE_RESET_STATE_REQUEST";
|
|
14
|
+
})(WindowProviderRequestEnums = exports.WindowProviderRequestEnums || (exports.WindowProviderRequestEnums = {}));
|
|
15
|
+
var WindowProviderResponseEnums;
|
|
16
|
+
(function (WindowProviderResponseEnums) {
|
|
17
|
+
WindowProviderResponseEnums["handshakeResponse"] = "HANDSHAKE_RESPONSE";
|
|
18
|
+
WindowProviderResponseEnums["guardTransactionsResponse"] = "GUARD_TRANSACTIONS_RESPONSE";
|
|
19
|
+
WindowProviderResponseEnums["loginResponse"] = "LOGIN_RESPONSE";
|
|
20
|
+
WindowProviderResponseEnums["disconnectResponse"] = "DISCONNECT_RESPONSE";
|
|
21
|
+
WindowProviderResponseEnums["cancelResponse"] = "CANCEL_RESPONSE";
|
|
22
|
+
WindowProviderResponseEnums["signTransactionsResponse"] = "SIGN_TRANSACTIONS_RESPONSE";
|
|
23
|
+
WindowProviderResponseEnums["signMessageResponse"] = "SIGN_MESSAGE_RESPONSE";
|
|
24
|
+
WindowProviderResponseEnums["noneResponse"] = "NONE_RESPONSE";
|
|
25
|
+
WindowProviderResponseEnums["resetStateResponse"] = "RESET_STATE_RESPONSE";
|
|
26
|
+
})(WindowProviderResponseEnums = exports.WindowProviderResponseEnums || (exports.WindowProviderResponseEnums = {}));
|
|
27
|
+
//# sourceMappingURL=windowProviderEnums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windowProviderEnums.js","sourceRoot":"","sources":["../../src/enums/windowProviderEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,0BASX;AATD,WAAY,0BAA0B;IACpC,mFAAqD,CAAA;IACrD,qFAAuD,CAAA;IACvD,yEAA2C,CAAA;IAC3C,4DAA8B,CAAA;IAC9B,8DAAgC,CAAA;IAChC,oEAAsC,CAAA;IACtC,qFAAuD,CAAA;IACvD,wFAA0D,CAAA;AAC5D,CAAC,EATW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QASrC;AAED,IAAY,2BAUX;AAVD,WAAY,2BAA2B;IACrC,uEAAwC,CAAA;IACxC,wFAAyD,CAAA;IACzD,+DAAgC,CAAA;IAChC,yEAA0C,CAAA;IAC1C,iEAAkC,CAAA;IAClC,sFAAuD,CAAA;IACvD,4EAA6C,CAAA;IAC7C,6DAA8B,CAAA;IAC9B,0EAA2C,CAAA;AAC7C,CAAC,EAVW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAUtC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./windowProviderTypes"), exports);
|
|
18
|
+
__exportStar(require("./nullable"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6CAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Nullable<T> = T | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../src/types/nullable.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { IPlainTransactionObject } from '@multiversx/sdk-core';
|
|
2
|
+
import { WindowProviderRequestEnums, WindowProviderResponseEnums, SignMessageStatusEnum } from '../enums';
|
|
3
|
+
export type ReplyWithPostMessageObjectType = {
|
|
4
|
+
[WindowProviderResponseEnums.handshakeResponse]: boolean;
|
|
5
|
+
[WindowProviderResponseEnums.loginResponse]: {
|
|
6
|
+
address: string;
|
|
7
|
+
signature: string;
|
|
8
|
+
accessToken?: string;
|
|
9
|
+
/**
|
|
10
|
+
* contract address for alternate multisig login
|
|
11
|
+
* */
|
|
12
|
+
multisig?: string;
|
|
13
|
+
/**
|
|
14
|
+
* custom address for alternate login
|
|
15
|
+
* */
|
|
16
|
+
impersonate?: string;
|
|
17
|
+
};
|
|
18
|
+
[WindowProviderResponseEnums.disconnectResponse]: boolean;
|
|
19
|
+
[WindowProviderResponseEnums.cancelResponse]: {
|
|
20
|
+
address: string;
|
|
21
|
+
};
|
|
22
|
+
[WindowProviderResponseEnums.signTransactionsResponse]: IPlainTransactionObject[];
|
|
23
|
+
[WindowProviderResponseEnums.guardTransactionsResponse]: IPlainTransactionObject[];
|
|
24
|
+
[WindowProviderResponseEnums.signMessageResponse]: {
|
|
25
|
+
signature?: string;
|
|
26
|
+
status: SignMessageStatusEnum;
|
|
27
|
+
};
|
|
28
|
+
[WindowProviderResponseEnums.noneResponse]: null;
|
|
29
|
+
[WindowProviderResponseEnums.resetStateResponse]: boolean;
|
|
30
|
+
};
|
|
31
|
+
export type ReplyWithPostMessagePayloadType<K extends keyof ReplyWithPostMessageObjectType> = {
|
|
32
|
+
data?: ReplyWithPostMessageObjectType[K];
|
|
33
|
+
error?: string;
|
|
34
|
+
};
|
|
35
|
+
export type ReplyWithPostMessageType = {
|
|
36
|
+
[K in keyof ReplyWithPostMessageObjectType]: {
|
|
37
|
+
type: K;
|
|
38
|
+
payload: ReplyWithPostMessagePayloadType<K>;
|
|
39
|
+
};
|
|
40
|
+
}[keyof ReplyWithPostMessageObjectType];
|
|
41
|
+
export type ResponseTypeMap = {
|
|
42
|
+
[WindowProviderRequestEnums.signTransactionsRequest]: WindowProviderResponseEnums.signTransactionsResponse;
|
|
43
|
+
[WindowProviderRequestEnums.signMessageRequest]: WindowProviderResponseEnums.signMessageResponse;
|
|
44
|
+
[WindowProviderRequestEnums.loginRequest]: WindowProviderResponseEnums.loginResponse;
|
|
45
|
+
[WindowProviderRequestEnums.logoutRequest]: WindowProviderResponseEnums.disconnectResponse;
|
|
46
|
+
[WindowProviderRequestEnums.guardTransactionsRequest]: WindowProviderResponseEnums.guardTransactionsResponse;
|
|
47
|
+
[WindowProviderRequestEnums.cancelAction]: WindowProviderResponseEnums.cancelResponse;
|
|
48
|
+
[WindowProviderRequestEnums.finalizeHandshakeRequest]: WindowProviderResponseEnums.noneResponse;
|
|
49
|
+
[WindowProviderRequestEnums.finalizeResetStateRequest]: WindowProviderResponseEnums.resetStateResponse;
|
|
50
|
+
};
|
|
51
|
+
export type RequestPayloadType = {
|
|
52
|
+
[WindowProviderRequestEnums.loginRequest]: {
|
|
53
|
+
token: string | undefined;
|
|
54
|
+
};
|
|
55
|
+
[WindowProviderRequestEnums.logoutRequest]: undefined;
|
|
56
|
+
[WindowProviderRequestEnums.signTransactionsRequest]: IPlainTransactionObject[];
|
|
57
|
+
[WindowProviderRequestEnums.guardTransactionsRequest]: IPlainTransactionObject[];
|
|
58
|
+
[WindowProviderRequestEnums.signMessageRequest]: {
|
|
59
|
+
message: string;
|
|
60
|
+
};
|
|
61
|
+
[WindowProviderRequestEnums.cancelAction]: undefined;
|
|
62
|
+
[WindowProviderRequestEnums.finalizeHandshakeRequest]: undefined;
|
|
63
|
+
[WindowProviderRequestEnums.finalizeResetStateRequest]: undefined;
|
|
64
|
+
};
|
|
65
|
+
export type RequestMessageType = {
|
|
66
|
+
[K in keyof RequestPayloadType]: {
|
|
67
|
+
type: K;
|
|
68
|
+
payload: RequestPayloadType[K];
|
|
69
|
+
};
|
|
70
|
+
}[keyof RequestPayloadType];
|
|
71
|
+
export type ReplyWithPostMessageEventType = {
|
|
72
|
+
[K in keyof ReplyWithPostMessageObjectType]: {
|
|
73
|
+
type: WindowProviderResponseEnums;
|
|
74
|
+
payload: ReplyWithPostMessageObjectType[K];
|
|
75
|
+
};
|
|
76
|
+
}[keyof ReplyWithPostMessageObjectType];
|
|
77
|
+
export interface PostMessageParamsType<T extends WindowProviderRequestEnums> {
|
|
78
|
+
type: T;
|
|
79
|
+
payload: RequestPayloadType[keyof RequestPayloadType];
|
|
80
|
+
}
|
|
81
|
+
export interface PostMessageReturnType<T extends WindowProviderRequestEnums> {
|
|
82
|
+
type: ResponseTypeMap[T] | WindowProviderResponseEnums.cancelResponse;
|
|
83
|
+
payload: ReplyWithPostMessagePayloadType<ResponseTypeMap[T]>;
|
|
84
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windowProviderTypes.js","sourceRoot":"","sources":["../../src/types/windowProviderTypes.ts"],"names":[],"mappings":";;AACA,oCAIkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiversx/sdk-web-wallet-cross-window-provider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
4
|
"description": "Signing provider for dApps: Cross Window",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"types": "out/index.d.js",
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
"author": "MultiversX",
|
|
21
21
|
"license": "GPL-3.0-or-later",
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@multiversx/sdk-core": ">=
|
|
24
|
-
"@multiversx/sdk-dapp-utils": ">= 0.0.1",
|
|
23
|
+
"@multiversx/sdk-core": ">= 13.5.0",
|
|
25
24
|
"@types/node": "18.19.0",
|
|
26
25
|
"@typescript-eslint/eslint-plugin": "5.0.0",
|
|
27
26
|
"@typescript-eslint/parser": "5.14.0",
|
|
@@ -40,8 +39,7 @@
|
|
|
40
39
|
"typescript": "5.0.4"
|
|
41
40
|
},
|
|
42
41
|
"peerDependencies": {
|
|
43
|
-
"@multiversx/sdk-core": ">=
|
|
44
|
-
"@multiversx/sdk-dapp-utils": ">= 0.0.1"
|
|
42
|
+
"@multiversx/sdk-core": ">= 13.5.0"
|
|
45
43
|
},
|
|
46
44
|
"dependencies": {
|
|
47
45
|
"@types/jest": "^29.5.11",
|