$CUCK TOKEN // LIVE FEED
**

$CUCK TOKEN:
THE HODL BUNKER

// CLASSIFIED DEGEN OPERATION //

😈
$ $$$
$$$
$CUCK
$$$ $
$ $$$
𝕏 ✈️ 🎮 📊

🔥 CONTRACT ADDRESS // $CUCK TOKEN 🔥

CONTRACT ADDRESS
Price
$—
Market Cap
24h Volume
24h Change
Supply
1,000,000,000
Tax
0% / 0%
Network
BASE SEPOLIA

⚡ Buy $CUCK

Connect your wallet to buy
WALL OF INFAMY //
Paper Hands & Burns — Live Feed
  • Awaiting burn events... Listening on-chain EventListener active
⚡ Listening to Transfer events → 0x000...dEaD
CUCK-O-METER ✱
STATUS: LOADING...  //  HORN INDEX:
Based on 24h price change · DexScreener
THE CONFESSIONAL //
Burn & Redemption
  • CONFESS YOUR TRADING SINS //
  • BURN $CUCK (TRIBUTE)

CONFESS YOUR SINS AT THE LINK IN BIO.
ENTER THE BUNKER BEFORE WE
CLOSE THE HATCH.

* 3. Uncomment the block below and set WC_PROJECT_ID. */ // const WC_PROJECT_ID = 'YOUR_WALLETCONNECT_PROJECT_ID'; // const { EthereumProvider } = window.EthereumProvider; // const wcProv = await EthereumProvider.init({ // projectId: WC_PROJECT_ID, // chains: [CONFIG.CHAIN_ID], // showQrModal: true, // }); // await wcProv.enable(); // rawProvider = wcProv; showModalErr('WalletConnect: set your ProjectID in the source code (see comments).'); return; } if (!rawProvider) { showModalErr('Provider not found.'); return; } // Request accounts await rawProvider.request({ method: 'eth_requestAccounts' }); // Setup ethers.js v6 await setupEthersProvider(rawProvider); // Switch / add network await switchToConfigChain(rawProvider); updateWalletUI(STATE.address); closeModal(); toast('✅ Wallet connected!', 'success'); } catch (err) { console.error('[connectWallet]', err); if (err.code === 4001 || err.code === 'ACTION_REJECTED') { showModalErr('Connection rejected by user.'); } else { showModalErr('Connection error: ' + (err.shortMessage || err.message || err)); } } } async function setupEthersProvider (rawProvider) { STATE.provider = new ethers.BrowserProvider(rawProvider); STATE.signer = await STATE.provider.getSigner(); STATE.address = await STATE.signer.getAddress(); STATE.chainId = (await STATE.provider.getNetwork()).chainId; // Instantiate contract with signer (can write) STATE.contract = new ethers.Contract(CONFIG.CONTRACT_ADDRESS, CONFIG.ABI, STATE.signer); // Check if contract exposes burn() — graceful degradation try { const fragment = STATE.contract.interface.getFunction('burn'); STATE.hasBurnFn = !!fragment; } catch (_) { STATE.hasBurnFn = false; } } async function switchToConfigChain (rawProvider) { const targetHex = '0x' + CONFIG.CHAIN_ID.toString(16); try { await rawProvider.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: targetHex }], }); } catch (switchErr) { if (switchErr.code === 4902) { // Chain not added → add it await rawProvider.request({ method: 'wallet_addEthereumChain', params: [{ chainId : targetHex, chainName : CONFIG.CHAIN_NAME, rpcUrls : [CONFIG.CHAIN_RPC], blockExplorerUrls: [CONFIG.CHAIN_EXPLORER], nativeCurrency : { name: CONFIG.CHAIN_SYMBOL, symbol: CONFIG.CHAIN_SYMBOL, decimals: 18 }, }], }); } else { throw switchErr; } } } function updateWalletUI (address) { STATE.address = address; const short = address.slice(0, 6) + '...' + address.slice(-4); const btn = document.getElementById('connectBtn'); btn.textContent = '✅ ' + short; btn.classList.add('connected'); showEl('walletBadge', address); showEl('walletBalance', 'Loading balance...'); // Network badge const badge = document.createElement('span'); badge.className = 'net-badge ' + (CONFIG.IS_TESTNET ? 'net-testnet' : 'net-mainnet'); badge.textContent = CONFIG.CHAIN_NAME; const topRight = document.querySelector('.topbar-right'); const existing = topRight.querySelector('.net-badge'); if (existing) existing.remove(); topRight.appendChild(badge); refreshBalance(); } function disconnectWallet () { STATE.provider = STATE.signer = STATE.address = STATE.contract = null; const btn = document.getElementById('connectBtn'); btn.textContent = '💼 CONNECT WALLET'; btn.classList.remove('connected'); hideEl('walletBadge'); hideEl('walletBalance'); const badge = document.querySelector('.topbar-right .net-badge'); if (badge) badge.remove(); } /* ───────────────────────────────────────────────────────────── BALANCE — fetch on-chain and display ───────────────────────────────────────────────────────────── */ async function refreshBalance () { if (!STATE.contract || !STATE.address) return; try { const [rawBal, decimals] = await Promise.all([ STATE.contract.balanceOf(STATE.address), STATE.contract.decimals(), ]); const formatted = ethers.formatUnits(rawBal, decimals); const pretty = parseFloat(formatted).toLocaleString('en-US', { maximumFractionDigits: 0 }); showEl('walletBalance', pretty + ' $CUCK'); } catch (err) { console.warn('[refreshBalance]', err.message); showEl('walletBalance', 'Balance unavailable'); } } /* ───────────────────────────────────────────────────────────── BUY — deep-link to DEX ───────────────────────────────────────────────────────────── */ function doBuy () { if (!STATE.address) { openModal(); return; } const amt = parseFloat(document.getElementById('buyAmt').value); const token = document.getElementById('buyToken').value; const slip = document.getElementById('slippage').value; if (!amt || amt <= 0) { toast('❌ Enter an amount', 'error'); return; } const url = `https://app.uniswap.org/#/swap?exactField=input&exactAmount=${amt}&outputCurrency=${CONFIG.CONTRACT_ADDRESS}&chain=${CONFIG.DEXSCREENER_CHAIN}`; window.open(url, '_blank'); setEl('buyNote', `Redirecting to Uniswap · ${amt} ${token} · ${slip}% slippage`); } /* ───────────────────────────────────────────────────────────── BURN — The Confessional Priority: burn(amount) → fallback: transfer(dead, amount) ───────────────────────────────────────────────────────────── */ async function doBurn () { if (!STATE.signer) { openModal(); return; } const rawInput = document.getElementById('burnAmt').value.trim(); if (!rawInput || parseFloat(rawInput) <= 0) { toast('❌ Enter a valid amount to burn', 'error'); return; } const burnBtn = document.getElementById('burnBtn'); const statusEl = document.getElementById('burnStatus'); statusEl.style.display = 'block'; statusEl.style.cssText = 'display:block; border-color:var(--red); color:var(--red)'; statusEl.textContent = '⏳ Checking balance...'; burnBtn.disabled = true; try { const decimals = await STATE.contract.decimals(); const amount = ethers.parseUnits(rawInput, decimals); // ── Step 1: Verify balance ────────────────────────────── const balance = await STATE.contract.balanceOf(STATE.address); if (balance < amount) { const haveFmt = ethers.formatUnits(balance, decimals); statusEl.textContent = `❌ Insufficient balance. You have ${parseFloat(haveFmt).toLocaleString()} $CUCK`; toast('❌ Insufficient balance', 'error'); return; } statusEl.textContent = '⏳ Waiting for wallet confirmation...'; // ── Step 2: Call burn or transfer to dead address ─────── let tx; if (STATE.hasBurnFn) { // Contract has dedicated burn(uint256) function tx = await STATE.contract.burn(amount); } else { // Fallback: transfer to dead address tx = await STATE.contract.transfer(CONFIG.BURN_ADDRESS, amount); } statusEl.textContent = `⏳ Transaction submitted · ${tx.hash.slice(0, 14)}...`; toast('⏳ TX submitted, waiting confirmation...', ''); // ── Step 3: Wait for confirmation ────────────────────── const receipt = await tx.wait(); const amtFmt = parseFloat(rawInput).toLocaleString(); const explorerTx = `${CONFIG.CHAIN_EXPLORER}/tx/${receipt.hash}`; statusEl.style.cssText = 'display:block; border-color:var(--green); color:var(--green)'; statusEl.innerHTML = `🔥 ${amtFmt} $CUCK burned! View TX ↗`; // ── Step 4: Toast with hash ───────────────────────────── toast(`🔥 ${amtFmt} $CUCK BURNED! Hash: ${receipt.hash.slice(0, 12)}...`, 'success'); // ── Step 5: Refresh balance without page reload ───────── await refreshBalance(); // Add to Wall of Infamy immediately (before event fires) const short = STATE.address.slice(0, 6) + '...' + STATE.address.slice(-4); addBurnEvent(short, amtFmt, STATE.address); // Clear input document.getElementById('burnAmt').value = ''; } catch (err) { console.error('[doBurn]', err); const msg = err.reason || err.shortMessage || err.message || 'Transaction rejected'; statusEl.textContent = '❌ ' + msg; toast('❌ Burn failed: ' + msg.slice(0, 60), 'error'); } finally { burnBtn.disabled = false; } } /* ───────────────────────────────────────────────────────────── COPY CA ───────────────────────────────────────────────────────────── */ function copyCA () { const ca = CONFIG.CONTRACT_ADDRESS; if (ca === '0x0000000000000000000000000000000000000000') { toast('⚠️ Set your contract address in CONFIG first', 'error'); return; } navigator.clipboard.writeText(ca) .then(() => toast('✅ Contract address copied!', 'success')) .catch(() => { // Fallback for older browsers const el = document.createElement('textarea'); el.value = ca; document.body.appendChild(el); el.select(); document.execCommand('copy'); document.body.removeChild(el); toast('✅ Contract address copied!', 'success'); }); } /* ───────────────────────────────────────────────────────────── TOAST NOTIFICATION ───────────────────────────────────────────────────────────── */ let _toastTimer; function toast (msg, type = '') { const el = document.getElementById('toast'); el.textContent = msg; el.className = 'show' + (type ? ' ' + type : ''); clearTimeout(_toastTimer); _toastTimer = setTimeout(() => el.classList.remove('show'), 4000); } /* ───────────────────────────────────────────────────────────── DOM HELPERS ───────────────────────────────────────────────────────────── */ function setEl (id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function showEl (id, text) { const el = document.getElementById(id); if (!el) return; el.textContent = text; el.style.display = ''; } function hideEl (id) { const el = document.getElementById(id); if (el) el.style.display = 'none'; } function linkHref (id, href) { const el = document.getElementById(id); if (el && href) el.href = href; } function showModalErr (msg) { const el = document.getElementById('modalErr'); el.textContent = msg; el.style.display = 'block'; } function hideModalErr () { const el = document.getElementById('modalErr'); if (el) el.style.display = 'none'; } /* ───────────────────────────────────────────────────────────── UTILS ───────────────────────────────────────────────────────────── */ function fmtUSD (n) { n = Number(n); if (n >= 1e9) return '$' + (n / 1e9).toFixed(2) + 'B'; if (n >= 1e6) return '$' + (n / 1e6).toFixed(2) + 'M'; if (n >= 1e3) return '$' + (n / 1e3).toFixed(1) + 'K'; return '$' + n.toFixed(2); } })();