PageSourceSearch

https://slab.cash/_next/static/chunks/662.9b5cc63f944807a4.js

js slab.cash collected 2026-10-07 16:15:18 UTC 13,398 bytes, 244 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{10660:(e,r,t)=>{t.d(r,{A:()=>i});let i=(0,t(16509).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},14406:(e,r,t)=>{t.d(r,{N:()=>n});var i=t(21224),a=t(63820);let n=({size:e,centerIcon:r})=>(0,i.jsx)(l,{$size:e,children:(0,i.jsxs)(o,{children:[(0,i.jsx)(c,{}),(0,i.jsx)(d,{}),r?(0,i.jsx)(s,{children:r}):null]})}),l=a.I4.div`
2  --spinner-size: ${e=>e.$size?e.$size:"96px"};
3
4  display: inline-flex;
5  justify-content: center;
6  align-items: center;
7
8  @media all and (display-mode: standalone) {
9    margin-bottom: 30px;
10  }
11`,o=a.I4.div`
12  position: relative;
13  height: var(--spinner-size);
14  width: var(--spinner-size);
15
16  opacity: 1;
17  animation: fadein 200ms ease;
18`,s=a.I4.div`
19  position: absolute;
20  top: 0;
21  right: 0;
22  bottom: 0;
23  left: 0;
24  display: flex;
25  align-items: center;
26  justify-content: center;
27  svg,
28  img {
29    width: calc(var(--spinner-size) * 0.4);
30    height: calc(var(--spinner-size) * 0.4);
31    border-radius: var(--privy-border-radius-full);
32  }
33`,c=a.I4.div`
34  position: absolute;
35  top: 0;
36  right: 0;
37  bottom: 0;
38  left: 0;
39  width: var(--spinner-size);
40  height: var(--spinner-size);
41
42  && {
43    border: 4px solid var(--privy-color-border-default);
44    border-radius: 50%;
45  }
46`,d=a.I4.div`
47  position: absolute;
48  top: 0;
49  right: 0;
50  bottom: 0;
51  left: 0;
52  width: var(--spinner-size);
53  height: var(--spinner-size);
54  animation: spin 1200ms linear infinite;
55
56  && {
57    border: 4px solid;
58    border-color: var(--privy-color-icon-subtle) transparent transparent transparent;
59    border-radius: 50%;
60  }
61
62  @keyframes spin {
63    from {
64      transform: rotate(0deg);
65    }
66    to {
67      transform: rotate(360deg);
68    }
69  }
70`},16509:(e,r,t)=>{t.d(r,{A:()=>s});var i=t(96644);let a=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)},n=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim();var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,i.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:o="",children:s,iconNode:c,...d},p)=>(0,i.createElement)("svg",{ref:p,...l,width:r,height:r,stroke:e,strokeWidth:a?24*Number(t)/Number(r):t,className:n("lucide",o),...!s&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,i.createElement)(e,r)),...Array.isArray(s)?s:[s]])),s=(e,r)=>{let t=(0,i.forwardRef)(({className:t,...l},s)=>(0,i.createElement)(o,{ref:s,iconNode:r,className:n(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,t),...l}));return t.displayName=a(e),t}},16689:(e,r,t)=>{t.d(r,{S:()=>l});var i=t(21224),a=t(63026),n=t(38667);let l=({primaryCta:e,secondaryCta:r,helpText:t,footerText:l,watermark:o=!0,children:s,...c})=>{let d=e||r?(0,i.jsxs)(i.Fragment,{children:[e&&(()=>{let{label:r,...t}=e,n=t.variant||"primary";return(0,i.jsx)(a.a,{...t,variant:n,style:{width:"100%",...t.style},children:r})})(),r&&(()=>{let{label:e,...t}=r,n=t.variant||"secondary";return(0,i.jsx)(a.a,{...t,variant:n,style:{width:"100%",...t.style},children:e})})()]}):null;return(0,i.jsxs)(n.S,{id:c.id,className:c.className,children:[(0,i.jsx)(n.S.Header,{...c}),s?(0,i.jsx)(n.S.Body,{children:s}):null,t||d||o?(0,i.jsxs)(n.S.Footer,{children:[t?(0,i.jsx)(n.S.HelpText,{children:t}):null,d?(0,i.jsx)(n.S.Actions,{children:d}):null,o?(0,i.jsx)(n.S.Watermark,{}):null]}):null,l?(0,i.jsx)(n.S.FooterText,{children:l}):null]})}},38667:(e,r,t)=>{t.d(r,{S:()=>j});var i=t(21224),a=t(96644),n=t(63820),l=t(46348),o=t(63026),s=t(14406);let c=n.I4.div`
71  /* spacing tokens */
72  --screen-space: 16px; /* base 1x = 16 */
73  --screen-space-lg: calc(var(--screen-space) * 1.5); /* 24px */
74
75  position: relative;
76  overflow: hidden;
77  margin: 0 calc(-1 * var(--screen-space)); /* extends over modal padding */
78  height: 100%;
79  border-radius: var(--privy-border-radius-lg);
80`,d=n.I4.div`
81  display: flex;
82  flex-direction: column;
83  gap: calc(var(--screen-space) * 1.5);
84  width: 100%;
85  background: var(--privy-color-background);
86  padding: 0 var(--screen-space-lg) var(--screen-space);
87  height: 100%;
88  border-radius: var(--privy-border-radius-lg);
89`,p=n.I4.div`
90  position: relative;
91  display: flex;
92  flex-direction: column;
93`,u=(0,n.I4)(o.M)`
94  margin: 0 -8px;
95`,h=n.I4.div`
96  flex: 1 1 auto;
97  display: flex;
98  flex-direction: column;
99
100  /* Enable scrolling */
101  overflow-y: auto;
102
103  /* Hide scrollbar but keep functionality when scrollable */
104  /* Add padding for focus outline space, offset with negative margin */
105  padding: 3px;
106  margin: -3px;
107
108  &::-webkit-scrollbar {
109    display: none;
110  }
111  scrollbar-gutter: stable both-edges;
112  scrollbar-width: none;
113  -ms-overflow-style: none;
114
115  /* Gradient effect for scroll indication */
116  ${({$colorScheme:e})=>"light"===e?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.06)) bottom;":"dark"===e?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.06)) bottom;":void 0}
117
118  background-repeat: no-repeat;
119  background-size:
120    100% 32px,
121    100% 16px;
122  background-attachment: local, scroll;
123`,g=n.I4.div`
124  display: flex;
125  flex-direction: column;
126  gap: var(--screen-space-lg);
127  margin-top: 1.5rem;
128`,v=n.I4.div`
129  text-align: center;
130  display: flex;
131  flex-direction: column;
132  align-items: center;
133  gap: var(--screen-space);
134`,x=n.I4.div`
135  display: flex;
136  flex-direction: column;
137  gap: 4px;
138`,m=n.I4.h3`
139  && {
140    font-size: 20px;
141    line-height: 32px;
142    font-weight: 500;
143    color: var(--privy-color-foreground);
144    margin: 0;
145  }
146`,y=n.I4.p`
147  && {
148    margin: 0;
149    font-size: 16px;
150    font-weight: 300;
151    line-height: 24px;
152    color: var(--privy-color-foreground);
153  }
154`,f=n.I4.div`
155  background: ${({$variant:e})=>{switch(e){case"success":return"var(--privy-color-success-bg, #EAFCEF)";case"warning":return"var(--privy-color-warn, #FEF3C7)";case"error":return"var(--privy-color-error-bg, #FEE2E2)";case"loading":case"logo":return"transparent";default:return"var(--privy-color-background-2)"}}};
156
157  border-radius: 50%;
158  width: 64px;
159  height: 64px;
160  display: flex;
161  align-items: center;
162  justify-content: center;
163`,b=n.I4.div`
164  display: flex;
165  align-items: center;
166  justify-content: center;
167
168  img,
169  svg {
170    max-height: 90px;
171    max-width: 180px;
172  }
173`,w=n.I4.div`
174  display: flex;
175  flex-direction: column;
176  justify-content: center;
177  align-items: center;
178  width: 100%;
179  height: 82px;
180
181  > div {
182    position: relative;
183  }
184
185  > div > :first-child {
186    position: relative;
187  }
188
189  > div > :last-child {
190    position: absolute;
191    left: 50%;
192    top: 50%;
193    transform: translate(-50%, -50%);
194  }
195`,j=({children:e,...r})=>(0,i.jsx)(c,{children:(0,i.jsx)(d,{...r,children:e})}),k=n.I4.div`
196  position: absolute;
197  top: 0;
198  left: calc(-1 * var(--screen-space-lg));
199  width: calc(100% + calc(var(--screen-space-lg) * 2));
200  height: 4px;
201  background: var(--privy-color-background-2);
202  border-top-left-radius: inherit;
203  border-top-right-radius: inherit;
204  overflow: hidden;
205`,C=(0,n.I4)(o.B)`
206  padding: 0;
207  && a {
208    padding: 0;
209    color: var(--privy-color-foreground-3);
210  }
211`,S=n.I4.div`
212  height: 100%;
213  width: ${({pct:e})=>e}%;
214  background: var(--privy-color-foreground-3);
215  border-radius: 2px;
216  transition: width 300ms ease-in-out;
217`,I=({step:e})=>e?(0,i.jsx)(k,{children:(0,i.jsx)(S,{pct:Math.min(100,e.current/e.total*100)})}):null;j.Header=({title:e,subtitle:r,icon:t,iconVariant:a,iconLoadingStatus:n,showBack:l,onBack:o,showInfo:s,onInfo:c,showClose:d,onClose:h,step:g,headerTitle:f,...b})=>(0,i.jsxs)(p,{...b,children:[(0,i.jsx)(u,{backFn:l?o:void 0,infoFn:s?c:void 0,onClose:d?h:void 0,title:f,closeable:d}),(t||a||e||r)&&(0,i.jsxs)(v,{children:[t||a?(0,i.jsx)(j.Icon,{icon:t,variant:a,loadingStatus:n}):null,!(!e&&!r)&&(0,i.jsxs)(x,{children:[e&&(0,i.jsx)(m,{children:e}),r&&(0,i.jsx)(y,{children:r})]})]}),g&&(0,i.jsx)(I,{step:g})]}),(j.Body=a.forwardRef(({children:e,...r},t)=>(0,i.jsx)(h,{ref:t,...r,children:e}))).displayName="Screen.Body",j.Footer=({children:e,...r})=>(0,i.jsx)(g,{id:"privy-content-footer-container",...r,children:e}),j.Actions=({children:e,...r})=>(0,i.jsx)(E,{...r,children:e}),j.HelpText=({children:e,...r})=>(0,i.jsx)(A,{...r,children:e}),j.FooterText=({children:e,...r})=>(0,i.jsx)(z,{...r,children:e}),j.Watermark=()=>(0,i.jsx)(C,{}),j.Icon=({icon:e,variant:r="subtle",loadingStatus:t})=>"logo"===r&&e?(0,i.jsx)(b,"string"==typeof e?{children:(0,i.jsx)("img",{src:e,alt:""})}:a.isValidElement(e)?{children:e}:{children:a.createElement(e)}):"loading"===r?e?(0,i.jsx)(w,{children:(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,i.jsx)(l.N,{success:t?.success,fail:t?.fail}),"string"==typeof e?(0,i.jsx)("span",{style:{background:`url('${e}') 0 0 / contain`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"contain"}}):a.isValidElement(e)?a.cloneElement(e,{style:{width:"38px",height:"38px"}}):a.createElement(e,{style:{width:"38px",height:"38px"}})]})}):(0,i.jsx)(f,{$variant:r,children:(0,i.jsx)(s.N,{size:"64px"})}):(0,i.jsx)(f,{$variant:r,children:e&&("string"==typeof e?(0,i.jsx)("img",{src:e,alt:"",style:{width:"32px",height:"32px",borderRadius:"6px"}}):a.isValidElement(e)?e:a.createElement(e,{width:32,height:32,stroke:(()=>{switch(r){case"success":return"var(--privy-color-icon-success)";case"warning":return"var(--privy-color-icon-warning)";case"error":return"var(--privy-color-icon-error)";default:return"var(--privy-color-icon-muted)"}})(),strokeWidth:2}))});let E=n.I4.div`
218  width: 100%;
219  display: flex;
220  flex-direction: column;
221  gap: calc(var(--screen-space) / 2);
222`,A=n.I4.div`
223  && {
224    margin: 0;
225    width: 100%;
226    text-align: center;
227    color: var(--privy-color-foreground-2);
228    font-size: 13px;
229    line-height: 20px;
230
231    & a {
232      text-decoration: underline;
233    }
234  }
235`,z=n.I4.div`
236  && {
237    margin-top: -1rem;
238    width: 100%;
239    text-align: center;
240    color: var(--privy-color-foreground-2);
241    font-size: 0.6875rem; // 11px
242    line-height: 1rem; // 16px
243  }
244`},80662:(e,r,t)=>{t.r(r),t.d(r,{EmbeddedWalletOnAccountCreateScreen:()=>g,EmbeddedWalletOnAccountCreateView:()=>h,default:()=>g});var i=t(21224),a=t(10660),n=t(96644);async function l(e,r){let t=`${e}-auto-${"ethereum"===r?"eth":"sol"}`,i=(new TextEncoder).encode(t);return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",i))).map(e=>e.toString(16).padStart(2,"0")).join("")}var o=t(93222),s=t(43807),c=t(34707),d=t(13845),p=t(16249),u=t(16689);t(94748),t(76988),t(79834),t(73968),t(13993);let h=({errorMessage:e,onClose:r})=>
244(0,i.jsx)(u.S,e?{title:"Something went wrong",subtitle:e,icon:a.A,iconVariant:"error",primaryCta:{label:"Close",onClick:r},watermark:!0}:{title:"Creating your wallet",subtitle:"Please wait...",iconVariant:"loading",watermark:!1}),g={component:()=>{let{setModalData:e,navigate:r,data:t,onUserCloseViaDialogOrKeybindRef:a}=(0,d.a)(),u=(0,o.u)(),[g,v]=(0,n.useState)(""),{embeddedWallets:x}=(0,o.u)(),{authenticated:m,user:y}=(0,d.u)(),{closePrivyModal:f,walletProxy:b,client:w}=(0,c.u)(),{onSuccess:j,onFailure:k,callAuthOnSuccessOnClose:C,shouldCreateEth:S,shouldCreateSol:I}=t.createWallet,E=(0,p.u)(),A=y?E(s.F)?.shouldCreateWallet({user:y}):void 0,z=!!y&&(0,s.s)(y,u.embeddedWallets.ethereum.createOnLogin,A),W=!!y&&(0,s.k)(y,u.embeddedWallets.solana.createOnLogin,A),$="legacy-embedded-wallets-only"===u.embeddedWallets.mode&&!0===u?.embeddedWallets.requireUserOwnedRecoveryOnCreate,[F,O]=(0,n.useState)(null),{create:N}=(0,s.v)(),T=S??z,R=I??W,U=new s.R(async()=>{let e=await w.getAccessToken();if(y&&e&&b)try{let e,t=await l(y.id,"ethereum"),i=await l(y.id,"solana");if(T&&R)e=await N({chainType:"ethereum",walletIndex:0,latestUser:y,idempotencyKey:t}),e=await N({chainType:"solana",walletIndex:0,latestUser:e.user,idempotencyKey:i});else if(R)e=await N({chainType:"solana",walletIndex:0,latestUser:y,idempotencyKey:i});else{if(!T)return void f({shouldCallAuthOnSuccess:C});e=await N({chainType:"ethereum",walletIndex:0,latestUser:y,idempotencyKey:t})}O(e),r("EmbeddedWalletCreatedScreen")}catch(e){v(e.message)}});return(0,n.useEffect)(()=>m&&y?$?(e({...t,createWallet:{...t.createWallet,shouldCreateEth:T,shouldCreateSol:R},recoverySelection:{...t?.recoverySelection,isInAccountCreateFlow:!0,shouldCreateEth:T,shouldCreateSol:R}}),r((0,s.G)({walletAction:"create",showAutomaticRecovery:!1,availableRecoveryMethods:x.userOwnedRecoveryOptions,legacySetWalletPasswordFlow:!1,isResettingPassword:!1}))):void U.execute():(r("LandingScreen"),void k(Error("User must be authenticated before creating a Privy wallet"))),[$,m]),a.current=()=>null,(0,i.jsx)(h,{errorMessage:g||void 0,onClose:()=>{F?(j(F),f({shouldCallAuthOnSuccess:C})):(k(new c.m("User wallet creation failed")),f({shouldCallAuthOnSuccess:!1}))}})}}}}]);

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.