@tonconnect/protocol
Advanced tools
+133
-0
@@ -6,36 +6,80 @@ 'use strict'; | ||
| /** | ||
| * Error codes the wallet may return in {@link ConnectEventError}. | ||
| * | ||
| * @see [Connect event error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-event-error-codes) | ||
| */ | ||
| exports.CONNECT_EVENT_ERROR_CODES = void 0; | ||
| (function (CONNECT_EVENT_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Request payload is malformed. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet could not fetch the `tonconnect-manifest.json`. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["MANIFEST_NOT_FOUND_ERROR"] = 2] = "MANIFEST_NOT_FOUND_ERROR"; | ||
| /** Manifest was fetched but fails JSON / schema validation. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["MANIFEST_CONTENT_ERROR"] = 3] = "MANIFEST_CONTENT_ERROR"; | ||
| /** Wallet does not know the app / session. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined the connect prompt. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support the requested method. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(exports.CONNECT_EVENT_ERROR_CODES || (exports.CONNECT_EVENT_ERROR_CODES = {})); | ||
| /** | ||
| * Per-item error codes returned inside a {@link ConnectItemReplyError}. | ||
| * | ||
| * @see [Connect item error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-item-error-codes) | ||
| */ | ||
| exports.CONNECT_ITEM_ERROR_CODES = void 0; | ||
| (function (CONNECT_ITEM_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Wallet does not support this connect item. */ | ||
| CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(exports.CONNECT_ITEM_ERROR_CODES || (exports.CONNECT_ITEM_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `sendTransaction`. | ||
| * | ||
| * @see [`sendTransaction` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#sendtransaction) | ||
| */ | ||
| exports.SEND_TRANSACTION_ERROR_CODES = void 0; | ||
| (function (SEND_TRANSACTION_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Request payload is malformed. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined the transaction. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support the method. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(exports.SEND_TRANSACTION_ERROR_CODES || (exports.SEND_TRANSACTION_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `signData`. | ||
| * | ||
| * @see [`signData` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signdata) | ||
| */ | ||
| exports.SIGN_DATA_ERROR_CODES = void 0; | ||
| (function (SIGN_DATA_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Invalid request payload. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support `signData` method or the requested `type`. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(exports.SIGN_DATA_ERROR_CODES || (exports.SIGN_DATA_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `disconnect`. | ||
| * @see [`disconnect` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#disconnect) | ||
| */ | ||
| exports.DISCONNECT_ERROR_CODES = void 0; | ||
@@ -49,11 +93,24 @@ (function (DISCONNECT_ERROR_CODES) { | ||
| /** | ||
| * Error codes the wallet may return from `signMessage`. | ||
| * | ||
| * @see [`signMessage` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signmessage) | ||
| */ | ||
| exports.SIGN_MESSAGE_ERROR_CODES = void 0; | ||
| (function (SIGN_MESSAGE_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Invalid request payload. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support `signMessage`. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(exports.SIGN_MESSAGE_ERROR_CODES || (exports.SIGN_MESSAGE_ERROR_CODES = {})); | ||
| /** | ||
| * Two baseline TON network IDs. | ||
| */ | ||
| exports.CHAIN = void 0; | ||
@@ -110,2 +167,16 @@ (function (CHAIN) { | ||
| } | ||
| /** | ||
| * UTF-8 base64 codec used by `@tonconnect/protocol`. Wraps the NaCl | ||
| * helpers with optional URL-safe encoding and a typed decoder that can | ||
| * yield a string, an object (JSON-parsed), or the raw byte array. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { Base64 } from '@tonconnect/protocol'; | ||
| * | ||
| * const encoded = Base64.encode({ hello: 'world' }); | ||
| * const obj = Base64.decode(encoded).toObject<{ hello: string }>(); | ||
| * const bin = Base64.decode(Base64.encode('Hello')).toUint8Array(); | ||
| * ``` | ||
| */ | ||
| const Base64 = { | ||
@@ -286,2 +357,3 @@ encode, | ||
| /** Concatenate two byte arrays into a new `Uint8Array`. */ | ||
| function concatUint8Arrays(buffer1, buffer2) { | ||
@@ -293,2 +365,6 @@ const mergedArray = new Uint8Array(buffer1.length + buffer2.length); | ||
| } | ||
| /** | ||
| * Split `array` at `index` and return the two halves as fresh | ||
| * `Uint8Array`s. | ||
| */ | ||
| function splitToUint8Arrays(array, index) { | ||
@@ -302,2 +378,3 @@ if (index >= array.length) { | ||
| } | ||
| /** Hex-encode a byte array, lowercase, no `0x` prefix. */ | ||
| function toHexString(byteArray) { | ||
@@ -310,2 +387,5 @@ let hexString = ''; | ||
| } | ||
| /** | ||
| * Inverse of {@link toHexString}. Throws when `hexString` has an odd length. | ||
| */ | ||
| function hexToByteArray(hexString) { | ||
@@ -322,2 +402,5 @@ if (hexString.length % 2 !== 0) { | ||
| /** | ||
| * `true` when running inside Node.js (detected via `process.versions.node`). | ||
| */ | ||
| function isNode() { | ||
@@ -327,3 +410,39 @@ return (typeof process !== 'undefined' && process.versions != null && process.versions.node != null); | ||
| /** | ||
| * Implements the TON Connect session-encryption protocol on top of NaCl's | ||
| * `crypto_box`. | ||
| * | ||
| * The protocol is symmetric: each side encrypts the messages it sends and | ||
| * decrypts the messages it receives. On the dApp side that means encrypting | ||
| * outgoing {@link AppMessage} and decrypting incoming {@link WalletMessage}; | ||
| * the wallet does the reverse. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { SessionCrypto, Base64, hexToByteArray } from '@tonconnect/protocol'; | ||
| * | ||
| * // Generate a fresh session | ||
| * const session = new SessionCrypto(); | ||
| * const myClientId = session.sessionId; // hex public key (sent to the peer) | ||
| * | ||
| * // Encrypt an outgoing message for the peer | ||
| * const ciphertext = session.encrypt( | ||
| * JSON.stringify(message), | ||
| * hexToByteArray(peerClientId) | ||
| * ); | ||
| * | ||
| * // Decrypt an incoming message from the peer | ||
| * const plaintext = session.decrypt( | ||
| * Base64.decode(bridgeMessage.message).toUint8Array(), | ||
| * hexToByteArray(bridgeMessage.from) | ||
| * ); | ||
| * ``` | ||
| * | ||
| * @see [Session protocol (Session spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/session.md) | ||
| */ | ||
| class SessionCrypto { | ||
| /** | ||
| * Reuse an existing {@link KeyPair} (resuming a session) or generate a | ||
| * fresh one (`crypto_box.keyPair()`) when omitted. | ||
| */ | ||
| constructor(keyPair) { | ||
@@ -346,2 +465,7 @@ this.nonceLength = 24; | ||
| } | ||
| /** | ||
| * Encrypt `message` for `receiverPublicKey` using a fresh 24-byte random | ||
| * nonce. Returns `nonce || ciphertext` as raw bytes; base64-encode this | ||
| * value before placing it in the bridge `POST /message` body. | ||
| */ | ||
| encrypt(message, receiverPublicKey) { | ||
@@ -353,2 +477,7 @@ const encodedMessage = new TextEncoder().encode(message); | ||
| } | ||
| /** | ||
| * Decrypt the `nonce || ciphertext` blob received from the bridge. | ||
| * Throws if `nacl.box.open` rejects the message — wrong key, truncated | ||
| * input or tampered ciphertext. | ||
| */ | ||
| decrypt(message, senderPublicKey) { | ||
@@ -362,2 +491,6 @@ const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength); | ||
| } | ||
| /** | ||
| * Export the underlying keypair as a {@link KeyPair} of hex strings. | ||
| * Persist this in dApp / wallet storage to resume the session later. | ||
| */ | ||
| stringifyKeypair() { | ||
@@ -364,0 +497,0 @@ return { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.cjs","sources":["../../src/models/wallet-message/wallet-event/connect-event.ts","../../src/models/wallet-message/wallet-response/send-transaction-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-data-rpc-response.ts","../../src/models/wallet-message/wallet-response/disconnect-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-message-rpc-response.ts","../../src/models/CHAIN.ts","../../src/utils/base64.ts","../../src/models/embedded-request.ts","../../src/utils/binary.ts","../../src/utils/web-api.ts","../../src/crypto/session-crypto.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["CONNECT_EVENT_ERROR_CODES","CONNECT_ITEM_ERROR_CODES","SEND_TRANSACTION_ERROR_CODES","SIGN_DATA_ERROR_CODES","DISCONNECT_ERROR_CODES","SIGN_MESSAGE_ERROR_CODES","CHAIN","nacl"],"mappings":"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"} | ||
| {"version":3,"file":"index.cjs","sources":["../../src/models/wallet-message/wallet-event/connect-event.ts","../../src/models/wallet-message/wallet-response/send-transaction-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-data-rpc-response.ts","../../src/models/wallet-message/wallet-response/disconnect-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-message-rpc-response.ts","../../src/models/CHAIN.ts","../../src/utils/base64.ts","../../src/models/embedded-request.ts","../../src/utils/binary.ts","../../src/utils/web-api.ts","../../src/crypto/session-crypto.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["CONNECT_EVENT_ERROR_CODES","CONNECT_ITEM_ERROR_CODES","SEND_TRANSACTION_ERROR_CODES","SIGN_DATA_ERROR_CODES","DISCONNECT_ERROR_CODES","SIGN_MESSAGE_ERROR_CODES","CHAIN","nacl"],"mappings":"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"} |
+133
-0
| import nacl from 'tweetnacl-util'; | ||
| import nacl$1 from 'tweetnacl'; | ||
| /** | ||
| * Error codes the wallet may return in {@link ConnectEventError}. | ||
| * | ||
| * @see [Connect event error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-event-error-codes) | ||
| */ | ||
| var CONNECT_EVENT_ERROR_CODES; | ||
| (function (CONNECT_EVENT_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Request payload is malformed. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet could not fetch the `tonconnect-manifest.json`. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["MANIFEST_NOT_FOUND_ERROR"] = 2] = "MANIFEST_NOT_FOUND_ERROR"; | ||
| /** Manifest was fetched but fails JSON / schema validation. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["MANIFEST_CONTENT_ERROR"] = 3] = "MANIFEST_CONTENT_ERROR"; | ||
| /** Wallet does not know the app / session. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined the connect prompt. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support the requested method. */ | ||
| CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(CONNECT_EVENT_ERROR_CODES || (CONNECT_EVENT_ERROR_CODES = {})); | ||
| /** | ||
| * Per-item error codes returned inside a {@link ConnectItemReplyError}. | ||
| * | ||
| * @see [Connect item error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-item-error-codes) | ||
| */ | ||
| var CONNECT_ITEM_ERROR_CODES; | ||
| (function (CONNECT_ITEM_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Wallet does not support this connect item. */ | ||
| CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(CONNECT_ITEM_ERROR_CODES || (CONNECT_ITEM_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `sendTransaction`. | ||
| * | ||
| * @see [`sendTransaction` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#sendtransaction) | ||
| */ | ||
| var SEND_TRANSACTION_ERROR_CODES; | ||
| (function (SEND_TRANSACTION_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Request payload is malformed. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined the transaction. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support the method. */ | ||
| SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(SEND_TRANSACTION_ERROR_CODES || (SEND_TRANSACTION_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `signData`. | ||
| * | ||
| * @see [`signData` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signdata) | ||
| */ | ||
| var SIGN_DATA_ERROR_CODES; | ||
| (function (SIGN_DATA_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Invalid request payload. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support `signData` method or the requested `type`. */ | ||
| SIGN_DATA_ERROR_CODES[SIGN_DATA_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(SIGN_DATA_ERROR_CODES || (SIGN_DATA_ERROR_CODES = {})); | ||
| /** | ||
| * Error codes the wallet may return from `disconnect`. | ||
| * @see [`disconnect` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#disconnect) | ||
| */ | ||
| var DISCONNECT_ERROR_CODES; | ||
@@ -46,11 +90,24 @@ (function (DISCONNECT_ERROR_CODES) { | ||
| /** | ||
| * Error codes the wallet may return from `signMessage`. | ||
| * | ||
| * @see [`signMessage` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signmessage) | ||
| */ | ||
| var SIGN_MESSAGE_ERROR_CODES; | ||
| (function (SIGN_MESSAGE_ERROR_CODES) { | ||
| /** Unexpected wallet-side failure. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR"; | ||
| /** Invalid request payload. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR"; | ||
| /** Wallet does not know the dApp / session. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR"; | ||
| /** User explicitly declined. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR"; | ||
| /** Wallet does not support `signMessage`. */ | ||
| SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED"; | ||
| })(SIGN_MESSAGE_ERROR_CODES || (SIGN_MESSAGE_ERROR_CODES = {})); | ||
| /** | ||
| * Two baseline TON network IDs. | ||
| */ | ||
| var CHAIN; | ||
@@ -107,2 +164,16 @@ (function (CHAIN) { | ||
| } | ||
| /** | ||
| * UTF-8 base64 codec used by `@tonconnect/protocol`. Wraps the NaCl | ||
| * helpers with optional URL-safe encoding and a typed decoder that can | ||
| * yield a string, an object (JSON-parsed), or the raw byte array. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { Base64 } from '@tonconnect/protocol'; | ||
| * | ||
| * const encoded = Base64.encode({ hello: 'world' }); | ||
| * const obj = Base64.decode(encoded).toObject<{ hello: string }>(); | ||
| * const bin = Base64.decode(Base64.encode('Hello')).toUint8Array(); | ||
| * ``` | ||
| */ | ||
| const Base64 = { | ||
@@ -283,2 +354,3 @@ encode, | ||
| /** Concatenate two byte arrays into a new `Uint8Array`. */ | ||
| function concatUint8Arrays(buffer1, buffer2) { | ||
@@ -290,2 +362,6 @@ const mergedArray = new Uint8Array(buffer1.length + buffer2.length); | ||
| } | ||
| /** | ||
| * Split `array` at `index` and return the two halves as fresh | ||
| * `Uint8Array`s. | ||
| */ | ||
| function splitToUint8Arrays(array, index) { | ||
@@ -299,2 +375,3 @@ if (index >= array.length) { | ||
| } | ||
| /** Hex-encode a byte array, lowercase, no `0x` prefix. */ | ||
| function toHexString(byteArray) { | ||
@@ -307,2 +384,5 @@ let hexString = ''; | ||
| } | ||
| /** | ||
| * Inverse of {@link toHexString}. Throws when `hexString` has an odd length. | ||
| */ | ||
| function hexToByteArray(hexString) { | ||
@@ -319,2 +399,5 @@ if (hexString.length % 2 !== 0) { | ||
| /** | ||
| * `true` when running inside Node.js (detected via `process.versions.node`). | ||
| */ | ||
| function isNode() { | ||
@@ -324,3 +407,39 @@ return (typeof process !== 'undefined' && process.versions != null && process.versions.node != null); | ||
| /** | ||
| * Implements the TON Connect session-encryption protocol on top of NaCl's | ||
| * `crypto_box`. | ||
| * | ||
| * The protocol is symmetric: each side encrypts the messages it sends and | ||
| * decrypts the messages it receives. On the dApp side that means encrypting | ||
| * outgoing {@link AppMessage} and decrypting incoming {@link WalletMessage}; | ||
| * the wallet does the reverse. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { SessionCrypto, Base64, hexToByteArray } from '@tonconnect/protocol'; | ||
| * | ||
| * // Generate a fresh session | ||
| * const session = new SessionCrypto(); | ||
| * const myClientId = session.sessionId; // hex public key (sent to the peer) | ||
| * | ||
| * // Encrypt an outgoing message for the peer | ||
| * const ciphertext = session.encrypt( | ||
| * JSON.stringify(message), | ||
| * hexToByteArray(peerClientId) | ||
| * ); | ||
| * | ||
| * // Decrypt an incoming message from the peer | ||
| * const plaintext = session.decrypt( | ||
| * Base64.decode(bridgeMessage.message).toUint8Array(), | ||
| * hexToByteArray(bridgeMessage.from) | ||
| * ); | ||
| * ``` | ||
| * | ||
| * @see [Session protocol (Session spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/session.md) | ||
| */ | ||
| class SessionCrypto { | ||
| /** | ||
| * Reuse an existing {@link KeyPair} (resuming a session) or generate a | ||
| * fresh one (`crypto_box.keyPair()`) when omitted. | ||
| */ | ||
| constructor(keyPair) { | ||
@@ -343,2 +462,7 @@ this.nonceLength = 24; | ||
| } | ||
| /** | ||
| * Encrypt `message` for `receiverPublicKey` using a fresh 24-byte random | ||
| * nonce. Returns `nonce || ciphertext` as raw bytes; base64-encode this | ||
| * value before placing it in the bridge `POST /message` body. | ||
| */ | ||
| encrypt(message, receiverPublicKey) { | ||
@@ -350,2 +474,7 @@ const encodedMessage = new TextEncoder().encode(message); | ||
| } | ||
| /** | ||
| * Decrypt the `nonce || ciphertext` blob received from the bridge. | ||
| * Throws if `nacl.box.open` rejects the message — wrong key, truncated | ||
| * input or tampered ciphertext. | ||
| */ | ||
| decrypt(message, senderPublicKey) { | ||
@@ -359,2 +488,6 @@ const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength); | ||
| } | ||
| /** | ||
| * Export the underlying keypair as a {@link KeyPair} of hex strings. | ||
| * Persist this in dApp / wallet storage to resume the session later. | ||
| */ | ||
| stringifyKeypair() { | ||
@@ -361,0 +494,0 @@ return { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.mjs","sources":["../../src/models/wallet-message/wallet-event/connect-event.ts","../../src/models/wallet-message/wallet-response/send-transaction-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-data-rpc-response.ts","../../src/models/wallet-message/wallet-response/disconnect-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-message-rpc-response.ts","../../src/models/CHAIN.ts","../../src/utils/base64.ts","../../src/models/embedded-request.ts","../../src/utils/binary.ts","../../src/utils/web-api.ts","../../src/crypto/session-crypto.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["nacl"],"mappings":"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"} | ||
| {"version":3,"file":"index.mjs","sources":["../../src/models/wallet-message/wallet-event/connect-event.ts","../../src/models/wallet-message/wallet-response/send-transaction-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-data-rpc-response.ts","../../src/models/wallet-message/wallet-response/disconnect-rpc-response.ts","../../src/models/wallet-message/wallet-response/sign-message-rpc-response.ts","../../src/models/CHAIN.ts","../../src/utils/base64.ts","../../src/models/embedded-request.ts","../../src/utils/binary.ts","../../src/utils/web-api.ts","../../src/crypto/session-crypto.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["nacl"],"mappings":";;;AAwDA;;;;AAIG;IACS;AAAZ,CAAA,UAAY,yBAAyB,EAAA;;AAEjC,IAAA,yBAAA,CAAA,yBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;;AAEjB,IAAA,yBAAA,CAAA,yBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;;AAErB,IAAA,yBAAA,CAAA,yBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B;;AAE5B,IAAA,yBAAA,CAAA,yBAAA,CAAA,wBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wBAA0B;;AAE1B,IAAA,yBAAA,CAAA,yBAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;;AAEvB,IAAA,yBAAA,CAAA,yBAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;;AAExB,IAAA,yBAAA,CAAA,yBAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EAfW,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;AA8ErC;;;;AAIG;IACS;AAAZ,CAAA,UAAY,wBAAwB,EAAA;;AAEhC,IAAA,wBAAA,CAAA,wBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;;AAEjB,IAAA,wBAAA,CAAA,wBAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;ACzHpC;;;;AAIG;IACS;AAAZ,CAAA,UAAY,4BAA4B,EAAA;;AAEpC,IAAA,4BAAA,CAAA,4BAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;;AAEjB,IAAA,4BAAA,CAAA,4BAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;;AAErB,IAAA,4BAAA,CAAA,4BAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;;AAEvB,IAAA,4BAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;;AAExB,IAAA,4BAAA,CAAA,4BAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EAXW,4BAA4B,KAA5B,4BAA4B,GAAA,EAAA,CAAA,CAAA;;ACqCxC;;;;AAIG;IACS;AAAZ,CAAA,UAAY,qBAAqB,EAAA;;AAE7B,IAAA,qBAAA,CAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;;AAEjB,IAAA,qBAAA,CAAA,qBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;;AAErB,IAAA,qBAAA,CAAA,qBAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;;AAEvB,IAAA,qBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;;AAExB,IAAA,qBAAA,CAAA,qBAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EAXW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;;AChDjC;;;;AAIG;IACS;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;AACjB,IAAA,sBAAA,CAAA,sBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;AACrB,IAAA,sBAAA,CAAA,sBAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,sBAAA,CAAA,sBAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;;ACFlC;;;;AAIG;IACS;AAAZ,CAAA,UAAY,wBAAwB,EAAA;;AAEhC,IAAA,wBAAA,CAAA,wBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;;AAEjB,IAAA,wBAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;;AAErB,IAAA,wBAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;;AAEvB,IAAA,wBAAA,CAAA,wBAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;;AAExB,IAAA,wBAAA,CAAA,wBAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC9B,CAAC,EAXW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;AC9BpC;;AAEG;IACS;AAAZ,CAAA,UAAY,KAAK,EAAA;AACb,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,MAAgB;AAChB,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,IAAc;AAClB,CAAC,EAHW,KAAK,KAAL,KAAK,GAAA,EAAA,CAAA,CAAA;;ACDjB,SAAS,gBAAgB,CAAC,KAAiB,EAAE,OAAgB,EAAA;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE;AACV,QAAA,OAAO,OAAO;IAClB;AAEA,IAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC;AACtC;AAEA,SAAS,kBAAkB,CAAC,KAAa,EAAE,OAAgB,EAAA;IACvD,IAAI,OAAO,EAAE;AACT,QAAA,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;IACrC;AAEA,IAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACnC;AAEA,SAAS,MAAM,CAAC,KAAmC,EAAE,OAAO,GAAG,KAAK,EAAA;AAChE,IAAA,IAAI,UAAsB;AAE1B,IAAA,IAAI,KAAK,YAAY,UAAU,EAAE;QAC7B,UAAU,GAAG,KAAK;IACtB;SAAO;AACH,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACjC;AAEA,QAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACvC;AAEA,IAAA,OAAO,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;AAChD;AAEA,SAAS,MAAM,CACX,KAAa,EACb,OAAO,GAAG,KAAK,EAAA;IAMf,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;IAE5D,OAAO;QACH,QAAQ,GAAA;AACJ,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC7C,CAAC;QACD,QAAQ,GAAA;AACJ,YAAA,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAM;YAC9D;YAAE,OAAO,CAAC,EAAE;AACR,gBAAA,OAAO,IAAI;YACf;QACJ,CAAC;QACD,YAAY,GAAA;AACR,YAAA,OAAO,iBAAiB;QAC5B;KACH;AACL;AAEA;;;;;;;;;;;;;AAaG;AACI,MAAM,MAAM,GAAG;IAClB,MAAM;IACN;;;AC2GJ;AACA;AACA;AAEA,SAAS,aAAa,CAAC,SAAiB,EAAA;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AAC3C;AAUA,SAAS,aAAa,CAAC,CAAc,EAAA;AACjC,IAAA,MAAM,GAAG,GAAoB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;AAC3D,IAAA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AACnB,QAAA,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrB;AACA,IAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,QAAA,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;IACxB;AACA,IAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,QAAA,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;IAC7B;AACA,IAAA,OAAO,GAAG;AACd;AAEA,SAAS,UAAU,CAAC,CAAW,EAAA;AAC3B,IAAA,QAAQ,CAAC,CAAC,CAAC;QACP,KAAK,KAAK,EAAE;AACR,YAAA,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;AACpE,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AACnB,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACtB;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;YACzB;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;YAC9B;AACA,YAAA,OAAO,IAAI;QACf;QACA,KAAK,QAAQ,EAAE;AACX,YAAA,MAAM,IAAI,GAAkB;AACxB,gBAAA,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,CAAC,EAAE;gBACZ,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChB,MAAM,EAAE,CAAC,CAAC;aACb;AACD,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE;YAC5B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,EAAE;YACnC;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC7B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC7B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;YAC9B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;YACvB;AACA,YAAA,OAAO,IAAI;QACf;QACA,KAAK,KAAK,EAAE;AACR,YAAA,MAAM,IAAI,GAAe;AACrB,gBAAA,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC,CAAC,EAAE;gBAChB,QAAQ,EAAE,CAAC,CAAC;aACf;AACD,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE;YAC5B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,EAAE;YACnC;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC7B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC7B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;YAC9B;AACA,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;YACvB;AACA,YAAA,OAAO,IAAI;QACf;;AAER;AAEA,SAAS,qBAAqB,CAC1B,IAA2C,EAAA;IAE3C,MAAM,OAAO,GAA4B,EAAE;AAC3C,IAAA,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE;IACjC;AACA,IAAA,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE;AACtB,QAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAY;IACvC;AACA,IAAA,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE;AACtB,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACzB;AACA,IAAA,IAAI,IAAI,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;IACjD;AACA,IAAA,IAAI,IAAI,CAAC,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;IAC1C;AACA,IAAA,OAAO,OAAO;AAClB;AAEA,SAAS,kBAAkB,CAAC,IAAkB,EAAA;IAC1C,MAAM,OAAO,GAA4B,EAAE;AAC3C,IAAA,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE;AACtB,QAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAY;IACvC;AACA,IAAA,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE;AACtB,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACzB;AAEA,IAAA,QAAQ,IAAI,CAAC,CAAC;AACV,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,CAAC,IAAI,GAAG,MAAM;AACrB,YAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;YACtB;AACJ,QAAA,KAAK,QAAQ;AACT,YAAA,OAAO,CAAC,IAAI,GAAG,QAAQ;AACvB,YAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACtB;AACJ,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,CAAC,IAAI,GAAG,MAAM;AACrB,YAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AACvB,YAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACrB;;AAER,IAAA,OAAO,OAAO;AAClB;AAOA;;;AAGG;AACG,SAAU,yBAAyB,CAAC,IAAyB,EAAA;AAC/D,IAAA,QAAQ,IAAI,CAAC,CAAC;AACV,QAAA,KAAK,IAAI;YACL,OAAO;AACH,gBAAA,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aACvD;AACL,QAAA,KAAK,IAAI;YACL,OAAO;AACH,gBAAA,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aACvD;AACL,QAAA,KAAK,IAAI;YACL,OAAO;AACH,gBAAA,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACpD;;AAEb;AAEA;;;;;AAKG;AACG,SAAU,0BAA0B,CAAC,QAAgB,EAAA;AACvD,IAAA,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;IACpC,MAAM,IAAI,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAClD,IAAA,OAAO,yBAAyB,CAAC,IAAI,CAAC;AAC1C;;ACxXA;AACM,SAAU,iBAAiB,CAAC,OAAmB,EAAE,OAAmB,EAAA;AACtE,IAAA,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACnE,IAAA,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;IACxB,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;AACxC,IAAA,OAAO,WAAW;AACtB;AAEA;;;AAGG;AACG,SAAU,kBAAkB,CAAC,KAAiB,EAAE,KAAa,EAAA;AAC/D,IAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC;IAC7C;IAEA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AACpC,IAAA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;AACjC;AAEA;AACM,SAAU,WAAW,CAAC,SAAqB,EAAA;IAC7C,IAAI,SAAS,GAAG,EAAE;AAClB,IAAA,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;QACrB,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;AAC7D,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,SAAS;AACpB;AAEA;;AAEG;AACG,SAAU,cAAc,CAAC,SAAiB,EAAA;IAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,CAAA,cAAA,CAAgB,CAAC;IAChE;IACA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3D;AACA,IAAA,OAAO,MAAM;AACjB;;AC3CA;;AAEG;SACa,MAAM,GAAA;IAClB,QACI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI;AAEnG;;ACHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;MACU,aAAa,CAAA;AAYtB;;;AAGG;AACH,IAAA,WAAA,CAAY,OAAiB,EAAA;QAfZ,IAAA,CAAA,WAAW,GAAG,EAAE;QAgB7B,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE;QACrF,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACxD;IAEQ,aAAa,GAAA;AACjB,QAAA,OAAOA,MAAI,CAAC,GAAG,CAAC,OAAO,EAAE;IAC7B;AAEQ,IAAA,uBAAuB,CAAC,OAAgB,EAAA;QAC5C,OAAO;AACH,YAAA,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5C,YAAA,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;SAC9C;IACL;IAEQ,WAAW,GAAA;QACf,OAAOA,MAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;IAC7C;AAEA;;;;AAIG;IACI,OAAO,CAAC,OAAe,EAAE,iBAA6B,EAAA;QACzD,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;AACxD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,QAAA,MAAM,SAAS,GAAGA,MAAI,CAAC,GAAG,CACtB,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CACzB;AACD,QAAA,OAAO,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC;IAC9C;AAEA;;;;AAIG;IACI,OAAO,CAAC,OAAmB,EAAE,eAA2B,EAAA;AAC3D,QAAA,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAE9E,MAAM,SAAS,GAAGA,MAAI,CAAC,GAAG,CAAC,IAAI,CAC3B,eAAe,EACf,KAAK,EACL,eAAe,EACf,IAAI,CAAC,OAAO,CAAC,SAAS,CACzB;QAED,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CACX,CAAA,8BAAA,EAAiC,OAAO,CAAC,QAAQ,EAAE,CAAA,mBAAA,EAAsB,eAAe,CAAC,QAAQ,EAAE,uBAAuB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA,CAAE,CAC3N;QACL;QAEA,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;IAC9C;AAEA;;;AAGG;IACI,gBAAgB,GAAA;QACnB,OAAO;YACH,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;SAChD;IACL;AACH;;;;"} |
+473
-9
@@ -0,5 +1,28 @@ | ||
| /** | ||
| * Anything a dApp can send to a wallet over the protocol. | ||
| */ | ||
| export declare type AppMessage = ConnectRequest | AppRequest<keyof RpcRequests>; | ||
| /** | ||
| * Request envelope for the given RPC `method`. Each envelope follows the | ||
| * same `{ method, params, id }` structure; | ||
| * | ||
| * @see [RPC envelope (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#envelope) | ||
| */ | ||
| export declare type AppRequest<T extends RpcMethod> = RpcRequests[T]; | ||
| /** | ||
| * UTF-8 base64 codec used by `@tonconnect/protocol`. Wraps the NaCl | ||
| * helpers with optional URL-safe encoding and a typed decoder that can | ||
| * yield a string, an object (JSON-parsed), or the raw byte array. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { Base64 } from '@tonconnect/protocol'; | ||
| * | ||
| * const encoded = Base64.encode({ hello: 'world' }); | ||
| * const obj = Base64.decode(encoded).toObject<{ hello: string }>(); | ||
| * const bin = Base64.decode(Base64.encode('Hello')).toUint8Array(); | ||
| * ``` | ||
| */ | ||
| export declare const Base64: { | ||
@@ -10,2 +33,5 @@ encode: typeof encode; | ||
| /** | ||
| * Two baseline TON network IDs. | ||
| */ | ||
| export declare enum CHAIN { | ||
@@ -16,23 +42,60 @@ MAINNET = "-239", | ||
| /** | ||
| * TON network identifier. May be extended with custom `global_id`s. | ||
| * | ||
| * @see [`NETWORK_ID` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#network_id) | ||
| */ | ||
| export declare type ChainId = CHAIN | string; | ||
| /** Concatenate two byte arrays into a new `Uint8Array`. */ | ||
| export declare function concatUint8Arrays(buffer1: Uint8Array, buffer2: Uint8Array): Uint8Array; | ||
| /** | ||
| * Error codes the wallet may return in {@link ConnectEventError}. | ||
| * | ||
| * @see [Connect event error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-event-error-codes) | ||
| */ | ||
| export declare enum CONNECT_EVENT_ERROR_CODES { | ||
| /** Unexpected wallet-side failure. */ | ||
| UNKNOWN_ERROR = 0, | ||
| /** Request payload is malformed. */ | ||
| BAD_REQUEST_ERROR = 1, | ||
| /** Wallet could not fetch the `tonconnect-manifest.json`. */ | ||
| MANIFEST_NOT_FOUND_ERROR = 2, | ||
| /** Manifest was fetched but fails JSON / schema validation. */ | ||
| MANIFEST_CONTENT_ERROR = 3, | ||
| /** Wallet does not know the app / session. */ | ||
| UNKNOWN_APP_ERROR = 100, | ||
| /** User explicitly declined the connect prompt. */ | ||
| USER_REJECTS_ERROR = 300, | ||
| /** Wallet does not support the requested method. */ | ||
| METHOD_NOT_SUPPORTED = 400 | ||
| } | ||
| /** | ||
| * Per-item error codes returned inside a {@link ConnectItemReplyError}. | ||
| * | ||
| * @see [Connect item error codes (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connect-item-error-codes) | ||
| */ | ||
| export declare enum CONNECT_ITEM_ERROR_CODES { | ||
| /** Unexpected wallet-side failure. */ | ||
| UNKNOWN_ERROR = 0, | ||
| /** Wallet does not support this connect item. */ | ||
| METHOD_NOT_SUPPORTED = 400 | ||
| } | ||
| /** | ||
| * Wallet reply to a `ConnectRequest`. Either a success | ||
| * ({@link ConnectEventSuccess}) carrying the user's account and the | ||
| * requested data items, or {@link ConnectEventError} when the user declines | ||
| * or the wallet fails to fulfil the request. | ||
| * | ||
| * @see [`ConnectEvent` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connectevent) | ||
| */ | ||
| export declare type ConnectEvent = ConnectEventSuccess | ConnectEventError; | ||
| /** | ||
| * Connect failure. The dApp should surface the matching error from | ||
| * {@link CONNECT_EVENT_ERROR_CODES} and unwind any pending UI. | ||
| */ | ||
| export declare interface ConnectEventError { | ||
@@ -47,12 +110,25 @@ event: 'connect_error'; | ||
| /** | ||
| * Successful connect handshake. | ||
| * | ||
| * Wallets that support the [`EmbeddedRequest`](https://github.com/ton-blockchain/ton-connect/blob/main/spec/deeplinks.md#embedded-requests-e) | ||
| * feature MAY attach the signed result of an embedded action on | ||
| * {@link ConnectEventSuccess.response}. | ||
| */ | ||
| export declare interface ConnectEventSuccess { | ||
| event: 'connect'; | ||
| /** Monotonic event id (separate counter from RPC `id`). */ | ||
| id: number; | ||
| payload: { | ||
| /** Replies for the {@link ConnectRequest.items}. */ | ||
| items: ConnectItemReply[]; | ||
| /** Wallet self-description and advertised capabilities. */ | ||
| device: DeviceInfo; | ||
| }; | ||
| /** | ||
| * Response to the embedded app request (deep link request). | ||
| * Present only if the wallet processed an `e` parameter from the connect URL. | ||
| * Result of an embedded request that traveled in the connect URL's | ||
| * `e` parameter. Present only when the wallet supports the | ||
| * `EmbeddedRequest` feature and chose to process the folded request. | ||
| * | ||
| * @see [Embedded requests (deeplinks spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/deeplinks.md#embedded-requests-e) | ||
| */ | ||
@@ -62,6 +138,28 @@ response?: WalletResponse<RpcMethod>; | ||
| /** | ||
| * Data item attached to a {@link ConnectRequest}. Wallets reply to each item | ||
| * inside `ConnectEventSuccess.payload.items`. | ||
| * | ||
| * The protocol defines two items: | ||
| * | ||
| * - {@link TonAddressItem} — required for the connect to be useful. | ||
| * - {@link TonProofItem} — optional `ton_proof` request used for | ||
| * wallet authentication. | ||
| * | ||
| * @see [`ConnectItem` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connectrequest) | ||
| */ | ||
| export declare type ConnectItem = TonAddressItem | TonProofItem; | ||
| /** | ||
| * Per-item reply inside {@link ConnectEventSuccess}`.payload.items`. Wallets | ||
| * either fulfil the item or return a {@link ConnectItemReplyError} carrying a | ||
| * {@link CONNECT_ITEM_ERROR_CODES} code (`400` when the item is unsupported). | ||
| */ | ||
| export declare type ConnectItemReply = TonAddressItemReply | TonProofItemReply; | ||
| /** | ||
| * Generic per-item error envelope used inside `payload.items[]` when the | ||
| * wallet cannot fulfil a specific item — for example a wallet that doesn't | ||
| * implement `ton_proof` returns `{ name: 'ton_proof', error: { code: 400 } }`. | ||
| */ | ||
| export declare type ConnectItemReplyError<T> = { | ||
@@ -75,4 +173,22 @@ name: T; | ||
| /** | ||
| * First message a dApp sends to a wallet. Carried inside the connect URL — | ||
| * not over the encrypted bridge — because the wallet is not yet connected. | ||
| * | ||
| * @see [`ConnectRequest` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#connectrequest) | ||
| */ | ||
| export declare interface ConnectRequest { | ||
| /** | ||
| * URL of the dApp's | ||
| * [`tonconnect-manifest.json`](https://github.com/ton-blockchain/ton-connect/blob/main/spec/manifest.md). | ||
| * The wallet fetches this file before showing the connect prompt to | ||
| * extract the dApp's name, icon and policy URLs. | ||
| */ | ||
| manifestUrl: string; | ||
| /** | ||
| * Data items the dApp wants to receive from the wallet on successful | ||
| * connect. The wallet returns a matching reply for each item (or a | ||
| * per-item error if unsupported). At least one entry — typically | ||
| * `{ name: 'ton_addr' }` — is required. | ||
| */ | ||
| items: ConnectItem[]; | ||
@@ -103,10 +219,38 @@ } | ||
| /** | ||
| * Wallet self-description returned inside {@link ConnectEventSuccess}'s `payload.device`. | ||
| * | ||
| * @see [`DeviceInfo` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#deviceinfo) | ||
| */ | ||
| export declare interface DeviceInfo { | ||
| /** Operating system / runtime the wallet identifies itself with. */ | ||
| platform: 'iphone' | 'ipad' | 'android' | 'windows' | 'mac' | 'linux' | 'browser'; | ||
| /** | ||
| * Wallet identifier — same value as the `app_name` field in the wallets | ||
| * list. | ||
| * | ||
| * @example "tonkeeper" | ||
| */ | ||
| appName: string; | ||
| /** | ||
| * The version of the wallet. | ||
| * | ||
| * @example "2.3.367" | ||
| * */ | ||
| appVersion: string; | ||
| /** | ||
| * Highest TON Connect protocol version the wallet implements. | ||
| */ | ||
| maxProtocolVersion: number; | ||
| /** | ||
| * Capabilities the wallet advertises. | ||
| */ | ||
| features: Feature[]; | ||
| } | ||
| /** | ||
| * Error codes the wallet may return from `disconnect`. | ||
| * @see [`disconnect` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#disconnect) | ||
| */ | ||
| export declare enum DISCONNECT_ERROR_CODES { | ||
@@ -119,16 +263,36 @@ UNKNOWN_ERROR = 0, | ||
| /** | ||
| * Wallet-initiated session teardown. Fires when the user removes the dApp | ||
| * from the wallet's connected-apps list. | ||
| * | ||
| * @see [Disconnect event (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#disconnect-event) | ||
| */ | ||
| export declare interface DisconnectEvent { | ||
| event: 'disconnect'; | ||
| /** Monotonic event id (separate counter from RPC `id`). */ | ||
| id: number; | ||
| /** Empty for `disconnect`. */ | ||
| payload: {}; | ||
| } | ||
| /** | ||
| * RPC request that tells the wallet the dApp ended the session. | ||
| * | ||
| * @see [`disconnect` (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#disconnect) | ||
| */ | ||
| export declare interface DisconnectRpcRequest { | ||
| method: 'disconnect'; | ||
| /** empty tuple — no parameters */ | ||
| params: []; | ||
| /** dApp-assigned request id; used to match the wallet response */ | ||
| id: string; | ||
| } | ||
| /** | ||
| * Wallet reply to a `disconnect` RPC. Success carries an empty result; error | ||
| * narrows the `code` enum to {@link DISCONNECT_ERROR_CODES}. | ||
| */ | ||
| export declare type DisconnectRpcResponse = DisconnectRpcResponseSuccess | DisconnectRpcResponseError; | ||
| /** Failure envelope. `code` is one of {@link DISCONNECT_ERROR_CODES}. */ | ||
| export declare interface DisconnectRpcResponseError extends WalletResponseTemplateError { | ||
@@ -143,7 +307,16 @@ error: { | ||
| /** Success envelope. `result` is empty — the wallet just acknowledged. */ | ||
| export declare interface DisconnectRpcResponseSuccess { | ||
| /** Echo of the request `id`. */ | ||
| id: string; | ||
| /** Empty. Reserved for future fields. */ | ||
| result: {}; | ||
| } | ||
| /** | ||
| * Wallet supports the embedded-request transport (`e` query parameter on the | ||
| * connect URL). | ||
| * | ||
| * @see [Embedded requests (deeplinks spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/deeplinks.md#embedded-requests-e) | ||
| */ | ||
| export declare type EmbeddedRequestFeature = { | ||
@@ -155,2 +328,7 @@ name: 'EmbeddedRequest'; | ||
| /** | ||
| * Capability entries advertised by a wallet inside {@link DeviceInfo.features}. | ||
| * | ||
| * @see [`Feature` (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#feature) | ||
| */ | ||
| export declare type Feature = SendTransactionFeatureDeprecated | SendTransactionFeature | SignDataFeature | SignMessageFeature | EmbeddedRequestFeature; | ||
@@ -160,38 +338,89 @@ | ||
| /** | ||
| * Inverse of {@link toHexString}. Throws when `hexString` has an odd length. | ||
| */ | ||
| export declare function hexToByteArray(hexString: string): Uint8Array; | ||
| /** | ||
| * `true` when running inside Node.js (detected via `process.versions.node`). | ||
| */ | ||
| export declare function isNode(): boolean; | ||
| /** | ||
| * Serialized form of a session keypair, used to persist a session across | ||
| * page reloads. Both fields are hex-encoded (no `0x` prefix). Pass an | ||
| * existing keypair into {@link SessionCrypto} to resume a session; omit it | ||
| * to generate a fresh one. | ||
| * | ||
| * `client_id` on the bridge is `publicKey` itself. Keep `secretKey` | ||
| * confidential — it grants the ability to decrypt messages addressed to | ||
| * this client. | ||
| * | ||
| * @see [Client keypair (Session spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/session.md#client-keypair) | ||
| */ | ||
| export declare interface KeyPair { | ||
| /** 32-byte public key, hex-encoded. */ | ||
| publicKey: string; | ||
| /** 32-byte secret key, hex-encoded. Must be kept private. */ | ||
| secretKey: string; | ||
| } | ||
| /** [TEP-74](https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md) jetton transfer in RPC wire form. */ | ||
| export declare interface RpcJettonItem { | ||
| /** Item discriminator. */ | ||
| type: 'jetton'; | ||
| /** Jetton master contract address. */ | ||
| master: string; | ||
| /** Recipient address. */ | ||
| destination: string; | ||
| /** Jetton amount in elementary units (decimal string). */ | ||
| amount: string; | ||
| /** TON value to attach for transfer execution; wallet picks a default when omitted. */ | ||
| attachAmount?: string; | ||
| /** Where to refund excess TON. Defaults to the sender. */ | ||
| responseDestination?: string; | ||
| /** Raw one-cell BoC `custom_payload`, base64-encoded. */ | ||
| customPayload?: string; | ||
| /** Nanocoins forwarded to the destination wallet. Defaults to `"1"` nanoTON. */ | ||
| forwardAmount?: string; | ||
| /** Raw one-cell BoC `forward_payload`, base64-encoded. */ | ||
| forwardPayload?: string; | ||
| /** Application-defined `query_id` for the transfer body. */ | ||
| queryId?: string; | ||
| } | ||
| /** | ||
| * The set of methods a dApp can invoke after a successful connect. Wallets | ||
| * accept the methods they advertise via {@link Feature}. | ||
| * | ||
| * @see [RPC specification](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md) | ||
| */ | ||
| export declare type RpcMethod = 'disconnect' | 'sendTransaction' | 'signData' | 'signMessage'; | ||
| /** [TEP-62](https://github.com/ton-blockchain/TEPs/blob/master/text/0062-nft-standard.md) NFT transfer in RPC wire form. */ | ||
| export declare interface RpcNftItem { | ||
| /** Item discriminator. */ | ||
| type: 'nft'; | ||
| /** NFT item contract address. */ | ||
| nftAddress: string; | ||
| /** New owner address. */ | ||
| newOwner: string; | ||
| /** TON value to attach for transfer execution; wallet picks a default when omitted. */ | ||
| attachAmount?: string; | ||
| /** Where to refund excess TON. Defaults to the sender. */ | ||
| responseDestination?: string; | ||
| /** Raw one-cell BoC `custom_payload`, base64-encoded. */ | ||
| customPayload?: string; | ||
| /** Nanocoins forwarded to the new owner. Defaults to `"1"` nanoTON. */ | ||
| forwardAmount?: string; | ||
| /** Raw one-cell BoC `forward_payload`, base64-encoded. */ | ||
| forwardPayload?: string; | ||
| /** Application-defined `query_id` for the transfer body. */ | ||
| queryId?: string; | ||
| } | ||
| /** | ||
| * Map from RPC method name to its request envelope. Used both as a type | ||
| * registry and to derive {@link AppRequest} via index lookup. | ||
| */ | ||
| export declare type RpcRequests = { | ||
@@ -204,2 +433,7 @@ sendTransaction: SendTransactionRpcRequest; | ||
| /** | ||
| * Map from RPC method name to its success / error response envelope. | ||
| * | ||
| * Used to derive {@link WalletResponse}. | ||
| */ | ||
| export declare type RpcResponses = { | ||
@@ -224,4 +458,2 @@ sendTransaction: { | ||
| export declare type RpcStructuredItem = RpcTonItem | RpcJettonItem | RpcNftItem; | ||
| /** | ||
@@ -232,10 +464,22 @@ * Wire-format structured items used inside JSON-RPC payloads and embedded-request | ||
| * | ||
| * The rich, user-facing counterparts (with camelCase fields) live in the SDK. | ||
| * The rich, user-facing counterparts (with camelCase fields and SDK-level | ||
| * conveniences) live in `@tonconnect/sdk` as `StructuredItem`. | ||
| * | ||
| * @see [`sendTransaction` § Structured items (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#sendtransaction) | ||
| */ | ||
| export declare type RpcStructuredItem = RpcTonItem | RpcJettonItem | RpcNftItem; | ||
| /** Native TON transfer in RPC wire form. */ | ||
| export declare interface RpcTonItem { | ||
| /** Item discriminator. */ | ||
| type: 'ton'; | ||
| /** Destination address in TEP-2 user-friendly format. */ | ||
| address: string; | ||
| /** Nanocoins to send, as a decimal string. */ | ||
| amount: string; | ||
| /** Optional one-cell BoC body, base64-encoded. */ | ||
| payload?: string; | ||
| /** Optional one-cell BoC `StateInit`, base64-encoded. */ | ||
| stateInit?: string; | ||
| /** TEP-92 extra currencies: `currency_id` → decimal amount string. */ | ||
| extra_currency?: { | ||
@@ -246,7 +490,17 @@ [k: number]: string; | ||
| /** | ||
| * Error codes the wallet may return from `sendTransaction`. | ||
| * | ||
| * @see [`sendTransaction` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#sendtransaction) | ||
| */ | ||
| export declare enum SEND_TRANSACTION_ERROR_CODES { | ||
| /** Unexpected wallet-side failure. */ | ||
| UNKNOWN_ERROR = 0, | ||
| /** Request payload is malformed. */ | ||
| BAD_REQUEST_ERROR = 1, | ||
| /** Wallet does not know the dApp / session. */ | ||
| UNKNOWN_APP_ERROR = 100, | ||
| /** User explicitly declined the transaction. */ | ||
| USER_REJECTS_ERROR = 300, | ||
| /** Wallet does not support the method. */ | ||
| METHOD_NOT_SUPPORTED = 400 | ||
@@ -257,4 +511,15 @@ } | ||
| name: 'SendTransaction'; | ||
| /** | ||
| * Maximum number of messages the wallet accepts in a single request. | ||
| */ | ||
| maxMessages: number; | ||
| /** | ||
| * `true` if the wallet can attach extra currencies. Absent or | ||
| * `false` means extra currencies are unsupported. | ||
| */ | ||
| extraCurrencySupported?: boolean; | ||
| /** | ||
| * Structured-item kinds the wallet accepts inside `items[]`. Absent means | ||
| * only raw `messages[]` are supported. | ||
| */ | ||
| itemTypes?: StructuredItemType[]; | ||
@@ -273,3 +538,2 @@ }; | ||
| export declare interface SendTransactionRpcRequest { | ||
| /** method discriminator */ | ||
| method: 'sendTransaction'; | ||
@@ -282,4 +546,8 @@ /** single-element tuple: the JSON-stringified transaction payload */ | ||
| /** | ||
| * Wallet reply to a `sendTransaction` RPC. | ||
| */ | ||
| export declare type SendTransactionRpcResponse = SendTransactionRpcResponseSuccess | SendTransactionRpcResponseError; | ||
| /** Failure envelope. */ | ||
| export declare interface SendTransactionRpcResponseError extends WalletResponseTemplateError { | ||
@@ -294,9 +562,53 @@ error: { | ||
| /** | ||
| * Success: `result` is the base64-encoded BoC of the external message. | ||
| */ | ||
| export declare interface SendTransactionRpcResponseSuccess extends WalletResponseTemplateSuccess { | ||
| } | ||
| /** | ||
| * Implements the TON Connect session-encryption protocol on top of NaCl's | ||
| * `crypto_box`. | ||
| * | ||
| * The protocol is symmetric: each side encrypts the messages it sends and | ||
| * decrypts the messages it receives. On the dApp side that means encrypting | ||
| * outgoing {@link AppMessage} and decrypting incoming {@link WalletMessage}; | ||
| * the wallet does the reverse. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { SessionCrypto, Base64, hexToByteArray } from '@tonconnect/protocol'; | ||
| * | ||
| * // Generate a fresh session | ||
| * const session = new SessionCrypto(); | ||
| * const myClientId = session.sessionId; // hex public key (sent to the peer) | ||
| * | ||
| * // Encrypt an outgoing message for the peer | ||
| * const ciphertext = session.encrypt( | ||
| * JSON.stringify(message), | ||
| * hexToByteArray(peerClientId) | ||
| * ); | ||
| * | ||
| * // Decrypt an incoming message from the peer | ||
| * const plaintext = session.decrypt( | ||
| * Base64.decode(bridgeMessage.message).toUint8Array(), | ||
| * hexToByteArray(bridgeMessage.from) | ||
| * ); | ||
| * ``` | ||
| * | ||
| * @see [Session protocol (Session spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/session.md) | ||
| */ | ||
| export declare class SessionCrypto { | ||
| private readonly nonceLength; | ||
| private readonly keyPair; | ||
| /** | ||
| * Bridge-level `client_id` — the public key as a 64-character | ||
| * lowercase hex string. Share with the peer during connect; treat as | ||
| * semi-private (do not publish broadly). | ||
| */ | ||
| readonly sessionId: string; | ||
| /** | ||
| * Reuse an existing {@link KeyPair} (resuming a session) or generate a | ||
| * fresh one (`crypto_box.keyPair()`) when omitted. | ||
| */ | ||
| constructor(keyPair?: KeyPair); | ||
@@ -306,20 +618,54 @@ private createKeypair; | ||
| private createNonce; | ||
| /** | ||
| * Encrypt `message` for `receiverPublicKey` using a fresh 24-byte random | ||
| * nonce. Returns `nonce || ciphertext` as raw bytes; base64-encode this | ||
| * value before placing it in the bridge `POST /message` body. | ||
| */ | ||
| encrypt(message: string, receiverPublicKey: Uint8Array): Uint8Array; | ||
| /** | ||
| * Decrypt the `nonce || ciphertext` blob received from the bridge. | ||
| * Throws if `nacl.box.open` rejects the message — wrong key, truncated | ||
| * input or tampered ciphertext. | ||
| */ | ||
| decrypt(message: Uint8Array, senderPublicKey: Uint8Array): string; | ||
| /** | ||
| * Export the underlying keypair as a {@link KeyPair} of hex strings. | ||
| * Persist this in dApp / wallet storage to resume the session later. | ||
| */ | ||
| stringifyKeypair(): KeyPair; | ||
| } | ||
| /** | ||
| * Error codes the wallet may return from `signData`. | ||
| * | ||
| * @see [`signData` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signdata) | ||
| */ | ||
| export declare enum SIGN_DATA_ERROR_CODES { | ||
| /** Unexpected wallet-side failure. */ | ||
| UNKNOWN_ERROR = 0, | ||
| /** Invalid request payload. */ | ||
| BAD_REQUEST_ERROR = 1, | ||
| /** Wallet does not know the dApp / session. */ | ||
| UNKNOWN_APP_ERROR = 100, | ||
| /** User explicitly declined. */ | ||
| USER_REJECTS_ERROR = 300, | ||
| /** Wallet does not support `signData` method or the requested `type`. */ | ||
| METHOD_NOT_SUPPORTED = 400 | ||
| } | ||
| /** | ||
| * Error codes the wallet may return from `signMessage`. | ||
| * | ||
| * @see [`signMessage` errors (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signmessage) | ||
| */ | ||
| export declare enum SIGN_MESSAGE_ERROR_CODES { | ||
| /** Unexpected wallet-side failure. */ | ||
| UNKNOWN_ERROR = 0, | ||
| /** Invalid request payload. */ | ||
| BAD_REQUEST_ERROR = 1, | ||
| /** Wallet does not know the dApp / session. */ | ||
| UNKNOWN_APP_ERROR = 100, | ||
| /** User explicitly declined. */ | ||
| USER_REJECTS_ERROR = 300, | ||
| /** Wallet does not support `signMessage`. */ | ||
| METHOD_NOT_SUPPORTED = 400 | ||
@@ -333,4 +679,11 @@ } | ||
| /** | ||
| * Discriminated payload for `signData`. | ||
| * | ||
| * @see [`signData` payload (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signdata) | ||
| */ | ||
| export declare type SignDataPayload = { | ||
| /** Target TON network; if mismatching the wallet's active network, the wallet refuses to sign. */ | ||
| network?: ChainId; | ||
| /** Optional signer address. */ | ||
| from?: string; | ||
@@ -341,2 +694,3 @@ } & (SignDataPayloadText | SignDataPayloadBinary | SignDataPayloadCell); | ||
| type: 'binary'; | ||
| /** Base64-encoded bytes. */ | ||
| bytes: string; | ||
@@ -347,3 +701,5 @@ }; | ||
| type: 'cell'; | ||
| /** TL-B schema string describing the cell layout. */ | ||
| schema: string; | ||
| /** Base64-encoded cell BoC. */ | ||
| cell: string; | ||
@@ -354,2 +710,3 @@ }; | ||
| type: 'text'; | ||
| /** UTF-8 text to sign. */ | ||
| text: string; | ||
@@ -366,3 +723,2 @@ }; | ||
| export declare interface SignDataRpcRequest { | ||
| /** method discriminator */ | ||
| method: 'signData'; | ||
@@ -375,2 +731,5 @@ /** single-element tuple: the JSON-stringified sign-data payload */ | ||
| /** | ||
| * Wallet reply to a `signData` RPC. | ||
| */ | ||
| export declare type SignDataRpcResponse = SignDataRpcResponseSuccess | SignDataRpcResponseError; | ||
@@ -386,10 +745,19 @@ | ||
| /** | ||
| * @see [`signData` signature (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signature--text-and-binary) | ||
| */ | ||
| export declare interface SignDataRpcResponseSuccess { | ||
| result: { | ||
| /** Base64-encoded Ed25519 signature. */ | ||
| signature: string; | ||
| /** Raw wallet address (`<workchain>:<hex>`). */ | ||
| address: string; | ||
| /** Unix epoch seconds (UTC) at signing time. */ | ||
| timestamp: number; | ||
| /** App domain from manifest bound into the signature. */ | ||
| domain: string; | ||
| /** Echo of the payload from the request. */ | ||
| payload: SignDataPayload; | ||
| }; | ||
| /** Echo of the request `id`. */ | ||
| id: string; | ||
@@ -402,13 +770,37 @@ } | ||
| name: 'SignMessage'; | ||
| /** | ||
| * Maximum number of messages the wallet will accept inside a single | ||
| * `signMessage` request. | ||
| */ | ||
| maxMessages: number; | ||
| /** `true` if extra currencies are supported in the signed message. */ | ||
| extraCurrencySupported?: boolean; | ||
| /** | ||
| * Structured-item kinds the wallet accepts. Absent means only raw | ||
| * `messages[]` are supported. | ||
| */ | ||
| itemTypes?: StructuredItemType[]; | ||
| }; | ||
| /** | ||
| * RPC request to sign an internal message **without** broadcasting it. | ||
| * | ||
| * `params[0]` is a JSON-stringified payload identical in shape to | ||
| * {@link SendTransactionRpcRequest}. | ||
| * | ||
| * @see [`signMessage` (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#signmessage) | ||
| */ | ||
| export declare interface SignMessageRpcRequest { | ||
| method: 'signMessage'; | ||
| /** single-element tuple: the JSON-stringified payload */ | ||
| params: [string]; | ||
| /** dApp-assigned request id; used to match the wallet response */ | ||
| id: string; | ||
| } | ||
| /** | ||
| * Wallet reply to a `signMessage` RPC. Success carries the signed internal | ||
| * message BoC; error narrows the `code` enum to | ||
| * {@link SIGN_MESSAGE_ERROR_CODES}. | ||
| */ | ||
| export declare type SignMessageRpcResponse = SignMessageRpcResponseSuccess | SignMessageRpcResponseError; | ||
@@ -428,13 +820,25 @@ | ||
| /** | ||
| * Signed internal message BoC (base64). | ||
| * Base64-encoded BoC of the signed internal message. | ||
| */ | ||
| internalBoc: string; | ||
| }; | ||
| /** Echo of the request `id`. */ | ||
| id: string; | ||
| } | ||
| /** | ||
| * Split `array` at `index` and return the two halves as fresh | ||
| * `Uint8Array`s. | ||
| */ | ||
| export declare function splitToUint8Arrays(array: Uint8Array, index: number): [Uint8Array, Uint8Array]; | ||
| /** | ||
| * Item kinds a wallet may accept inside `sendTransaction.items` / | ||
| * `signMessage.items`. Maps to the structured wallet-built transfers: | ||
| * native TON, [TEP-74](https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md) jetton, | ||
| * [TEP-62](https://github.com/ton-blockchain/TEPs/blob/master/text/0062-nft-standard.md) NFT. | ||
| */ | ||
| export declare type StructuredItemType = 'ton' | 'jetton' | 'nft'; | ||
| /** Hex-encode a byte array, lowercase, no `0x` prefix. */ | ||
| export declare function toHexString(byteArray: Uint8Array): string; | ||
@@ -445,3 +849,7 @@ | ||
| /** | ||
| * Desired network global_id. If provided, wallet should connect on this network. | ||
| * Desired TON network global_id the dApp wants to connect on. A hint only; | ||
| * the network-mismatch alert is enforced at request time | ||
| * (`sendTransaction` / `signData`), not at connect. | ||
| * | ||
| * @see {@link ChainId} | ||
| */ | ||
@@ -451,15 +859,41 @@ network?: ChainId; | ||
| /** | ||
| * Reply for the `ton_addr` connect item — the connected account. | ||
| * | ||
| * `publicKey` and `walletStateInit` are untrusted hints. Verifiers MUST | ||
| * re-derive the public key from `walletStateInit` (or via on-chain | ||
| * `get_public_key`) and check that `contractAddress(stateInit) === address` | ||
| * before trusting it. | ||
| */ | ||
| export declare interface TonAddressItemReply { | ||
| name: 'ton_addr'; | ||
| /** Raw TON address (`<workchain>:<hex>`). */ | ||
| address: string; | ||
| /** TON network the account belongs to. */ | ||
| network: ChainId; | ||
| /** Base64 BoC of the wallet contract `StateInit`. */ | ||
| walletStateInit: string; | ||
| /** public key as a hex string (without `0x`). Untrusted. */ | ||
| publicKey: string; | ||
| } | ||
| /** | ||
| * Ask the wallet for a `ton_proof` signature binding the connected account, | ||
| * the dApp domain and a server-issued nonce. dApps use the reply to | ||
| * authenticate the user. | ||
| * | ||
| * @see [Address proof signature (`ton_proof`) (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#address-proof-signature-ton_proof) | ||
| */ | ||
| export declare interface TonProofItem { | ||
| name: 'ton_proof'; | ||
| /** | ||
| * Payload to embed in the signed message. | ||
| */ | ||
| payload: string; | ||
| } | ||
| /** | ||
| * Reply for the `ton_proof` connect item. Either a success carrying the | ||
| * signed proof or a per-item error when the wallet doesn't support the item. | ||
| */ | ||
| export declare type TonProofItemReply = TonProofItemReplySuccess | TonProofItemReplyError; | ||
@@ -469,11 +903,24 @@ | ||
| /** | ||
| * Successful `ton_proof` reply. `proof` carries the Ed25519 signature plus | ||
| * the bound fields needed to reconstruct the signed bytes on the verifier | ||
| * side. | ||
| * | ||
| * @see [Address proof signature (Connect spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/connect.md#address-proof-signature-ton_proof) | ||
| */ | ||
| export declare interface TonProofItemReplySuccess { | ||
| name: 'ton_proof'; | ||
| proof: { | ||
| /** Unix epoch seconds at signing time. */ | ||
| timestamp: number; | ||
| /** App domain bound into the signature. */ | ||
| domain: { | ||
| /** Length of `value` in UTF-8 bytes. */ | ||
| lengthBytes: number; | ||
| /** Domain name, without scheme or encoding. */ | ||
| value: string; | ||
| }; | ||
| /** dApp-provided payload (typically a server-issued nonce). */ | ||
| payload: string; | ||
| /** Base64-encoded Ed25519 signature. */ | ||
| signature: string; | ||
@@ -483,6 +930,23 @@ }; | ||
| /** | ||
| * Server-initiated events the wallet emits to the dApp. | ||
| * | ||
| * - {@link ConnectEvent} — `connect` success or `connect_error`. Emitted | ||
| * in response to a `ConnectRequest`. | ||
| * - {@link DisconnectEvent} — wallet-initiated session teardown. | ||
| * | ||
| * @see [Wallet events (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#wallet-events) | ||
| */ | ||
| export declare type WalletEvent = ConnectEvent | DisconnectEvent; | ||
| /** | ||
| * Anything a wallet can send to a dApp over the protocol. | ||
| */ | ||
| export declare type WalletMessage = WalletEvent | WalletResponse<RpcMethod>; | ||
| /** | ||
| * Wallet reply to an {@link AppRequest}. | ||
| * | ||
| * @see [`WalletResponse` (RPC spec)](https://github.com/ton-blockchain/ton-connect/blob/main/spec/rpc.md#walletresponse) | ||
| */ | ||
| export declare type WalletResponse<T extends RpcMethod> = WalletResponseSuccess<T> | WalletResponseError<T>; | ||
@@ -489,0 +953,0 @@ |
+1
-1
| { | ||
| "name": "@tonconnect/protocol", | ||
| "version": "3.0.0-beta.2", | ||
| "version": "3.0.0", | ||
| "repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
+1
-1
@@ -5,3 +5,3 @@ # TON Connect protocol models | ||
| [Latest API documentation](https://ton-connect.github.io/sdk/modules/_tonconnect_protocol.html) | ||
| [Latest API documentation](https://docs.ton.org/applications/ton-connect/api-reference/protocol) | ||
@@ -8,0 +8,0 @@ ## Summary |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
116340
36.13%1990
57.56%0
-100%