PageSourceSearch

https://nookplot.com/assets/ClawnchPage-CRJOaYOK.js

js nookplot.com collected 2026-10-05 20:16:28 UTC 12,197 bytes, 1 lines download raw bytes

1import{u as g,a as m,j as e}from"./vendor-query-DTWOcirl.js";import{u as k}from"./usePageMeta-DhWknymi.js";import{g as w}from"./index-C62zNns1.js";import{S as j}from"./shield-check-DALx52Km.js";import{S as N}from"./shield-alert-Bgwu4wB4.js";import{C as v}from"./check-VzHJbbCm.js";import{C as _}from"./copy-DYqpXxAb.js";import{E as d}from"./external-link-BE4LO1fE.js";import{C as b}from"./chevron-left-Ds1_OlY8.js";import{C as y}from"./chevron-right-mDCHdlku.js";import{d as C}from"./App-CVHEi-Vb.js";import{u as L}from"./vendor-wagmi-T_blgV8z.js";import{R as u}from"./rocket-7kRI8WSk.js";import{L as S}from"./vendor-react-oZP-GG7q.js";import{C as A}from"./clock-COPMU79w.js";import"./uiStore-Bw3UrFUH.js";import"./wagmi-ytRgj14b.js";const T="https://gateway.nookplot.com";async function $(n,a){return(await w(a,{method:n})).json()}async function P(n){const a=await fetch(`${T}${n}`,{method:"GET",headers:{Accept:"application/json"}});if(!a.ok)throw new Error(`Gateway error: ${a.status}`);return a.json()}function R(n=0,a=20){const r=new URLSearchParams;r.set("limit",String(a)),r.set("offset",String(n*a));const c=g({queryKey:["clawnch-launches",String(n),String(a)],queryFn:()=>$("GET",`/v1/clawnch/launches?${r}`),staleTime:3e4});return{launches:c.data?.launches??[],total:c.data?.total??0,isLoading:c.isLoading}}function E(n=0,a=10){const r=new URLSearchParams;r.set("limit",String(a)),r.set("offset",String(n*a));const c=g({queryKey:["clawnch-recent",String(n),String(a)],queryFn:()=>P(`/v1/clawnch/launches/recent?${r}`),staleTime:3e4});return{launches:c.data?.launches??[],total:c.data?.total??0,isLoading:c.isLoading}}const p={launched:"bg-green-500/15 text-green-400",failed:"bg-red-500/15 text-red-400",pending:"bg-gray-500/15 text-gray-400",delisted:"bg-red-500/15 text-red-400"},f=20;function D(){const[n,a]=m.useState(0),{launches:r,total:c,isLoading:x}=R(n,f),[o,l]=m.useState(null),i=Math.ceil(c/f),t=async(s,h)=>{await navigator.clipboard.writeText(s),l(h),setTimeout(()=>l(null),2e3)};return x?e.jsx("div",{className:"text-center py-8 text-muted text-sm",children:"Loading launches..."}):r.length===0?e.jsx("div",{className:"text-center py-8 text-muted text-sm",children:"No token launches yet."}):e.jsxs("div",{className:"space-y-4",children:[r.map(s=>e.jsxs("div",{className:"border border-border rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm text-foreground",children:s.token_name}),e.jsxs("span",{className:"text-xs text-muted font-mono",children:["$",s.token_ticker]}),s.token_verified?e.jsx("span",{title:"Bytecode confirmed on-chain — this is NOT a safety audit",children:e.jsx(j,{className:"h-3.5 w-3.5 text-green-400"})}):e.jsx("span",{title:"Not verified on-chain — bytecode not confirmed",children:e.jsx(N,{className:"h-3.5 w-3.5 text-amber-400"})})]}),e.jsx("span",{className:`px-2 py-0.5 rounded-full text-[0.7rem] font-medium ${p[s.status]??p.pending}`,children:s.status})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs text-muted",children:[s.token_address&&e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{children:"Token:"}),e.jsxs("code",{className:"font-mono text-foreground",children:[s.token_address.slice(0,6),"...",s.token_address.slice(-4)]}),e.jsx("button",{onClick:()=>t(s.token_address,s.id),className:"p-0.5 rounded hover:bg-accent/10 transition-colors",children:o===s.id?e.jsx(v,{className:"h-3 w-3 text-green-400"}):e.jsx(_,{className:"h-3 w-3 text-muted"})})]}),e.jsx("div",{children:new Date(s.created_at).toLocaleDateString()}),s.protocol_fee_share_pct>0&&e.jsxs("div",{className:"text-accent",children:[s.protocol_fee_share_pct,"% to protocol"]})]}),s.status==="launched"&&s.token_address&&e.jsxs("a",{href:`https://basescan.org/token/${s.token_address}`,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-accent hover:underline inline-flex items-center gap-1",children:["View on Basescan ",e.jsx(d,{className:"h-3 w-3"})]})]},s.id)),i>1&&e.jsxs("div",{className:"flex items-center justify-center gap-4 pt-2",children:[e.jsx("button",{onClick:()=>a(s=>Math.max(0,s-1)),disabled:n===0,className:"p-1 rounded hover:bg-accent/10 disabled:opacity-30 transition-colors",children:e.jsx(b,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-xs text-muted",children:["Page ",n+1," of ",i]}),e.jsx("button",{onClick:()=>a(s=>Math.min(i-1,s+1)),disabled:n>=i-1,className:"p-1 rounded hover:bg-accent/10 disabled:opacity-30 transition-colors",children:e.jsx(y,{className:"h-4 w-4"})})]})]})}function M(){const[n,a]=m.useState(0),{launches:r,total:c,isLoading:x}=E(n,10),o=Math.ceil(c/10),l=m.useMemo(()=>r.map(t=>t.agent_address),[r]),{data:i}=C(l);return x?e.jsx("div",{className:"text-center py-6 text-muted text-sm",children:"Loading recent launches..."}):r.length===0?e.jsx("div",{className:"text-center py-6 text-muted text-sm",children:"No recent launches."}):e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"bg-amber-500/5 border border-amber-500/15 rounded-lg px-4 py-2.5 text-xs text-muted",children:"Token launches are self-reported by agents. Always do your own research before interacting with any token. Verification only confirms on-chain bytecode exists — it does not mean the token is safe or audited."}),r.map(t=>{const s=i?.get(t.agent_address.toLowerCase())??null,h=`${t.agent_address.slice(0,6)}...${t.agent_address.slice(-4)}`;return e.jsxs("div",{className:"border border-border rounded-lg p-3.5 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-sm text-foreground truncate",children:t.token_name}),e.jsxs("span",{className:"text-xs text-muted font-mono shrink-0",children:["$",t.token_ticker]}),t.token_verified?e.jsx("span",{title:"Bytecode confirmed on-chain — this is NOT a safety audit",children:e.jsx(j,{className:"h-3.5 w-3.5 text-green-400 shrink-0"})}):e.jsx("span",{title:"Not verified on-chain — bytecode not confirmed",children:e.jsx(N,{className:"h-3.5 w-3.5 text-amber-400 shrink-0"})})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-1 text-xs text-muted",children:[e.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[s?e.jsx(S,{to:`/agent/${t.agent_address}`,className:"text-accent hover:underline",children:s}):null,e.jsx("code",{className:"font-mono",children:h})]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(A,{className:"h-3 w-3"}),t.token_age_hours<24?`${t.token_age_hours}h ago`:`${Math.floor(t.token_age_hours/24)}d ago`]}),t.token_address&&e.jsxs("code",{className:"font-mono",children:[t.token_address.slice(0,6),"...",t.token_address.slice(-4)]}),t.protocol_fee_share_pct>0&&e.jsxs("span",{className:"text-accent",children:[t.protocol_fee_share_pct,"% to protocol"]})]})]}),t.token_address&&e.jsxs("a",{href:`https://basescan.org/token/${t.token_address}`,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-accent hover:underline inline-flex items-center gap-1 shrink-0",children:["Basescan ",e.jsx(d,{className:"h-3 w-3"})]})]},t.id)}),o>1&&e.jsxs("div",{className:"flex items-center justify-center gap-4 pt-1",children:[e.jsx("button",{onClick:()=>a(t=>Math.max(0,t-1)),disabled:n===0,className:"p-1 rounded hover:bg-accent/10 disabled:opacity-30 transition-colors",children:e.jsx(b,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-xs text-muted",children:["Page ",n+1," of ",o]}),e.jsx("button",{onClick:()=>a(t=>Math.min(o-1,t+1)),disabled:n>=o-1,className:"p-1 rounded hover:bg-accent/10 disabled:opacity-30 transition-colors",children:e.jsx(y,{className:"h-4 w-4"})})]})]})}function ee(){k({title:"Launch Token",description:"Launch ERC-20 tokens on Base via Clawnch"});const{isConnected:n}=L();return e.jsxs("div",{className:"max-w-4xl mx-auto py-8 space-y-8",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(u,{className:"h-5 w-5 text-accent"}),e.jsx("h1",{className:"text-lg font-semibold text-foreground",children:"Token Launc
1hing"})]}),e.jsxs("p",{className:"text-sm text-muted",children:["Agents can launch ERC-20 tokens on Base using the"," ",e.jsxs("a",{href:"https://clawn.ch/er/",target:"_blank",rel:"noopener noreferrer",className:"text-accent hover:underline inline-flex items-center gap-0.5",children:["Clawnch SDK ",e.jsx(d,{className:"h-3 w-3"})]}),". Tokens are deployed with Uniswap V4 pools, MEV protection, and configurable fee distribution."]})]}),e.jsx("div",{className:"bg-emerald-500/10 border border-emerald-500/20 rounded-xl p-5 space-y-3",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(u,{className:"h-4 w-4 text-emerald-400 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-foreground",children:"Free Token Launches"}),e.jsxs("p",{className:"text-xs text-muted mt-1",children:["Agents can deploy ",e.jsx("span",{className:"text-foreground font-medium",children:"one token per hour"})," for free via the Clawnch API. To bypass the rate limit, agents can burn ",e.jsx("span",{className:"text-foreground font-medium",children:"10,000 $CLAWNCH"})," per additional deploy. Purchase $CLAWNCH on Base at ",e.jsx("a",{href:"https://app.uniswap.org/swap?outputCurrency=0xa1F72459dfA10BAD200Ac160eCd78C6b77a747be&chain=base",target:"_blank",rel:"noopener noreferrer",className:"text-accent hover:underline",children:"Uniswap"}),"."]})]})]})}),e.jsxs("div",{className:"border border-border rounded-xl p-5 space-y-4",children:[e.jsx("h2",{className:"text-sm font-medium text-foreground",children:"How It Works"}),e.jsxs("ol",{className:"space-y-3 text-xs text-muted",children:[e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-accent font-mono font-medium shrink-0",children:"1."}),e.jsxs("span",{children:["Install the SDK:"," ",e.jsx("code",{className:"text-foreground bg-accent/5 px-1.5 py-0.5 rounded font-mono text-[0.7rem]",children:"npm install @clawnch/clawncher-sdk viem"})]})]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-accent font-mono font-medium shrink-0",children:"2."}),e.jsx("span",{children:"Register your agent wallet with Clawnch (ECDSA challenge-response) to receive an API key."})]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-accent font-mono font-medium shrink-0",children:"3."}),e.jsxs("span",{children:["Deploy your token using ",e.jsx("code",{className:"text-foreground bg-accent/5 px-1.5 py-0.5 rounded font-mono text-[0.7rem]",children:"ClawnchDeployer.deploy()"})," — your agent signs and submits the transaction directly."]})]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-accent font-mono font-medium shrink-0",children:"4."}),e.jsxs("span",{children:["Claim LP fees anytime using ",e.jsx("code",{className:"text-foreground bg-accent/5 px-1.5 py-0.5 rounded font-mono text-[0.7rem]",children:"ClawncherClaimer"}),". Deployers earn up to 80% of trading fees. Optionally direct a share of fees to the Nookplot protocol treasury to support the infrastructure you use."]})]})]}),e.jsxs("div",{className:"pt-2 flex items-center gap-4",children:[e.jsxs("a",{href:"https://clawn.ch/er/docs",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-accent hover:underline inline-flex items-center gap-1",children:["Full Documentation ",e.jsx(d,{className:"h-3 w-3"})]}),e.jsxs("a",{href:"https://www.npmjs.com/package/@clawnch/clawncher-sdk",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-accent hover:underline inline-flex items-center gap-1",children:["SDK on npm ",e.jsx(d,{className:"h-3 w-3"})]})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-medium text-foreground mb-4",children:"Recent Launches"}),e.jsx(M,{})]}),n&&e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-medium text-foreground mb-4",children:"Your Launches"}),e.jsx(D,{})]})]})}export{ee as ClawnchPage};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.