1import{m as w,p as o,u as N,q as T,r as m,j as e,b as S,T as a,o as E,s as p}from"./index-BGE1YFRk.js";import"./utilities-B03Oj3Gw.js";const R="_page_mn3a4_1",W="_topnav_mn3a4_8",D="_main_mn3a4_14",H="_eyebrow_mn3a4_23",q="_title_mn3a4_33",F="_lede_mn3a4_42",K="_panel_mn3a4_54",O="_panelTitle_mn3a4_64",L="_muted_mn3a4_71",M="_form_mn3a4_78",U="_field_mn3a4_90",V="_fieldWide_mn3a4_97",P="_label_mn3a4_101",$="_input_mn3a4_109",G="_select_mn3a4_110",I="_textarea_mn3a4_111",B="_primaryAction_mn3a4_141",J="_secondaryAction_mn3a4_142",Q="_dangerAction_mn3a4_143",X="_error_mn3a4_188",z="_reveal_mn3a4_194",Z="_revealRow_mn3a4_198",Y="_mono_mn3a4_210",ee="_tableWrap_mn3a4_217",se="_table_mn3a4_217",te="_tag_mn3a4_244",ae="_revoked_mn3a4_254",ne="_toolbar_mn3a4_258",le="_checkbox_mn3a4_266",s={page:R,topnav:W,main:D,eyebrow:H,title:q,lede:F,panel:K,panelTitle:O,muted:L,form:M,field:U,fieldWide:V,label:P,input:$,select:G,textarea:I,primaryAction:B,secondaryAction:J,dangerAction:Q,error:X,reveal:z,revealRow:Z,mono:Y,tableWrap:ee,table:se,tag:te,revoked:ae,toolbar:ne,checkbox:le};class _ extends Error{constructor(n,i){super(n),this.status=i,this.name="ApiKeysError"}}async function y(t,n={}){const i=new Headers(w());i.set("Accept","application/json"),n.body&&i.set("Content-Type","application/json");let l;try{l=await fetch(`/v1/api-keys${t}`,{...n,headers:i})}catch{throw new _(o._(o._({id:"wW3b68"})),0)}const r=await l.json().catch(()=>({}));if(!l.ok){const c=r==null?void 0:r.error;throw new _(typeof c=="string"&&c?c:o._(o._({id:"CdkeWv"})),l.status)}return r}async function ie(t=!1){const{keys:n}=await y(t?"?include_revoked=true":"");return n}function ce(t){return y("",{method:"POST",body:JSON.stringify(t)})}function re(t){return y(`/${encodeURIComponent(t)}`,{method:"DELETE"})}function oe(t){return t.length<=16?t:`${t.slice(0,8)}â¦${t.slice(-6)}`}function de(t){const{connected:n,party:i}=N();return T(n?["api-keys",i??"",t]:null,()=>ie(t),{revalidateOnFocus:!1})}const me="https://developers.rocky.exchange/spot/quickstart",xe="https://developers.rocky.exchange/spot/onboarding/institutional";function ve(){var d;const{connected:t}=N(),[n,i]=m.useState(!1),l=de(n),[r,c]=m.useState(null);return _e(),e.jsxs("div",{className:`lighter-root ${s.page}`,children:[e.jsx("div",{className:s.topnav,children:e.jsx(S,{})}),e.jsxs("main",{className:s.main,children:[e.jsxs("header",{children:[e.jsx("p",{className:s.eyebrow,children:e.jsx(a,{id:"7aDnUb"})}),e.jsx("h1",{className:s.title,children:e.jsx(a,{id:"FfSJ1Y"})}),e.jsx("p",{className:s.lede,children:e.jsx(a,{id:"WD6ZKU",components:{0:e.jsx("a",{href:xe,target:"_blank",rel:"noreferrer"}),1:e.jsx("a",{href:me,target:"_blank",rel:"noreferrer"})}})})]}),t?e.jsxs(e.Fragment,{children:[r&&e.jsx(he,{created:r,onDismiss:()=>c(null)}),e.jsx(ue,{onCreated:x=>{c(x),l.mutate()}}),e.jsx(je,{keys:l.data,loading:l.isLoading&&!l.data,error:(d=l.error)==null?void 0:d.message,includeRevoked:n,onToggleRevoked:i,onRevoked:()=>void l.mutate()})]}):e.jsxs("section",{className:s.panel,children:[e.jsx("h2",{className:s.panelTitle,children:e.jsx(a,{id:"q/TSPm"})}),e.jsx("p",{className:s.muted,children:e.jsx(a,{id:"6g0mws"})}),e.jsx("button",{type:"button",className:s.primaryAction,onClick:E,children:e.jsx(a,{id:"VHOVEJ"})})]})]})]})}function ue({onCreated:t}){const[n,i]=m.useState(""),[l,r]=m.useState("HMAC"),[c,d]=m.useState(""),[x,h]=m.useState(!1),[v,f]=m.useState(null);async function A(u){u.preventDefault(),h(!0),f(null);try{const j=await ce({label:n.trim()||void 0,key_type:l,public_key:l==="ED25519"?c.trim():void 0});t(j),i(""),d(""),p.success(o._({id:"ECJKc4"}))}catch(j){f(j instanceof _?j.message:o._({id:"CdkeWv"}))}finally{h(!1)}}const C=!x&&(l==="HMAC"||c.trim().length>0);return e.jsxs("section",{className:s.panel,children:[e.jsx("h2",{className:s.panelTitle,children:e.jsx(a,{id:"CurqJO"})}),e.jsxs("form",{className:s.form,onSubmit:A,noValidate:!0,"aria-label":o._({id:"uXGLuq"}),children:[e.jsxs("div",{className:s.field,children:[e.jsx("label",{className:s.label,htmlFor:"api-key-label",children:e.jsx(a,{id:"87a/t/"})}),e.jsx("input",{id:"api-key-label",className:s.input,value:n,maxLength:64,placeholder:o._({id:"+TTFMM"}),onChange:u=>i(u.target.value),disabled:x})]}),e.jsxs("div",{className:s.field,children:[e.jsx("label",{className:s.label,htmlFor:"api-key-type",children:e.jsx(a,{id:"+zy2Nq"})}),e.jsxs("select",{id:"api-key-type",className:s.select,value:l,onCh
1ange:u=>r(u.target.value),disabled:x,children:[e.jsx("option",{value:"HMAC",children:"HMAC-SHA256"}),e.jsx("option",{value:"ED25519",children:"Ed25519"})]})]}),e.jsx("button",{type:"submit",className:s.primaryAction,disabled:!C,children:x?e.jsx(a,{id:"/DwR+n"}):e.jsx(a,{id:"NkXL2X"})}),l==="ED25519"&&e.jsxs("div",{className:`${s.field} ${s.fieldWide}`,children:[e.jsx("label",{className:s.label,htmlFor:"api-key-pubkey",children:e.jsx(a,{id:"+x0CO7"})}),e.jsx("textarea",{id:"api-key-pubkey",className:s.textarea,value:c,placeholder:"6kpsY+KcUgq+9VB7Ey7F+ZVHdq6+vnuSQh7qaRRG0iw=",onChange:u=>d(u.target.value),disabled:x,spellCheck:!1}),e.jsx("p",{className:s.muted,children:e.jsx(a,{id:"tUbRUS"})})]})]}),v&&e.jsx("p",{className:s.error,role:"alert",children:v})]})}function he({created:t,onDismiss:n}){return e.jsxs("section",{className:`${s.panel} ${s.reveal}`,"aria-live":"polite",children:[e.jsx("h2",{className:s.panelTitle,children:t.key_type==="HMAC"?e.jsx(a,{id:"wRaULB"}):e.jsx(a,{id:"+kAhMU"})}),e.jsx("p",{className:s.muted,children:t.key_type==="HMAC"?e.jsx(a,{id:"FJ473W"}):e.jsx(a,{id:"QKFKJI"})}),e.jsx(b,{label:o._({id:"iq3W+B"}),value:t.key}),t.secret&&e.jsx(b,{label:o._({id:"8VEDbV"}),value:t.secret}),t.public_key&&e.jsx(b,{label:o._({id:"WGwujV"}),value:t.public_key}),e.jsx("div",{children:e.jsx("button",{type:"button",className:s.secondaryAction,onClick:n,children:e.jsx(a,{id:"Zg/IgQ"})})})]})}function b({label:t,value:n}){return e.jsxs("div",{className:s.revealRow,children:[e.jsx("span",{className:s.label,children:t}),e.jsx("code",{className:s.mono,children:n}),e.jsx(k,{value:n})]})}function k({value:t}){return e.jsx("button",{type:"button",className:s.secondaryAction,onClick:()=>{var n;(n=navigator.clipboard)==null||n.writeText(t),p.success(o._({id:"6V3Ea3"}))},children:e.jsx(a,{id:"he3ygx"})})}function je({keys:t,loading:n,error:i,includeRevoked:l,onToggleRevoked:r,onRevoked:c}){return e.jsxs("section",{className:s.panel,children:[e.jsxs("div",{className:s.toolbar,children:[e.jsx("h2",{className:s.panelTitle,children:e.jsx(a,{id:"3HSPAi"})}),e.jsxs("label",{className:s.checkbox,children:[e.jsx("input",{type:"checkbox",checked:l,onChange:d=>r(d.target.checked)}),e.jsx(a,{id:"OmPlh8"})]})]}),i?e.jsx("p",{className:s.error,role:"alert",children:i}):n?e.jsx("p",{className:s.muted,children:e.jsx(a,{id:"IfVdwj"})}):!t||t.length===0?e.jsx("p",{className:s.muted,children:e.jsx(a,{id:"nR1v44"})}):e.jsx("div",{className:s.tableWrap,children:e.jsxs("table",{className:s.table,children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:e.jsx(a,{id:"87a/t/"})}),e.jsx("th",{children:e.jsx(a,{id:"7sMeHQ"})}),e.jsx("th",{children:e.jsx(a,{id:"+zy2Nq"})}),e.jsx("th",{children:e.jsx(a,{id:"nNGGkA"})}),e.jsx("th",{children:e.jsx(a,{id:"d+F6q9"})}),e.jsx("th",{})]})}),e.jsx("tbody",{children:t.map(d=>e.jsx(pe,{apiKey:d,onRevoked:c},d.id))})]})})]})}function pe({apiKey:t,onRevoked:n}){const[i,l]=m.useState(!1),[r,c]=m.useState(!1),d=!!t.revoked_at;async function x(){c(!0);try{await re(t.id),p.success(o._({id:"p4eAAT"})),n()}catch(h){p.error(h instanceof _?h.message:o._({id:"CdkeWv"}))}finally{c(!1),l(!1)}}return e.jsxs("tr",{className:d?s.revoked:void 0,children:[e.jsx("td",{children:t.label??e.jsx("span",{className:s.muted,children:"â"})}),e.jsxs("td",{children:[e.jsx("code",{className:s.mono,title:t.key,children:oe(t.key)})," ",e.jsx(k,{value:t.key})]}),e.jsx("td",{children:e.jsx("span",{className:s.tag,children:t.key_type==="ED25519"?"Ed25519":"HMAC"})}),e.jsx("td",{children:e.jsx("span",{className:s.tag,children:t.rate_tier})}),e.jsx("td",{children:g(t.created_at)}),e.jsx("td",{children:d?e.jsxs("span",{className:s.muted,children:[e.jsx(a,{id:"xGiT1z"})," ",g(t.revoked_at)]}):i?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:s.dangerAction,onClick:()=>void x(),disabled:r,children:e.jsx(a,{id:"0EileU"})})," ",e.jsx("button",{type:"button",className:s.secondaryAction,onClick:()=>l(!1),disabled:r,children:e.jsx(a,{id:"dEgA5A"})})]}):e.jsx("button",{type:"button",className:s.dangerAction,onClick:()=>l(!0),children:e.jsx(a,{id:"GXsAby"})})})]})}function g(t){const n=new Date(t);return Number.isNaN(n.getTime())?t:n.toISOString().replace("T"," ").slice(0,16)+" UTC"}function _e(){m.useEffect(()=>(document.body.classList.add("lighter-active"),()=>document.body.classList.remove("lighter-active")),[])}export{ve as ApiKeysPage}; 2//# sourceMappingURL=ApiKeysPage-BfRvNGRO.js.map
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.