1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6506],{7493:(e,t,a)=>{"use strict";a.d(t,{A:()=>C});var r=a(16927),n=a(67684),o=a(65699),s=a(20294),i=a(4902),c=a(37876),l=a(14232),u=a(69241),d=a(50427),_=a(19901),m=a(88992),b=a(52276),f=a(97460),x=a(37964),h=a(20894),N=a.n(h),p=a(40929),w=a.n(p);let C=function(e){var t=e.address,a=e.toggleModal,h=(0,s._)((0,l.useState)(null),2),p=h[0],C=h[1],A=(0,_.Y)(),v=A.data,g=A.signMessage,j=A.variables;(0,l.useEffect)(function(){(0,r._)(function(){return(0,i.__generator)(this,function(e){switch(e.label){case 0:if(!v)return[3,2];return[4,(0,d.Q)({message:null==j?void 0:j.message,signature:v})];case 1:C(e.sent()),e.label=2;case 2:return[2]}})})()},[v,null==j?void 0:j.message]);var T=(0,m.mN)({email:""}),y=T.formState,k=T.handleSubmit,S=T.setError,E=T.clearErrors,B=(T.watch,(0,o._)(T,["formState","handleSubmit","setError","clearErrors","watch"])),R=y.errors,L=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,P=(0,s._)((0,l.useState)(!1),2),O=P[0],V=P[1],H=(0,l.useCallback)(function(e){return(0,r._)(function(){var r;return(0,i.__generator)(this,function(n){switch(n.label){case 0:if(V(!0),!L.test(e.email))return S("email",{type:"manual",message:"Please enter your email address"}),V(!1),[2];if((null==p?void 0:p.toLowerCase())===(null==t?void 0:t.toLowerCase()))return[3,2];return[4,g({message:"Please sign this message to verify your address. Welcome to ContractReader!"})];case 1:return n.sent(),V(!1),[2];case 2:return[4,fetch("/api/users/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({address:t,email:e.email})})];case 3:if(r=n.sent(),E(),200!==r.status)return[3,4];return a(),[3,6];case 4:return V(!1),[4,r.json()];case 5:"Email already exists"===n.sent().error&&S("email",{type:"manual",message:"Email already exists"}),n.label=6;case 6:return[2]}})})()},[t,a,p]);return(0,c.jsx)("div",{className:"absolute w-full h-full bg-[rgba(0,0,0,0.5)] z-[100]",children:(0,c.jsxs)("div",{className:"bg-white text-black-900 w-[500px] mx-auto mt-16 rounded-lg p-6",children:[(0,c.jsx)("div",{className:"overflow-hidden",children:(0,c.jsx)("button",{onClick:function(){},className:"text-black-900 text-xl float-right",children:(0,c.jsx)(f.g,{className:"text-black w-[14px]",icon:b.GRI})})}),(0,c.jsx)("h2",{className:"text-lg -mt-6 font-normal",children:"Create a ContractReader account"}),(0,c.jsxs)("p",{className:"text-gray-500 text-sm mt-2 mb-6",children:["An ContractReader account allows you to leave comments and lets us notify you of new comments on any private audits. ",(0,c.jsx)("br",{}),(0,c.jsx)("br",{}),"We will never sell your data to anyone. Period."]}),(0,c.jsxs)("form",{onSubmit:k(H),children:[(0,c.jsx)(x.A,{className:(0,u.A)([w().Collaborator__input__disabled,"mt-4","border border-solid","rounded-sm"]),id:"new-account-eth-address",label:"ETH address",isTouched:!0,disabled:!0,value:t}),(0,c.jsx)(x.A,(0,n._)({className:(0,u.A)(["my-4","border border-solid","rounded-sm"]),error:R.email,id:"email",label:"Enter your email",isTouched:!0,type:"text"},B.register("email",{required:"Please enter your email address",validate:function(e){return!!L.test(e)||"Please enter a valid email"}}))),(0,c.jsx)("div",{className:"flex justify-end",children:(0,c.jsx)("button",{type:"submit",className:(0,u.A)(N().AuditNew__button,N().AuditNew__addContractButton),disabled:O,children:(null==p?void 0:p.toLowerCase())===(null==t?void 0:t.toLowerCase())?"Create Your Account":"Sign To Verify"})})]})]})})}},20894:e=>{e.exports={AuditNew:"AuditNew_AuditNew__zcKDM",AuditNew__prose:"AuditNew_AuditNew__prose__I9Eip",AuditNew__form:"AuditNew_AuditNew__form__X9aMH",AuditNew__contract:"AuditNew_AuditNew__contract__KDIaA",AuditNew__collaborators__wrapper:"AuditNew_AuditNew__collaborators__wrapper__UhBHj",AuditNew__collaborators:"AuditNew_AuditNew__collaborators__VALKg",AuditNew__collaborator:"AuditNew_AuditNew__collaborator__mHOI4",AuditNew__button:"AuditNew_AuditNew__button__qOF0_",AuditNew__submitButton:"AuditNew_AuditNew__submitButton__RWnG1"}},40929:e=>{e.exports={Collaborator:"Collaborator_Collaborator__QAZrt",Collaborator__input__disabled:"Collaborator_Collaborator__input__disabled__AhIEq"}},45604:e=>{e.exports={Textarea__stage:"Textarea_Textarea__stage__GfoML",Textarea__wrapper:"Textarea_Textarea__wrapper__FFwNg",Textarea:"Textarea_Textarea__K3opG",isLabelHidden:"Textarea_isLabelHidden__SHZKc",clearValue:"Textarea_clearValue__Ui9VS",isError:"Textarea_isError__AZzxC",Textarea__label:"Textarea_Textarea__label__YrX69",isTouched:"Textarea_isTouched__E0qXQ",Textarea__clearButton__wrapper:"Textarea_Textarea__clearButton__wrapper__kL1bY",isDirty:"Textarea_isDirty__mz7Hq",Textarea__clearButton:"Textarea_Textarea__clearButton__0wd3_",Textarea__clearButton__icon:"Textarea_Textarea__clearButton__icon__gCw1k",Textarea__error:"Textarea_Textarea__error__LawMD"}},48590:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSP:()=>z,default:()=>D});var r=a(37876),n=a(14232),o=a(62867),s=a(16927),i=a(45526),c=a(67684),l=a(62701),u=a(65699),d=a(20294),_=a(85993),m=a(4902),b=a(52638),f=a(69241),x=a(44239),h=a.n(x),N=a(8047),p=a(88992),w=a(89099),C=a(50640),A=a(43229),v=a(7493),g=a(70380),j=a.n(g),T=a(37964),y=a(40929),k=a.n(y);let S=function(e){var t=e.buttonClassName,a=e.className,o=e.form,s=e.handleClickRemoveCollaborator,i=e.index,l=e.isRemoveButtonVisible,u="collaborator-".concat(i),d=(0,n.useCallback)(function(e){return!!(""===e||e.match(j()()))||"Please enter a valid ETH address"},[]);return(0,r.jsxs)("div",{className:(0,f.A)(k().Collaborator,a),children:[(0,r.jsx)(T.A,(0,c._)({className:k().Contract__input,error:o.formState.errors[u],id:u,isTouched:o.formState.touchedFields[u],label:"ETH address",type:"text"},o.register(u,{validate:d}))),l&&(0,r.jsx)("button",{className:(0,f.A)(k().Contract__removeContractButton,t),onClick:s,type:"button",children:"Remove"})]})};var E=a(96726),B=a(69761),R=a.n(B);let L=function(e){var t=e.buttonClassName,a=e.className,n=e.form,o=e.handleClickRemoveContract,s=e.index,i=e.isRemoveButtonVisible,l="contract-".concat(s,"-filename"),u="contract-".concat(s,"-content");return(0,r.jsxs)("div",{className:(0,f.A)(R().Contract,a),children:[(0,r.jsx)(T.A,(0,c._)({className:R().Contract__input,error:n.formState.errors[l],id:l,isTouched:n.formState.touchedFields[l],label:"Filename (e.g. MyContract.sol)",type:"text"},n.register(l,{required:"Please enter a filename"}))),(0,r.jsx)(E.A,(0,c._)({className:R().Contract__textarea,error:n.formState.errors[u],id:u,isTouched:n.formState.touchedFields[u],label:"Paste your contract code here",rows:12,type:"text"},n.register(u,{required:"Please enter this contract's code"}))),i&&(0,r.jsx)("button",{className:(0,f.A)(R().Contract__removeContractButton,t),onClick:o,children:"Remove Contract"})]})};var P=a(20894),O=a.n(P),V={name:"",content:""};let H=function(){var e=(0,w.useRouter)(),t=(0,N.F)().address,a=(0,d._)((0,C.A)(t),2),o=a[0],x=a[1],g=(0,d._)((0,n.use
1State)([V]),2),j=g[0],T=g[1],y=(0,n.useCallback)(function(){return T(function(e){return(0,_._)(e).concat([V])})},[]),k=(0,n.useCallback)(function(e){return T(function(t){return(0,_._)(t.filter(function(t,a){return a!==e}))})},[]),E=(0,d._)((0,n.useState)([""]),2),B=E[0],R=E[1],P=(0,n.useCallback)(function(){return R(function(e){return(0,_._)(e).concat([""])})},[]),H=(0,n.useCallback)(function(e){return R(function(t){return(0,_._)(t.filter(function(t,a){return a!==e}))})},[]),F=(0,p.mN)({defaultValues:{"contract-0-filename":"","contract-0-content":"","collaborator-0":""}}),z=F.handleSubmit,D=F.watch,M=(0,u._)(F,["handleSubmit","watch"]),I=D("collaborator-0"),q=(0,n.useMemo)(function(){var e=""===I?"Public":"Private";return"Create a ".concat(e," Audit")},[I]),W=(0,n.useCallback)(function(a){return(0,s._)(function(){var r,n,o,s,u,_,b,f;return(0,m.__generator)(this,function(m){switch(m.label){case 0:if(!t)return x(!0),[2];n=(r=a["contract-0-filename"]).includes(".sol")?r:"".concat(r,".sol"),1===Object.keys(o=Object.entries(a).filter(function(e){return(0,d._)(e,1)[0].includes("contract")}).reduce(function(e,t){var a=(0,d._)(t,2),r=a[0],n=a[1],o=(0,d._)(r.split("-"),3),s=o[1],u=o[2],_=parseInt(s,10);return e[_]=(0,l._)((0,c._)({},e[_]),(0,i._)({},u,n)),e},[]).reduce(function(e,t){var a=t.filename,r=t.content,n=a.includes(".sol")?a:"".concat(a,".sol");return e["contracts/".concat(n)]={content:r},e},{})).length?s=o[Object.keys(o)[0]].content:((u=JSON.parse(s=JSON.stringify({sources:o}))).language="solidity",s=JSON.stringify(u)),_=Object.entries(a).filter(function(e){return(0,d._)(e,1)[0].includes("collaborator")}).reduce(function(e,t){var a=(0,d._)(t,2),r=a[0],n=a[1];return e[parseInt((0,d._)(r.split("-"),2)[1],10)]=n,e},[]).filter(Boolean),b={collaborators:h()(_),contractName:n,ownerAddress:t,sourceCode:s},m.label=1;case 1:return m.trys.push([1,4,,5]),[4,fetch("/api/audit/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)})];case 2:return[4,m.sent().json()];case 3:return f=m.sent().id,e.push("/audit/".concat(f)),[3,5];case 4:return console.error("error creating a new audit",m.sent()),[3,5];case 5:return[2]}})})()},[t,e]);return(0,r.jsxs)(r.Fragment,{children:[o&&(0,r.jsx)(v.A,{address:t,toggleModal:function(){x(!o)}}),(0,r.jsxs)("div",{className:O().AuditNew,children:[(0,r.jsxs)(A.A,{className:O().AuditNew__prose,children:[(0,r.jsx)("h1",{style:{marginBottom:"0"},children:"Create a Shareable Solidity Audit"}),(0,r.jsx)("p",{children:"Audits are commentable code documents that look and feel like regular ContractReader pages."}),(0,r.jsx)("p",{children:"Audits are public by default but will be private if you add Collaborators."})]}),(0,r.jsxs)("form",{className:O().AuditNew__form,onSubmit:z(W),children:[j.map(function(e,t){return(0,r.jsxs)(n.Fragment,{children:[(0,r.jsx)(L,{buttonClassName:O().AuditNew__button,className:O().AuditNew__contract,form:M,handleClickRemoveContract:function(){return k(t)},index:t,isRemoveButtonVisible:t>0}),(0,r.jsx)("hr",{})]},t)}),(0,r.jsx)("button",{className:(0,f.A)(O().AuditNew__button,O().AuditNew__addContractButton),onClick:y,type:"button",children:"Add Another Contract"}),(0,r.jsx)("hr",{}),(0,r.jsxs)("div",{className:O().AuditNew__collaborators__wrapper,children:[(0,r.jsxs)(A.A,{className:O().AuditNew__prose,children:[(0,r.jsx)("h2",{style:{marginBottom:"0"},children:"Collaborators"}),(0,r.jsx)("p",{children:"Please add ETH addresses only (ENS support coming soon)"})]}),(0,r.jsxs)("div",{className:O().AuditNew__collaborators,children:[B.map(function(e,t){return(0,r.jsx)(S,{buttonClassName:O().AuditNew__button,className:O().AuditNew__collaborator,form:M,handleClickRemoveCollaborator:function(){return H(t)},index:t,isRemoveButtonVisible:t>0},t)}),(0,r.jsx)("button",{className:(0,f.A)(O().AuditNew__button,O().AuditNew__addCollaboratorButton),onClick:P,type:"button",children:"Add a Collaborator"})]})]}),(0,r.jsx)("hr",{}),t?(0,r.jsx)("button",{className:(0,f.A)(O().AuditNew__button,O().AuditNew__submitButton),type:"submit",children:q}):(0,r.jsx)(b.Lw,{label:"Connect Your Wallet",customTheme:{"--ck-connectbutton-font-size":"1.125rem","--ck-connectbutton-font-weight":"600","--ck-connectbutton-border-radius":"0.375rem","--ck-connectbutton-color":"#fff","--ck-connectbutton-background":"#1d4ed8","--ck-connectbutton-box-sha
1dow":"0 0 0 0 #ffffff","--ck-connectbutton-hover-color":"#fff","--ck-connectbutton-hover-background":"#3564e5","--ck-connectbutton-hover-box-shadow":"0 0 0 0 #ffffff","--ck-connectbutton-active-color":"#fff","--ck-connectbutton-active-background":"#0b3dc6","--ck-connectbutton-active-box-shadow":"0 0 0 0 #ffffff","--ck-connectbutton-padding":"0.875rem 1.25rem"}})]})]})]})};var F=a(71224),z=!0;let D=function(e){var t=e.title,a=e.description,n=e.canonical,s=e.ogImageURL;return(0,r.jsxs)(F.A,{isConnectWalletVisible:!0,children:[(0,r.jsx)(o.bV,{title:t,description:a,canonical:n,openGraph:{type:"website",url:n,title:"ContractReader.io",description:a,images:[{alt:t,url:s,width:1200,height:630,type:"image/png"}]},twitter:{handle:"@ContractReader",site:"@ContractReader",cardType:"summary_large_image"}}),(0,r.jsx)(H,{})]})}},50640:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var r=a(16927),n=a(20294),o=a(4902),s=a(14232);let i=function(e){var t=(0,n._)((0,s.useState)(!1),2),a=t[0],i=t[1];return(0,s.useEffect)(function(){(0,r._)(function(){return(0,o.__generator)(this,function(t){switch(t.label){case 0:if(!e)return[2];return[4,fetch("/api/users/get?address=".concat(e))];case 1:return[4,t.sent().json()];case 2:return"Does Not Exist"===t.sent().address&&i(!0),[2]}})})()},[e]),[a,i]}},69761:e=>{e.exports={Contract:"Contract_Contract__wiT6h",Contract__input:"Contract_Contract__input__8MXOk",Contract__textarea:"Contract_Contract__textarea__fm1Xp",Contract__removeContractButton:"Contract_Contract__removeContractButton__LKBLT"}},89002:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/audit/new",function(){return a(48590)}])},96726:(e,t,a)=>{"use strict";a.d(t,{A:()=>p});var r=a(45526),n=a(67684),o=a(65699),s=a(20294),i=a(37876),c=a(14232),l=a(69241),u=a(30479),d=a(52276),_=a(97460),m=a(77450),b=a.n(m),f=a(45604),x=a.n(f),h={small:x().isSmall},N=(0,c.forwardRef)(function(e,t){var a,m,f=e.className,N=e.clearValue,p=e.disabled,w=void 0===p?null:p,C=e.error,A=e.errorClassName,v=e.id,g=e.inputClassName,j=e.inputLabelClassName,T=e.inputSize,y=void 0===T?null:T,k=e.inputWrapperClassName,S=e.isDirty,E=e.isLabelHidden,B=e.isTouched,R=e.label,L=e.name,P=e.rows,O=e.onAutoComplete,V=(0,o._)(e,["className","clearValue","disabled","error","errorClassName","id","inputClassName","inputLabelClassName","inputSize","inputWrapperClassName","isDirty","isLabelHidden","isTouched","label","name","rows","onAutoComplete"]),H=(0,s._)((0,c.useState)(!1),2),F=H[0],z=H[1],D=b()(C,"message"),M="".concat(v,"-error");return(0,c.useEffect)(function(){var e=function(e){e.target.name===L&&(e.target.hasAttribute("autocompleted")?(z(!0),O&&setTimeout(O,0)):z(!1))};return document.addEventListener("onautocomplete",e),function(){return document.removeEventListener("onautocomplete",e)}},[L,O]),(0,i.jsxs)("div",{className:(0,l.A)(x().Textarea__stage,f,(a={},(0,r._)(a,x().isDisabled,w),(0,r._)(a,x().isLabelHidden,E),(0,r._)(a,h[y],y&&h[y]),a)),ref:t,children:[(0,i.jsxs)("div",{className:(0,l.A)(x().Textarea__wrapper,k),children:[(0,i.jsx)(u.A,(0,n._)({"aria-invalid":D?"true":void 0,"aria-describedby":D?M:void 0,className:(0,l.A)(x().Textarea,g,(m={},(0,r._)(m,x().clearValue,N),(0,r._)(m,x().isDirty,S),(0,r._)(m,x().isError,D),(0,r._)(m,x().isTouched,B||F),m)),disabled:w,id:v,minRows:void 0===P?1:P,name:L},V)),(0,i.jsx)("label",{className:(0,l.A)(x().Textarea__label,j),htmlFor:v,children:R}),N&&(0,i.jsx)("div",{className:x().Textarea__clearButton__wrapper,children:(0,i.jsx)("button",{className:x().Textarea__clearButton,disabled:w,onClick:N,tabIndex:-1,type:"button",children:(0,i.jsx)(_.g,{className:x().Textarea__clearButton__icon,icon:d.s0Q})})})]}),D&&C.message&&(0,i.jsx)("div",{className:(0,l.A)(x().Textarea__error,A),id:M,role:"alert",children:C.message})]})});N.displayName="Textarea";let p=N}},e=>{e.O(0,[7164,4840,8805,3169,2867,111,1224,636,6593,8792],()=>e(e.s=89002)),_N_E=e.O()}]);
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.