Mobile Dapp Provider
Last updated
// Connect method
interface TonAddressItem {
name: 'ton_addr';
}
interface TonProofItem {
name: 'ton_proof';
payload: string;
}
type ConnectItem = TonAddressItem | TonProofItem;
interface ConnectEventError {
event: 'connect_error';
id: number;
payload: {
code: CONNECT_EVENT_ERROR_CODES;
message: string;
};
}
interface ConnectEventSuccess {
event: 'connect';
id: number;
payload: {
items: ConnectItemReply[];
device: DeviceInfo;
};
}
type ConnectEvent = ConnectEventSuccess | ConnectEventError;
export declare interface ConnectRequest {
manifestUrl: string;
items: ConnectItem[];
}
const protocolVersion = 2;
const request = {
items: [{ name: 'ton_addr' }],
manifestUrl: 'https://megaton.fi/tonconnect-manifest.json?v=1',
};
await window.sender.ton.connect(protocolVersion, request);// Example
await window.sender.ton.restoreConnection();// Disconnect dapp
await window.sender.ton.disconnect();// Send transaction by wallet
interface SendTransactionRpcRequest {
method: 'sendTransaction';
params: [string];
id: string;
}
interface SignDataRpcRequest {
method: 'signData';
params: [
{
schema_crc: number;
cell: string;
}
];
id: string;
}
interface DisconnectRpcRequest {
method: 'disconnect';
params: [];
id: string;
}
type RpcRequests = {
sendTransaction: SendTransactionRpcRequest;
signData: SignDataRpcRequest;
disconnect: DisconnectRpcRequest;
};
type RpcMethod = 'disconnect' | 'sendTransaction' | 'signData';
const request = {
sendTransaction: { ... },
signData: { ... },
disconnect: { ... },
}
await window.sender.ton.send(request);