Files
pezkuwi-telegram-miniapp/package.json
T
Satoshi Qazi Muhammed 146b3a5bfd telegram-bot: make new wallets on the device, not in the bot
The KRD bot's "Create Wallet" button generated a 12-word seed inside the
edge function and sent it to the user as a chat message. Every new
wallet's seed therefore passed through this server, and stayed in
Telegram's cloud history on every device the account is signed in on:
whoever gets into the server, a log, or the Telegram account gets the
wallet.

The button now opens the mini app at ?page=wallet, which lands on the
wallet section; that section already creates the seed on the device
(src/lib/wallet-service.ts) and never sends it anywhere. The
create_wallet callback stays for buttons on old welcome messages, and
answers with the same mini app link instead of a seed.

With nothing left to derive, the bot no longer imports the keyring,
util-crypto or bip39.
2026-10-25 02:35:17 +04:00

98 lines
3.1 KiB
JSON

{
"name": "pezkuwi-telegram-miniapp",
"version": "1.0.248",
"type": "module",
"description": "Pezkuwichain Telegram Mini App - Forum, Announcements, Rewards",
"author": "Pezkuwichain Team",
"license": "MIT",
"scripts": {
"dev": "vite",
"build": "node scripts/bump-version.mjs && tsc && vite build",
"build:major": "node scripts/bump-version.mjs major && tsc && vite build",
"build:minor": "node scripts/bump-version.mjs minor && tsc && vite build",
"build:patch": "node scripts/bump-version.mjs patch && tsc && vite build",
"build:no-bump": "tsc && vite build",
"preview": "vite preview",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"lint:fix": "eslint . --ext ts,tsx --fix",
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
"typecheck": "tsc --noEmit",
"test": "vitest",
"test:run": "vitest run",
"test:unit": "vitest run --grep 'P2P Fiat Trading E2E' --invert",
"test:e2e": "./scripts/run-e2e-tests.sh",
"test:p2p": "vitest run --grep 'P2P'",
"test:coverage": "vitest run --coverage",
"prepare": "husky",
"validate": "npm run typecheck && npm run lint && npm run test:run && npm run build:no-bump",
"version": "node scripts/bump-version.mjs"
},
"lint-staged": {
"*.{ts,tsx}": [
"eslint --fix",
"prettier --write"
],
"*.{json,md,css}": [
"prettier --write"
]
},
"dependencies": {
"@pezkuwi/api": "^16.5.39",
"@pezkuwi/keyring": "^14.0.26",
"@pezkuwi/util-crypto": "^14.0.26",
"@supabase/supabase-js": "^2.93.1",
"@tanstack/react-query": "^5.56.2",
"@ton/crypto": "^3.3.0",
"@ton/ton": "^16.2.2",
"@types/qrcode": "^1.5.6",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^3.6.0",
"js-sha3": "^0.9.3",
"lucide-react": "^0.462.0",
"qrcode": "^1.5.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"vite-plugin-node-polyfills": "^0.25.0"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@typescript-eslint/eslint-plugin": "^8.54.0",
"@typescript-eslint/parser": "^8.54.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"@vitest/coverage-v8": "^4.1.11",
"autoprefixer": "^10.4.20",
"bip39": "^3.1.0",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"husky": "^9.1.7",
"jsdom": "^27.4.0",
"lint-staged": "^16.2.7",
"pg": "^8.18.0",
"postcss": "^8.5.23",
"prettier": "^3.8.1",
"tailwindcss": "^3.4.11",
"tronweb": "^6.2.0",
"typescript": "^5.5.3",
"vite": "^6.4.4",
"vitest": "^4.1.11"
},
"engines": {
"node": ">=18.0.0"
},
"overrides": {
"axios": "^1.20.0",
"ws": "^8.21.0",
"postcss-selector-parser": "^7.1.6",
"braces": "npm:@pezkuwi/braces@^3.0.4"
}
}