@tonconnect/sdk 0.0.8 → 0.0.10
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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BridgeGateway = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var protocol_1 = require("@tonconnect/protocol");
|
|
5
6
|
var errors_1 = require("../../errors");
|
|
6
7
|
var url_1 = require("../../utils/url");
|
|
7
8
|
var BridgeGateway = /** @class */ (function () {
|
|
@@ -46,7 +47,7 @@ var BridgeGateway = /** @class */ (function () {
|
|
|
46
47
|
url.searchParams.append('ttl', (ttl || this.defaultTtl).toString());
|
|
47
48
|
return [4 /*yield*/, fetch(url, {
|
|
48
49
|
method: 'post',
|
|
49
|
-
body: message
|
|
50
|
+
body: protocol_1.Base64.encode(message)
|
|
50
51
|
})];
|
|
51
52
|
case 1:
|
|
52
53
|
_a.sent();
|
|
@@ -65,7 +65,7 @@ var BridgeProvider = /** @class */ (function () {
|
|
|
65
65
|
if (!_this.bridge || !_this.session || !('walletPublicKey' in _this.session)) {
|
|
66
66
|
throw new ton_connect_error_1.TonConnectError('Trying to send bridge request without session');
|
|
67
67
|
}
|
|
68
|
-
var encodedRequest = _this.session.sessionCrypto.encrypt(JSON.stringify(request), (0, protocol_1.hexToByteArray)(_this.session.walletPublicKey));
|
|
68
|
+
var encodedRequest = _this.session.sessionCrypto.encrypt(JSON.stringify(tslib_1.__assign(tslib_1.__assign({}, request), { id: id })), (0, protocol_1.hexToByteArray)(_this.session.walletPublicKey));
|
|
69
69
|
_this.bridge.send(encodedRequest, _this.session.walletPublicKey).catch(reject);
|
|
70
70
|
_this.pendingRequests.set(id.toString(), resolve);
|
|
71
71
|
});
|
|
@@ -88,18 +88,19 @@ var BridgeProvider = /** @class */ (function () {
|
|
|
88
88
|
};
|
|
89
89
|
BridgeProvider.prototype.gatewayListener = function (bridgeIncomingMessage) {
|
|
90
90
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
91
|
-
var walletMessage, resolve;
|
|
91
|
+
var walletMessage, id, resolve;
|
|
92
92
|
return tslib_1.__generator(this, function (_a) {
|
|
93
93
|
switch (_a.label) {
|
|
94
94
|
case 0:
|
|
95
95
|
walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(protocol_1.Base64.decode(bridgeIncomingMessage.message).toUint8Array(), (0, protocol_1.hexToByteArray)(bridgeIncomingMessage.from)));
|
|
96
96
|
if (!('event' in walletMessage)) {
|
|
97
|
-
|
|
97
|
+
id = walletMessage.id.toString();
|
|
98
|
+
resolve = this.pendingRequests.get(id);
|
|
98
99
|
if (!resolve) {
|
|
99
|
-
throw new ton_connect_error_1.TonConnectError("Response id ".concat(
|
|
100
|
+
throw new ton_connect_error_1.TonConnectError("Response id ".concat(id, " doesn't match any request's id"));
|
|
100
101
|
}
|
|
101
102
|
resolve(walletMessage);
|
|
102
|
-
this.pendingRequests.delete(
|
|
103
|
+
this.pendingRequests.delete(id);
|
|
103
104
|
return [2 /*return*/];
|
|
104
105
|
}
|
|
105
106
|
if (!(walletMessage.event === 'connect')) return [3 /*break*/, 2];
|