🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@tonconnect/protocol

Package Overview
Dependencies
Maintainers
2
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tonconnect/protocol - npm Package Compare versions

Comparing version
3.0.0-beta.2
to
3.0.0
+133
-0
lib/cjs/index.cjs

@@ -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

@@ -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":";;;;;AAwDA;;;;AAIG;AACSA;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,EAfWA,iCAAyB,KAAzBA,iCAAyB,GAAA,EAAA,CAAA,CAAA;AA8ErC;;;;AAIG;AACSC;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,EALWA,gCAAwB,KAAxBA,gCAAwB,GAAA,EAAA,CAAA,CAAA;;ACzHpC;;;;AAIG;AACSC;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,EAXWA,oCAA4B,KAA5BA,oCAA4B,GAAA,EAAA,CAAA,CAAA;;ACqCxC;;;;AAIG;AACSC;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,EAXWA,6BAAqB,KAArBA,6BAAqB,GAAA,EAAA,CAAA,CAAA;;AChDjC;;;;AAIG;AACSC;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,EALWA,8BAAsB,KAAtBA,8BAAsB,GAAA,EAAA,CAAA,CAAA;;ACFlC;;;;AAIG;AACSC;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,EAXWA,gCAAwB,KAAxBA,gCAAwB,GAAA,EAAA,CAAA,CAAA;;AC9BpC;;AAEG;AACSC;AAAZ,CAAA,UAAY,KAAK,EAAA;AACb,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,MAAgB;AAChB,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,IAAc;AAClB,CAAC,EAHWA,aAAK,KAALA,aAAK,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,OAAOC,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;;;;;;;;;;;;"}
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":"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"}

@@ -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 @@

{
"name": "@tonconnect/protocol",
"version": "3.0.0-beta.2",
"version": "3.0.0",
"repository": {

@@ -5,0 +5,0 @@ "type": "git",

@@ -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