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

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,44 +58,37 @@ 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');
66
62
  this.walletWindow = window.open(this.walletUrl, this.walletUrl);
67
63
  }
68
64
  else {
69
- console.log('open existing wallet');
70
65
  window.open('', this.walletUrl);
71
66
  }
72
67
  if (this.handshakeEstablished) {
73
- console.log('handshake already established');
74
68
  return true;
75
69
  }
76
70
  const { type, payload } = yield this.listenOnce();
77
71
  if (type !== 'handshake' || !payload) {
78
72
  throw new Error('Handshake could not be established');
79
73
  }
80
- console.log('handshake event received');
81
74
  (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappHandshake', payload: true }, this.walletUrl);
82
75
  this.onHandshakeChangeListener();
83
- const payloadQueryString = this.buildWalletQueryString({
76
+ const payloadQueryString = helpers_1.buildWalletQueryString({
84
77
  params: {
85
78
  token: this.accessToken
86
79
  }
87
80
  });
88
81
  const isRelogin = yield this.isConnected();
89
- console.log('send connect event');
82
+ // TODO: handshake should not handle login logic
90
83
  (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.postMessage({
91
84
  type: 'mxDappConnect',
92
85
  payload: { queryString: payloadQueryString, isRelogin }
93
86
  }, this.walletUrl);
94
87
  if (!isRelogin) {
95
88
  const { type: connectType, payload: { address, signature } } = yield this.listenOnce();
96
- console.log('connect response received');
97
89
  if (connectType !== 'connect') {
98
90
  throw new Error(`Could not connect. received ${connectType} event instead of connect`);
99
91
  }
100
- console.log('connect is correct');
101
92
  this.account.address = address;
102
93
  this.account.signature = signature;
103
94
  }
@@ -107,59 +98,58 @@ class CrossWindowProvider {
107
98
  }
108
99
  onHandshakeChangeListener() {
109
100
  return __awaiter(this, void 0, void 0, function* () {
110
- console.log('add handshake change listener');
111
101
  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) {
102
+ // TODO: use strong types here
103
+ const handler = (event) => {
115
104
  var _a;
116
105
  try {
117
106
  const { type, payload } = event.data;
118
107
  const isWalletEvent = event.origin === new URL(walletUrl).origin;
119
108
  if (isWalletEvent && type === 'handshake') {
120
- console.log('handshake changed! ', payload);
121
109
  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);
110
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
111
+ this.handshakeEstablished = false;
112
+ this.walletWindow = null;
113
+ window.removeEventListener('message', handler);
127
114
  }
128
115
  }
129
116
  }
130
117
  catch (_b) { }
131
- });
118
+ };
119
+ window.addEventListener('message', handler);
132
120
  });
133
121
  }
122
+ // TODO: remove any
123
+ //param for specific action to listen to
134
124
  listenOnce() {
135
125
  return __awaiter(this, void 0, void 0, function* () {
136
126
  if (!this.walletWindow) {
137
127
  throw new Error('Wallet window is not instantiated');
138
128
  }
139
- // eslint-disable-next-line @typescript-eslint/no-this-alias
140
- const self = this;
141
129
  return yield new Promise((resolve) => {
142
130
  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
- }
131
+ // TODO: change handler to relevant name if needed
132
+ const handler = (event) => __awaiter(this, void 0, void 0, function* () {
133
+ try {
134
+ const { type, payload } = event.data; // TODO: use strong types here
135
+ const isWalletEvent = event.origin === new URL(walletUrl).origin;
136
+ const isRelogin = yield this.isConnected();
137
+ if (isRelogin && type === 'connect' /* // TODO: use const here */) {
138
+ return;
139
+ }
140
+ if (isWalletEvent) {
141
+ window.removeEventListener('message', handler);
142
+ resolve({ type, payload });
155
143
  }
156
- catch (_a) { }
157
- });
144
+ }
145
+ catch (_a) { }
158
146
  });
147
+ window.addEventListener('message', handler);
159
148
  });
160
149
  });
161
150
  }
162
151
  login(options = {}) {
152
+ var _a;
163
153
  return __awaiter(this, void 0, void 0, function* () {
164
154
  if (!this.initialized) {
165
155
  throw new Error('Wallet cross window provider is not initialised, call init() first');
@@ -167,59 +157,21 @@ class CrossWindowProvider {
167
157
  this.callbackUrl = options.callbackUrl;
168
158
  this.accessToken = options.token;
169
159
  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
- }
160
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
161
+ return this.account.address; // TODO: whee is the signature ?
200
162
  });
201
- return this.buildWalletQueryString({
202
- params: jsonToSend
203
- });
204
- }
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
163
  }
213
164
  logout() {
165
+ var _a;
214
166
  return __awaiter(this, void 0, void 0, function* () {
215
167
  if (!this.initialized) {
216
168
  throw new Error('CrossWindow provider is not initialised, call init() first');
217
169
  }
170
+ this.ensureConnected();
171
+ yield this.handshake();
218
172
  try {
219
173
  this.disconnect();
220
- if (this.walletWindow) {
221
- this.walletWindow.close();
222
- }
174
+ (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.close();
223
175
  }
224
176
  catch (error) {
225
177
  console.warn('CrossWindow origin url is already cleared!', error);
@@ -262,50 +214,43 @@ class CrossWindowProvider {
262
214
  }
263
215
  }
264
216
  signTransactions(transactions) {
265
- var _a;
217
+ var _a, _b;
266
218
  return __awaiter(this, void 0, void 0, function* () {
267
219
  this.ensureConnected();
268
220
  yield this.handshake();
269
- const payloadQueryString = this.buildTransactionsQueryString(transactions);
221
+ const payloadQueryString = helpers_1.buildTransactionsQueryString(transactions);
270
222
  (_a = this.walletWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ type: 'mxDappSignTransactions', payload: payloadQueryString }, this.walletUrl);
271
223
  const { type, payload: signedPlainTransactions } = yield this.listenOnce();
272
- console.log('transaction resp received: ', signedPlainTransactions);
224
+ (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
273
225
  if (type === 'cancel') {
274
226
  throw new Error('Transaction canceled.');
275
227
  }
276
228
  if (!signedPlainTransactions || !signedPlainTransactions.length) {
277
229
  throw new Error('Could not sign transactions');
278
230
  }
279
- console.log('prepare transactions!');
280
231
  const signedTransactions = signedPlainTransactions.map((tx) => {
281
- console.log('tx to transform: ', tx);
282
232
  const transaction = sdk_core_1.Transaction.fromPlainObject(tx);
283
233
  return transaction;
284
234
  });
285
- console.log('signed transactions: ', signedTransactions);
286
235
  return signedTransactions;
287
236
  });
288
237
  }
289
238
  signMessage(message) {
290
- var _a;
239
+ var _a, _b;
291
240
  return __awaiter(this, void 0, void 0, function* () {
292
241
  this.ensureConnected();
293
242
  yield this.handshake();
294
- console.log('continue with sign message');
295
- const payloadQueryString = this.buildWalletQueryString({
243
+ const payloadQueryString = helpers_1.buildWalletQueryString({
296
244
  params: {
297
245
  message: message.message.toString()
298
246
  }
299
247
  });
300
248
  (_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
249
  const { type, payload: { status, signature } } = yield this.listenOnce();
303
- console.log('sign response received', type, status, signature);
250
+ (_b = this.walletWindow) === null || _b === void 0 ? void 0 : _b.close();
304
251
  if (type !== 'signMessage') {
305
- console.log('error!');
306
252
  throw new Error(`Could not connect. received ${type} event instead of signMessage`);
307
253
  }
308
- console.log('sign response correct');
309
254
  if (status !== 'signed') {
310
255
  throw new Error('Could not sign message');
311
256
  }
@@ -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.2",
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"}