@multiversx/sdk-web-wallet-cross-window-provider 0.0.5 → 0.0.7

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.
@@ -0,0 +1,26 @@
1
+ import { CrossWindowProviderRequestEnums, CrossWindowProviderResponseEnums, ReplyWithPostMessageType, ResponseTypeMap } from './types';
2
+ export declare class WindowManager {
3
+ private walletUrl;
4
+ private initialized;
5
+ private static _instance;
6
+ walletWindow: Window | null;
7
+ constructor();
8
+ static getInstance(): WindowManager;
9
+ setWalletUrl(url: string): WindowManager;
10
+ init(): Promise<boolean>;
11
+ handshake(): Promise<boolean>;
12
+ private addHandshakeChangeListener;
13
+ listenOnce<T extends CrossWindowProviderResponseEnums>(action: T): Promise<{
14
+ type: T;
15
+ payload: ReplyWithPostMessageType<T>['payload'];
16
+ }>;
17
+ closeConnection(): Promise<boolean>;
18
+ isInitialized(): boolean;
19
+ postMessage<T extends CrossWindowProviderRequestEnums>({ type, payload }: {
20
+ type: T;
21
+ payload: string;
22
+ }): Promise<{
23
+ type: ResponseTypeMap[T] | CrossWindowProviderResponseEnums.cancelResponse;
24
+ payload: ReplyWithPostMessageType<ResponseTypeMap[T]>['payload'];
25
+ }>;
26
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WindowManager = void 0;
13
+ const constants_1 = require("./constants");
14
+ const errors_1 = require("./errors");
15
+ const types_1 = require("./types");
16
+ class WindowManager {
17
+ constructor() {
18
+ this.walletUrl = '';
19
+ this.initialized = false;
20
+ this.walletWindow = null;
21
+ window.addEventListener('beforeunload', () => {
22
+ var _a;
23
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
24
+ });
25
+ window.name = window.name = constants_1.DAPP_WINDOW_NAME;
26
+ WindowManager._instance = this; // TODO: remove singleton
27
+ }
28
+ static getInstance() {
29
+ return WindowManager._instance;
30
+ }
31
+ setWalletUrl(url) {
32
+ this.walletUrl = url;
33
+ return WindowManager._instance;
34
+ }
35
+ init() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ window.name = constants_1.DAPP_WINDOW_NAME;
38
+ this.initialized = true;
39
+ return this.initialized;
40
+ });
41
+ }
42
+ handshake() {
43
+ var _a;
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
46
+ this.walletWindow = window.open(this.walletUrl, this.walletUrl);
47
+ const { payload } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.handshakeResponse);
48
+ if (!payload) {
49
+ throw new errors_1.ErrCannotEstablishHandshake();
50
+ }
51
+ this.addHandshakeChangeListener();
52
+ return true;
53
+ });
54
+ }
55
+ addHandshakeChangeListener() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const walletUrl = this.walletUrl;
58
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
59
+ const self = this;
60
+ window.addEventListener('message', function eventHandler(event) {
61
+ var _a;
62
+ try {
63
+ const { type, payload } = event.data;
64
+ const isWalletEvent = event.origin === new URL(walletUrl).origin;
65
+ if (isWalletEvent &&
66
+ type === types_1.CrossWindowProviderResponseEnums.handshakeResponse) {
67
+ if (payload === false) {
68
+ (_a = self.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
69
+ self.walletWindow = null;
70
+ window.removeEventListener('message', eventHandler);
71
+ }
72
+ }
73
+ }
74
+ catch (_b) { }
75
+ });
76
+ });
77
+ }
78
+ listenOnce(action) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ if (!this.walletWindow) {
81
+ throw new errors_1.ErrWalletWindowNotInstantiated();
82
+ }
83
+ return yield new Promise((resolve) => {
84
+ const walletUrl = this.walletUrl;
85
+ window.addEventListener('message', function eventHandler(event) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const { type, payload } = event.data;
88
+ const isWalletEvent = event.origin === new URL(walletUrl).origin;
89
+ const isCurrentAction = action === type ||
90
+ type === types_1.CrossWindowProviderResponseEnums.cancelResponse; // TODO: check if this is needed
91
+ if (!isCurrentAction) {
92
+ return;
93
+ }
94
+ if (isWalletEvent) {
95
+ window.removeEventListener('message', eventHandler);
96
+ resolve({ type, payload });
97
+ }
98
+ });
99
+ });
100
+ });
101
+ });
102
+ }
103
+ closeConnection() {
104
+ var _a;
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ if (!this.initialized) {
107
+ throw new errors_1.ErrProviderNotInitialized();
108
+ }
109
+ yield this.handshake();
110
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
111
+ return true;
112
+ });
113
+ }
114
+ isInitialized() {
115
+ return this.initialized;
116
+ }
117
+ postMessage({ type, payload }) {
118
+ var _a, _b;
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ yield this.handshake();
121
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
122
+ type,
123
+ payload
124
+ }, this.walletUrl);
125
+ const data = yield this.listenOnce(constants_1.responseTypeMap[type]);
126
+ (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
127
+ return data;
128
+ });
129
+ }
130
+ }
131
+ exports.WindowManager = WindowManager;
132
+ WindowManager._instance = new WindowManager();
133
+ //# sourceMappingURL=WindowManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindowManager.js","sourceRoot":"","sources":["../src/WindowManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ResponseTypeMap } from './types';
2
+ export declare const responseTypeMap: ResponseTypeMap;
3
+ export declare const DAPP_WINDOW_NAME: string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DAPP_WINDOW_NAME = exports.responseTypeMap = void 0;
4
+ const types_1 = require("./types");
5
+ exports.responseTypeMap = {
6
+ [types_1.CrossWindowProviderRequestEnums.signTransactionsRequest]: types_1.CrossWindowProviderResponseEnums.signTransactionsResponse,
7
+ [types_1.CrossWindowProviderRequestEnums.signMessageRequest]: types_1.CrossWindowProviderResponseEnums.signMessageResponse,
8
+ [types_1.CrossWindowProviderRequestEnums.loginRequest]: types_1.CrossWindowProviderResponseEnums.loginResponse,
9
+ [types_1.CrossWindowProviderRequestEnums.logoutRequest]: types_1.CrossWindowProviderResponseEnums.disconnectResponse,
10
+ [types_1.CrossWindowProviderRequestEnums.cancelAction]: types_1.CrossWindowProviderResponseEnums.cancelResponse
11
+ };
12
+ exports.DAPP_WINDOW_NAME = window.location.origin;
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,mCAIiB;AAEJ,QAAA,eAAe,GAAoB;IAC9C,CAAC,uCAA+B,CAAC,uBAAuB,CAAC,EACvD,wCAAgC,CAAC,wBAAwB;IAC3D,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;CAClD,CAAC;AAEW,QAAA,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC"}
@@ -2,27 +2,21 @@ import { SignableMessage, Transaction } from '@multiversx/sdk-core';
2
2
  import { CrossWindowProviderResponseEnums } from './types';
3
3
  interface ICrossWindowWalletAccount {
4
4
  address: string;
5
- name?: string;
6
5
  signature?: string;
7
6
  }
8
- export declare const DAPP_WINDOW_NAME: string;
9
7
  export declare class CrossWindowProvider {
10
- private walletUrl;
11
8
  account: ICrossWindowWalletAccount;
12
9
  private initialized;
10
+ private windowManager;
13
11
  private static _instance;
14
- walletWindow: Window | null;
15
- private handshakeEstablished;
16
12
  private accessToken;
17
13
  private constructor();
14
+ private ensureConnected;
15
+ private disconnect;
18
16
  static getInstance(): CrossWindowProvider;
19
17
  setAddress(address: string): CrossWindowProvider;
20
18
  setWalletUrl(url: string): CrossWindowProvider;
21
19
  init(): Promise<boolean>;
22
- handshake(): Promise<boolean>;
23
- private addHandshakeChangeListener;
24
- listenOnce(action: CrossWindowProviderResponseEnums): Promise<any>;
25
- private connectWallet;
26
20
  login(options?: {
27
21
  token?: string;
28
22
  }): Promise<{
@@ -30,14 +24,20 @@ export declare class CrossWindowProvider {
30
24
  signature: string | undefined;
31
25
  }>;
32
26
  logout(): Promise<boolean>;
33
- private disconnect;
34
27
  getAddress(): Promise<string>;
35
28
  isInitialized(): boolean;
36
29
  isConnected(): Promise<boolean>;
37
30
  signTransaction(transaction: Transaction): Promise<Transaction>;
38
- private ensureConnected;
39
31
  signTransactions(transactions: Transaction[]): Promise<Transaction[]>;
40
32
  signMessage(message: SignableMessage): Promise<SignableMessage>;
41
- cancelAction(): void;
33
+ cancelAction(): Promise<{
34
+ type: CrossWindowProviderResponseEnums.cancelResponse;
35
+ payload: {
36
+ data?: {
37
+ address: string;
38
+ } | undefined;
39
+ error?: string | undefined;
40
+ };
41
+ }>;
42
42
  }
43
43
  export {};
@@ -9,30 +9,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CrossWindowProvider = exports.DAPP_WINDOW_NAME = void 0;
12
+ exports.CrossWindowProvider = void 0;
13
13
  const sdk_core_1 = require("@multiversx/sdk-core");
14
14
  const errors_1 = require("./errors");
15
15
  const helpers_1 = require("./helpers");
16
16
  const types_1 = require("./types");
17
- exports.DAPP_WINDOW_NAME = window.location.origin;
17
+ const WindowManager_1 = require("./WindowManager");
18
18
  class CrossWindowProvider {
19
19
  constructor() {
20
- this.walletUrl = '';
21
20
  this.account = { address: '' };
22
21
  this.initialized = false;
23
- this.walletWindow = null;
24
- this.handshakeEstablished = false;
25
22
  this.accessToken = undefined;
26
23
  if (CrossWindowProvider._instance) {
27
24
  throw new errors_1.ErrInstantiationFailed();
28
25
  }
29
- window.addEventListener('beforeunload', () => {
30
- var _a;
31
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
32
- });
33
- window.name = window.name = exports.DAPP_WINDOW_NAME;
26
+ this.windowManager = WindowManager_1.WindowManager.getInstance();
34
27
  CrossWindowProvider._instance = this;
35
28
  }
29
+ ensureConnected() {
30
+ if (!this.account.address) {
31
+ throw new errors_1.ErrAccountNotConnected();
32
+ }
33
+ }
34
+ disconnect() {
35
+ this.account = { address: '' };
36
+ }
36
37
  static getInstance() {
37
38
  return CrossWindowProvider._instance;
38
39
  }
@@ -41,132 +42,65 @@ class CrossWindowProvider {
41
42
  return CrossWindowProvider._instance;
42
43
  }
43
44
  setWalletUrl(url) {
44
- this.walletUrl = url;
45
+ this.windowManager.setWalletUrl(url);
45
46
  return CrossWindowProvider._instance;
46
47
  }
47
48
  init() {
48
49
  return __awaiter(this, void 0, void 0, function* () {
49
- window.name = exports.DAPP_WINDOW_NAME;
50
- this.initialized = true;
50
+ this.initialized = yield this.windowManager.init();
51
51
  return this.initialized;
52
52
  });
53
53
  }
54
- handshake() {
54
+ login(options = {}) {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
- this.walletWindow = window.open(this.walletUrl, this.walletUrl);
57
- const { payload } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.handshakeResponse);
58
- if (!payload) {
59
- throw new errors_1.ErrCannotEstablishHandshake();
56
+ if (!this.initialized) {
57
+ throw new errors_1.ErrProviderNotInitialized();
60
58
  }
61
- this.addHandshakeChangeListener();
62
- this.handshakeEstablished = true;
63
- return true;
64
- });
65
- }
66
- addHandshakeChangeListener() {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const walletUrl = this.walletUrl;
69
- // eslint-disable-next-line @typescript-eslint/no-this-alias
70
- const self = this;
71
- window.addEventListener('message', function eventHandler(event) {
72
- var _a;
73
- try {
74
- const { type, payload } = event.data;
75
- const isWalletEvent = event.origin === new URL(walletUrl).origin;
76
- if (isWalletEvent && type === types_1.CrossWindowProviderResponseEnums.handshakeResponse) {
77
- if (payload === false) {
78
- (_a = self.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
79
- self.handshakeEstablished = false;
80
- self.walletWindow = null;
81
- window.removeEventListener('message', eventHandler);
82
- }
83
- }
84
- }
85
- catch (_b) { }
86
- });
87
- });
88
- }
89
- listenOnce(action) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- if (!this.walletWindow) {
92
- throw new errors_1.ErrWalletWindowNotInstantiated();
59
+ const isRelogin = yield this.isConnected();
60
+ if (isRelogin) {
61
+ const { address, signature } = this.account;
62
+ return {
63
+ address,
64
+ signature
65
+ };
93
66
  }
94
- const self = this;
95
- return yield new Promise((resolve) => {
96
- const walletUrl = this.walletUrl;
97
- window.addEventListener('message', function eventHandler(event) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const { type, payload } = event.data;
100
- const isWalletEvent = event.origin === new URL(walletUrl).origin;
101
- const isCurrentAction = action === type || type === types_1.CrossWindowProviderResponseEnums.cancelResponse;
102
- const isRelogin = yield self.isConnected();
103
- if ((isRelogin && type === 'connect') || !isCurrentAction) {
104
- return;
105
- }
106
- if (isWalletEvent) {
107
- window.removeEventListener('message', eventHandler);
108
- resolve({ type, payload });
109
- }
110
- });
111
- });
112
- });
113
- });
114
- }
115
- connectWallet() {
116
- var _a;
117
- return __awaiter(this, void 0, void 0, function* () {
67
+ this.accessToken = options.token;
118
68
  const payloadQueryString = helpers_1.buildWalletQueryString({
119
69
  params: {
120
70
  token: this.accessToken
121
71
  }
122
72
  });
123
- const isRelogin = yield this.isConnected();
124
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({
73
+ const { payload: { data, error } } = yield this.windowManager.postMessage({
125
74
  type: types_1.CrossWindowProviderRequestEnums.loginRequest,
126
- payload: { queryString: payloadQueryString }
127
- }, this.walletUrl);
128
- if (!isRelogin) {
129
- const { payload: { address, signature } } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.loginResponse);
130
- this.account.address = address;
131
- this.account.signature = signature;
132
- }
133
- });
134
- }
135
- login(options = {}) {
136
- var _a;
137
- return __awaiter(this, void 0, void 0, function* () {
138
- if (!this.initialized) {
139
- throw new errors_1.ErrProviderNotInitialized();
75
+ payload: { queryString: payloadQueryString } // TODO: needs to change to plain qyerystirng
76
+ });
77
+ if (error || !data) {
78
+ throw new errors_1.ErrCouldNotLogin();
140
79
  }
141
- this.accessToken = options.token;
142
- yield this.handshake();
143
- yield this.connectWallet();
144
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
80
+ this.account.address = data.address;
81
+ this.account.signature = data.signature;
145
82
  return { address: this.account.address, signature: this.account.signature };
146
83
  });
147
84
  }
148
85
  logout() {
149
- var _a;
150
86
  return __awaiter(this, void 0, void 0, function* () {
151
87
  if (!this.initialized) {
152
88
  throw new errors_1.ErrProviderNotInitialized();
153
89
  }
154
90
  this.ensureConnected();
155
- yield this.handshake();
156
91
  this.disconnect();
157
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
158
- return true;
92
+ const connectionClosed = yield this.windowManager.closeConnection();
93
+ // TODO: postMessage to wallet to logout
94
+ return connectionClosed;
159
95
  });
160
96
  }
161
- disconnect() {
162
- this.account = { address: '' };
163
- }
164
97
  getAddress() {
98
+ var _a, _b;
165
99
  return __awaiter(this, void 0, void 0, function* () {
166
100
  if (!this.initialized) {
167
101
  throw new errors_1.ErrProviderNotInitialized();
168
102
  }
169
- return this.account ? this.account.address : '';
103
+ return (_b = (_a = this.account) === null || _a === void 0 ? void 0 : _a.address) !== null && _b !== void 0 ? _b : '';
170
104
  });
171
105
  }
172
106
  isInitialized() {
@@ -187,25 +121,23 @@ class CrossWindowProvider {
187
121
  return signedTransactions[0];
188
122
  });
189
123
  }
190
- ensureConnected() {
191
- if (!this.account.address) {
192
- throw new errors_1.ErrAccountNotConnected();
193
- }
194
- }
195
124
  signTransactions(transactions) {
196
- var _a, _b;
197
125
  return __awaiter(this, void 0, void 0, function* () {
198
126
  this.ensureConnected();
199
- yield this.handshake();
200
- yield this.connectWallet();
201
127
  const payloadQueryString = helpers_1.buildTransactionsQueryString(transactions);
202
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.signTransactionsRequest, payload: payloadQueryString }, this.walletUrl);
203
- const { type, payload: signedPlainTransactions } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.signTransactionsResponse);
204
- (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
128
+ const { type, payload: { data, error } } = yield this.windowManager.postMessage({
129
+ type: types_1.CrossWindowProviderRequestEnums.signTransactionsRequest,
130
+ payload: payloadQueryString
131
+ });
132
+ if (error || !data) {
133
+ throw new errors_1.ErrCouldNotSignTransaction();
134
+ }
135
+ const signedPlainTransactions = data;
205
136
  if (type === types_1.CrossWindowProviderResponseEnums.cancelResponse) {
206
- throw new errors_1.ErrTransactionCAncelled();
137
+ throw new errors_1.ErrTransactionCancelled();
207
138
  }
208
- if (!signedPlainTransactions || !signedPlainTransactions.length) {
139
+ const hasTransactions = (signedPlainTransactions === null || signedPlainTransactions === void 0 ? void 0 : signedPlainTransactions.length) > 0;
140
+ if (!hasTransactions) {
209
141
  throw new errors_1.ErrCouldNotSignTransaction();
210
142
  }
211
143
  const signedTransactions = signedPlainTransactions.map((tx) => {
@@ -216,29 +148,34 @@ class CrossWindowProvider {
216
148
  });
217
149
  }
218
150
  signMessage(message) {
219
- var _a, _b;
220
151
  return __awaiter(this, void 0, void 0, function* () {
221
152
  this.ensureConnected();
222
- yield this.handshake();
223
- yield this.connectWallet();
224
153
  const payloadQueryString = helpers_1.buildWalletQueryString({
225
154
  params: {
226
155
  message: message.message.toString()
227
156
  }
228
157
  });
229
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.signMessageRequest, payload: payloadQueryString }, this.walletUrl);
230
- const { payload: { status, signature } } = yield this.listenOnce(types_1.CrossWindowProviderResponseEnums.signMessageResponse);
231
- (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
158
+ const { payload: { data, error } } = yield this.windowManager.postMessage({
159
+ type: types_1.CrossWindowProviderRequestEnums.signMessageRequest,
160
+ payload: payloadQueryString
161
+ });
162
+ if (error || !data) {
163
+ throw new errors_1.ErrCouldNotSignMessage();
164
+ }
165
+ const { status, signature } = data;
232
166
  if (status !== types_1.SignMessageStatusEnum.signed) {
233
167
  throw new errors_1.ErrCouldNotSignMessage();
234
168
  }
235
- message.applySignature(Buffer.from(signature, 'hex'));
169
+ message.applySignature(Buffer.from(String(signature), 'hex'));
236
170
  return message;
237
171
  });
238
172
  }
239
173
  cancelAction() {
240
174
  var _a;
241
- (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: types_1.CrossWindowProviderRequestEnums.cancelAction }, this.walletUrl);
175
+ return (_a = this.windowManager) === null || _a === void 0 ? void 0 : _a.postMessage({
176
+ type: types_1.CrossWindowProviderRequestEnums.cancelAction,
177
+ payload: ''
178
+ });
242
179
  }
243
180
  }
244
181
  exports.CrossWindowProvider = CrossWindowProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossWindowProvider.js","sourceRoot":"","sources":["../src/crossWindowProvider.ts"],"names":[],"mappings":"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"}
package/out/errors.d.ts CHANGED
@@ -23,7 +23,10 @@ export declare class ErrWalletWindowNotInstantiated extends Err {
23
23
  export declare class ErrProviderNotInitialized extends Err {
24
24
  constructor();
25
25
  }
26
- export declare class ErrTransactionCAncelled extends Err {
26
+ export declare class ErrCouldNotLogin extends Err {
27
+ constructor();
28
+ }
29
+ export declare class ErrTransactionCancelled extends Err {
27
30
  constructor();
28
31
  }
29
32
  export declare class ErrCouldNotSignTransaction extends Err {
package/out/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrCouldNotSignMessage = exports.ErrCouldNotSignTransaction = exports.ErrTransactionCAncelled = exports.ErrProviderNotInitialized = exports.ErrWalletWindowNotInstantiated = exports.ErrInstantiationFailed = exports.ErrCannotEstablishHandshake = exports.ErrAccountNotConnected = exports.ErrCannotSignSingleTransaction = exports.Err = void 0;
3
+ exports.ErrCouldNotSignMessage = exports.ErrCouldNotSignTransaction = exports.ErrTransactionCancelled = exports.ErrCouldNotLogin = exports.ErrProviderNotInitialized = exports.ErrWalletWindowNotInstantiated = exports.ErrInstantiationFailed = exports.ErrCannotEstablishHandshake = exports.ErrAccountNotConnected = exports.ErrCannotSignSingleTransaction = exports.Err = void 0;
4
4
  /**
5
5
  * The base class for exceptions (errors).
6
6
  */
@@ -48,12 +48,18 @@ class ErrProviderNotInitialized extends Err {
48
48
  }
49
49
  }
50
50
  exports.ErrProviderNotInitialized = ErrProviderNotInitialized;
51
- class ErrTransactionCAncelled extends Err {
51
+ class ErrCouldNotLogin extends Err {
52
+ constructor() {
53
+ super('Could not login');
54
+ }
55
+ }
56
+ exports.ErrCouldNotLogin = ErrCouldNotLogin;
57
+ class ErrTransactionCancelled extends Err {
52
58
  constructor() {
53
59
  super('Transaction canceled.');
54
60
  }
55
61
  }
56
- exports.ErrTransactionCAncelled = ErrTransactionCAncelled;
62
+ exports.ErrTransactionCancelled = ErrTransactionCancelled;
57
63
  class ErrCouldNotSignTransaction extends Err {
58
64
  constructor() {
59
65
  super('Could not sign transactions');
package/out/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAI,SAAQ,KAAK;IAG5B,YAAmB,OAAe,EAAE,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,UAAK,GAAsB,SAAS,CAAC;QAInC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,kBAOC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,wDAIC;AAGD,MAAa,2BAA4B,SAAQ,GAAG;IAClD;QACE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,kEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,oFAAoF,CAAC,CAAC;IAC9F,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,wEAIC;AAGD,MAAa,yBAA0B,SAAQ,GAAG;IAChD;QACE,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC9E,CAAC;CACF;AAJD,8DAIC;AAGD,MAAa,uBAAwB,SAAQ,GAAG;IAC9C;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,0BAA2B,SAAQ,GAAG;IACjD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,gEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,wDAIC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAI,SAAQ,KAAK;IAG5B,YAAmB,OAAe,EAAE,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,UAAK,GAAsB,SAAS,CAAC;QAInC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAPD,kBAOC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,2BAA4B,SAAQ,GAAG;IAClD;QACE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,kEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CACH,oFAAoF,CACrF,CAAC;IACJ,CAAC;CACF;AAND,wDAMC;AAED,MAAa,8BAA+B,SAAQ,GAAG;IACrD;QACE,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,yBAA0B,SAAQ,GAAG;IAChD;QACE,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC9E,CAAC;CACF;AAJD,8DAIC;AAED,MAAa,gBAAiB,SAAQ,GAAG;IACvC;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,uBAAwB,SAAQ,GAAG;IAC9C;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,0BAA2B,SAAQ,GAAG;IACjD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,gEAIC;AAED,MAAa,sBAAuB,SAAQ,GAAG;IAC7C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,wDAIC"}
@@ -1,2 +1,2 @@
1
- import { Transaction } from "@multiversx/sdk-core/out";
1
+ import { Transaction } from '@multiversx/sdk-core/out';
2
2
  export declare const buildTransactionsQueryString: (transactions: Transaction[]) => string;
@@ -2,6 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildTransactionsQueryString = void 0;
4
4
  const buildWalletQueryString_1 = require("./buildWalletQueryString");
5
+ const prepareWalletTransaction = (transaction) => {
6
+ const plainTransaction = transaction.toPlainObject();
7
+ // We adjust the data field, in order to make it compatible with what the web wallet expects.
8
+ if (plainTransaction.data) {
9
+ plainTransaction.data = Buffer.from(plainTransaction.data, 'base64').toString();
10
+ if (plainTransaction.receiverUsername) {
11
+ plainTransaction.receiverUsername = Buffer.from(plainTransaction.receiverUsername, 'base64').toString();
12
+ }
13
+ if (plainTransaction.senderUsername) {
14
+ plainTransaction.senderUsername = Buffer.from(plainTransaction.senderUsername, 'base64').toString();
15
+ }
16
+ // The web wallet expects the data field to be a string, even if it's empty (early 2023).
17
+ plainTransaction.data = plainTransaction.data || '';
18
+ }
19
+ return plainTransaction;
20
+ };
5
21
  const buildTransactionsQueryString = (transactions) => {
6
22
  const jsonToSend = {};
7
23
  transactions.map((tx) => {
@@ -15,24 +31,8 @@ const buildTransactionsQueryString = (transactions) => {
15
31
  }
16
32
  });
17
33
  return buildWalletQueryString_1.buildWalletQueryString({
18
- params: jsonToSend,
34
+ params: jsonToSend
19
35
  });
20
36
  };
21
37
  exports.buildTransactionsQueryString = buildTransactionsQueryString;
22
- const prepareWalletTransaction = (transaction) => {
23
- const plainTransaction = transaction.toPlainObject();
24
- // We adjust the data field, in order to make it compatible with what the web wallet expects.
25
- if (plainTransaction.data) {
26
- plainTransaction.data = Buffer.from(plainTransaction.data, "base64").toString();
27
- if (plainTransaction.receiverUsername) {
28
- plainTransaction.receiverUsername = Buffer.from(plainTransaction.receiverUsername, "base64").toString();
29
- }
30
- if (plainTransaction.senderUsername) {
31
- plainTransaction.senderUsername = Buffer.from(plainTransaction.senderUsername, "base64").toString();
32
- }
33
- // The web wallet expects the data field to be a string, even if it's empty (early 2023).
34
- plainTransaction.data = plainTransaction.data || "";
35
- }
36
- return plainTransaction;
37
- };
38
38
  //# sourceMappingURL=buildTransactionsQueryString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransactionsQueryString.js","sourceRoot":"","sources":["../../src/helpers/buildTransactionsQueryString.ts"],"names":[],"mappings":";;;AACA,qEAAkE;AAE3D,MAAM,4BAA4B,GAAG,CACxC,YAA2B,EACnB,EAAE;IACV,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IACE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC9B,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAClC;gBACA,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aACzB;YAED,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,+CAAsB,CAAC;QAC5B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;AACL,CAAC,CAAC;AArBS,QAAA,4BAA4B,gCAqBrC;AAEF,MAAM,wBAAwB,GAAG,CAAC,WAAwB,EAAO,EAAE;IACjE,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;IAErD,6FAA6F;IAC7F,IAAI,gBAAgB,CAAC,IAAI,EAAE;QACzB,gBAAgB,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CACjC,gBAAgB,CAAC,IAAI,EACrB,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;YACrC,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAC7C,gBAAgB,CAAC,gBAAgB,EACjC,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;SACd;QAED,IAAI,gBAAgB,CAAC,cAAc,EAAE;YACnC,gBAAgB,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC3C,gBAAgB,CAAC,cAAc,EAC/B,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;SACd;QACD,yFAAyF;QACzF,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC;KACrD;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"buildTransactionsQueryString.js","sourceRoot":"","sources":["../../src/helpers/buildTransactionsQueryString.ts"],"names":[],"mappings":";;;AACA,qEAAkE;AAElE,MAAM,wBAAwB,GAAG,CAAC,WAAwB,EAAO,EAAE;IACjE,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;IAErD,6FAA6F;IAC7F,IAAI,gBAAgB,CAAC,IAAI,EAAE;QACzB,gBAAgB,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CACjC,gBAAgB,CAAC,IAAI,EACrB,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;YACrC,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAC7C,gBAAgB,CAAC,gBAAgB,EACjC,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;SACd;QAED,IAAI,gBAAgB,CAAC,cAAc,EAAE;YACnC,gBAAgB,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC3C,gBAAgB,CAAC,cAAc,EAC/B,QAAQ,CACT,CAAC,QAAQ,EAAE,CAAC;SACd;QACD,yFAAyF;QACzF,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC;KACrD;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,YAA2B,EACnB,EAAE;IACV,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IACE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC9B,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAClC;gBACA,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aACzB;YAED,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,+CAAsB,CAAC;QAC5B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,4BAA4B,gCAqBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildWalletQueryString.js","sourceRoot":"","sources":["../../src/helpers/buildWalletQueryString.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AAEb,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAU,EAAE;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzC,MAAM,kBAAkB,GAAG,YAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,kBAAkB;QACxC,CAAC,CAAC,GAAG,kBAAkB,gBAAgB,WAAW,EAAE;QACpD,CAAC,CAAC,eAAe,WAAW,EAAE,CAAC;IAEjC,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC"}
1
+ {"version":3,"file":"buildWalletQueryString.js","sourceRoot":"","sources":["../../src/helpers/buildWalletQueryString.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAEb,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAU,EAAE;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzC,MAAM,kBAAkB,GAAG,YAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,kBAAkB;QACxC,CAAC,CAAC,GAAG,kBAAkB,gBAAgB,WAAW,EAAE;QACpD,CAAC,CAAC,eAAe,WAAW,EAAE,CAAC;IAEjC,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC"}
package/out/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { IPlainTransactionObject } from '@multiversx/sdk-core';
1
2
  export declare enum CrossWindowProviderRequestEnums {
2
3
  signTransactionsRequest = "SIGN_TRANSACTIONS_REQUEST",
3
4
  signMessageRequest = "SIGN_MESSAGE_REQUEST",
@@ -6,14 +7,55 @@ export declare enum CrossWindowProviderRequestEnums {
6
7
  cancelAction = "CANCEL_ACTION_REQUEST"
7
8
  }
8
9
  export declare enum CrossWindowProviderResponseEnums {
9
- signTransactionsResponse = "SIGN_TRANSACTIONS_RESPONSE",
10
- signMessageResponse = "SIGN_MESSAGE_RESPONSE",
11
- loginResponse = "LOGIN_RESPONSE",
12
10
  handshakeResponse = "HANDSHAKE_RESPONSE",
13
- cancelResponse = "CANCEL_RESPONSE",
11
+ loginResponse = "LOGIN_RESPONSE",
14
12
  disconnectResponse = "DISCONNECT_RESPONSE",
13
+ cancelResponse = "CANCEL_RESPONSE",
14
+ signTransactionsResponse = "SIGN_TRANSACTIONS_RESPONSE",
15
+ signMessageResponse = "SIGN_MESSAGE_RESPONSE",
15
16
  noneResponse = "NONE_RESPONSE"
16
17
  }
17
18
  export declare enum SignMessageStatusEnum {
18
- signed = "signed"
19
+ pending = "pending",
20
+ failed = "failed",
21
+ signed = "signed",
22
+ cancelled = "cancelled"
19
23
  }
24
+ export declare type ReplyWithPostMessageObjectType = {
25
+ [CrossWindowProviderResponseEnums.handshakeResponse]: boolean;
26
+ [CrossWindowProviderResponseEnums.loginResponse]: {
27
+ address: string;
28
+ accessToken?: string;
29
+ /**
30
+ * used in De-Fi wallet extension as wallet name
31
+ * */
32
+ name?: string;
33
+ signature?: string;
34
+ };
35
+ [CrossWindowProviderResponseEnums.disconnectResponse]: null;
36
+ [CrossWindowProviderResponseEnums.cancelResponse]: {
37
+ address: string;
38
+ };
39
+ [CrossWindowProviderResponseEnums.signTransactionsResponse]: IPlainTransactionObject[];
40
+ [CrossWindowProviderResponseEnums.signMessageResponse]: {
41
+ signature?: string;
42
+ status: SignMessageStatusEnum;
43
+ };
44
+ [CrossWindowProviderResponseEnums.noneResponse]: null;
45
+ };
46
+ declare type ReplyWithPostMessagePayloadType<T extends ReplyWithPostMessageObjectType[keyof ReplyWithPostMessageObjectType]> = {
47
+ data?: T;
48
+ error?: string;
49
+ };
50
+ export declare type ReplyWithPostMessageType<T extends CrossWindowProviderResponseEnums> = {
51
+ type: T;
52
+ payload: ReplyWithPostMessagePayloadType<ReplyWithPostMessageObjectType[T]>;
53
+ };
54
+ export declare type ResponseTypeMap = {
55
+ [CrossWindowProviderRequestEnums.signTransactionsRequest]: CrossWindowProviderResponseEnums.signTransactionsResponse;
56
+ [CrossWindowProviderRequestEnums.signMessageRequest]: CrossWindowProviderResponseEnums.signMessageResponse;
57
+ [CrossWindowProviderRequestEnums.loginRequest]: CrossWindowProviderResponseEnums.loginResponse;
58
+ [CrossWindowProviderRequestEnums.logoutRequest]: CrossWindowProviderResponseEnums.disconnectResponse;
59
+ [CrossWindowProviderRequestEnums.cancelAction]: CrossWindowProviderResponseEnums.cancelResponse;
60
+ };
61
+ export {};
package/out/types.js CHANGED
@@ -11,16 +11,19 @@ var CrossWindowProviderRequestEnums;
11
11
  })(CrossWindowProviderRequestEnums = exports.CrossWindowProviderRequestEnums || (exports.CrossWindowProviderRequestEnums = {}));
12
12
  var CrossWindowProviderResponseEnums;
13
13
  (function (CrossWindowProviderResponseEnums) {
14
- CrossWindowProviderResponseEnums["signTransactionsResponse"] = "SIGN_TRANSACTIONS_RESPONSE";
15
- CrossWindowProviderResponseEnums["signMessageResponse"] = "SIGN_MESSAGE_RESPONSE";
16
- CrossWindowProviderResponseEnums["loginResponse"] = "LOGIN_RESPONSE";
17
14
  CrossWindowProviderResponseEnums["handshakeResponse"] = "HANDSHAKE_RESPONSE";
18
- CrossWindowProviderResponseEnums["cancelResponse"] = "CANCEL_RESPONSE";
15
+ CrossWindowProviderResponseEnums["loginResponse"] = "LOGIN_RESPONSE";
19
16
  CrossWindowProviderResponseEnums["disconnectResponse"] = "DISCONNECT_RESPONSE";
17
+ CrossWindowProviderResponseEnums["cancelResponse"] = "CANCEL_RESPONSE";
18
+ CrossWindowProviderResponseEnums["signTransactionsResponse"] = "SIGN_TRANSACTIONS_RESPONSE";
19
+ CrossWindowProviderResponseEnums["signMessageResponse"] = "SIGN_MESSAGE_RESPONSE";
20
20
  CrossWindowProviderResponseEnums["noneResponse"] = "NONE_RESPONSE";
21
21
  })(CrossWindowProviderResponseEnums = exports.CrossWindowProviderResponseEnums || (exports.CrossWindowProviderResponseEnums = {}));
22
22
  var SignMessageStatusEnum;
23
23
  (function (SignMessageStatusEnum) {
24
+ SignMessageStatusEnum["pending"] = "pending";
25
+ SignMessageStatusEnum["failed"] = "failed";
24
26
  SignMessageStatusEnum["signed"] = "signed";
27
+ SignMessageStatusEnum["cancelled"] = "cancelled";
25
28
  })(SignMessageStatusEnum = exports.SignMessageStatusEnum || (exports.SignMessageStatusEnum = {}));
26
29
  //# sourceMappingURL=types.js.map
package/out/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,+BAMT;AANH,WAAY,+BAA+B;IACvC,wFAAqD,CAAA;IACrD,8EAA2C,CAAA;IAC3C,iEAA8B,CAAA;IAC9B,mEAAgC,CAAA;IAChC,yEAAsC,CAAA;AACxC,CAAC,EANS,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAMxC;AAED,IAAY,gCAQX;AARD,WAAY,gCAAgC;IAC1C,2FAAuD,CAAA;IACvD,iFAA6C,CAAA;IAC7C,oEAAgC,CAAA;IAChC,4EAAwC,CAAA;IACxC,sEAAkC,CAAA;IAClC,8EAA0C,CAAA;IAC1C,kEAA8B,CAAA;AAChC,CAAC,EARW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAQ3C;AAED,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,0CAAgB,CAAA;AAClB,CAAC,EAFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAEhC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACzC,wFAAqD,CAAA;IACrD,8EAA2C,CAAA;IAC3C,iEAA8B,CAAA;IAC9B,mEAAgC,CAAA;IAChC,yEAAsC,CAAA;AACxC,CAAC,EANW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAM1C;AAED,IAAY,gCAQX;AARD,WAAY,gCAAgC;IAC1C,4EAAwC,CAAA;IACxC,oEAAgC,CAAA;IAChC,8EAA0C,CAAA;IAC1C,sEAAkC,CAAA;IAClC,2FAAuD,CAAA;IACvD,iFAA6C,CAAA;IAC7C,kEAA8B,CAAA;AAChC,CAAC,EARW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAQ3C;AAED,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiversx/sdk-web-wallet-cross-window-provider",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Signing provider for dApps: Cross Window",
5
5
  "main": "out/index.js",
6
6
  "types": "out/index.d.js",