@tonconnect/sdk 0.0.43 → 0.0.45
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.
- package/README.md +7 -6
- package/dist/tonconnect-sdk.min.js +1 -1
- package/dist/tonconnect-sdk.min.js.map +1 -1
- package/lib/cjs/errors/address/index.js +5 -0
- package/lib/cjs/errors/address/wrong-address.error.js +11 -0
- package/lib/cjs/errors/binary/base64-encode.error.js +11 -0
- package/lib/cjs/errors/binary/index.js +7 -0
- package/lib/cjs/errors/binary/parse-hex.error.js +11 -0
- package/lib/{errors → cjs/errors}/dapp/dapp-metadata.error.js +0 -0
- package/lib/{errors → cjs/errors}/index.js +2 -0
- package/lib/{errors → cjs/errors}/protocol/events/connect/index.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/events/connect/manifest-content-error.error.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/events/connect/manifest-not-found.error.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/events/connect/user-rejects.error.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/events/index.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/index.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/responses/bad-request.error.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/responses/index.js +0 -0
- package/lib/{errors → cjs/errors}/protocol/responses/unknown-app.error.js +0 -0
- package/lib/{errors → cjs/errors}/storage/index.js +0 -0
- package/lib/{errors → cjs/errors}/storage/localstorage-not-found.error.js +0 -0
- package/lib/{errors → cjs/errors}/ton-connect.error.js +0 -0
- package/lib/{errors → cjs/errors}/unknown.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallet/index.js +0 -0
- package/lib/{errors → cjs/errors}/wallet/wallet-already-connected.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallet/wallet-not-connected.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallet/wallet-not-injected.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallet/wallet-not-support-feature.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallets-manager/fetch-wallets.error.js +0 -0
- package/lib/{errors → cjs/errors}/wallets-manager/index.js +0 -0
- package/lib/{index.js → cjs/index.js} +3 -1
- package/lib/{models → cjs/models}/dapp/dapp-metadata.js +0 -0
- package/lib/{models → cjs/models}/index.js +0 -0
- package/lib/{models → cjs/models}/methods/connect/connect-additional-request.js +0 -0
- package/lib/{models → cjs/models}/methods/connect/index.js +0 -0
- package/lib/{models → cjs/models}/methods/index.js +0 -0
- package/lib/{models → cjs/models}/methods/send-transaction/index.js +0 -0
- package/lib/{models → cjs/models}/methods/send-transaction/send-transaction-request.js +0 -0
- package/lib/{models → cjs/models}/methods/send-transaction/send-transaction-response.js +0 -0
- package/lib/{models → cjs/models}/ton-connect-options.js +0 -0
- package/lib/{models → cjs/models}/wallet/account.js +0 -0
- package/lib/{models → cjs/models}/wallet/index.js +0 -0
- package/lib/{models → cjs/models}/wallet/wallet-connection-source.js +0 -0
- package/lib/{models → cjs/models}/wallet/wallet-info.js +0 -0
- package/lib/{models → cjs/models}/wallet/wallet.js +0 -0
- package/lib/{parsers → cjs/parsers}/connect-errors-parser.js +0 -0
- package/lib/{parsers → cjs/parsers}/rpc-parser.js +0 -0
- package/lib/{parsers → cjs/parsers}/send-transaction-parser.js +2 -3
- package/lib/{provider → cjs/provider}/bridge/bridge-gateway.js +14 -0
- package/lib/{provider → cjs/provider}/bridge/bridge-provider.js +2 -25
- package/lib/{provider → cjs/provider}/bridge/models/bridge-connection.js +0 -0
- package/lib/{provider → cjs/provider}/bridge/models/bridge-incomming-message.js +0 -0
- package/lib/{provider → cjs/provider}/bridge/models/bridge-session-raw.js +0 -0
- package/lib/{provider → cjs/provider}/bridge/models/bridge-session.js +0 -0
- package/lib/{provider → cjs/provider}/injected/injected-provider.js +2 -25
- package/lib/{provider → cjs/provider}/injected/models/injected-wallet-api.js +0 -0
- package/lib/{provider → cjs/provider}/provider.js +0 -0
- package/lib/cjs/resources/protocol.js +4 -0
- package/lib/{storage → cjs/storage}/bridge-connection-storage.js +0 -0
- package/lib/{storage → cjs/storage}/default-storage.js +0 -0
- package/lib/{storage → cjs/storage}/http-bridge-gateway-storage.js +0 -0
- package/lib/{storage → cjs/storage}/models/storage.interface.js +0 -0
- package/lib/{ton-connect.interface.js → cjs/ton-connect.interface.js} +0 -0
- package/lib/{ton-connect.js → cjs/ton-connect.js} +3 -5
- package/lib/cjs/utils/address.js +87 -0
- package/lib/{utils → cjs/utils}/options.js +0 -0
- package/lib/{utils → cjs/utils}/types.js +0 -0
- package/lib/{utils → cjs/utils}/url.js +0 -0
- package/lib/{utils → cjs/utils}/web-api.js +0 -0
- package/lib/{wallets-list-manager.js → cjs/wallets-list-manager.js} +40 -16
- package/lib/esm/errors/address/index.js +1 -0
- package/lib/esm/errors/address/wrong-address.error.js +7 -0
- package/lib/esm/errors/binary/base64-encode.error.js +7 -0
- package/lib/esm/errors/binary/index.js +2 -0
- package/lib/esm/errors/binary/parse-hex.error.js +7 -0
- package/lib/esm/errors/dapp/dapp-metadata.error.js +10 -0
- package/lib/esm/errors/index.js +8 -0
- package/lib/{errors/protocol/events/connect/index.d.ts → esm/errors/protocol/events/connect/index.js} +0 -0
- package/lib/esm/errors/protocol/events/connect/manifest-content-error.error.js +11 -0
- package/lib/esm/errors/protocol/events/connect/manifest-not-found.error.js +11 -0
- package/lib/esm/errors/protocol/events/connect/user-rejects.error.js +10 -0
- package/lib/{errors/protocol/events/index.d.ts → esm/errors/protocol/events/index.js} +0 -0
- package/lib/{errors/protocol/index.d.ts → esm/errors/protocol/index.js} +0 -0
- package/lib/esm/errors/protocol/responses/bad-request.error.js +10 -0
- package/lib/{errors/protocol/responses/index.d.ts → esm/errors/protocol/responses/index.js} +0 -0
- package/lib/esm/errors/protocol/responses/unknown-app.error.js +10 -0
- package/lib/{errors/storage/index.d.ts → esm/errors/storage/index.js} +0 -0
- package/lib/esm/errors/storage/localstorage-not-found.error.js +10 -0
- package/lib/esm/errors/ton-connect.error.js +13 -0
- package/lib/esm/errors/unknown.error.js +10 -0
- package/lib/{errors/wallet/index.d.ts → esm/errors/wallet/index.js} +0 -0
- package/lib/esm/errors/wallet/wallet-already-connected.error.js +10 -0
- package/lib/esm/errors/wallet/wallet-not-connected.error.js +10 -0
- package/lib/esm/errors/wallet/wallet-not-injected.error.js +10 -0
- package/lib/esm/errors/wallet/wallet-not-support-feature.error.js +10 -0
- package/lib/esm/errors/wallets-manager/fetch-wallets.error.js +10 -0
- package/lib/{errors/wallets-manager/index.d.ts → esm/errors/wallets-manager/index.js} +0 -0
- package/lib/esm/index.js +6 -0
- package/lib/esm/models/dapp/dapp-metadata.js +1 -0
- package/lib/esm/models/index.js +2 -0
- package/lib/esm/models/methods/connect/connect-additional-request.js +1 -0
- package/lib/esm/models/methods/connect/index.js +1 -0
- package/lib/{models/methods/index.d.ts → esm/models/methods/index.js} +0 -0
- package/lib/esm/models/methods/send-transaction/index.js +1 -0
- package/lib/esm/models/methods/send-transaction/send-transaction-request.js +1 -0
- package/lib/esm/models/methods/send-transaction/send-transaction-response.js +1 -0
- package/lib/esm/models/ton-connect-options.js +1 -0
- package/lib/esm/models/wallet/account.js +1 -0
- package/lib/esm/models/wallet/index.js +1 -0
- package/lib/esm/models/wallet/wallet-connection-source.js +3 -0
- package/lib/esm/models/wallet/wallet-info.js +3 -0
- package/lib/esm/models/wallet/wallet.js +1 -0
- package/lib/esm/parsers/connect-errors-parser.js +23 -0
- package/lib/esm/parsers/rpc-parser.js +5 -0
- package/lib/esm/parsers/send-transaction-parser.js +31 -0
- package/lib/esm/provider/bridge/bridge-gateway.js +105 -0
- package/lib/esm/provider/bridge/bridge-provider.js +140 -0
- package/lib/esm/provider/bridge/models/bridge-connection.js +1 -0
- package/lib/esm/provider/bridge/models/bridge-incomming-message.js +1 -0
- package/lib/esm/provider/bridge/models/bridge-session-raw.js +1 -0
- package/lib/esm/provider/bridge/models/bridge-session.js +1 -0
- package/lib/esm/provider/injected/injected-provider.js +121 -0
- package/lib/esm/provider/injected/models/injected-wallet-api.js +1 -0
- package/lib/esm/provider/provider.js +1 -0
- package/lib/esm/resources/protocol.js +1 -0
- package/lib/esm/storage/bridge-connection-storage.js +96 -0
- package/lib/esm/storage/default-storage.js +35 -0
- package/lib/esm/storage/http-bridge-gateway-storage.js +34 -0
- package/lib/esm/storage/models/storage.interface.js +1 -0
- package/lib/esm/ton-connect.interface.js +1 -0
- package/lib/esm/ton-connect.js +252 -0
- package/lib/esm/utils/address.js +83 -0
- package/lib/esm/utils/options.js +8 -0
- package/lib/esm/utils/types.js +1 -0
- package/lib/esm/utils/url.js +9 -0
- package/lib/esm/utils/web-api.js +20 -0
- package/lib/esm/wallets-list-manager.js +115 -0
- package/lib/types/errors/address/index.d.ts +1 -0
- package/lib/types/errors/address/wrong-address.error.d.ts +4 -0
- package/lib/types/errors/binary/base64-encode.error.d.ts +4 -0
- package/lib/types/errors/binary/index.d.ts +2 -0
- package/lib/types/errors/binary/parse-hex.error.d.ts +4 -0
- package/lib/{errors → types/errors}/dapp/dapp-metadata.error.d.ts +0 -0
- package/lib/{errors → types/errors}/index.d.ts +2 -0
- package/lib/types/errors/protocol/events/connect/index.d.ts +1 -0
- package/lib/{errors → types/errors}/protocol/events/connect/manifest-content-error.error.d.ts +0 -0
- package/lib/{errors → types/errors}/protocol/events/connect/manifest-not-found.error.d.ts +0 -0
- package/lib/{errors → types/errors}/protocol/events/connect/user-rejects.error.d.ts +0 -0
- package/lib/types/errors/protocol/events/index.d.ts +1 -0
- package/lib/types/errors/protocol/index.d.ts +2 -0
- package/lib/{errors → types/errors}/protocol/responses/bad-request.error.d.ts +0 -0
- package/lib/types/errors/protocol/responses/index.d.ts +2 -0
- package/lib/{errors → types/errors}/protocol/responses/unknown-app.error.d.ts +0 -0
- package/lib/types/errors/storage/index.d.ts +1 -0
- package/lib/{errors → types/errors}/storage/localstorage-not-found.error.d.ts +0 -0
- package/lib/{errors → types/errors}/ton-connect.error.d.ts +0 -0
- package/lib/{errors → types/errors}/unknown.error.d.ts +0 -0
- package/lib/types/errors/wallet/index.d.ts +3 -0
- package/lib/{errors → types/errors}/wallet/wallet-already-connected.error.d.ts +0 -0
- package/lib/{errors → types/errors}/wallet/wallet-not-connected.error.d.ts +0 -0
- package/lib/{errors → types/errors}/wallet/wallet-not-injected.error.d.ts +0 -0
- package/lib/{errors → types/errors}/wallet/wallet-not-support-feature.error.d.ts +0 -0
- package/lib/{errors → types/errors}/wallets-manager/fetch-wallets.error.d.ts +0 -0
- package/lib/types/errors/wallets-manager/index.d.ts +1 -0
- package/lib/{index.d.ts → types/index.d.ts} +1 -0
- package/lib/{models → types/models}/dapp/dapp-metadata.d.ts +0 -0
- package/lib/{models → types/models}/index.d.ts +0 -0
- package/lib/types/models/methods/connect/connect-additional-request.d.ts +6 -0
- package/lib/{models → types/models}/methods/connect/index.d.ts +0 -0
- package/lib/types/models/methods/index.d.ts +2 -0
- package/lib/{models → types/models}/methods/send-transaction/index.d.ts +0 -1
- package/lib/{models → types/models}/methods/send-transaction/send-transaction-request.d.ts +0 -0
- package/lib/{models → types/models}/methods/send-transaction/send-transaction-response.d.ts +0 -0
- package/lib/{models → types/models}/ton-connect-options.d.ts +0 -0
- package/lib/{models → types/models}/wallet/account.d.ts +0 -0
- package/lib/{models → types/models}/wallet/index.d.ts +0 -0
- package/lib/{models → types/models}/wallet/wallet-connection-source.d.ts +0 -0
- package/lib/{models → types/models}/wallet/wallet-info.d.ts +14 -7
- package/lib/{models → types/models}/wallet/wallet.d.ts +0 -0
- package/lib/{parsers → types/parsers}/connect-errors-parser.d.ts +0 -0
- package/lib/{parsers → types/parsers}/rpc-parser.d.ts +0 -0
- package/lib/{parsers → types/parsers}/send-transaction-parser.d.ts +2 -2
- package/lib/{provider → types/provider}/bridge/bridge-gateway.d.ts +1 -0
- package/lib/{provider → types/provider}/bridge/bridge-provider.d.ts +0 -0
- package/lib/{provider → types/provider}/bridge/models/bridge-connection.d.ts +0 -0
- package/lib/{provider → types/provider}/bridge/models/bridge-incomming-message.d.ts +0 -0
- package/lib/{provider → types/provider}/bridge/models/bridge-session-raw.d.ts +0 -0
- package/lib/{provider → types/provider}/bridge/models/bridge-session.d.ts +0 -0
- package/lib/{provider → types/provider}/injected/injected-provider.d.ts +0 -0
- package/lib/{provider → types/provider}/injected/models/injected-wallet-api.d.ts +0 -0
- package/lib/{provider → types/provider}/provider.d.ts +0 -0
- package/lib/types/resources/protocol.d.ts +1 -0
- package/lib/{storage → types/storage}/bridge-connection-storage.d.ts +0 -0
- package/lib/{storage → types/storage}/default-storage.d.ts +0 -0
- package/lib/{storage → types/storage}/http-bridge-gateway-storage.d.ts +0 -0
- package/lib/{storage → types/storage}/models/storage.interface.d.ts +0 -0
- package/lib/{ton-connect.d.ts → types/ton-connect.d.ts} +1 -3
- package/lib/{ton-connect.interface.d.ts → types/ton-connect.interface.d.ts} +1 -3
- package/lib/types/utils/address.d.ts +1 -0
- package/lib/{utils → types/utils}/options.d.ts +0 -0
- package/lib/{utils → types/utils}/types.d.ts +0 -0
- package/lib/{utils → types/utils}/url.d.ts +0 -0
- package/lib/{utils → types/utils}/web-api.d.ts +0 -0
- package/lib/{wallets-list-manager.d.ts → types/wallets-list-manager.d.ts} +0 -0
- package/package.json +15 -6
- package/lib/models/methods/connect/connect-additional-request.d.ts +0 -15
- package/lib/models/methods/send-transaction/send-transaction-options.d.ts +0 -11
- package/lib/models/methods/send-transaction/send-transaction-options.js +0 -2
- package/lib/resources/protocol.json +0 -3
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WrongAddressError = void 0;
|
|
4
|
+
var wrong_address_error_1 = require("./wrong-address.error");
|
|
5
|
+
Object.defineProperty(exports, "WrongAddressError", { enumerable: true, get: function () { return wrong_address_error_1.WrongAddressError; } });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WrongAddressError = void 0;
|
|
4
|
+
const errors_1 = require("..");
|
|
5
|
+
class WrongAddressError extends errors_1.TonConnectError {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
Object.setPrototypeOf(this, WrongAddressError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.WrongAddressError = WrongAddressError;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Base64EncodeError = void 0;
|
|
4
|
+
const errors_1 = require("..");
|
|
5
|
+
class Base64EncodeError extends errors_1.TonConnectError {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
Object.setPrototypeOf(this, Base64EncodeError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.Base64EncodeError = Base64EncodeError;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParseHexError = exports.Base64EncodeError = void 0;
|
|
4
|
+
var base64_encode_error_1 = require("./base64-encode.error");
|
|
5
|
+
Object.defineProperty(exports, "Base64EncodeError", { enumerable: true, get: function () { return base64_encode_error_1.Base64EncodeError; } });
|
|
6
|
+
var parse_hex_error_1 = require("./parse-hex.error");
|
|
7
|
+
Object.defineProperty(exports, "ParseHexError", { enumerable: true, get: function () { return parse_hex_error_1.ParseHexError; } });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParseHexError = void 0;
|
|
4
|
+
const errors_1 = require("..");
|
|
5
|
+
class ParseHexError extends errors_1.TonConnectError {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
Object.setPrototypeOf(this, ParseHexError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ParseHexError = ParseHexError;
|
|
File without changes
|
|
@@ -19,6 +19,8 @@ __exportStar(require("./protocol"), exports);
|
|
|
19
19
|
__exportStar(require("./wallet"), exports);
|
|
20
20
|
__exportStar(require("./storage"), exports);
|
|
21
21
|
__exportStar(require("./wallets-manager"), exports);
|
|
22
|
+
__exportStar(require("./address"), exports);
|
|
23
|
+
__exportStar(require("./binary"), exports);
|
|
22
24
|
var ton_connect_error_1 = require("./ton-connect.error");
|
|
23
25
|
Object.defineProperty(exports, "TonConnectError", { enumerable: true, get: function () { return ton_connect_error_1.TonConnectError; } });
|
|
24
26
|
var unknown_error_1 = require("./unknown.error");
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.CHAIN = exports.default = void 0;
|
|
17
|
+
exports.toUserFriendlyAddress = exports.CHAIN = exports.default = void 0;
|
|
18
18
|
__exportStar(require("./ton-connect"), exports);
|
|
19
19
|
__exportStar(require("./models"), exports);
|
|
20
20
|
__exportStar(require("./errors"), exports);
|
|
@@ -22,3 +22,5 @@ var ton_connect_1 = require("./ton-connect");
|
|
|
22
22
|
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return ton_connect_1.TonConnect; } });
|
|
23
23
|
var protocol_1 = require("@tonconnect/protocol");
|
|
24
24
|
Object.defineProperty(exports, "CHAIN", { enumerable: true, get: function () { return protocol_1.CHAIN; } });
|
|
25
|
+
var address_1 = require("./utils/address");
|
|
26
|
+
Object.defineProperty(exports, "toUserFriendlyAddress", { enumerable: true, get: function () { return address_1.toUserFriendlyAddress; } });
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,11 +12,10 @@ const sendTransactionErrors = {
|
|
|
12
12
|
[protocol_1.SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]: errors_1.UnknownAppError
|
|
13
13
|
};
|
|
14
14
|
class SendTransactionParser extends rpc_parser_1.RpcParser {
|
|
15
|
-
convertToRpcRequest(request
|
|
15
|
+
convertToRpcRequest(request) {
|
|
16
16
|
return {
|
|
17
17
|
method: 'sendTransaction',
|
|
18
|
-
params: [JSON.stringify(request)]
|
|
19
|
-
return: returnStrategy
|
|
18
|
+
params: [JSON.stringify(request)]
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
21
|
parseAndThrowError(response) {
|
|
@@ -31,6 +31,7 @@ class BridgeGateway {
|
|
|
31
31
|
this.errorsListener = errorsListener;
|
|
32
32
|
this.ssePath = 'events';
|
|
33
33
|
this.postPath = 'message';
|
|
34
|
+
this.heartbeatMessage = 'heartbeat';
|
|
34
35
|
this.defaultTtl = 300;
|
|
35
36
|
this.isClosed = false;
|
|
36
37
|
this.bridgeGatewayStorage = new http_bridge_gateway_storage_1.HttpBridgeGatewayStorage(storage);
|
|
@@ -72,12 +73,25 @@ class BridgeGateway {
|
|
|
72
73
|
(_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();
|
|
73
74
|
}
|
|
74
75
|
errorsHandler(e) {
|
|
76
|
+
var _a, _b;
|
|
75
77
|
if (!this.isClosed) {
|
|
78
|
+
if (((_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.readyState) === EventSource.CLOSED) {
|
|
79
|
+
this.eventSource.close();
|
|
80
|
+
this.registerSession();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (((_b = this.eventSource) === null || _b === void 0 ? void 0 : _b.readyState) === EventSource.CONNECTING) {
|
|
84
|
+
console.debug('[TON_CONNET_SDK_ERROR]: Bridge error', JSON.stringify(e));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
76
87
|
this.errorsListener(e);
|
|
77
88
|
}
|
|
78
89
|
}
|
|
79
90
|
messagesHandler(e) {
|
|
80
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
if (e.data === this.heartbeatMessage) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
81
95
|
yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId);
|
|
82
96
|
if (!this.isClosed) {
|
|
83
97
|
let bridgeIncomingMessage;
|
|
@@ -1,27 +1,4 @@
|
|
|
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -37,7 +14,7 @@ const protocol_1 = require("@tonconnect/protocol");
|
|
|
37
14
|
const ton_connect_error_1 = require("../../errors/ton-connect.error");
|
|
38
15
|
const bridge_gateway_1 = require("./bridge-gateway");
|
|
39
16
|
const bridge_connection_storage_1 = require("../../storage/bridge-connection-storage");
|
|
40
|
-
const
|
|
17
|
+
const protocol_2 = require("../../resources/protocol");
|
|
41
18
|
class BridgeProvider {
|
|
42
19
|
constructor(storage, walletConnectionSource) {
|
|
43
20
|
this.storage = storage;
|
|
@@ -158,7 +135,7 @@ class BridgeProvider {
|
|
|
158
135
|
}
|
|
159
136
|
generateUniversalLink(message) {
|
|
160
137
|
const url = new URL(this.walletConnectionSource.universalLink);
|
|
161
|
-
url.searchParams.append('v',
|
|
138
|
+
url.searchParams.append('v', protocol_2.PROTOCOL_VERSION.toString());
|
|
162
139
|
url.searchParams.append('id', this.session.sessionCrypto.sessionId);
|
|
163
140
|
url.searchParams.append('r', JSON.stringify(message));
|
|
164
141
|
return url.toString();
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,27 +1,4 @@
|
|
|
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -34,9 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
12
|
exports.InjectedProvider = void 0;
|
|
36
13
|
const wallet_not_injected_error_1 = require("../../errors/wallet/wallet-not-injected.error");
|
|
37
|
-
const protocol = __importStar(require("../../resources/protocol.json"));
|
|
38
14
|
const bridge_connection_storage_1 = require("../../storage/bridge-connection-storage");
|
|
39
15
|
const web_api_1 = require("../../utils/web-api");
|
|
16
|
+
const protocol_1 = require("../../resources/protocol");
|
|
40
17
|
class InjectedProvider {
|
|
41
18
|
constructor(injectedWalletKey) {
|
|
42
19
|
this.type = 'injected';
|
|
@@ -73,7 +50,7 @@ class InjectedProvider {
|
|
|
73
50
|
}
|
|
74
51
|
connect(message, auto = false) {
|
|
75
52
|
this.injectedWallet
|
|
76
|
-
.connect(
|
|
53
|
+
.connect(protocol_1.PROTOCOL_VERSION, message, auto)
|
|
77
54
|
.then(connectEvent => {
|
|
78
55
|
if (connectEvent.event === 'connect') {
|
|
79
56
|
this.makeSubscriptions();
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -140,16 +140,15 @@ class TonConnect {
|
|
|
140
140
|
/**
|
|
141
141
|
* Asks connected wallet to sign and send the transaction.
|
|
142
142
|
* @param transaction transaction to send.
|
|
143
|
-
* @param options request options
|
|
144
143
|
* @returns signed transaction boc that allows you to find the transaction in the blockchain.
|
|
145
144
|
* If user rejects transaction, method will throw the corresponding error.
|
|
146
145
|
*/
|
|
147
|
-
sendTransaction(transaction
|
|
146
|
+
sendTransaction(transaction) {
|
|
148
147
|
return __awaiter(this, void 0, void 0, function* () {
|
|
149
148
|
this.checkConnection();
|
|
150
149
|
this.checkFeatureSupport('SendTransaction');
|
|
151
150
|
const { validUntil } = transaction, tx = __rest(transaction, ["validUntil"]);
|
|
152
|
-
const response = yield this.provider.sendRequest(send_transaction_parser_1.sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })
|
|
151
|
+
const response = yield this.provider.sendRequest(send_transaction_parser_1.sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));
|
|
153
152
|
if (send_transaction_parser_1.sendTransactionParser.isError(response)) {
|
|
154
153
|
return send_transaction_parser_1.sendTransactionParser.parseAndThrowError(response);
|
|
155
154
|
}
|
|
@@ -250,8 +249,7 @@ class TonConnect {
|
|
|
250
249
|
}
|
|
251
250
|
return {
|
|
252
251
|
manifestUrl: this.dappSettings.manifestUrl,
|
|
253
|
-
items
|
|
254
|
-
return: (request === null || request === void 0 ? void 0 : request.return) || 'back'
|
|
252
|
+
items
|
|
255
253
|
};
|
|
256
254
|
}
|
|
257
255
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toUserFriendlyAddress = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const protocol_1 = require("@tonconnect/protocol");
|
|
6
|
+
function toUserFriendlyAddress(hexAddress) {
|
|
7
|
+
const { wc, hex } = parseHexAddress(hexAddress);
|
|
8
|
+
const bounceableTag = 0x11;
|
|
9
|
+
const addr = new Int8Array(34);
|
|
10
|
+
addr[0] = bounceableTag;
|
|
11
|
+
addr[1] = wc;
|
|
12
|
+
addr.set(hex, 2);
|
|
13
|
+
const addressWithChecksum = new Uint8Array(36);
|
|
14
|
+
addressWithChecksum.set(addr);
|
|
15
|
+
addressWithChecksum.set(crc16(addr), 34);
|
|
16
|
+
let addressBase64 = protocol_1.Base64.encode(addressWithChecksum);
|
|
17
|
+
return addressBase64.replace(/\+/g, '-').replace(/\//g, '_');
|
|
18
|
+
}
|
|
19
|
+
exports.toUserFriendlyAddress = toUserFriendlyAddress;
|
|
20
|
+
function parseHexAddress(hexAddress) {
|
|
21
|
+
if (!hexAddress.includes(':')) {
|
|
22
|
+
throw new errors_1.WrongAddressError(`Wrong address ${hexAddress}. Address must include ":".`);
|
|
23
|
+
}
|
|
24
|
+
const parts = hexAddress.split(':');
|
|
25
|
+
if (parts.length !== 2) {
|
|
26
|
+
throw new errors_1.WrongAddressError(`Wrong address ${hexAddress}. Address must include ":" only once.`);
|
|
27
|
+
}
|
|
28
|
+
const wc = parseInt(parts[0]);
|
|
29
|
+
if (wc !== 0 && wc !== -1) {
|
|
30
|
+
throw new errors_1.WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);
|
|
31
|
+
}
|
|
32
|
+
const hex = parts[1];
|
|
33
|
+
if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {
|
|
34
|
+
throw new errors_1.WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
wc,
|
|
38
|
+
hex: hexToBytes(hex)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function crc16(data) {
|
|
42
|
+
const poly = 0x1021;
|
|
43
|
+
let reg = 0;
|
|
44
|
+
const message = new Uint8Array(data.length + 2);
|
|
45
|
+
message.set(data);
|
|
46
|
+
for (let byte of message) {
|
|
47
|
+
let mask = 0x80;
|
|
48
|
+
while (mask > 0) {
|
|
49
|
+
reg <<= 1;
|
|
50
|
+
if (byte & mask) {
|
|
51
|
+
reg += 1;
|
|
52
|
+
}
|
|
53
|
+
mask >>= 1;
|
|
54
|
+
if (reg > 0xffff) {
|
|
55
|
+
reg &= 0xffff;
|
|
56
|
+
reg ^= poly;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return new Uint8Array([Math.floor(reg / 256), reg % 256]);
|
|
61
|
+
}
|
|
62
|
+
const toByteMap = {};
|
|
63
|
+
for (let ord = 0; ord <= 0xff; ord++) {
|
|
64
|
+
let s = ord.toString(16);
|
|
65
|
+
if (s.length < 2) {
|
|
66
|
+
s = '0' + s;
|
|
67
|
+
}
|
|
68
|
+
toByteMap[s] = ord;
|
|
69
|
+
}
|
|
70
|
+
function hexToBytes(hex) {
|
|
71
|
+
hex = hex.toLowerCase();
|
|
72
|
+
const length2 = hex.length;
|
|
73
|
+
if (length2 % 2 !== 0) {
|
|
74
|
+
throw new errors_1.ParseHexError('Hex string must have length a multiple of 2: ' + hex);
|
|
75
|
+
}
|
|
76
|
+
const length = length2 / 2;
|
|
77
|
+
const result = new Uint8Array(length);
|
|
78
|
+
for (let i = 0; i < length; i++) {
|
|
79
|
+
const doubled = i * 2;
|
|
80
|
+
const hexSubstring = hex.substring(doubled, doubled + 2);
|
|
81
|
+
if (!toByteMap.hasOwnProperty(hexSubstring)) {
|
|
82
|
+
throw new errors_1.ParseHexError('Invalid hex character: ' + hexSubstring);
|
|
83
|
+
}
|
|
84
|
+
result[i] = toByteMap[hexSubstring];
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -61,18 +61,22 @@ class WalletsListManager {
|
|
|
61
61
|
aboutUrl: walletConfigDTO.about_url,
|
|
62
62
|
tondns: walletConfigDTO.tondns
|
|
63
63
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
64
|
+
walletConfigDTO.bridge.forEach(bridge => {
|
|
65
|
+
if (bridge.type === 'sse') {
|
|
66
|
+
walletConfig.bridgeUrl = bridge.url;
|
|
67
|
+
walletConfig.universalLink =
|
|
68
|
+
walletConfigDTO.universal_url;
|
|
69
|
+
walletConfig.deepLink = walletConfigDTO.deepLink;
|
|
70
|
+
}
|
|
71
|
+
if (bridge.type === 'js') {
|
|
72
|
+
const jsBridgeKey = bridge.key;
|
|
73
|
+
walletConfig.jsBridgeKey = jsBridgeKey;
|
|
74
|
+
walletConfig.injected =
|
|
75
|
+
injected_provider_1.InjectedProvider.isWalletInjected(jsBridgeKey);
|
|
76
|
+
walletConfig.embedded =
|
|
77
|
+
injected_provider_1.InjectedProvider.isInsideWalletBrowser(jsBridgeKey);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
76
80
|
return walletConfig;
|
|
77
81
|
});
|
|
78
82
|
}
|
|
@@ -86,10 +90,30 @@ class WalletsListManager {
|
|
|
86
90
|
if (!containsName || !containsImage || !containsAbout) {
|
|
87
91
|
return false;
|
|
88
92
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
if (!('bridge' in value) ||
|
|
94
|
+
!Array.isArray(value.bridge) ||
|
|
95
|
+
!value.bridge.length) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const bridge = value.bridge;
|
|
99
|
+
if (bridge.some(item => !item || typeof item !== 'object' || !('type' in item))) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const sseBridge = bridge.find(item => item.type === 'sse');
|
|
103
|
+
if (sseBridge) {
|
|
104
|
+
if (!('url' in sseBridge) ||
|
|
105
|
+
!sseBridge.url ||
|
|
106
|
+
!value.universal_url) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const jsBridge = bridge.find(item => item.type === 'js');
|
|
111
|
+
if (jsBridge) {
|
|
112
|
+
if (!('key' in jsBridge) || !jsBridge.key) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
93
117
|
}
|
|
94
118
|
}
|
|
95
119
|
exports.WalletsListManager = WalletsListManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { WrongAddressError } from './wrong-address.error';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TonConnectError } from "../ton-connect.error";
|
|
2
|
+
/**
|
|
3
|
+
* Thrown when passed DappMetadata is in incorrect format.
|
|
4
|
+
*/
|
|
5
|
+
export class DappMetadataError extends TonConnectError {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
Object.setPrototypeOf(this, DappMetadataError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './protocol';
|
|
2
|
+
export * from './wallet';
|
|
3
|
+
export * from './storage';
|
|
4
|
+
export * from './wallets-manager';
|
|
5
|
+
export * from './address';
|
|
6
|
+
export * from './binary';
|
|
7
|
+
export { TonConnectError } from './ton-connect.error';
|
|
8
|
+
export { UnknownError } from './unknown.error';
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TonConnectError } from "../../../ton-connect.error";
|
|
2
|
+
/**
|
|
3
|
+
* Thrown when passed manifest contains errors.
|
|
4
|
+
*/
|
|
5
|
+
export class ManifestContentErrorError extends TonConnectError {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message || '' + ManifestContentErrorError.additionalMessage);
|
|
8
|
+
Object.setPrototypeOf(this, ManifestContentErrorError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
ManifestContentErrorError.additionalMessage = '\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest';
|