Files
varan-connect/src/helpers.ts
T
odiinnn 13eea0bfad Add transaction signing functionality to App component
- Introduced a new button to sign transactions, allowing users to generate a signature for a predefined raw transaction.
- Updated state management to handle the transaction signature and display it in the UI.
- Enhanced connection logic to ensure the user's address is retrieved before signing.
- Modified the WalletStore to improve transaction status handling during updates.
2025-10-06 09:45:39 +03:00

23 lines
870 B
TypeScript

import { decodeResult } from "./encryption";
import type { ConnectResult, SignTransactionResult, WebApp } from "./types";
export const parseWalletsFromStartParam = (webApp: WebApp): ConnectResult['wallets'] | null => {
const startParam = webApp.initDataUnsafe?.start_param;
if (!startParam) return null;
const result = decodeResult(startParam);
return 'wallets' in result ? result.wallets : null;
};
export const parseSignedTxFromStartParam = (webApp: WebApp): SignTransactionResult | null => {
const startParam = webApp.initDataUnsafe?.start_param;
if (!startParam) return null;
const result = decodeResult(startParam);
if ('id' in result) {
result.id = Number(result.id);
}
return 'signedTx' in result ? result : null;
};
export const generateRequestId = (): number => Math.floor(Math.random() * 90000) + 10000;