@multiversx/sdk-web-wallet-cross-window-provider 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,4 @@
1
- import { SignableMessage } from '@multiversx/sdk-core';
2
- import { Transaction } from '@multiversx/sdk-core';
1
+ import { SignableMessage, Transaction } from '@multiversx/sdk-core';
3
2
  interface ICrossWindowWalletAccount {
4
3
  address: string;
5
4
  name?: string;
@@ -27,9 +26,6 @@ export declare class CrossWindowProvider {
27
26
  callbackUrl?: string;
28
27
  token?: string;
29
28
  }): Promise<string>;
30
- static prepareWalletTransaction(transaction: Transaction): any;
31
- private buildTransactionsQueryString;
32
- private buildWalletQueryString;
33
29
  logout(): Promise<boolean>;
34
30
  private disconnect;
35
31
  getAddress(): Promise<string>;
@@ -8,14 +8,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.CrossWindowProvider = exports.DAPP_WINDOW_NAME = void 0;
16
13
  const sdk_core_1 = require("@multiversx/sdk-core");
17
- const qs_1 = __importDefault(require("qs"));
18
14
  const errors_1 = require("./errors");
15
+ const helpers_1 = require("./helpers");
19
16
  exports.DAPP_WINDOW_NAME = window.location.origin;
20
17
  class CrossWindowProvider {
21
18
  constructor() {
@@ -32,7 +29,8 @@ class CrossWindowProvider {
32
29
  window.addEventListener('beforeunload', () => {
33
30
  var _a, _b;
34
31
  if (this.walletWindow && window.opener) {
35
- return (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: false }, this.walletUrl);
32
+ return (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: false }, // TODO: use const here
33
+ this.walletUrl);
36
34
  }
37
35
  (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
38
36
  });
@@ -60,106 +58,120 @@ class CrossWindowProvider {
60
58
  handshake() {
61
59
  var _a, _b;
62
60
  return __awaiter(this, void 0, void 0, function* () {
63
- console.log('handshake!');
64
61
  if (!this.walletWindow) {
65
- console.log('open wallet');
62
+ console.log('In HANDSHAKE: ', 'opening new wallet window');
66
63
  this.walletWindow = window.open(this.walletUrl, this.walletUrl);
67
64
  }
68
65
  else {
69
- console.log('open existing wallet');
70
- window.open('', this.walletUrl);
66
+ console.log('In HANDSHAKE: ', 'opening Existing window');
67
+ window.open('', this.walletUrl); // TODO: since walletWindow is always closed, is this needed?
71
68
  }
69
+ // TODO: is this needed?
72
70
  if (this.handshakeEstablished) {
73
- console.log('handshake already established');
71
+ console.log('In HANDSHAKE: ', 'handshakeEstablished', this.handshakeEstablished);
74
72
  return true;
75
73
  }
74
+ console.log('In HANDSHAKE: ', 'start listening for handshake event from wallet');
76
75
  const { type, payload } = yield this.listenOnce();
77
76
  if (type !== 'handshake' || !payload) {
78
77
  throw new Error('Handshake could not be established');
79
78
  }
80
- console.log('handshake event received');
79
+ console.log('In HANDSHAKE: ', 'Listen once event received: ', {
80
+ type,
81
+ payload
82
+ });
81
83
  (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: true }, this.walletUrl);
82
84
  this.onHandshakeChangeListener();
83
- const payloadQueryString = this.buildWalletQueryString({
85
+ const payloadQueryString = helpers_1.buildWalletQueryString({
84
86
  params: {
85
87
  token: this.accessToken
86
88
  }
87
89
  });
88
90
  const isRelogin = yield this.isConnected();
89
- console.log('send connect event');
91
+ console.log('In HANDSHAKE: ', 'Posting mxDappHandshake `true` to wallet', {
92
+ isRelogin
93
+ });
94
+ // TODO: handshake should not handle login logic
90
95
  (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.postMessage({
91
96
  type: 'mxDappConnect',
92
97
  payload: { queryString: payloadQueryString, isRelogin }
93
98
  }, this.walletUrl);
99
+ console.log('In HANDSHAKE: ', 'Posting mxDappConnect connect intent to wallet', {
100
+ type: 'mxDappConnect',
101
+ payload: { queryString: payloadQueryString, isRelogin }
102
+ });
94
103
  if (!isRelogin) {
104
+ console.log('In HANDSHAKE: ', 'Waiting for connect event from wallet ');
95
105
  const { type: connectType, payload: { address, signature } } = yield this.listenOnce();
96
- console.log('connect response received');
97
106
  if (connectType !== 'connect') {
98
107
  throw new Error(`Could not connect. received ${connectType} event instead of connect`);
99
108
  }
100
- console.log('connect is correct');
101
109
  this.account.address = address;
102
110
  this.account.signature = signature;
111
+ console.log('In HANDSHAKE: ', 'Is first login', {
112
+ address,
113
+ signature
114
+ });
103
115
  }
116
+ console.log('In HANDSHAKE: ', 'handshakeEstablished done');
104
117
  this.handshakeEstablished = true;
105
118
  return true;
106
119
  });
107
120
  }
108
121
  onHandshakeChangeListener() {
109
122
  return __awaiter(this, void 0, void 0, function* () {
110
- console.log('add handshake change listener');
111
123
  const walletUrl = this.walletUrl;
112
- // eslint-disable-next-line @typescript-eslint/no-this-alias
113
- const self = this;
114
- window.addEventListener('message', function eventHandler(event) {
124
+ // TODO: use strong types here
125
+ const handler = (event) => {
115
126
  var _a;
116
127
  try {
117
128
  const { type, payload } = event.data;
118
129
  const isWalletEvent = event.origin === new URL(walletUrl).origin;
119
130
  if (isWalletEvent && type === 'handshake') {
120
- console.log('handshake changed! ', payload);
121
131
  if (payload === false) {
122
- (_a = self.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
123
- self.handshakeEstablished = false;
124
- self.walletWindow = null;
125
- console.log('remove handshake!!@#s');
126
- window.removeEventListener('message', eventHandler);
132
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
133
+ this.handshakeEstablished = false;
134
+ this.walletWindow = null;
135
+ window.removeEventListener('message', handler);
127
136
  }
128
137
  }
129
138
  }
130
139
  catch (_b) { }
131
- });
140
+ };
141
+ window.addEventListener('message', handler);
132
142
  });
133
143
  }
144
+ // TODO: remove any
145
+ //param for specific action to listen to
134
146
  listenOnce() {
135
147
  return __awaiter(this, void 0, void 0, function* () {
136
148
  if (!this.walletWindow) {
137
149
  throw new Error('Wallet window is not instantiated');
138
150
  }
139
- // eslint-disable-next-line @typescript-eslint/no-this-alias
140
- const self = this;
141
151
  return yield new Promise((resolve) => {
142
152
  const walletUrl = this.walletUrl;
143
- window.addEventListener('message', function eventHandler(event) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- try {
146
- const { type, payload } = event.data;
147
- const isWalletEvent = event.origin === new URL(walletUrl).origin;
148
- const isRelogin = yield self.isConnected();
149
- if (isRelogin && type === 'connect')
150
- return;
151
- if (isWalletEvent) {
152
- window.removeEventListener('message', eventHandler);
153
- resolve({ type, payload });
154
- }
153
+ // TODO: change handler to relevant name if needed
154
+ const handler = (event) => __awaiter(this, void 0, void 0, function* () {
155
+ try {
156
+ const { type, payload } = event.data; // TODO: use strong types here
157
+ const isWalletEvent = event.origin === new URL(walletUrl).origin;
158
+ const isRelogin = yield this.isConnected();
159
+ if (isRelogin && type === 'connect' /* // TODO: use const here */) {
160
+ return;
155
161
  }
156
- catch (_a) { }
157
- });
162
+ if (isWalletEvent) {
163
+ window.removeEventListener('message', handler);
164
+ resolve({ type, payload });
165
+ }
166
+ }
167
+ catch (_a) { }
158
168
  });
169
+ window.addEventListener('message', handler);
159
170
  });
160
171
  });
161
172
  }
162
173
  login(options = {}) {
174
+ var _a;
163
175
  return __awaiter(this, void 0, void 0, function* () {
164
176
  if (!this.initialized) {
165
177
  throw new Error('Wallet cross window provider is not initialised, call init() first');
@@ -167,59 +179,21 @@ class CrossWindowProvider {
167
179
  this.callbackUrl = options.callbackUrl;
168
180
  this.accessToken = options.token;
169
181
  yield this.handshake();
170
- return this.account.address;
171
- });
172
- }
173
- //----------------------------------------------------------------------------------------------------------------------------------
174
- static prepareWalletTransaction(transaction) {
175
- const plainTransaction = transaction.toPlainObject();
176
- // We adjust the data field, in order to make it compatible with what the web wallet expects.
177
- if (plainTransaction.data) {
178
- plainTransaction.data = Buffer.from(plainTransaction.data, 'base64').toString();
179
- // TODO: do the same for:
180
- // receiverUsername
181
- // senderUsername
182
- }
183
- else {
184
- // The web wallet expects the data field to be a string, even if it's empty (early 2023).
185
- plainTransaction.data = '';
186
- }
187
- return plainTransaction;
188
- }
189
- buildTransactionsQueryString(transactions) {
190
- const jsonToSend = {};
191
- transactions.map((tx) => {
192
- const plainTx = CrossWindowProvider.prepareWalletTransaction(tx);
193
- for (const txProp in plainTx) {
194
- if (plainTx.hasOwnProperty(txProp) &&
195
- !jsonToSend.hasOwnProperty(txProp)) {
196
- jsonToSend[txProp] = [];
197
- }
198
- jsonToSend[txProp].push(plainTx[txProp]);
199
- }
200
- });
201
- return this.buildWalletQueryString({
202
- params: jsonToSend
182
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
183
+ return this.account.address; // TODO: whee is the signature ?
203
184
  });
204
185
  }
205
- buildWalletQueryString(options) {
206
- const callbackUrl = this.callbackUrl || window.location.href;
207
- const partialQueryString = qs_1.default.stringify(options.params || {});
208
- const fullQueryString = partialQueryString
209
- ? `${partialQueryString}&callbackUrl=${callbackUrl}`
210
- : `callbackUrl=${callbackUrl}`;
211
- return fullQueryString;
212
- }
213
186
  logout() {
187
+ var _a;
214
188
  return __awaiter(this, void 0, void 0, function* () {
215
189
  if (!this.initialized) {
216
190
  throw new Error('CrossWindow provider is not initialised, call init() first');
217
191
  }
192
+ this.ensureConnected();
193
+ yield this.handshake();
218
194
  try {
219
195
  this.disconnect();
220
- if (this.walletWindow) {
221
- this.walletWindow.close();
222
- }
196
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
223
197
  }
224
198
  catch (error) {
225
199
  console.warn('CrossWindow origin url is already cleared!', error);
@@ -262,50 +236,43 @@ class CrossWindowProvider {
262
236
  }
263
237
  }
264
238
  signTransactions(transactions) {
265
- var _a;
239
+ var _a, _b;
266
240
  return __awaiter(this, void 0, void 0, function* () {
267
241
  this.ensureConnected();
268
242
  yield this.handshake();
269
- const payloadQueryString = this.buildTransactionsQueryString(transactions);
243
+ const payloadQueryString = helpers_1.buildTransactionsQueryString(transactions);
270
244
  (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappSignTransactions', payload: payloadQueryString }, this.walletUrl);
271
245
  const { type, payload: signedPlainTransactions } = yield this.listenOnce();
272
- console.log('transaction resp received: ', signedPlainTransactions);
246
+ (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
273
247
  if (type === 'cancel') {
274
248
  throw new Error('Transaction canceled.');
275
249
  }
276
250
  if (!signedPlainTransactions || !signedPlainTransactions.length) {
277
251
  throw new Error('Could not sign transactions');
278
252
  }
279
- console.log('prepare transactions!');
280
253
  const signedTransactions = signedPlainTransactions.map((tx) => {
281
- console.log('tx to transform: ', tx);
282
254
  const transaction = sdk_core_1.Transaction.fromPlainObject(tx);
283
255
  return transaction;
284
256
  });
285
- console.log('signed transactions: ', signedTransactions);
286
257
  return signedTransactions;
287
258
  });
288
259
  }
289
260
  signMessage(message) {
290
- var _a;
261
+ var _a, _b;
291
262
  return __awaiter(this, void 0, void 0, function* () {
292
263
  this.ensureConnected();
293
264
  yield this.handshake();
294
- console.log('continue with sign message');
295
- const payloadQueryString = this.buildWalletQueryString({
265
+ const payloadQueryString = helpers_1.buildWalletQueryString({
296
266
  params: {
297
267
  message: message.message.toString()
298
268
  }
299
269
  });
300
270
  (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappSignMessage', payload: payloadQueryString }, this.walletUrl);
301
- console.log('listen for sign response');
302
271
  const { type, payload: { status, signature } } = yield this.listenOnce();
303
- console.log('sign response received', type, status, signature);
272
+ (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
304
273
  if (type !== 'signMessage') {
305
- console.log('error!');
306
274
  throw new Error(`Could not connect. received ${type} event instead of signMessage`);
307
275
  }
308
- console.log('sign response correct');
309
276
  if (status !== 'signed') {
310
277
  throw new Error('Could not sign message');
311
278
  }
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import { Transaction } from "@multiversx/sdk-core/out";
2
+ export declare const buildTransactionsQueryString: (transactions: Transaction[]) => string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildTransactionsQueryString = void 0;
4
+ const buildWalletQueryString_1 = require("./buildWalletQueryString");
5
+ const buildTransactionsQueryString = (transactions) => {
6
+ const jsonToSend = {};
7
+ transactions.map((tx) => {
8
+ const plainTx = prepareWalletTransaction(tx);
9
+ for (const txProp in plainTx) {
10
+ if (plainTx.hasOwnProperty(txProp) &&
11
+ !jsonToSend.hasOwnProperty(txProp)) {
12
+ jsonToSend[txProp] = [];
13
+ }
14
+ jsonToSend[txProp].push(plainTx[txProp]);
15
+ }
16
+ });
17
+ return buildWalletQueryString_1.buildWalletQueryString({
18
+ params: jsonToSend,
19
+ });
20
+ };
21
+ 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
+ //# sourceMappingURL=buildTransactionsQueryString.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export declare const buildWalletQueryString: (options: {
2
+ params?: any;
3
+ }) => string;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildWalletQueryString = void 0;
7
+ const qs_1 = __importDefault(require("qs"));
8
+ const buildWalletQueryString = (options) => {
9
+ const callbackUrl = window.location.href;
10
+ const partialQueryString = qs_1.default.stringify(options.params || {});
11
+ const fullQueryString = partialQueryString
12
+ ? `${partialQueryString}&callbackUrl=${callbackUrl}`
13
+ : `callbackUrl=${callbackUrl}`;
14
+ return fullQueryString;
15
+ };
16
+ exports.buildWalletQueryString = buildWalletQueryString;
17
+ //# sourceMappingURL=buildWalletQueryString.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export * from "./buildWalletQueryString";
2
+ export * from "./buildTransactionsQueryString";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./buildWalletQueryString"), exports);
14
+ __exportStar(require("./buildTransactionsQueryString"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAyC;AACzC,iEAA8C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiversx/sdk-web-wallet-cross-window-provider",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Signing provider for dApps: Cross Window",
5
5
  "main": "out/index.js",
6
6
  "types": "out/index.d.js",
@@ -10,13 +10,25 @@
10
10
  "scripts": {
11
11
  "compile": "tsc -p tsconfig.json",
12
12
  "pretest": "npm run compile",
13
- "prepare": "npm run compile"
13
+ "prepare": "npm run compile",
14
+ "lint": "eslint --fix --ext js,ts src"
14
15
  },
15
16
  "author": "MultiversX",
16
17
  "license": "GPL-3.0-or-later",
17
18
  "devDependencies": {
18
19
  "@types/node": "17.0.23",
20
+ "@typescript-eslint/eslint-plugin": "5.0.0",
21
+ "@typescript-eslint/parser": "5.14.0",
22
+ "eslint": "8.24.0",
23
+ "eslint-config-prettier": "8.5.0",
24
+ "eslint-config-standard": "17.0.0",
25
+ "eslint-import-resolver-typescript": "2.4.0",
26
+ "eslint-plugin-import": "2.26.0",
27
+ "eslint-plugin-node": "11.1.0",
28
+ "eslint-plugin-prettier": "5.0.0",
29
+ "eslint-plugin-promise": "6.0.0",
19
30
  "esmify": "2.1.1",
31
+ "prettier": "^3.1.0",
20
32
  "typescript": "4.1.2"
21
33
  },
22
34
  "peerDependencies": {
package/out/const.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export declare const WALLET_PROVIDER_MAINNET = "https://wallet.multiversx.com/dapp/init";
2
- export declare const WALLET_PROVIDER_DEVNET = "https://devnet-wallet.multiversx.com/dapp/init";
3
- export declare const WALLET_PROVIDER_TESTNET = "https://testnet-wallet.multiversx.com/dapp/init";
4
- export declare const WALLET_PROVIDER_CONNECT_URL = "hook/login";
5
- export declare const WALLET_PROVIDER_DISCONNECT_URL = "hook/logout";
6
- export declare const WALLET_PROVIDER_SEND_TRANSACTION_URL = "hook/transaction";
7
- export declare const WALLET_PROVIDER_SIGN_TRANSACTION_URL = "hook/sign";
8
- export declare const WALLET_PROVIDER_GUARD_TRANSACTION_URL = "hook/2fa";
9
- export declare const WALLET_PROVIDER_SIGN_MESSAGE_URL = "hook/sign-message";
10
- export declare const WALLET_PROVIDER_CALLBACK_PARAM = "walletProviderStatus";
11
- export declare const WALLET_PROVIDER_CALLBACK_PARAM_TX_SIGNED = "transactionsSigned";
package/out/const.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WALLET_PROVIDER_CALLBACK_PARAM_TX_SIGNED = exports.WALLET_PROVIDER_CALLBACK_PARAM = exports.WALLET_PROVIDER_SIGN_MESSAGE_URL = exports.WALLET_PROVIDER_GUARD_TRANSACTION_URL = exports.WALLET_PROVIDER_SIGN_TRANSACTION_URL = exports.WALLET_PROVIDER_SEND_TRANSACTION_URL = exports.WALLET_PROVIDER_DISCONNECT_URL = exports.WALLET_PROVIDER_CONNECT_URL = exports.WALLET_PROVIDER_TESTNET = exports.WALLET_PROVIDER_DEVNET = exports.WALLET_PROVIDER_MAINNET = void 0;
4
- exports.WALLET_PROVIDER_MAINNET = 'https://wallet.multiversx.com/dapp/init';
5
- exports.WALLET_PROVIDER_DEVNET = 'https://devnet-wallet.multiversx.com/dapp/init';
6
- exports.WALLET_PROVIDER_TESTNET = 'https://testnet-wallet.multiversx.com/dapp/init';
7
- exports.WALLET_PROVIDER_CONNECT_URL = 'hook/login';
8
- exports.WALLET_PROVIDER_DISCONNECT_URL = 'hook/logout';
9
- exports.WALLET_PROVIDER_SEND_TRANSACTION_URL = 'hook/transaction';
10
- exports.WALLET_PROVIDER_SIGN_TRANSACTION_URL = 'hook/sign';
11
- exports.WALLET_PROVIDER_GUARD_TRANSACTION_URL = 'hook/2fa';
12
- exports.WALLET_PROVIDER_SIGN_MESSAGE_URL = 'hook/sign-message';
13
- exports.WALLET_PROVIDER_CALLBACK_PARAM = 'walletProviderStatus';
14
- exports.WALLET_PROVIDER_CALLBACK_PARAM_TX_SIGNED = 'transactionsSigned';
15
- //# sourceMappingURL=const.js.map
package/out/const.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAClC,yCAAyC,CAAC;AAC/B,QAAA,sBAAsB,GACjC,gDAAgD,CAAC;AACtC,QAAA,uBAAuB,GAClC,iDAAiD,CAAC;AAEvC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,8BAA8B,GAAG,aAAa,CAAC;AAC/C,QAAA,oCAAoC,GAAG,kBAAkB,CAAC;AAC1D,QAAA,oCAAoC,GAAG,WAAW,CAAC;AACnD,QAAA,qCAAqC,GAAG,UAAU,CAAC;AACnD,QAAA,gCAAgC,GAAG,mBAAmB,CAAC;AACvD,QAAA,8BAA8B,GAAG,sBAAsB,CAAC;AACxD,QAAA,wCAAwC,GAAG,oBAAoB,CAAC"}