drip/beta

Changelog

Major moves only. Small design tweaks stay in git.

  1. Creator tools — Edit page + Royalty earnings widget

    • Royalty earnings widget added to the wallet tray, right below Sales earnings. Creators see every TransferPolicy<T> their wallet controls + a one-tap "Withdraw all" that routes accumulated SUI royalties back to the connected wallet.
    • "Edit page" chip resurfaced in the collection hero, next to the ← All collections back chip. Visible only to creators — the same wallets that hold a Publisher cap OR a TransferPolicyCap for the collection.
    • Sales earnings widget renamed from "Kiosk earnings" — same widget, plainer label.
  2. Ownership fix + marketplace reliability foundation

    • NFT ownership is now read from who actually holds the kiosk’s cap, not the kiosk’s opt-in `owner` field. NFTs whose caps were transferred without `set_owner` (common for community-handoff kiosks) finally show the correct owner everywhere — detail tray, profile, collection grids.
    • The Owned + Listed filter on collection pages now catches items listed via direct kiosk listings too, not just Drip-marketplace listings. Sellers see their full active set.
    • Self-healing reconciliation: Drip’s listings index now reconciles against the chain every 30 minutes. Stale entries (left behind when listings were cleared outside Drip’s UI) get pruned automatically.
    • SSR safety net: whale-wallet profile loads no longer push past Safari’s abort window — the cap walk is capped at 1.5s and the cache populates in the background for the next visit.
  3. Bundle creator paused for upgrades

    • The bundle creation flow is temporarily paused while we stabilize the listing experience underneath it. The card on /create and the "Create a bundle" CTA on each collection’s Bundles tab now show a "Paused for upgrades" notice.
    • Existing bundles stay live, tradable, and bid-able — the pause only affects creating new ones.
    • Re-enables when the marketplace + listing path is locked in.
  4. Detail tray polish + inline price composers

    • Make Offer and Relist replace their old popup dialog with an inline price composer that opens in the tray itself — fewer modals, more consistent with the rest of the app.
    • Owner row on the detail tray resolves more reliably for kiosk-held NFTs (uses the listing record as a fast-path when the connected wallet is the seller).
    • Owner-side actions (Send, List, Delist, Relist) paint instantly when opening from a context that knows you own the item, instead of waiting for the on-chain resolve.
  5. Home redesign + marketplace UX

    • Home reorganized: the bundle hero + grid get parked while bundles are revamped, replaced by a two-column New Users + Leaderboard layout.
    • Featured Collections grid widened to 5 across with a crown on the top spot.
    • NFT detail tray gets a dual Buy/Bid action row with an inline bid composer — no dialog interrupt, mobile pinned-bottom.
    • SUI/USD price chip pinned in the header so prices everywhere have a live exchange reference.
    • Tokens surface in global search alongside collections and SuiNS handles.
  6. NFT collections index — every registered collection

    • /nfts now lists every collection in the Drip registry, not just the top-trending slice — long-tail entries surface alongside the marquee names.
    • Each row carries a 7-day floor-price sparkline, USD market cap, and historical USD volume (sum of per-sale dollar values, not current-rate × cumulative SUI).
    • Lifetime $ traded across the visible set pinned next to the page header — a single vanity number for total marketplace activity.
    • Admin-curated cover images and verified badges now respected across the table.
  7. Three-mode trading widget on token pages

    • /tokens/[coinType] gets a new widget supporting Instant swap, Limit order, and DCA modes — each in Drip’s native styling.
    • Price chart redesigned with gradient fill, cursor-driven price readout on hover, and timeframe pills moved below the chart for clearer hierarchy.
    • Token list + tile readers move to a snapshot-first pipeline — faster page loads, less flicker on cold paint.
  8. Image recovery + CDN reliability

    • Admin tool for overriding broken NFT images — upload a replacement when the upstream host is dead.
    • CDN image worker now fans out across Walrus + multiple IPFS gateways before giving up.
    • Background cron retries previously-dead images so they self-heal as upstream hosts recover.
  9. Profile + collection page speedups

    • Profile pages now hit a stale-while-revalidate snapshot — warm cold-loads land in well under a second on most wallets.
    • A background cron keeps the snapshot fresh; transaction events bust and re-warm it in real time.
    • Owner-tray buttons (Send, List, Delist) paint with the page instead of after a delay.
    • Rarity rank chips get tier-aware coloring; centralized rarity tokens for consistency across surfaces.
  10. Independence from TradePort for rarity + listings

    • Rarity ranks now computed from our own collection manifests — no TradePort calls in the per-NFT render path.
    • Collection pages no longer wait on TradePort to render listings; everything flows through our manifest pipeline.
    • /tools/migrate launched — wizard for bulk-relisting your collection from TradePort to Drip in one flow.
  11. Drip Arcade + send-flow upgrades

    • /games page launched — 16 curated Sui games + leaderboard hooks.
    • Click any trait pill inside the NFT detail tray to filter the collection by that value.
    • Send flow supports locked NFTs (via TransferPolicy self-purchase) and mixed batches of direct-owned + kiosk-held items.
    • Security baseline shipped: CSP, security headers, secret-scanning pre-commit hook, weekly dependency updates.
  12. Global chat + Rewards v1 + page-speed rewrite

    • Global chat tray opens from the header — auth-gated read and write, polling backend.
    • Rewards system live: XP from $ volume, level pills, badges, daily streak tracking, referral links with /r/<name> claim UI.
    • Every transaction surface fires a UI event on confirm — buys, listings, offers, accepts, bids all reflect across pages without a refresh.
    • Streaming SSR across home, collection, and profile pages — first paint arrives well before data does, cutting perceived load time.
  13. Header pill + search expansion

    • Header rebuilt with a PFP+name pill on the right; wallet tray now opens with a View Profile button.
    • Site-wide search covers every collection in the registry (previously capped at the top-200 trending slice).
    • First-time profile visits auto-open the edit drawer; the welcome interstitial is retired.
    • CDN image warmer moves to hourly shards with rotating cursors — big collections always make progress per tick.
  14. Auctions v1 + Marketplace + Bids on mainnet

    • English auction contract live — reserve price, anti-snipe extension, Place Bid button on every collection and profile.
    • Drip-native marketplace + bids modules promoted to mainnet after testnet hardening.
    • Per-collection active-auctions view + per-wallet pending-bids view sourced from on-chain event readers.
  15. Drip-native marketplace UI

    • List / Delist / Relist actions on profile NFTs, plus Place Bid + Offers on NFTs and collections.
    • Collection page reshaped into a 6-tab shelf: NFTs · Offers · Bundles · Activity · Holders · About.
    • Profile page expanded to 7 tabs: NFTs · Coins · Feed · Offers · Bids · Favs · Hidden.
    • Multi-select tooling on collection and profile grids — Hide/Unhide, batch actions wiring.
    • Activity feed filterable by Sales / Listings / Bids / Transfers.
  16. Collection page polish

    • Persistent left-side filter rail on desktop (max 360px); a Filters drawer on mobile.
    • NFT detail tray capped at 600px so the page stays visible behind it.
    • Friendly-slug routing — every verified collection gets a clean `/<slug>` URL.
  17. NFT-only collections table + token detail overhaul

    • /collectibles (now /nfts) launched — NFT-only filter that drops DeFi + LP shapes, three-state density toggle, mobile-first redesign.
    • /tokens index revived with Noodles-backed rows: market cap, transactions, liquidity, sparkline, Buy button.
    • Token detail page rebuilt for token-native data — chart-first on mobile with swap below; full layout on desktop.
    • NFT tray surfaces on-chain metadata: description, project URL, traits, creator.
    • Admin Users tab with Verify / Ban / Delete actions; daily metrics snapshotter feeding the Admin Overview charts.
  18. URL restructure + speed pass

    • Permanent URLs for every collection and profile via friendly slugs.
    • Collection detail rewired through BlockVision with cursor pagination — handles 50K+ item collections without choking.
    • TradePort listings overlay surfaced through the new Buy tab on collection pages.
    • Image proxy with Walrus aggregator fallback unblocks NFTs whose upstream host is rate-limited or offline.
  19. Profile redesign + image recovery

    • Profile NFT grid rebuilt: real collection names, full wallet on first paint, grouped + value-sorted with a Holding/Listed split.
    • Kiosk Manager shipped — read + write actions for kiosk-held NFTs.
    • Per-package image rescue with IPFS gateway fallback for collections whose original CDN is dead.
    • Profile banner + avatar upload via Vercel Blob; edit drawer slides out from the side.
  20. Bundle contracts v3 — royalties enforced

    • New coordinator lists each NFT via per-item PurchaseCaps, so creator royalty bps are paid out to every collection in a mixed bundle on settle.
    • Bundle price is split evenly across items at list time; the module asserts divisibility to keep per-item math exact.
    • All live listings (Pawtato Land, Doonies, Prime Machin + Rootlets) relisted on v3; the v2 kill-switch retired the old bundles in place.
  21. Sign in with Sui

    • Right-side auth tray replaces the default wallet modal — Slush pinned on top, other Sui wallets auto-detected.
    • Wallet-only sign in: a free personal-message signature (no gas, no approval) mints a 30-day httpOnly JWT session.
    • Only /create is gated for now; browsing, collection pages, and token pages stay fully public.
  22. Trending lists are live

    • Homepage now ranks the top 18 NFT collections in real time via TradePort — order mirrors tradeport.xyz for the 24h window.
    • Top 15 trending tokens sourced from Noodles' internal trending score (volume + price action + tx count).
    • Sui Puppets is force-verified on our end until TradePort flips the flag.
  23. Rebrand to beta.drip.market

    • Canonical domain moved from bundles.drip.market to beta.drip.market across every page.
    • New site-wide share card + homepage meta: "Drip Market. Trade anything on Sui Network."
    • Global header trimmed to just the wordmark (Browse/Collections return when their pages are ready).
  24. Homepage redesign

    • Pawtato Land added as the featured hero banner, with the full bundle grid below it.
    • Filters simplified to Collection + Mixed — a single switch for the two bundle types we ship today.
    • Header goes flat at rest and blurs on scroll; mobile hero padding + stat bar tightened.
  25. Token swap pages

    • Dedicated /tokens/[coinType] pages with an Aftermath-powered swap box; modal retired.
    • Swap routing via GeckoTerminal, Birdeye fallback, unrouted-pair logging for debugging.
    • OpenSea-style trending tokens table with real images, live prices, and 24h change.
  26. Collections index

    • /collections route launched with a 3-column trending grid, timeframe toggle, and % change pills.
    • Shared image resolver handles walrus://, ipfs://, and data: schemes through reliable gateways.
    • Multi-bundle trait-floor snapshots added — bundles can now reference discovered floor values per trait.
  27. Bundle creator shipped

    • In-app flow for packaging multiple NFTs into a single listing — pick items, set a price, publish atomically.
    • Supports mixed-collection bundles end-to-end, including royalty preservation per collection.
  28. Bundle contracts v2

    • Rewrote the on-chain bundle module for atomic multi-NFT purchases; cleaner capability model, lower gas per item.
    • Validated on Sui testnet across single-collection and mixed-collection bundles ahead of the frontend integration.
    • v1 listings migrated; v2 is the format all new bundles ship on.