Status

Config & connectivity

Local env, canisters, ledger, Supabase tables & RPCs. Ops steps below for schema apply and static deploy.

    Ops remaining checklist

    1. 1. Apply Supabase schema

      SQL Editor → paste supabase/full-bundle.sql (or ./scripts/cat-bundle.sh --copy). Then run scripts/verify-supabase-rpcs.sql.

    2. 2. Realtime publication

      Dashboard → Database → Publications: xfts, bags, bag_events, listings, labels, trades, bag_token_balances.

    3. 3. Public env

      NEXT_PUBLIC_SUPABASE_URL + NEXT_PUBLIC_SUPABASE_ANON_KEY in .env.local (and bake into static build).

    4. 4. Reindex smoke

      Wallet → Reindex my XFTs (reindexOwnerClient). Optional: OWNER=… ./scripts/reindex-owner.sh

    5. 5. Static export → IC assets

      npm run build:static → out/ (stashes /api during build). Deploy out/ as frontend_assets.

    6. 6. Node API host (oracle / partner / sync)

      npm run dev or next start serves /api/oracle/advise, /api/prices, /api/xft, /api/sync/*. Set NEXT_PUBLIC_ORACLE_URL for bags. Alt: Supabase Edge dexsta-oracle.

    7. 7. Protocol bags (canisters/ monorepo)

      Upgrade bag WASM + configure-bag-webhook.sh + point oracle HTTPS at this host or Edge function.

    8. 7b. Admin · owner fee unlock (bridge + bags)

      dfx deploy bridge + bag → open /admin as bridge admin → save owner-fee unlock/cap (settings 18/19) + DAB liquid goal (15) → apply to each bag principal.

    9. 8. Market trade webhook

      dfx deploy market → MARKET_ID=… npm run configure:market-trades (Supabase upsert_trade_mirror or /api/sync/trade).

    npm run supabase:bundle:copy

    npm run verify  # Node host health

    npm run smoke

    npm run build:static  # → out/

    BAG_ID=… ./scripts/configure-bag-webhook.sh

    MARKET_ID=… ./scripts/configure-market-trade-webhook.sh

    notes/design/MIGRATION.md

    Schema: supabase/full-bundle.sql · docs: supabase/README.md · notes/design/OPS.md