(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4781],{14911:function(){},33517:function(){},33578:function(e,t,n){"use strict";n.r(t),n.d(t,{SelectWalletDialog:function(){return y}});var a=n(97200),r=n(969),s=n(65258),i=n(21562),o=n(95535);let l=()=>{let[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),[r,s]=(0,o.useState)([]),[i,l]=(0,o.useState)(""),[d,u]=(0,o.useState)(""),[c,g]=(0,o.useState)([]),[f,p]=(0,o.useState)({confirmed:0,unconfirmed:0,total:0}),[h,w]=(0,o.useState)("livenet"),y=async()=>{let e=window.unisat,[t]=await e.getAccounts();u(t);let n=await e.getPublicKey();l(n);let a=await e.getBalance();p(a);let r=await e.getNetwork();w(r);let s=await e.getInscriptions(0,9999);return g(s),{publicKey:n,address:t,balance:a,network:r,inscriptions:s}},m=(0,o.useRef)({accounts:[]}).current,x=e=>{m.accounts[0]!==e[0]&&(m.accounts=e,e.length>0?(s(e),a(!0),u(e[0]),y()):a(!1))},b=e=>{w(e),y()};return(0,o.useEffect)(()=>{(async function(){let e=window.unisat;for(let t=1;t<10&&!e;t+=1)await new Promise(e=>setTimeout(e,100*t)),e=window.unisat;if(e)t(!0);else if(!e)return;return e.getAccounts().then(e=>{x(e)}),e.on("accountsChanged",x),e.on("networkChanged",b),()=>{e.removeListener("accountsChanged",x),e.removeListener("networkChanged",b)}})().then()},[]),{network:h,connected:n,inscriptions:c,unisatInstalled:e,accounts:r,publicKey:i,address:d,balance:f,handleAccountsChanged:x,setConnected:a}},d=()=>{let[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),[r,s]=(0,o.useState)([]),[i,l]=(0,o.useState)(""),[d,u]=(0,o.useState)(""),[c,g]=(0,o.useState)([]),[f,p]=(0,o.useState)({confirmed:0,unconfirmed:0,total:0}),[h,w]=(0,o.useState)("livenet"),y=async()=>{let e=window.unitap,[t]=await e.getAccounts();u(t);let n=await e.getPublicKey();l(n);let a=await e.getBalance();p(a);let r=await e.getNetwork();w(r);let s=await e.getInscriptions(0,9999);return g(s),{publicKey:n,address:t,balance:a,network:r,inscriptions:s}},m=(0,o.useRef)({accounts:[]}).current,x=e=>{m.accounts[0]!==e[0]&&(m.accounts=e,e.length>0?(s(e),a(!0),u(e[0]),y()):a(!1))},b=e=>{w(e),y()};return(0,o.useEffect)(()=>{(async function(){let e=window.unitap;for(let t=1;t<10&&!e;t+=1)await new Promise(e=>setTimeout(e,100*t)),e=window.unitap;if(e)t(!0);else if(!e)return;return e.getAccounts().then(e=>{x(e)}),e.on("accountsChanged",x),e.on("networkChanged",b),()=>{e.removeListener("accountsChanged",x),e.removeListener("networkChanged",b)}})().then()},[]),{network:h,connected:n,inscriptions:c,unitapInstalled:e,accounts:r,publicKey:i,address:d,balance:f,handleAccountsChanged:x,setConnected:a}};var u=n(89893);function c(e,t){let[n,a]=(0,o.useState)(()=>localStorage.getItem(e)||t);return(0,o.useEffect)(()=>{{let t=localStorage.getItem(e);null!==t&&a(t)}},[!0,e]),[n,t=>{a(t),void 0===t?localStorage.removeItem(e):localStorage.setItem(e,t)}]}let g=()=>{let[e,t]=c("paymentAddress"),[n,a]=c("paymentPublicKey"),[r,s]=c("ordinalsAddress"),[i,l]=c("ordinalsPublicKey"),[d,g]=c("network",u.BitcoinNetworkType.Mainnet),[f,p]=(0,o.useState)("loading"),[h,w]=(0,o.useState)();(0,o.useEffect)(()=>{(async()=>{p("loading");for(let e=0;e<=15;++e){try{await (0,u.getCapabilities)({onFinish(e){w(new Set(e)),p("loaded")},onCancel(){p("cancelled")},payload:{network:{type:d}}})}catch(t){15===e&&p("missing")}await new Promise(e=>setTimeout(e,50))}})()},[d]);let y=()=>{t(void 0),a(void 0),s(void 0),l(void 0)};return{paymentAddress:e,ordinalsAddress:r,paymentPublicKey:n,ordinalsPublicKey:i,isReady:!!e&&!!n&&!!r&&!!i,toggleNetwork:()=>{g(d===u.BitcoinNetworkType.Testnet?u.BitcoinNetworkType.Mainnet:u.BitcoinNetworkType.Testnet),y()},onConnectClick:async()=>{await (0,u.getAddress)({payload:{purposes:[u.AddressPurpose.Ordinals,u.AddressPurpose.Payment],message:"Approve connection to Xverse wallet and sign message",network:{type:d}},onFinish:e=>{let n=e.addresses.find(e=>e.purpose===u.AddressPurpose.Payment);t(null==n?void 0:n.address),a(null==n?void 0:n.publicKey);let r=e.addresses.find(e=>e.purpose===u.AddressPurpose.Ordinals);s(null==r?void 0:r.address),l(null==r?void 0:r.publicKey)},onCancel:()=>alert("Request canceled")})},capabilityState:f,capabilities:h,network:d,capabilityMessage:"loading"===f?"Checking capabilities...":"cancelled"===f?"Capability check cancelled by wallet. Please refresh the page and try again.":"missing"===f?"Could not find an installed Sats Connect capable wallet. Please install a wallet and try again.":h?void 0:"Something went wrong with getting capabilities"}};var f=n(3113),p=n(42747),h=n(21903),w=n(3035);let y=()=>{let{connected:e,unisatInstalled:t,handleAccountsChanged:n}=l(),{connected:u,unitapInstalled:c,handleAccountsChanged:y}=d(),{ordinalsAddress:m,ordinalsPublicKey:x,onConnectClick:b,capabilityState:v,paymentAddress:k}=g(),N="missing"!==v,[S,C]=(0,o.useState)(""),[j,A]=(0,p.useAtom)(i.PC),{auth:{status:P},setAuth:T}=(0,f.useAppStore)(e=>e),z="authenticated"===P,B=async()=>{let e;let t=window.unitap;c||window.open("https://unitap.io","_blank","noopener,noreferrer"),await new Promise(e=>setTimeout(e,1e3));try{e=await t.requestAccounts()}catch(e){c?C("Please create account inside chosen wallet and log in"):C("Please install wallet extension and refresh page");return}C(""),y(e),T({status:"authenticated",address:e[0],walletType:"unitap"}),C(""),A(!1)},R=async()=>{let e;let a=window.unisat;t||window.open("https://unisat.io","_blank","noopener,noreferrer"),await new Promise(e=>setTimeout(e,1e3));try{e=await a.requestAccounts()}catch(e){t?C("Please create account inside chosen wallet and log in"):C("Please install wallet extension and refresh page");return}C(""),n(e),T({status:"authenticated",address:e[0],walletType:"unisat"}),C(""),A(!1)},K=async()=>{if(A(!1),!N){window.open("https://www.xverse.app/download","_blank","noopener,noreferrer");return}await b(),m&&T({status:"authenticated",address:m,paymentAddress:k,walletType:"xverse"}),await new Promise(e=>setTimeout(e,1e3))},E=(0,h.usePathname)();return(0,o.useEffect)(()=>{E.includes("connect-wallet")&&!z&&A(!0)},[E,A,z]),(0,a.jsx)(s.Vq,{open:j,onOpenChange:A,children:(0,a.jsxs)(s.cZ,{className:"sm:max-w-[425px]",children:[(0,a.jsx)(s.fK,{children:(0,a.jsx)(s.$N,{children:"Connect your wallet"})}),(0,a.jsxs)("div",{className:"grid gap-2 py-4",children:[(0,a.jsx)(r.z,{variant:"outline",onClick:B,children:(0,a.jsx)(w.B,{children:"UniTap"})}),(0,a.jsx)(r.z,{variant:"outline",onClick:R,children:"Unisat"}),(0,a.jsx)(r.z,{variant:"outline",onClick:K,children:"Xverse"}),S&&(0,a.jsx)("p",{className:"text-center mt-2",children:S})]})]})})}},969:function(e,t,n){"use strict";n.d(t,{z:function(){return d}});var a=n(97200),r=n(95535),s=n(72017),i=n(57823),o=n(90893);let l=(0,i.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",{variants:{variant:{default:"bg-gray-900 text-gray-50 hover:bg-gray-900/90 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/90",destructive:"bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90",outline:"border border-gray-200 bg-white hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50","pink-outline":"text-pink-300 border border-pink-300 bg-white hover:bg-pink-100 hover:text-gray-900 dark:border-pink-300 dark:bg-gray-950 dark:hover:bg-pink-600 dark:hover:text-gray-50",secondary:"bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",ghost:"hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50",link:"text-gray-900 underline-offset-4 hover:underline dark:text-gray-50",gradient:"bg-gradient-to-r from-pink-600 to-purple-600 shadow-sm shadow-black dark:shadow-none text-white rounded-full","gradient-outline":"relative bg-none"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",xl:"h-14 rounded-md px-10 text-md uppercase",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=r.forwardRef((e,t)=>{let{className:n,variant:r,size:i,asChild:d=!1,...u}=e,c=d?s.g7:"button";return(0,a.jsx)(c,{className:(0,o.cn)(l({variant:r,size:i,className:n}),"gradient-outline"===r&&"p-[3px]"),ref:t,...u,children:"gradient-outline"===r?(0,a.jsxs)("div",{className:"text-center w-full",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-pink-500 to-purple-400 rounded-full h-full w-full"}),(0,a.jsx)("div",{className:(0,o.cn)("px-8 py-2 w-full rounded-full relative group","bg-black"),children:u.children})]}):u.children})});d.displayName="Button"},65258:function(e,t,n){"use strict";n.d(t,{$N:function(){return w},Be:function(){return y},GG:function(){return c},Vq:function(){return l},cN:function(){return h},cZ:function(){return f},fK:function(){return p},hg:function(){return d}});var a=n(97200),r=n(95535),s=n(24061),i=n(53318),o=n(90893);let l=s.fC,d=s.xz,u=s.h_,c=s.x8,g=r.forwardRef((e,t)=>{let{className:n,...r}=e;return(0,a.jsx)(s.aV,{ref:t,className:(0,o.cn)("fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...r})});g.displayName=s.aV.displayName;let f=r.forwardRef((e,t)=>{let{className:n,children:r,...l}=e;return(0,a.jsxs)(u,{children:[(0,a.jsx)(g,{}),(0,a.jsxs)(s.VY,{ref:t,className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-gray-800 dark:bg-gray-950",n),...l,children:[r,(0,a.jsxs)(s.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500 dark:ring-offset-gray-950 dark:focus:ring-gray-300 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});f.displayName=s.VY.displayName;let p=e=>{let{className:t,...n}=e;return(0,a.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...n})};p.displayName="DialogHeader";let h=e=>{let{className:t,...n}=e;return(0,a.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...n})};h.displayName="DialogFooter";let w=r.forwardRef((e,t)=>{let{className:n,...r}=e;return(0,a.jsx)(s.Dx,{ref:t,className:(0,o.cn)("text-lg font-semibold leading-none tracking-tight",n),...r})});w.displayName=s.Dx.displayName;let y=r.forwardRef((e,t)=>{let{className:n,...r}=e;return(0,a.jsx)(s.dk,{ref:t,className:(0,o.cn)("text-sm text-gray-500 dark:text-gray-400",n),...r})});y.displayName=s.dk.displayName},3035:function(e,t,n){"use strict";n.d(t,{B:function(){return s}});var a=n(97200),r=n(90893);let s=e=>{let{className:t,children:n,variant:s="default"}=e;return(0,a.jsx)("span",{className:(0,r.cn)("relative bg-gradient-to-r gradient from-pink-500 to-purple-400 bg-clip-text inline-flex items-baseline mx-0.5 text-transparent","light"===s?"from-pink-400 to-purple-300":"from-pink-500 to-purple-400",t),children:n})}},21562:function(e,t,n){"use strict";n.d(t,{AB:function(){return o},PC:function(){return s},n6:function(){return i},u1:function(){return l},zC:function(){return r}});var a=n(22426);let r=(0,a.cn)(!1),s=(0,a.cn)(!1),i=(0,a.cn)({token:""}),o=(0,a.cn)([]),l=(0,a.cn)(null)},90893:function(e,t,n){"use strict";n.d(t,{AE:function(){return o},cn:function(){return s},ik:function(){return i},zz:function(){return l}});var a=n(69973),r=n(7347);function s(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.m6)((0,a.W)(t))}function i(e){if("string"==typeof e&&e.length>=10){let t=e.substring(0,5),n=e.substring(e.length-5);return"".concat(t,"...").concat(n)}}function o(e){let t=e.toString();if(-1!==t.indexOf(".")||t.includes("e")){let t=e.toFixed(2);return t.includes(".00")&&(t=t.replace(".00","")),"0.00"===t?"0":t}return e}function l(e){let t=e.match(/\d+(\.\d+)?/);return t?parseFloat(t[0]):0}},3113:function(e,t,n){"use strict";n.r(t),n.d(t,{AppStoreContext:function(){return u},AppStoreProvider:function(){return c},useAppStore:function(){return g}});var a=n(97200),r=n(95535),s=n(79331),i=n(20964),o=n(691);let l={auth:{status:"not-authenticated",address:null,walletType:null}},d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l;return(0,o.M)((0,i.persistNSync)(t=>({...e,setAuth:e=>t(t=>({...t,auth:e}))}),{name:"appStore",storage:"sessionStorage"}))},u=(0,r.createContext)(null),c=e=>{let{children:t}=e,n=(0,r.useRef)();return n.current||(n.current=d()),(0,a.jsx)(u.Provider,{value:n.current,children:t})},g=e=>{let t=(0,r.useContext)(u);if(!t)throw Error("useAppStore must be use within AppStoreProvider");return(0,s.oR)(t,e)}}}]);