@tonconnect/sdk 0.0.21 → 0.0.22

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.
Files changed (31) hide show
  1. package/lib/errors/dapp/dapp-metadata.error.js +6 -14
  2. package/lib/errors/index.js +18 -5
  3. package/lib/errors/protocol/events/connect/user-rejects.error.js +6 -14
  4. package/lib/errors/protocol/events/index.js +15 -2
  5. package/lib/errors/protocol/index.js +16 -3
  6. package/lib/errors/protocol/responses/bad-request.error.js +6 -14
  7. package/lib/errors/protocol/responses/unknown-app.error.js +6 -14
  8. package/lib/errors/storage/localstorage-not-found.error.js +6 -14
  9. package/lib/errors/ton-connect.error.js +5 -13
  10. package/lib/errors/unknown.error.js +6 -14
  11. package/lib/errors/wallet/wallet-already-connected.error.js +6 -14
  12. package/lib/errors/wallet/wallet-not-connected.error.js +6 -14
  13. package/lib/errors/wallet/wallet-not-injected.error.js +6 -14
  14. package/lib/errors/wallets-manager/fetch-wallets.error.js +6 -14
  15. package/lib/index.js +17 -4
  16. package/lib/models/index.js +16 -3
  17. package/lib/models/methods/index.js +16 -3
  18. package/lib/parsers/connect-errors-parser.js +14 -18
  19. package/lib/parsers/rpc-parser.js +4 -7
  20. package/lib/parsers/send-transaction-parser.js +19 -26
  21. package/lib/provider/bridge/bridge-gateway.js +60 -79
  22. package/lib/provider/bridge/bridge-provider.js +118 -138
  23. package/lib/provider/injected/injected-provider.js +93 -89
  24. package/lib/storage/bridge-connection-storage.js +86 -112
  25. package/lib/storage/default-storage.js +24 -21
  26. package/lib/storage/http-bridge-gateway-storage.js +28 -32
  27. package/lib/ton-connect.js +123 -165
  28. package/lib/utils/options.js +5 -5
  29. package/lib/utils/web-api.js +10 -10
  30. package/lib/wallets-list-manager.js +59 -73
  31. package/package.json +2 -2
@@ -1,13 +1,21 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.BridgeGateway = void 0;
4
- var tslib_1 = require("tslib");
5
- var protocol_1 = require("@tonconnect/protocol");
6
- var errors_1 = require("../../errors");
7
- var http_bridge_gateway_storage_1 = require("../../storage/http-bridge-gateway-storage");
8
- var url_1 = require("../../utils/url");
9
- var BridgeGateway = /** @class */ (function () {
10
- function BridgeGateway(storage, bridgeUrl, sessionId, listener, errorsListener) {
13
+ const protocol_1 = require("@tonconnect/protocol");
14
+ const errors_1 = require("../../errors");
15
+ const http_bridge_gateway_storage_1 = require("../../storage/http-bridge-gateway-storage");
16
+ const url_1 = require("../../utils/url");
17
+ class BridgeGateway {
18
+ constructor(storage, bridgeUrl, sessionId, listener, errorsListener) {
11
19
  this.bridgeUrl = bridgeUrl;
12
20
  this.sessionId = sessionId;
13
21
  this.listener = listener;
@@ -18,88 +26,61 @@ var BridgeGateway = /** @class */ (function () {
18
26
  this.isClosed = false;
19
27
  this.bridgeGatewayStorage = new http_bridge_gateway_storage_1.HttpBridgeGatewayStorage(storage);
20
28
  }
21
- BridgeGateway.prototype.registerSession = function () {
22
- return tslib_1.__awaiter(this, void 0, void 0, function () {
23
- var url, lastEventId;
24
- var _this = this;
25
- return tslib_1.__generator(this, function (_a) {
26
- switch (_a.label) {
27
- case 0:
28
- url = new URL((0, url_1.addPathToUrl)(this.bridgeUrl, this.ssePath));
29
- url.searchParams.append('client_id', this.sessionId);
30
- return [4 /*yield*/, this.bridgeGatewayStorage.getLastEventId()];
31
- case 1:
32
- lastEventId = _a.sent();
33
- if (lastEventId) {
34
- url.searchParams.append('last_event_id', lastEventId);
35
- }
36
- this.eventSource = new EventSource(url);
37
- return [2 /*return*/, new Promise(function (resolve, reject) {
38
- _this.eventSource.onerror = reject;
39
- _this.eventSource.onopen = function () {
40
- _this.eventSource.onerror = _this.errorsHandler.bind(_this);
41
- _this.eventSource.onmessage = _this.messagesHandler.bind(_this);
42
- resolve();
43
- };
44
- })];
45
- }
29
+ registerSession() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const url = new URL((0, url_1.addPathToUrl)(this.bridgeUrl, this.ssePath));
32
+ url.searchParams.append('client_id', this.sessionId);
33
+ const lastEventId = yield this.bridgeGatewayStorage.getLastEventId();
34
+ if (lastEventId) {
35
+ url.searchParams.append('last_event_id', lastEventId);
36
+ }
37
+ this.eventSource = new EventSource(url);
38
+ return new Promise((resolve, reject) => {
39
+ this.eventSource.onerror = reject;
40
+ this.eventSource.onopen = () => {
41
+ this.eventSource.onerror = this.errorsHandler.bind(this);
42
+ this.eventSource.onmessage = this.messagesHandler.bind(this);
43
+ resolve();
44
+ };
46
45
  });
47
46
  });
48
- };
49
- BridgeGateway.prototype.send = function (message, receiver, ttl) {
50
- return tslib_1.__awaiter(this, void 0, void 0, function () {
51
- var url;
52
- return tslib_1.__generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- url = new URL((0, url_1.addPathToUrl)(this.bridgeUrl, this.postPath));
56
- url.searchParams.append('client_id', this.sessionId);
57
- url.searchParams.append('to', receiver);
58
- url.searchParams.append('ttl', (ttl || this.defaultTtl).toString());
59
- return [4 /*yield*/, fetch(url, {
60
- method: 'post',
61
- body: protocol_1.Base64.encode(message)
62
- })];
63
- case 1:
64
- _a.sent();
65
- return [2 /*return*/];
66
- }
47
+ }
48
+ send(message, receiver, ttl) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const url = new URL((0, url_1.addPathToUrl)(this.bridgeUrl, this.postPath));
51
+ url.searchParams.append('client_id', this.sessionId);
52
+ url.searchParams.append('to', receiver);
53
+ url.searchParams.append('ttl', (ttl || this.defaultTtl).toString());
54
+ yield fetch(url, {
55
+ method: 'post',
56
+ body: protocol_1.Base64.encode(message)
67
57
  });
68
58
  });
69
- };
70
- BridgeGateway.prototype.close = function () {
59
+ }
60
+ close() {
71
61
  var _a;
72
62
  this.isClosed = true;
73
63
  (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();
74
- };
75
- BridgeGateway.prototype.errorsHandler = function (e) {
64
+ }
65
+ errorsHandler(e) {
76
66
  if (!this.isClosed) {
77
67
  this.errorsListener(e);
78
68
  }
79
- };
80
- BridgeGateway.prototype.messagesHandler = function (e) {
81
- return tslib_1.__awaiter(this, void 0, void 0, function () {
82
- var bridgeIncomingMessage;
83
- return tslib_1.__generator(this, function (_a) {
84
- switch (_a.label) {
85
- case 0: return [4 /*yield*/, this.bridgeGatewayStorage.storeLastEventId(e.lastEventId)];
86
- case 1:
87
- _a.sent();
88
- if (!this.isClosed) {
89
- bridgeIncomingMessage = void 0;
90
- try {
91
- bridgeIncomingMessage = JSON.parse(e.data);
92
- }
93
- catch (e) {
94
- throw new errors_1.TonConnectError("Bridge message parse failed, message ".concat(e.data));
95
- }
96
- this.listener(bridgeIncomingMessage);
97
- }
98
- return [2 /*return*/];
69
+ }
70
+ messagesHandler(e) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId);
73
+ if (!this.isClosed) {
74
+ let bridgeIncomingMessage;
75
+ try {
76
+ bridgeIncomingMessage = JSON.parse(e.data);
99
77
  }
100
- });
78
+ catch (e) {
79
+ throw new errors_1.TonConnectError(`Bridge message parse failed, message ${e.data}`);
80
+ }
81
+ this.listener(bridgeIncomingMessage);
82
+ }
101
83
  });
102
- };
103
- return BridgeGateway;
104
- }());
84
+ }
85
+ }
105
86
  exports.BridgeGateway = BridgeGateway;
@@ -1,14 +1,45 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
2
34
  Object.defineProperty(exports, "__esModule", { value: true });
3
35
  exports.BridgeProvider = void 0;
4
- var tslib_1 = require("tslib");
5
- var protocol_1 = require("@tonconnect/protocol");
6
- var ton_connect_error_1 = require("../../errors/ton-connect.error");
7
- var bridge_gateway_1 = require("./bridge-gateway");
8
- var bridge_connection_storage_1 = require("../../storage/bridge-connection-storage");
9
- var protocol = tslib_1.__importStar(require("../../resources/protocol.json"));
10
- var BridgeProvider = /** @class */ (function () {
11
- function BridgeProvider(storage, walletConnectionSource) {
36
+ const protocol_1 = require("@tonconnect/protocol");
37
+ const ton_connect_error_1 = require("../../errors/ton-connect.error");
38
+ const bridge_gateway_1 = require("./bridge-gateway");
39
+ const bridge_connection_storage_1 = require("../../storage/bridge-connection-storage");
40
+ const protocol = __importStar(require("../../resources/protocol.json"));
41
+ class BridgeProvider {
42
+ constructor(storage, walletConnectionSource) {
12
43
  this.storage = storage;
13
44
  this.walletConnectionSource = walletConnectionSource;
14
45
  this.type = 'http';
@@ -19,166 +50,115 @@ var BridgeProvider = /** @class */ (function () {
19
50
  this.listeners = [];
20
51
  this.connectionStorage = new bridge_connection_storage_1.BridgeConnectionStorage(storage);
21
52
  }
22
- BridgeProvider.fromStorage = function (storage) {
23
- return tslib_1.__awaiter(this, void 0, void 0, function () {
24
- var bridgeConnectionStorage, connection;
25
- return tslib_1.__generator(this, function (_a) {
26
- switch (_a.label) {
27
- case 0:
28
- bridgeConnectionStorage = new bridge_connection_storage_1.BridgeConnectionStorage(storage);
29
- return [4 /*yield*/, bridgeConnectionStorage.getHttpConnection()];
30
- case 1:
31
- connection = _a.sent();
32
- return [2 /*return*/, new BridgeProvider(storage, connection.session.walletConnectionSource)];
33
- }
34
- });
53
+ static fromStorage(storage) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const bridgeConnectionStorage = new bridge_connection_storage_1.BridgeConnectionStorage(storage);
56
+ const connection = yield bridgeConnectionStorage.getHttpConnection();
57
+ return new BridgeProvider(storage, connection.session.walletConnectionSource);
35
58
  });
36
- };
37
- BridgeProvider.prototype.connect = function (message) {
59
+ }
60
+ connect(message) {
38
61
  var _a;
39
62
  (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();
40
- var sessionCrypto = new protocol_1.SessionCrypto();
63
+ const sessionCrypto = new protocol_1.SessionCrypto();
41
64
  this.session = {
42
- sessionCrypto: sessionCrypto,
65
+ sessionCrypto,
43
66
  walletConnectionSource: this.walletConnectionSource
44
67
  };
45
68
  this.bridge = new bridge_gateway_1.BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));
46
69
  this.bridge.registerSession();
47
70
  return this.generateUniversalLink(message);
48
- };
49
- BridgeProvider.prototype.restoreConnection = function () {
71
+ }
72
+ restoreConnection() {
50
73
  var _a;
51
- return tslib_1.__awaiter(this, void 0, void 0, function () {
52
- var storedConnection;
53
- return tslib_1.__generator(this, function (_b) {
54
- switch (_b.label) {
55
- case 0:
56
- (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();
57
- return [4 /*yield*/, this.connectionStorage.getHttpConnection()];
58
- case 1:
59
- storedConnection = _b.sent();
60
- if (!storedConnection) {
61
- return [2 /*return*/];
62
- }
63
- this.session = storedConnection.session;
64
- this.bridge = new bridge_gateway_1.BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));
65
- return [4 /*yield*/, this.bridge.registerSession()];
66
- case 2:
67
- _b.sent();
68
- this.listeners.forEach(function (listener) { return listener(storedConnection.connectEvent); });
69
- return [2 /*return*/];
70
- }
71
- });
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();
76
+ const storedConnection = yield this.connectionStorage.getHttpConnection();
77
+ if (!storedConnection) {
78
+ return;
79
+ }
80
+ this.session = storedConnection.session;
81
+ this.bridge = new bridge_gateway_1.BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));
82
+ yield this.bridge.registerSession();
83
+ this.listeners.forEach(listener => listener(storedConnection.connectEvent));
72
84
  });
73
- };
74
- BridgeProvider.prototype.sendRequest = function (request) {
75
- var _this = this;
76
- return new Promise(function (resolve, reject) {
77
- var id = _this.nextRequestId;
78
- _this.nextRequestId++;
79
- if (!_this.bridge || !_this.session || !('walletPublicKey' in _this.session)) {
85
+ }
86
+ sendRequest(request) {
87
+ return new Promise((resolve, reject) => {
88
+ const id = this.nextRequestId;
89
+ this.nextRequestId++;
90
+ if (!this.bridge || !this.session || !('walletPublicKey' in this.session)) {
80
91
  throw new ton_connect_error_1.TonConnectError('Trying to send bridge request without session');
81
92
  }
82
- var encodedRequest = _this.session.sessionCrypto.encrypt(JSON.stringify(tslib_1.__assign(tslib_1.__assign({}, request), { id: id })), (0, protocol_1.hexToByteArray)(_this.session.walletPublicKey));
83
- _this.bridge.send(encodedRequest, _this.session.walletPublicKey).catch(reject);
84
- _this.pendingRequests.set(id.toString(), resolve);
93
+ const encodedRequest = this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({}, request), { id })), (0, protocol_1.hexToByteArray)(this.session.walletPublicKey));
94
+ this.bridge.send(encodedRequest, this.session.walletPublicKey).catch(reject);
95
+ this.pendingRequests.set(id.toString(), resolve);
85
96
  });
86
- };
87
- BridgeProvider.prototype.closeConnection = function () {
97
+ }
98
+ closeConnection() {
88
99
  var _a;
89
100
  (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();
90
101
  this.listeners = [];
91
- };
92
- BridgeProvider.prototype.disconnect = function () {
102
+ }
103
+ disconnect() {
93
104
  var _a;
94
105
  (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();
95
106
  this.listeners = [];
96
107
  return this.removeBridgeAndSession();
97
- };
98
- BridgeProvider.prototype.listen = function (callback) {
99
- var _this = this;
108
+ }
109
+ listen(callback) {
100
110
  this.listeners.push(callback);
101
- return function () { return (_this.listeners = _this.listeners.filter(function (listener) { return listener !== callback; })); };
102
- };
103
- BridgeProvider.prototype.gatewayListener = function (bridgeIncomingMessage) {
104
- return tslib_1.__awaiter(this, void 0, void 0, function () {
105
- var walletMessage, id, resolve;
106
- return tslib_1.__generator(this, function (_a) {
107
- switch (_a.label) {
108
- case 0:
109
- walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(protocol_1.Base64.decode(bridgeIncomingMessage.message).toUint8Array(), (0, protocol_1.hexToByteArray)(bridgeIncomingMessage.from)));
110
- if (!('event' in walletMessage)) {
111
- id = walletMessage.id.toString();
112
- resolve = this.pendingRequests.get(id);
113
- if (!resolve) {
114
- throw new ton_connect_error_1.TonConnectError("Response id ".concat(id, " doesn't match any request's id"));
115
- }
116
- resolve(walletMessage);
117
- this.pendingRequests.delete(id);
118
- return [2 /*return*/];
119
- }
120
- if (!(walletMessage.event === 'connect')) return [3 /*break*/, 2];
121
- return [4 /*yield*/, this.updateSession(walletMessage, bridgeIncomingMessage.from)];
122
- case 1:
123
- _a.sent();
124
- _a.label = 2;
125
- case 2:
126
- this.listeners.forEach(function (listener) { return listener(walletMessage); });
127
- return [2 /*return*/];
111
+ return () => (this.listeners = this.listeners.filter(listener => listener !== callback));
112
+ }
113
+ gatewayListener(bridgeIncomingMessage) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(protocol_1.Base64.decode(bridgeIncomingMessage.message).toUint8Array(), (0, protocol_1.hexToByteArray)(bridgeIncomingMessage.from)));
116
+ if (!('event' in walletMessage)) {
117
+ const id = walletMessage.id.toString();
118
+ const resolve = this.pendingRequests.get(id);
119
+ if (!resolve) {
120
+ throw new ton_connect_error_1.TonConnectError(`Response id ${id} doesn't match any request's id`);
128
121
  }
129
- });
122
+ resolve(walletMessage);
123
+ this.pendingRequests.delete(id);
124
+ return;
125
+ }
126
+ if (walletMessage.event === 'connect') {
127
+ yield this.updateSession(walletMessage, bridgeIncomingMessage.from);
128
+ }
129
+ this.listeners.forEach(listener => listener(walletMessage));
130
130
  });
131
- };
132
- BridgeProvider.prototype.gatewayErrorsListener = function (e) {
133
- return tslib_1.__awaiter(this, void 0, void 0, function () {
134
- return tslib_1.__generator(this, function (_a) {
135
- throw new ton_connect_error_1.TonConnectError("Bridge error ".concat(e));
136
- });
131
+ }
132
+ gatewayErrorsListener(e) {
133
+ return __awaiter(this, void 0, void 0, function* () {
134
+ throw new ton_connect_error_1.TonConnectError(`Bridge error ${e}`);
137
135
  });
138
- };
139
- BridgeProvider.prototype.updateSession = function (connectEvent, walletPublicKey) {
140
- return tslib_1.__awaiter(this, void 0, void 0, function () {
141
- var tonAddrItem, connectEventToSave;
142
- return tslib_1.__generator(this, function (_a) {
143
- switch (_a.label) {
144
- case 0:
145
- this.session = tslib_1.__assign(tslib_1.__assign({}, this.session), { walletPublicKey: walletPublicKey });
146
- tonAddrItem = connectEvent.payload.items.find(function (item) { return item.name === 'ton_addr'; });
147
- connectEventToSave = tslib_1.__assign(tslib_1.__assign({}, connectEvent), { payload: tslib_1.__assign(tslib_1.__assign({}, connectEvent.payload), { items: [tonAddrItem] }) });
148
- return [4 /*yield*/, this.connectionStorage.storeConnection({
149
- type: 'http',
150
- session: this.session,
151
- connectEvent: connectEventToSave
152
- })];
153
- case 1:
154
- _a.sent();
155
- return [2 /*return*/];
156
- }
136
+ }
137
+ updateSession(connectEvent, walletPublicKey) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ this.session = Object.assign(Object.assign({}, this.session), { walletPublicKey });
140
+ const tonAddrItem = connectEvent.payload.items.find(item => item.name === 'ton_addr');
141
+ const connectEventToSave = Object.assign(Object.assign({}, connectEvent), { payload: Object.assign(Object.assign({}, connectEvent.payload), { items: [tonAddrItem] }) });
142
+ yield this.connectionStorage.storeConnection({
143
+ type: 'http',
144
+ session: this.session,
145
+ connectEvent: connectEventToSave
157
146
  });
158
147
  });
159
- };
160
- BridgeProvider.prototype.removeBridgeAndSession = function () {
161
- return tslib_1.__awaiter(this, void 0, void 0, function () {
162
- return tslib_1.__generator(this, function (_a) {
163
- switch (_a.label) {
164
- case 0:
165
- this.session = null;
166
- this.bridge = null;
167
- return [4 /*yield*/, this.connectionStorage.removeConnection()];
168
- case 1:
169
- _a.sent();
170
- return [2 /*return*/];
171
- }
172
- });
148
+ }
149
+ removeBridgeAndSession() {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ this.session = null;
152
+ this.bridge = null;
153
+ yield this.connectionStorage.removeConnection();
173
154
  });
174
- };
175
- BridgeProvider.prototype.generateUniversalLink = function (message) {
176
- var url = new URL(this.walletConnectionSource.universalLink);
155
+ }
156
+ generateUniversalLink(message) {
157
+ const url = new URL(this.walletConnectionSource.universalLink);
177
158
  url.searchParams.append('v', protocol.version.toString());
178
159
  url.searchParams.append('id', this.session.sessionCrypto.sessionId);
179
160
  url.searchParams.append('r', protocol_1.Base64.encode(JSON.stringify(message), true));
180
161
  return url.toString();
181
- };
182
- return BridgeProvider;
183
- }());
162
+ }
163
+ }
184
164
  exports.BridgeProvider = BridgeProvider;