← Back to app

ChainGreets — Changelog

What's new, what's coming, how it works under the hood

Changelog
v1.2
April 2026
Current
⛓️
Tempo Mainnet & Testnet — Full integration of Tempo (0x1079) and Tempo Testnet (0xa5bf) with ERC-20 fee flow (pathUSD), GM/GN smart contracts, and per-chain explorer path (/receipt/).
⛓️
Autheo Testnet — Added Autheo Testnet (0x311) with THEO native fee, GM/GN contract addresses, and faucet link.
💸
ERC-20 fee flow — Chains flagged with erc20Fee:true now go through a two-step allowance check + approval before sending GM/GN, using raw RPC calls (no extra dependency).
🎨
Chain card redesign — Faucet link moved to top row; fee display removed; switch button and TEST/MAIN badge grouped right; uniform card height; chain name never truncates or wraps.
🧪
test.html rewrite — Two-network test page (Tempo Testnet + Autheo Testnet) with tabbed status, live contract inspection, and in-place chain switching without page reload.
v1.1.3
March 18–21, 2026
v1.1.3
🌐
Multichain tab — cross-chain force graph New 🌐 Multichain tab in the GM Dashboard. Fetches GM and GN transactions from all 8 testnets in parallel. Chain hubs rendered as ellipses positioned around the graph; wallet nodes sized by total interactions (GM + GN). Links colored by type: chain color for GM, purple for GN, brighter + thicker when both. GN-only wallets included.
⚙️
5 layout modes Natural, Radial, Cluster, Star, and Predefined (default). Predefined places chain hubs on a wide ellipse covering ~80% of the SVG area. Switching layout re-runs the simulation without refetching. Hub nodes are draggable and pin on drag; double-click restores original position. Boundary clamping prevents nodes drifting off-screen.
💛
Wallet node color scale Wallet nodes use a yellow–amber gradient scale by tx count: light yellow #f5e642 (1-chain), medium yellow #e8c830 (2-chain), deeper amber #d4a820 (3+ chains). Node radius scales with total GM+GN interactions capped at 18px. Text hides on nodes smaller than 10px radius.
📋
Cross-chain activity table Below the graph: wallet × chain matrix sorted by total interactions. Each cell shows 3☀️ 2🌙 (GM / GN counts) or . Wallets active on 3+ chains highlighted with a faint amber tint. Sticky first column, horizontal scroll for many chains. Address copies to clipboard on click.
🔧
Dashboard code quality fixes Extracted inline CHAINS array to js/chains-dashboard.js (separate schema from chains-index.js). Translated 20 French comments to English. Standardised hash truncation to use shortHash() from state.js. Added roundRect() polyfill in modal.js for Safari < 16.4. Fixed MegaETH Testnet color (#ffc3f7#00ff88) and OP Sepolia link color (#ff0420#ff6b6b).
v1.1.2
March 16, 2026
v1.1.2
🃏
Chain cards — unified GM/GN layout GM and GN buttons now appear side by side on every card. The separate GM and GN tabs are merged into a single GM·GN tab. Each button shows ✓ HH:MM when already sent today, or the action icon when available. Clicking a done button shows a red toast — no accidental double-sends.
🎨
Web3 Light theme + Settings modal New Web3 Light theme — purple/fuchsia accent (#6f75e5 / #ff68f0) on a clean white surface. Theme selector moved to a Settings modal (⚙️ in the address dropdown) showing 4 theme cards with live previews: Light, Dark, Web3 Dark, Web3 Light. Cycle shortcut removed from nav.
📊
Dashboard graph — Bubblemaps-inspired restyle D3 force graph redesigned: radial gradient fills (lighter center → richer edge), SVG feGaussianBlur + feMerge glow filters on hub and active wallet nodes, softer semi-transparent links, more aggressive radius scaling (pow(x, 0.55)). Zoom controls overlaid top-right (+ / / ). Address labels removed from all nodes.
🔧
UX fixes Address dropdown is now position:fixed — stays visible on scroll. Done button locked on hover (no color change, cursor:default). CSS grid background pattern removed from all pages and themes. Active chain card uses border highlight only (no background tint).
v1.1.1
March 15, 2026
v1.1.1
🐛
Arc Testnet — fee fix Arc's fee type was incorrectly set to usdc in FEE_CONFIG, causing getFeeWei() to return 0. All GM/GN transactions on Arc reverted with IncorrectFee. Fixed to native — the contract now receives the correct fee value (0.0123 USDC native = 12300000000000000 wei).
🐛
Transaction receipt validation GM/GN was marked as "Done today" immediately on tx submission (eth_sendTransaction), before onchain confirmation. A reverted transaction would incorrectly lock the daily slot. sendTx() now polls eth_getTransactionReceipt every 2 seconds and only updates local state (streak, history, done flag) when the receipt returns status 0x1. Failed or reverted transactions no longer affect local state.
v1.1
March 2026
v1.1
🌙
GN Smart Contracts — 8 testnets + Arc GN transactions on all testnets now call gn() on the deployed SC. Selector 0x3118f543. Same fee mechanics as GM — 1 per chain per day, enforced onchain.
GM + GN Smart Contracts — 15 Mainnets SC deployed on all supported mainnets: Base, Arbitrum, Ethereum, Soneium, MegaETH, Unichain, Ink, OP, Katana, Linea, HyperEVM, Monad, Plume, Superposition, Polygon. Fee: 0.00000123 ETH on ETH chains, native token elsewhere. BNB Chain removed (no SC).
📊
Dashboard — GM + GN dual hubs Two distinct hub nodes per chain — GM hub (chain color) and GN hub (violet). Wallet nodes colored by activity: green (GM only), violet (GN only), gold (both). Tables show ☀️ GM and 🌙 GN counts separately. Predefined layout button arranges nodes by activity type.
🌐
Dashboard — 15 mainnets + Testnet/Mainnet filter All 15 mainnet SCs available in the dashboard chain selector. All/Testnet/Mainnet filter buttons above the dropdown. Chains without a public API show a SOON placeholder in the graph.
📄
About, Docs & Changelog pages New About page (Why & How). Docs page with SC integration guide, file structure, fee config. Changelog fully in English. Navigation updated across all pages.
SC deployment — testnets & mainnets
GM selector
0xc0129d43gm()
GN selector
0x3118f543gn()
Mainnet GM SC
0xb691…635 — all ETH mainnets
Mainnet GN SC
0xAC39…6Db — all mainnets
Mainnet fee
0.00000123 ETH (~$0.003) on ETH chains
v1.0
March 2026
v1.0
Smart Contract GM — 8 Testnets GM transactions on testnets now call the deployed SC directly via gm() selector — fee enforcement onchain. Chains: Ethereum Sepolia, Base Sepolia, Arb Sepolia, OP Sepolia, Soneium Minato, Robinhood Testnet, Arc Testnet, MegaETH Testnet v2.
📊
GM Dashboard New analytics page — SC event feed via Blockscout API, D3 force graph (drag/pin/zoom), activity chart, leaderboard tables. Periods: Today, 7 Days, 1 Month, All Time. All 8 SC testnets supported, no API key required.
🕸
D3 Force Graph Replaced vis-network with D3 forceSimulation — hub SC node + wallet orbit. Drag to pin, double-click to unpin, scroll to zoom. Natural and hierarchical layouts. Chain-colored edges with tooltips showing First GM / Last GM / history.
🧹
Simplified navigation GM Test and GM Events pages removed. Navigation: App → GM Dashboard → Changelog. BNB Testnet dropped. MegaETH feeSymbol fixed (ETH).
🃏
Chain cards improved Done today button shows exact GM/GN time. Switch button reduced. SC badge removed.
Transaction anatomy — GM via SC (testnets)
to
Smart Contract address — par chain (ex: 0xb691…635 sur MegaETH)
value
Protocol fee — 0.0000123 ETH natif (ou USDC natif sur Arc)
data
Selector gm()0xc0129d43 (verified keccak256)
event
GM(address indexed sender, uint256 indexed dayIndex, uint256 timestamp, uint256 feePaid)
v0.1 beta
March 2025
v0.1
☀️
GM — Good Morning Send a daily GM transaction on any supported chain. Limited to 1 per chain per day per wallet. Resets at midnight local time.
🌙
GN — Good Night Send a daily GN transaction. Same rules as GM — 1 per chain per day. Independent limit from GM.
💸
Send Tx Transfer native tokens to any address on the current chain. No daily limit. A small protocol fee is added to the transaction value.
🔥
Daily Streak Tracks consecutive days with at least one GM sent. Current streak and all-time best are stored locally in your browser.
📋
TX History — 7 days All confirmed transactions are saved locally for 7 rolling days. Full hash stored — clickable to the block explorer when available.
🔗
25 chains — Testnet & Mainnet 12 testnets (Sepolia, Base Sepolia, Monad, MegaETH, Pharos, Tempo…) and 13 mainnets (Ethereum, Base, Arbitrum, BNB Chain, Polygon, HyperEVM, Plume…). Auto-switch and auto-add chain via wallet.
👛
EIP-6963 Wallet Discovery Detects wallets announced by the browser (MetaMask, Rabby, etc.) without relying on window.ethereum. Phantom filtered by default.
Transaction anatomy — GM / GN
to
Collector address — 0xca96…1547 (EOA, until SC deployment)
value
Protocol fee — 0.0000123 ETH (native) or 0.0123 USDC on supported chains
data
ASCII message encoded in hex — 0x474d (GM) or 0x474e (GN)
gas
Estimated by the wallet — standard ETH transfer + small data overhead
storage
Daily limits, streak and TX history stored in localStorage — never sent to any server
Roadmap
Soon
Smart Contract — onchain GM / GN
Deploy a dedicated SC per chain. GM and GN calls go directly to the contract — enforcing the 1/day limit onchain, not just client-side. The collector address becomes the contract address.
Soon
Smart Contract GN — tous testnets
Deploy GN SC on all 9 testnets. GN calls gn() onchain — same mechanics as GM SC.
Soon
Smart Contract GM + GN — Mainnets
Deploy GM and GN SCs on supported mainnets. Dashboard extended to mainnets.
Soon
Tempo Testnet — SC GM
Deploy GM SC on Tempo Testnet (chainId 0xa5bf) once available.
Soon
NFT Mint on GM / GN
Each confirmed GM or GN mints a daily NFT — a unique on-chain proof of greeting. Inspired by OnChainGM. The NFT metadata reflects the date, chain, and action type.
Planned
SC Deploy Helper
UI to deploy the ChainGreets contract on any EVM chain directly from the app — for power users and new chain integrations.
Planned
USDC Fee Path
Full ERC-20 fee support on chains where USDC is the configured fee token (Arc Testnet, Tempo). Requires approve + transfer via the deployed SC.
Planned
Cross-device Sync
Persist streak and TX history across devices using a lightweight backend (Supabase). The wallet address is the key — no login required.
Planned
Leaderboard
Global rankings — longest streaks, most chains greeted, most active wallets. Opt-in, pseudonymous (address only).