(function() { var C = window.ExplorerCommon; var state = { tab: 'fungible' }; function switchTab(name) { state.tab = name; document.getElementById('paneFungible').style.display = name === 'fungible' ? '' : 'none'; document.getElementById('paneNFT').style.display = name === 'nft' ? '' : 'none'; document.getElementById('tabFungible').className = 'tx-tab' + (name === 'fungible' ? ' tx-tab-active' : ''); document.getElementById('tabNFT').className = 'tx-tab' + (name === 'nft' ? ' tx-tab-active' : ''); } /* ── Fungible tokens ─────────────────────────────────────────────────────── */ function formatSupply(supply, decimals) { if (decimals === 0) return supply.toLocaleString(); var d = Math.pow(10, decimals); var whole = Math.floor(supply / d); var frac = supply % d; if (frac === 0) return whole.toLocaleString(); return whole.toLocaleString() + '.' + String(frac).padStart(decimals, '0').replace(/0+$/, ''); } async function loadTokens() { C.setStatus('Loading…', 'warn'); try { var data = await C.fetchJSON('/api/tokens'); var tokens = (data && Array.isArray(data.tokens)) ? data.tokens : []; document.getElementById('tokenCount').textContent = tokens.length; var tbody = document.getElementById('tokenBody'); if (!tokens.length) { tbody.innerHTML = '