🚀 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
2.4.0
to
2.5.0-alpha.0
+181
-0
lib/cjs/index.cjs

@@ -48,2 +48,11 @@ 'use strict';

exports.SIGN_MESSAGE_ERROR_CODES = void 0;
(function (SIGN_MESSAGE_ERROR_CODES) {
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR";
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 = {}));
exports.CHAIN = void 0;

@@ -105,2 +114,172 @@ (function (CHAIN) {

// ────────────────────────────────────────────────────────────────────────────
// Helpers
// ────────────────────────────────────────────────────────────────────────────
function fromBase64Url(base64url) {
const padded = base64url.length + ((4 - (base64url.length % 4)) % 4);
const base64 = base64url.replace(/-/g, '+').replace(/_/g, '/').padEnd(padded, '=');
return Base64.decode(base64).toString();
}
function expandMessage(w) {
const msg = { address: w.a, amount: w.am };
if (w.p !== undefined) {
msg.payload = w.p;
}
if (w.si !== undefined) {
msg.stateInit = w.si;
}
if (w.ec !== undefined) {
msg.extra_currency = w.ec;
}
return msg;
}
function expandItem(w) {
switch (w.t) {
case 'ton': {
const item = { type: 'ton', address: w.a, amount: w.am };
if (w.p !== undefined) {
item.payload = w.p;
}
if (w.si !== undefined) {
item.stateInit = w.si;
}
if (w.ec !== undefined) {
item.extra_currency = w.ec;
}
return item;
}
case 'jetton': {
const item = {
type: 'jetton',
master: w.ma,
destination: w.d,
amount: w.am
};
if (w.aa !== undefined) {
item.attachAmount = w.aa;
}
if (w.rd !== undefined) {
item.responseDestination = w.rd;
}
if (w.cp !== undefined) {
item.customPayload = w.cp;
}
if (w.fa !== undefined) {
item.forwardAmount = w.fa;
}
if (w.fp !== undefined) {
item.forwardPayload = w.fp;
}
if (w.qi !== undefined) {
item.queryId = w.qi;
}
return item;
}
case 'nft': {
const item = {
type: 'nft',
nftAddress: w.na,
newOwner: w.no
};
if (w.aa !== undefined) {
item.attachAmount = w.aa;
}
if (w.rd !== undefined) {
item.responseDestination = w.rd;
}
if (w.cp !== undefined) {
item.customPayload = w.cp;
}
if (w.fa !== undefined) {
item.forwardAmount = w.fa;
}
if (w.fp !== undefined) {
item.forwardPayload = w.fp;
}
if (w.qi !== undefined) {
item.queryId = w.qi;
}
return item;
}
}
}
function expandTransactionBody(wire) {
const payload = {};
if (wire.vu !== undefined) {
payload.valid_until = wire.vu;
}
if (wire.n !== undefined) {
payload.network = wire.n;
}
if (wire.f !== undefined) {
payload.from = wire.f;
}
if (wire.ms) {
payload.messages = wire.ms.map(expandMessage);
}
if (wire.i) {
payload.items = wire.i.map(expandItem);
}
return payload;
}
function expandSignDataBody(wire) {
const payload = {};
if (wire.n !== undefined) {
payload.network = wire.n;
}
if (wire.f !== undefined) {
payload.from = wire.f;
}
switch (wire.t) {
case 'text':
payload.type = 'text';
payload.text = wire.tx;
break;
case 'binary':
payload.type = 'binary';
payload.bytes = wire.b;
break;
case 'cell':
payload.type = 'cell';
payload.schema = wire.s;
payload.cell = wire.c;
break;
}
return payload;
}
/**
* Decode a compact {@link WireEmbeddedRequest} back to the standard JSON-RPC
* `AppRequest`-shaped `{ method, params: [JSON-string] }`.
*/
function decodeWireEmbeddedRequest(wire) {
switch (wire.m) {
case 'st':
return {
method: 'sendTransaction',
params: [JSON.stringify(expandTransactionBody(wire))]
};
case 'sm':
return {
method: 'signMessage',
params: [JSON.stringify(expandTransactionBody(wire))]
};
case 'sd':
return {
method: 'signData',
params: [JSON.stringify(expandSignDataBody(wire))]
};
}
}
/**
* Decode the `e` URL parameter and return `{ method, params: [string] }` —
* the same shape as a bridge `AppRequest` (without `id`).
*
* The `e` value is `base64url(JSON.stringify(WireEmbeddedRequest))`.
*/
function decodeEmbeddedRequestParam(reqParam) {
const json = fromBase64Url(reqParam);
const wire = JSON.parse(json);
return decodeWireEmbeddedRequest(wire);
}
function concatUint8Arrays(buffer1, buffer2) {

@@ -185,2 +364,4 @@ const mergedArray = new Uint8Array(buffer1.length + buffer2.length);

exports.concatUint8Arrays = concatUint8Arrays;
exports.decodeEmbeddedRequestParam = decodeEmbeddedRequestParam;
exports.decodeWireEmbeddedRequest = decodeWireEmbeddedRequest;
exports.hexToByteArray = hexToByteArray;

@@ -187,0 +368,0 @@ exports.isNode = isNode;

+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/CHAIN.ts","../../src/utils/base64.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],"names":["CONNECT_EVENT_ERROR_CODES","CONNECT_ITEM_ERROR_CODES","SEND_TRANSACTION_ERROR_CODES","SIGN_DATA_ERROR_CODES","DISCONNECT_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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"}

@@ -46,2 +46,11 @@ import nacl from 'tweetnacl-util';

var SIGN_MESSAGE_ERROR_CODES;
(function (SIGN_MESSAGE_ERROR_CODES) {
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_ERROR"] = 0] = "UNKNOWN_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["BAD_REQUEST_ERROR"] = 1] = "BAD_REQUEST_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["UNKNOWN_APP_ERROR"] = 100] = "UNKNOWN_APP_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["USER_REJECTS_ERROR"] = 300] = "USER_REJECTS_ERROR";
SIGN_MESSAGE_ERROR_CODES[SIGN_MESSAGE_ERROR_CODES["METHOD_NOT_SUPPORTED"] = 400] = "METHOD_NOT_SUPPORTED";
})(SIGN_MESSAGE_ERROR_CODES || (SIGN_MESSAGE_ERROR_CODES = {}));
var CHAIN;

@@ -103,2 +112,172 @@ (function (CHAIN) {

// ────────────────────────────────────────────────────────────────────────────
// Helpers
// ────────────────────────────────────────────────────────────────────────────
function fromBase64Url(base64url) {
const padded = base64url.length + ((4 - (base64url.length % 4)) % 4);
const base64 = base64url.replace(/-/g, '+').replace(/_/g, '/').padEnd(padded, '=');
return Base64.decode(base64).toString();
}
function expandMessage(w) {
const msg = { address: w.a, amount: w.am };
if (w.p !== undefined) {
msg.payload = w.p;
}
if (w.si !== undefined) {
msg.stateInit = w.si;
}
if (w.ec !== undefined) {
msg.extra_currency = w.ec;
}
return msg;
}
function expandItem(w) {
switch (w.t) {
case 'ton': {
const item = { type: 'ton', address: w.a, amount: w.am };
if (w.p !== undefined) {
item.payload = w.p;
}
if (w.si !== undefined) {
item.stateInit = w.si;
}
if (w.ec !== undefined) {
item.extra_currency = w.ec;
}
return item;
}
case 'jetton': {
const item = {
type: 'jetton',
master: w.ma,
destination: w.d,
amount: w.am
};
if (w.aa !== undefined) {
item.attachAmount = w.aa;
}
if (w.rd !== undefined) {
item.responseDestination = w.rd;
}
if (w.cp !== undefined) {
item.customPayload = w.cp;
}
if (w.fa !== undefined) {
item.forwardAmount = w.fa;
}
if (w.fp !== undefined) {
item.forwardPayload = w.fp;
}
if (w.qi !== undefined) {
item.queryId = w.qi;
}
return item;
}
case 'nft': {
const item = {
type: 'nft',
nftAddress: w.na,
newOwner: w.no
};
if (w.aa !== undefined) {
item.attachAmount = w.aa;
}
if (w.rd !== undefined) {
item.responseDestination = w.rd;
}
if (w.cp !== undefined) {
item.customPayload = w.cp;
}
if (w.fa !== undefined) {
item.forwardAmount = w.fa;
}
if (w.fp !== undefined) {
item.forwardPayload = w.fp;
}
if (w.qi !== undefined) {
item.queryId = w.qi;
}
return item;
}
}
}
function expandTransactionBody(wire) {
const payload = {};
if (wire.vu !== undefined) {
payload.valid_until = wire.vu;
}
if (wire.n !== undefined) {
payload.network = wire.n;
}
if (wire.f !== undefined) {
payload.from = wire.f;
}
if (wire.ms) {
payload.messages = wire.ms.map(expandMessage);
}
if (wire.i) {
payload.items = wire.i.map(expandItem);
}
return payload;
}
function expandSignDataBody(wire) {
const payload = {};
if (wire.n !== undefined) {
payload.network = wire.n;
}
if (wire.f !== undefined) {
payload.from = wire.f;
}
switch (wire.t) {
case 'text':
payload.type = 'text';
payload.text = wire.tx;
break;
case 'binary':
payload.type = 'binary';
payload.bytes = wire.b;
break;
case 'cell':
payload.type = 'cell';
payload.schema = wire.s;
payload.cell = wire.c;
break;
}
return payload;
}
/**
* Decode a compact {@link WireEmbeddedRequest} back to the standard JSON-RPC
* `AppRequest`-shaped `{ method, params: [JSON-string] }`.
*/
function decodeWireEmbeddedRequest(wire) {
switch (wire.m) {
case 'st':
return {
method: 'sendTransaction',
params: [JSON.stringify(expandTransactionBody(wire))]
};
case 'sm':
return {
method: 'signMessage',
params: [JSON.stringify(expandTransactionBody(wire))]
};
case 'sd':
return {
method: 'signData',
params: [JSON.stringify(expandSignDataBody(wire))]
};
}
}
/**
* Decode the `e` URL parameter and return `{ method, params: [string] }` —
* the same shape as a bridge `AppRequest` (without `id`).
*
* The `e` value is `base64url(JSON.stringify(WireEmbeddedRequest))`.
*/
function decodeEmbeddedRequestParam(reqParam) {
const json = fromBase64Url(reqParam);
const wire = JSON.parse(json);
return decodeWireEmbeddedRequest(wire);
}
function concatUint8Arrays(buffer1, buffer2) {

@@ -180,3 +359,3 @@ const mergedArray = new Uint8Array(buffer1.length + buffer2.length);

export { Base64, CHAIN, CONNECT_EVENT_ERROR_CODES, CONNECT_ITEM_ERROR_CODES, DISCONNECT_ERROR_CODES, SEND_TRANSACTION_ERROR_CODES, SIGN_DATA_ERROR_CODES, SessionCrypto, concatUint8Arrays, hexToByteArray, isNode, splitToUint8Arrays, toHexString };
export { Base64, CHAIN, CONNECT_EVENT_ERROR_CODES, CONNECT_ITEM_ERROR_CODES, DISCONNECT_ERROR_CODES, SEND_TRANSACTION_ERROR_CODES, SIGN_DATA_ERROR_CODES, SIGN_MESSAGE_ERROR_CODES, SessionCrypto, concatUint8Arrays, decodeEmbeddedRequestParam, decodeWireEmbeddedRequest, hexToByteArray, isNode, splitToUint8Arrays, toHexString };
//# sourceMappingURL=index.mjs.map

@@ -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/CHAIN.ts","../../src/utils/base64.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],"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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"}

@@ -52,2 +52,7 @@ export declare type AppMessage = ConnectRequest | AppRequest<keyof RpcRequests>;

};
/**
* Response to the embedded app request (deep link request).
* Present only if the wallet processed an `e` parameter from the connect URL.
*/
response?: WalletResponse<RpcMethod>;
}

@@ -78,2 +83,18 @@

export declare type DecodedEmbeddedRequest = Omit<AppRequest<'sendTransaction' | 'signMessage' | 'signData'>, 'id'>;
/**
* Decode the `e` URL parameter and return `{ method, params: [string] }` —
* the same shape as a bridge `AppRequest` (without `id`).
*
* The `e` value is `base64url(JSON.stringify(WireEmbeddedRequest))`.
*/
export declare function decodeEmbeddedRequestParam(reqParam: string): DecodedEmbeddedRequest;
/**
* Decode a compact {@link WireEmbeddedRequest} back to the standard JSON-RPC
* `AppRequest`-shaped `{ method, params: [JSON-string] }`.
*/
export declare function decodeWireEmbeddedRequest(wire: WireEmbeddedRequest): DecodedEmbeddedRequest;
export declare interface DeviceInfo {

@@ -122,5 +143,9 @@ platform: 'iphone' | 'ipad' | 'android' | 'windows' | 'mac' | 'linux' | 'browser';

export declare type EmbeddedRequestFeature = {
name: 'EmbeddedRequest';
};
export declare function encode(value: string | object | Uint8Array, urlSafe?: boolean): string;
export declare type Feature = SendTransactionFeatureDeprecated | SendTransactionFeature | SignDataFeature;
export declare type Feature = SendTransactionFeatureDeprecated | SendTransactionFeature | SignDataFeature | SignMessageFeature | EmbeddedRequestFeature;

@@ -138,7 +163,33 @@ export declare type FeatureName = Exclude<Feature, 'SendTransaction'>['name'];

export declare type RpcMethod = 'disconnect' | 'sendTransaction' | 'signData';
export declare interface RpcJettonItem {
type: 'jetton';
master: string;
destination: string;
amount: string;
attachAmount?: string;
responseDestination?: string;
customPayload?: string;
forwardAmount?: string;
forwardPayload?: string;
queryId?: string;
}
export declare type RpcMethod = 'disconnect' | 'sendTransaction' | 'signData' | 'signMessage';
export declare interface RpcNftItem {
type: 'nft';
nftAddress: string;
newOwner: string;
attachAmount?: string;
responseDestination?: string;
customPayload?: string;
forwardAmount?: string;
forwardPayload?: string;
queryId?: string;
}
export declare type RpcRequests = {
sendTransaction: SendTransactionRpcRequest;
signData: SignDataRpcRequest;
signMessage: SignMessageRpcRequest;
disconnect: DisconnectRpcRequest;

@@ -156,2 +207,6 @@ };

};
signMessage: {
error: SignMessageRpcResponseError;
success: SignMessageRpcResponseSuccess;
};
disconnect: {

@@ -163,2 +218,22 @@ error: DisconnectRpcResponseError;

export declare type RpcStructuredItem = RpcTonItem | RpcJettonItem | RpcNftItem;
/**
* Wire-format structured items used inside JSON-RPC payloads and embedded-request
* expansion. These match the shape that travels over the bridge / URL — field
* casing follows the protocol (e.g. `extra_currency` snake_case).
*
* The rich, user-facing counterparts (with camelCase fields) live in the SDK.
*/
export declare interface RpcTonItem {
type: 'ton';
address: string;
amount: string;
payload?: string;
stateInit?: string;
extra_currency?: {
[k: number]: string;
};
}
export declare enum SEND_TRANSACTION_ERROR_CODES {

@@ -176,2 +251,3 @@ UNKNOWN_ERROR = 0,

extraCurrencySupported?: boolean;
itemTypes?: StructuredItemType[];
};

@@ -181,5 +257,15 @@

/**
* RPC request to submit and broadcast a transaction.
*
* `params[0]` is a JSON-stringified payload that mirrors the SDK's
* `SendTransactionRequest` (either raw `messages` OR structured `items`,
* plus `valid_until`, `network`, and `from`).
*/
export declare interface SendTransactionRpcRequest {
/** method discriminator */
method: 'sendTransaction';
/** single-element tuple: the JSON-stringified transaction payload */
params: [string];
/** dApp-assigned request id; used to match the wallet response */
id: string;

@@ -223,2 +309,10 @@ }

export declare enum SIGN_MESSAGE_ERROR_CODES {
UNKNOWN_ERROR = 0,
BAD_REQUEST_ERROR = 1,
UNKNOWN_APP_ERROR = 100,
USER_REJECTS_ERROR = 300,
METHOD_NOT_SUPPORTED = 400
}
export declare type SignDataFeature = {

@@ -250,5 +344,15 @@ name: 'SignData';

/**
* RPC request to sign arbitrary application data and return a wallet-provided
* signature.
*
* `params[0]` is a JSON-stringified {@link SignDataPayload} — one of three
* discriminated shapes (`text`, `binary`, `cell`).
*/
export declare interface SignDataRpcRequest {
/** method discriminator */
method: 'signData';
/** single-element tuple: the JSON-stringified sign-data payload */
params: [string];
/** dApp-assigned request id; used to match the wallet response */
id: string;

@@ -280,4 +384,40 @@ }

export declare type SignMessageFeature = {
name: 'SignMessage';
maxMessages: number;
extraCurrencySupported?: boolean;
itemTypes?: StructuredItemType[];
};
export declare interface SignMessageRpcRequest {
method: 'signMessage';
params: [string];
id: string;
}
export declare type SignMessageRpcResponse = SignMessageRpcResponseSuccess | SignMessageRpcResponseError;
export declare interface SignMessageRpcResponseError extends WalletResponseTemplateError {
error: {
code: SIGN_MESSAGE_ERROR_CODES;
message: string;
data?: unknown;
};
id: string;
}
export declare interface SignMessageRpcResponseSuccess {
result: {
/**
* Signed internal message BoC (base64).
*/
internalBoc: string;
};
id: string;
}
export declare function splitToUint8Arrays(array: Uint8Array, index: number): [Uint8Array, Uint8Array];
export declare type StructuredItemType = 'ton' | 'jetton' | 'nft';
export declare function toHexString(byteArray: Uint8Array): string;

@@ -333,2 +473,4 @@

export declare type WalletResponseTemplate = WalletResponseTemplateSuccess | WalletResponseTemplateError;
export declare interface WalletResponseTemplateError {

@@ -348,2 +490,179 @@ error: {

/**
* Top-level wire shape of an embedded app-request. Discriminated on `m` (method).
* One of:
* - {@link WireSendTransaction} (`m: 'st'`)
* - {@link WireSignMessage} (`m: 'sm'`)
* - {@link WireSignData} (`m: 'sd'`)
*/
export declare type WireEmbeddedRequest = WireSendTransaction | WireSignMessage | WireSignData;
/**
* Wire form of a single structured item. Discriminated on `t`.
* Counterpart of the user-facing `StructuredItem` (SDK).
*/
export declare type WireItem = WireTonItem | WireJettonItem | WireNftItem;
/** Structured item: jetton (TEP-74) transfer. */
export declare interface WireJettonItem {
/** item type discriminator */
t: 'jetton';
/** jetton master contract address */
ma: string;
/** jetton recipient address */
d: string;
/** jetton amount in elementary units */
am: string;
/** TON to attach for fees (wallet estimates if omitted) */
aa?: string;
/** where to send excess TON (defaults to sender) */
rd?: string;
/** optional custom_payload cell BoC, base64 */
cp?: string;
/** forward_ton_amount in nanocoins */
fa?: string;
/** optional forward_payload cell BoC, base64 */
fp?: string;
/** optional query_id */
qi?: string;
}
/**
* Wire form of a raw transaction message (non-structured — the caller is
* responsible for the BoC). Counterpart of the standard `SendTransaction`
* `messages[]` element.
*/
export declare interface WireMessage {
/** destination address */
a: string;
/** amount in nanocoins (decimal string) */
am: string;
/** optional one-cell BoC body, base64 */
p?: string;
/** optional state init, base64 */
si?: string;
/** extra currencies map */
ec?: {
[k: number]: string;
};
}
/** Structured item: NFT (TEP-62) transfer. */
export declare interface WireNftItem {
/** item type discriminator */
t: 'nft';
/** NFT item contract address */
na: string;
/** new owner address */
no: string;
/** TON to attach for fees */
aa?: string;
/** where to send excess TON (defaults to sender) */
rd?: string;
/** optional custom_payload cell BoC, base64 */
cp?: string;
/** forward_ton_amount in nanocoins */
fa?: string;
/** optional forward_payload cell BoC, base64 */
fp?: string;
/** optional query_id */
qi?: string;
}
/**
* Compact wire form of `AppRequest<'sendTransaction'>`.
* The payload carries EITHER `ms` (raw messages) OR `i` (structured items),
* never both.
*/
export declare interface WireSendTransaction {
/** method discriminator: `sendTransaction` */
m: 'st';
/** from — sender address (optional; defaults to connected account) */
f?: string;
/** network — TON chain id (e.g. `"-239"` for mainnet) */
n?: string;
/** valid_until — unix epoch seconds */
vu?: number;
/** raw messages (mutually exclusive with `i`) */
ms?: WireMessage[];
/** structured items (mutually exclusive with `ms`) */
i?: WireItem[];
}
/**
* Compact wire form of `AppRequest<'signData'>`.
* Discriminated on `t` (payload type): `text` | `binary` | `cell`.
*/
export declare type WireSignData = {
/** method discriminator: `signData` */
m: 'sd';
/** network — TON chain id */
n?: string;
/** from — sender address */
f?: string;
} & (WireSignDataText | WireSignDataBinary | WireSignDataCell);
/** Sign-data payload: arbitrary binary blob, base64-encoded. */
export declare interface WireSignDataBinary {
/** payload type discriminator */
t: 'binary';
/** base64-encoded bytes */
b: string;
}
/** Sign-data payload: a TVM cell with a TL-B schema. */
export declare interface WireSignDataCell {
/** payload type discriminator */
t: 'cell';
/** TL-B schema describing the cell layout */
s: string;
/** base64-encoded cell BoC */
c: string;
}
/** Sign-data payload: plain UTF-8 text. */
export declare interface WireSignDataText {
/** payload type discriminator */
t: 'text';
/** text to sign */
tx: string;
}
/**
* Compact wire form of `AppRequest<'signMessage'>`.
* Same shape as {@link WireSendTransaction}; only the method discriminator differs.
*/
export declare interface WireSignMessage {
/** method discriminator: `signMessage` */
m: 'sm';
/** from — sender address */
f?: string;
/** network — TON chain id */
n?: string;
/** valid_until — unix epoch seconds */
vu?: number;
/** raw messages (mutually exclusive with `i`) */
ms?: WireMessage[];
/** structured items (mutually exclusive with `ms`) */
i?: WireItem[];
}
/** Structured item: native TON transfer. */
export declare interface WireTonItem {
/** item type discriminator */
t: 'ton';
/** destination address */
a: string;
/** amount in nanocoins (decimal string) */
am: string;
/** optional one-cell BoC body, base64 */
p?: string;
/** optional state init, base64 */
si?: string;
/** extra currencies map */
ec?: {
[k: number]: string;
};
}
export { }
{
"name": "@tonconnect/protocol",
"version": "2.4.0",
"version": "2.5.0-alpha.0",
"repository": {

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