1745 wystapien w 291 plikach (backend, scripts, mobile). Dominowal jeden ksztalt, ' — ' laczace zdania, wiec poszedl przecinek; myslnik otwierajacy mysl zdjety; zakresy 0–5 i A–Z na dywiz. Podzial komentarz/kod robil skaner stanow, nie regex, zeby nie ruszyc myslnika stojacego w stringu albo w wyrazeniu regularnym. Potwierdzone maszynowo: po wycieciu komentarzy z wersji HEAD i z dysku obie sa identyczne we wszystkich 291 plikach, czyli poza komentarzami nie zmienilo sie nic. 233 pliki .py parsuja sie bez bledu, tsc ma te same 11 bledow w tych samych 3 plikach co przed zmiana. Dwie rzeczy wymagaly poprawki po automacie: wyrownane listy definicji, gdzie myslnik byl separatorem kolumny (37 miejsc, kolumna przywrocona), i trzy przeniesienia mysli do nowej linii, gdzie zostawal wiszacy przecinek na poczatku (poprawione recznie). Bundla nie republikuje: Hermes i tak nie niesie komentarzy, wiec dla uzytkownika to zero zmiany. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
71 lines
2.6 KiB
TypeScript
71 lines
2.6 KiB
TypeScript
// Donation addresses for the project. These are PUBLIC by design, the app ships
|
|
// them in plaintext so users can verify them on-screen + cross-reference against
|
|
// the project README before sending crypto.
|
|
//
|
|
// To swap addresses: regenerate in your wallet, paste new value here, rebuild APK.
|
|
// (We do NOT fetch addresses from backend, that would let a compromised server
|
|
// swap addresses mid-donation. Hardcoding pins the address to the signed APK.)
|
|
|
|
export type DonateCoin = {
|
|
/** Internal key, used for analytics + storage. */
|
|
id: 'xmr' | 'btc' | 'ltc';
|
|
/** Short ticker shown in UI chip. */
|
|
ticker: string;
|
|
/** Full name shown on detail card. */
|
|
name: string;
|
|
/** One-line value prop shown under the name. */
|
|
blurb: string;
|
|
/** Receive address, generate fresh, never re-use across projects. */
|
|
address: string;
|
|
/** Hex color used as the coin's accent in the UI. */
|
|
color: string;
|
|
/** Optional URI scheme prefix for QR codes (most wallets recognize these). */
|
|
qrScheme?: string;
|
|
};
|
|
|
|
// PLACEHOLDER ADDRESSES, replace before publishing.
|
|
// Workflow:
|
|
// 1. Install Cake Wallet from github.com/cake-tech/cake_wallet/releases (NOT Play Store)
|
|
// 2. Generate XMR + BTC + LTC wallets, store each seed offline on its own paper
|
|
// 3. Tap "Receive" per wallet → copy address → paste below
|
|
// 4. Rebuild APK + publish update
|
|
export const DONATE_COINS: DonateCoin[] = [
|
|
{
|
|
id: 'xmr',
|
|
ticker: 'XMR',
|
|
name: 'Monero',
|
|
blurb: 'Privacy by default. Untraceable on-chain. Recommended.',
|
|
address: '47cXcrsYUsk81rDY3wp7ASUQtpkMHyrt4WHpqef9nSUugqxqFRaE13QBd1wviGpJHJ9Vt82GsyncNEKHQizXkoVMUVMEh1c',
|
|
color: '#F26822',
|
|
qrScheme: 'monero:',
|
|
},
|
|
{
|
|
id: 'btc',
|
|
ticker: 'BTC',
|
|
name: 'Bitcoin',
|
|
blurb: 'Mainstream, easy to send. On-chain is public, so use a fresh wallet to donate anonymously.',
|
|
address: 'bc1qcaa4rv89rtt39y92rpff5rlysmtkful9ck6mml',
|
|
color: '#F7931A',
|
|
qrScheme: 'bitcoin:',
|
|
},
|
|
{
|
|
id: 'ltc',
|
|
ticker: 'LTC',
|
|
name: 'Litecoin',
|
|
blurb: 'Fast and cheap (~$0.01 fee). Lower adoption than BTC but friendlier for small donations.',
|
|
address: 'ltc1qlqe0f7nmt4se82adgj8z6vcz2zeqfrlwz0n85s',
|
|
color: '#345D9D',
|
|
qrScheme: 'litecoin:',
|
|
},
|
|
];
|
|
|
|
/** Returns the value to encode in the QR code, wallet URI when supported. */
|
|
export function qrPayload(coin: DonateCoin): string {
|
|
if (coin.qrScheme) return `${coin.qrScheme}${coin.address}`;
|
|
return coin.address;
|
|
}
|
|
|
|
/** True when an address still equals its placeholder, used to gate the screen. */
|
|
export function isPlaceholder(addr: string): boolean {
|
|
return addr.startsWith('REPLACE_WITH_');
|
|
}
|