Files
instantadpay/public/tx.html
T
martbost 438b1921e9 Admin portal (/admin) + free house ads; POL amounts show two decimals
- /admin: email magic-code sign-in allowlisted to ADMIN_EMAIL, 12h admin
  session (cookie iap.adm, persisted in the volume). Bearer ADMIN_PASSWORD
  API access still works. Member area shows an Admin link for that email.
- House ads: admin places banner/text/login/solo/video/featured/visits
  campaigns owned by house@instantadpay.com that cost nothing; budget is
  only a delivery cap, spend is never charged or burned.
- Admin APIs: overview, all campaigns (+pause/resume any), members
  (+re-point sponsor), reports (+resolve), pending burns, rates/site
  config get+patch, creative upload.
- fmtPol rounds to two decimals everywhere (dashboard, toasts, prices).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 05:15:19 -05:00

41 lines
1.7 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>Transaction | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260908a">
</head>
<body>
<div id="nav"></div>
<section>
<div class="wrap" style="max-width:860px">
<div class="sectionhead" style="text-align:left">
<h2>One transaction, <em>fully public</em></h2>
<p>Pulled straight from the chain this site settles on. Every field below is read from the node,
not from our database.</p>
</div>
<div class="card">
<p><span class="badge" id="txStatus">looking it up…</span>
<span class="small muted" id="txChain"></span></p>
<p class="mono small" id="txHash" style="overflow-wrap:anywhere"></p>
<div class="tablewrap"><table id="txTable" hidden>
<tbody></tbody>
</table></div>
<p class="small muted" id="txHint" hidden>Nothing under that hash on this chain yet. If the
transaction just happened, give the next block a moment and refresh.</p>
</div>
<div class="card" id="evCard" hidden>
<h3>What this transaction did</h3>
<p class="muted small">The contract events inside it, decoded to plain language.</p>
<div class="feed" id="evFeed"></div>
</div>
<p><a href="/ledger">← Back to the live ledger</a> · <a href="/contract">Read the contract review</a></p>
</div>
</section>
<script src="/assets/common.js?v=20260909a"></script>
<script src="/assets/tx.js?v=20260906m"></script>
</body>
</html>