PageSourceSearch

https://aztec-pnl-proof.vercel.app/_next/static/chunks/app/prove/page-b13cc5fe75c7e9f8.js

js aztec-pnl-proof.vercel.app collected 2026-10-03 06:09:52 UTC 29,596 bytes, 1 lines download raw bytes

1"u"<typeof window&&(globalThis.window=globalThis),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1763],{11675:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(54568);function s({token:e,size:t="md"}){return(0,n.jsx)("div",{className:`${"sm"===t?"w-5 h-5 text-[8px]":"w-6 h-6 text-[10px]"} rounded-full ${e.color} flex items-center justify-center font-medium`,children:e.symbol[0]})}},19449:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var n=r(54568),s=r(96030),a=r(75665);function l({children:e}){let{status:t}=(0,a.k)();return"connected"!==t?(0,n.jsx)("main",{className:"flex-grow flex items-center justify-center px-6",children:(0,n.jsxs)("div",{className:"text-center max-w-sm",children:[(0,n.jsx)("div",{className:"w-14 h-14 rounded-full bg-orange-100 flex items-center justify-center mx-auto mb-4",children:(0,n.jsx)(s.In,{icon:"lucide:lock-keyhole",width:28,className:"text-orange-500"})}),(0,n.jsx)("h2",{className:"text-lg font-semibold text-neutral-900 mb-2",children:"Connect your wallet"}),(0,n.jsx)("p",{className:"text-sm text-neutral-500",children:"Sign in with your wallet to access this page."})]})}):(0,n.jsx)(n.Fragment,{children:e})}},30902:(e,t,r)=>{"use strict";r.d(t,{MS:()=>a,xZ:()=>n});let n={USDC:{symbol:"USDC",color:"bg-indigo-100"},wETH:{symbol:"wETH",color:"bg-blue-100"},wZEC:{symbol:"wZEC",color:"bg-amber-100"},wAZTEC:{symbol:"wAZTEC",color:"bg-purple-100"}},s=[["wETH","USDC"],["wZEC","USDC"],["wAZTEC","USDC"]];function a(e){let t=new Set;for(let[r,n]of s)r===e&&t.add(n),n===e&&t.add(r);return Object.values(n).filter(e=>t.has(e.symbol))}},55027:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(54568);function s({progress:e,complete:t}){return(0,n.jsx)("div",{className:"w-full bg-neutral-200 h-1.5 rounded-full overflow-hidden",children:(0,n.jsx)("div",{className:"bg-orange-500 h-full rounded-full relative overflow-hidden transition-all duration-300",style:{width:`${Math.min(100,Math.max(0,e))}%`},children:!t&&(0,n.jsx)("div",{className:"absolute inset-0 bg-white/30 w-full h-full animate-shimmer"})})})}},61599:(e,t,r)=>{Promise.resolve().then(r.bind(r,82447))},75383:(e,t,r)=>{"use strict";r.d(t,{E8:()=>i,KG:()=>o,NX:()=>a,S6:()=>c,YL:()=>l,tC:()=>n,xS:()=>s});let n={USDC:"0x20a756258e69c579300e3267f1316ca5fbace71ba5768928aa9550eb3d4cf34c",wETH:"0x2ffbd5c387cc06ccf6e14043b92932566010680766db9725ff1be8c0e825a5c4",wZEC:"0x128f722ad9de7c9df207efd0d0c003625e5c5510d17906a33b88f6a722e2cf4d",wAZTEC:"0x17dde4c4334840f164214386e1ef489418b6c5b0463c7ea7ab271eb4d8be2833"},s=9,a={USDC:6,wETH:9,wZEC:9,wAZTEC:9},l={"wETH/USDC":"0x06b88eadc3c6c374652da35392c6829946f509e722a80f7d49012d7e40e9a39c","wZEC/USDC":"0x2c3f72942b0b3f81a33866600736ef339bea2c852a21a3cc74bf6cd40c7ed179","wAZTEC/USDC":"0x1fdade1dd6384de39c1c795af78bf7ea383cbafb76c5e17828723be7123b7ce6"},i={"ETH/USDC":"0x275326e22846a7837168cd2f6e3b48580d162d1b88e285b4c817d3455d87039f","ZEC/USDC":"0x122aa0bb0f5c0ba331630599ca45b4852af9e8ea4ba85f378f61c72e17aaf75c","AZTEC/USDC":"0x1fa850f373458a09d190347b2c2cf2aff80eafc1dbcd417238a00d84a3b9852b"},o="0x1a2b16e9ddcc859a7c34235fc1427febbcd5ca7945e605ed9493858e0dc32698",c=[{label:"wETH/USDC",token0:"wETH",token1:"USDC",address:"0x06b88eadc3c6c374652da35392c6829946f509e722a80f7d49012d7e40e9a39c"},{label:"wZEC/USDC",token0:"wZEC",token1:"USDC",address:"0x2c3f72942b0b3f81a33866600736ef339bea2c852a21a3cc74bf6cd40c7ed179"},{label:"wAZTEC/USDC",token0:"wAZTEC",token1:"USDC",address:"0x1fdade1dd6384de39c1c795af78bf7ea383cbafb76c5e17828723be7123b7ce6"}]},75665:(e,t,r)=>{"use strict";r.d(t,{k:()=>a});var n=r(7620),s=r(84765);function a(){let e=(0,n.useContext)(s.m);if(!e)throw Error("useAztecWallet must be used within AztecWalletProvider");return e}},82447:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>E});var n=r(54568),s=r(96030);function a({state:e,formatPnl:t}){let r="complete"===e.status,a=null===e.pnl||e.pnl>=0n,l=null!==e.pnl?t(e.pnl):"--",i=null!==e.tax?t(e.tax):"--";return(0,n.jsxs)("div",{className:"lg:col-span-2 bg-white rounded-2xl border border-neutral-200 p-8 shadow-sm relative overflow-hidden group",children:[(0,n.jsx)("div",{className:"absolute top-0 right-0 p-8 opacity-5 group-hover:opacity-10 transition-opacity",children:(0,n.jsx)(s.In,{icon:"solar:shield-check-linear",width:120,className:"text-orange-500"})}),(0,n.jsxs)("div",{className:"relative z-10",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,n.jsx)("span",{className:"text-sm font-medium text-neutral-500 uppercase tracking-wider",children:"Net Realized PnL"}),r&&(0,n.jsx)(s.In,{icon:"solar:verified-check-bold",className:"text-green-500",width:16})]}),(0,n.jsxs)("div",{className:"flex items-baseline gap-4 mb-2",children:[(0,n.jsx)("h1",{className:"text-5xl font-semibold tracking-tight text-neutral-900 font-mono",children:l}),null!==e.pnl&&(0,n.jsxs)("span",{className:`inline-flex items-center gap-1 text-sm font-medium px-2 py-1 rounded-md ${a?"text-green-600 bg-green-50":"text-red-600 bg-red-50"}`,children:[(0,n.jsx)(s.In,{icon:a?"solar:graph-up-linear":"solar:graph-down-linear",width:14}),a?"Gain":"Loss"]})]}),null!==e.tax&&(0,n.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-sm text-neutral-600",children:[(0,n.jsx)(s.In,{icon:"solar:bill-list-linear",width:16,className:"text-neutral-400"}),(0,n.jsxs)("span",{children:["Tax (20%): ",(0,n.jsx)("span",{className:"font-mono font-medium",children:i})]})]}),(0,n.jsx)("p",{className:"text-sm text-neutral-500 max-w-md mt-4 leading-relaxed",children:r?`Proven over ${e.totalSwaps} encrypted swap transactions. ZK proof verifies your returns without reveal
1ing trade history.`:"idle"===e.status?"Generate a Zero-Knowledge proof to calculate and verify your trading PnL on-chain.":"Proof generation in progress..."})]})]})}var l=r(55027);function i({state:e,onGenerate:t,onDownload:r}){let a="idle"!==e.status&&"complete"!==e.status&&"error"!==e.status,i="complete"===e.status,o=i?"text-green-600":"error"===e.status?"text-red-600":"text-orange-600";return(0,n.jsxs)("div",{className:"flex flex-col justify-center gap-4 bg-orange-50/50 rounded-2xl border border-orange-100 p-8",children:[(0,n.jsxs)("div",{className:"mb-2",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold text-neutral-900 tracking-tight",children:"Proof Generation"}),(0,n.jsxs)("p",{className:"text-sm text-neutral-500 mt-1",children:["Status:"," ",(0,n.jsx)("span",{className:`font-medium ${o}`,children:e.statusText})]})]}),(0,n.jsx)(l.A,{progress:e.progress,complete:i}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-xs text-neutral-500 font-mono mt-1",children:[(0,n.jsx)("span",{children:e.blockNumber?`Block #${e.blockNumber}`:"Block #--"}),(0,n.jsx)("span",{children:e.totalSwaps>0?`${e.currentSwap}/${e.totalSwaps} swaps`:"--"})]}),e.error&&(0,n.jsx)("div",{className:"text-xs text-red-600 bg-red-50 border border-red-100 rounded-lg px-3 py-2 mt-1",children:e.error}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 mt-4",children:[(0,n.jsx)("button",{onClick:t,disabled:a,className:"w-full bg-orange-600 hover:bg-orange-700 disabled:bg-neutral-300 disabled:cursor-not-allowed text-white text-sm font-medium py-3 px-4 rounded-xl shadow-sm shadow-orange-200 transition-all flex items-center justify-center gap-2 group",children:a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.In,{icon:"solar:refresh-linear",width:18,className:"animate-spin"}),"Generating..."]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.In,{icon:"solar:magic-stick-3-linear",width:18,className:"group-hover:rotate-12 transition-transform"}),i?"Re-generate":"Generate ZK Proof"]})}),i&&(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsxs)("button",{onClick:()=>r("pnl"),className:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 text-xs font-medium text-orange-700 bg-white border border-orange-200 rounded-xl hover:bg-orange-50 transition-colors",children:[(0,n.jsx)(s.In,{icon:"solar:download-minimalistic-linear",width:14}),"PnL Proof"]}),(0,n.jsxs)("button",{onClick:()=>r("tax"),className:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 text-xs font-medium text-orange-700 bg-white border border-orange-200 rounded-xl hover:bg-orange-50 transition-colors",children:[(0,n.jsx)(s.In,{icon:"solar:download-minimalistic-linear",width:14}),"Tax Proof"]})]})]})]})}function o(e,t){let r={lg:"w-12 h-12",md:"w-10 h-10",sm:"w-8 h-8",xs:"w-6 h-6"}[t];switch(e){case"verified":return`${r} rounded-full bg-green-500 border-2 border-green-500 flex items-center justify-center text-white shadow-sm`;case"proving":return`${r} rounded-full bg-blue-500 border-2 border-blue-500 flex items-center justify-center text-white shadow-lg shadow-blue-200 animate-pulse`;case"pending":return`${r} rounded-full bg-white border-2 border-neutral-900 flex items-center justify-center shadow-sm`;case"unused":return`${r} rounded-full bg-neutral-100 border-2 border-neutral-200 flex items-center justify-center`}}let c={lg:20,md:16,sm:14,xs:10};function d({status:e,nodeType:t,size:r="sm"}){let a=c[r];if("root"===t)return(0,n.jsx)(s.In,{icon:"solar:lock-keyhole-minimalistic-linear",width:a});switch(e){case"verified":if("leaf"===t)return(0,n.jsx)(s.In,{icon:"solar:file-check-linear",width:a});return(0,n.jsx)(s.In,{icon:"solar:check-read-linear",width:a,className:"text-white"});case"proving":return(0,n.jsx)(s.In,{icon:"solar:refresh-linear",width:a,className:"animate-spin"});case"pending":if("leaf"===t)return(0,n.jsx)(s.In,{icon:"solar:file-linear",width:a,className:"text-neutral-900"});return null;case"unused":return(0,n.jsx)(s.In,{icon:"solar:close-circle-linear",width:a,className:"leaf"===t?"text-neutral-300":""})}}function u(){return(0,n.jsxs)("div",{className:"flex items-center gap-4 text-xs font-medium text-neutral-500",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-green-500"}),"Verified"]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("div",{className:"w-2.5 h-2.5 rounded-full border border-blue-500 bg-blue-500 animate-pulse"}),"Proving"]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("div",{className:"w-2.5 h-2.5 rounded-full border border-neutral-900 bg-white"}),"Pending"]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-neutral-200"}),"Unused"]})]})}function x({levels:e}){if(0===e.length)return(0,n.jsxs)("section",{className:"mb-12",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,n.jsx)("h2",{className:"text-xl font-semibold text-neutral-900 tracking-tight",children:"Merkle Aggregation"}),(0,n.jsx)(u,{})]}),(0,n.jsxs)("div",{className:"bg-white rounded-2xl border border-neutral-200 p-12 shadow-sm text-center",children:[(0,n.jsx)(s.In,{icon:"solar:tree-linear",width:48,className:"text-neutral-300 mx-auto mb-4"}),(0,n.jsx)("p",{className:"text-neutral-500 text-sm",children:"Proof tree will appear here during generation."})]})]});let t=e.length,r=e[0].length,a=r>16?"xs":"sm",l=r>16?"sm":"md",i=r<=16,c=Math.max(200,(t-1)*80+60),x=[...e].reverse();return(0,n.jsxs)("section",{className:"mb-12",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,n.jsx)("h2",{className:"text-xl font-semibold text-neutral-900 tracking-tight",children:"Merkle Aggregation"}),(0,n.jsx)(u,{})]}),(0,n.jsx)("div",{className:"bg-white rounded-2xl border border-neutral-200 p-8 md:p-12 relative shadow-sm overflow-hidden min-h-[200px] flex flex-col justify-between items-center select-none",children:(0,n.jsx)("div",{className:"relative z-10 w-full h-full flex flex-col justify-between",style:{height:c},children:x.map((e,r)=>{let s=0===r,c=s?0:50/Math.pow(2,r);if(s){let t=e[0];return(0,n.jsx)("div",{className:"flex justify-center w-full",children:(0,n.jsxs)("div",{className:`${o(t.status,"lg")} relative group`,children:[(0,n.jsx)(d,{status:t.status,nodeType:"root",size:"lg"}),(0,n.jsx)("span",{className:"absolute -top-8 text-[10px] font-mono text-neutral-400 opacity-0 group-hover:opacity-100 transition-opacity bg-neutral-900 text-white px-2 py-1 rounded",children:"Root"})]})},"root")}return r===t-1?(0,n.jsx)("div",{className:"flex justify-between w-full",style:{paddingLeft:`${c}%`,paddingRight:`${c}%`},children:e.map(e=>(0,n.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,n.jsx)("div",{className:`${o(e.status,a)} ${"verified"===e.status?"ring-2 ring-green-100":""}`,children:(0,n.jsx)(d,{status:e.status,nodeType:"leaf",size:a})}),i&&(0,n.jsx)("span",{className:`text-[10px] font-mono ${"proving"===e.status?"text-blue-600 font-medium":"unused"===e.status?"text-neutral-300":"text-neutral-400"}`,children:e.label})]},e.id))},"leaves"):(0,n.jsx)("div",{className:"flex justify-between w-full",style:{paddingLeft:`${c}%`,paddingRight:`${c}%`},children:e.map(e=>(0,n.jsxs)("div",{className:o(e.status,l),children:[(0,n.jsx)(d,{status:e.status,nodeType:"intermediate",size:l}),"pending"===e.status&&(0,n.jsx)("div",{className:"w-2 h-2 bg-neutral-900 rounded-full"})]},e.id))},`level-${r}`)})})})]})}let m={proven:{bg:"bg-green-50",text:"text-green-700",dot:"bg-green-500",border:"border-green-100"},proving:{bg:"bg-blue-50",text:"text-blue-700",dot:"bg-blue-500 animate-ping",border:"border-blue-100",extra:"animate-pulse"},pending:{bg:"bg-neutral-100",text:"text-neutral-500",dot:"bg-neutral-400",border:"border-neutral-200"},unused:{bg:"bg-neutral-100",text:"text-neutral-400",dot:"bg-neutral-300",border:"border-neutral-200"}},f={proven:"Proven",proving:"Proving...",pending:"Pending",unused:"Unused"};function p({status:e}){let t=m[e];return(0,n.jsxs)("span",{className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-medium ${t.bg} ${t.text} border ${t.border} ${t.extra??""}`,children:[(0,n.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${t.dot}`}),f[e]]})}var b=r(11675),g=r(75383);function h({swaps:e,status:t,currentSwap:r,resolveToken:a,formatAmou
1nt:l}){return 0===e.length&&"idle"===t?(0,n.jsxs)("section",{children:[(0,n.jsx)("div",{className:"flex items-center justify-between mb-6",children:(0,n.jsx)("h2",{className:"text-xl font-semibold text-neutral-900 tracking-tight",children:"Included Transactions"})}),(0,n.jsxs)("div",{className:"bg-white border border-neutral-200 rounded-2xl shadow-sm p-12 text-center",children:[(0,n.jsx)(s.In,{icon:"solar:inbox-linear",width:48,className:"text-neutral-300 mx-auto mb-4"}),(0,n.jsx)("p",{className:"text-neutral-500 text-sm",children:'No swap events discovered yet. Click "Generate ZK Proof" to scan for encrypted swap transactions.'})]})]}):(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,n.jsx)("h2",{className:"text-xl font-semibold text-neutral-900 tracking-tight",children:"Included Transactions"}),(0,n.jsxs)("span",{className:"text-sm text-neutral-500",children:[e.length," swap",1!==e.length?"s":""]})]}),(0,n.jsx)("div",{className:"bg-white border border-neutral-200 rounded-2xl shadow-sm overflow-hidden",children:(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)("table",{className:"w-full text-left border-collapse",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{className:"bg-neutral-50/50 border-b border-neutral-100",children:[(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider",children:"Status"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider",children:"Sell"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider text-right",children:"Amount"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider text-center"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider",children:"Buy"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider text-right",children:"Amount"}),(0,n.jsx)("th",{className:"py-4 px-6 text-xs font-medium text-neutral-500 uppercase tracking-wider text-right",children:"Block"})]})}),(0,n.jsx)("tbody",{className:"divide-y divide-neutral-100 text-sm",children:e.map((e,i)=>{let o="complete"===t||"proving"===t&&i<r-1?"proven":"proving"===t&&i===r-1?"proving":"pending",c=a(e.tokenIn),d=a(e.tokenOut);return(0,n.jsxs)("tr",{className:function(e){switch(e){case"proving":return"bg-blue-50/30";case"pending":return"opacity-60";default:return"group hover:bg-neutral-50 transition-colors"}}(o),children:[(0,n.jsx)("td",{className:"py-4 px-6",children:(0,n.jsx)(p,{status:o})}),(0,n.jsx)("td",{className:"py-4 px-6 font-medium text-neutral-900",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(b.A,{token:c}),c.symbol]})}),(0,n.jsx)("td",{className:"py-4 px-6 text-neutral-600 font-mono text-right",children:l(e.amountIn,g.NX[c.symbol]??g.xS)}),(0,n.jsx)("td",{className:"py-4 px-6 text-center text-neutral-300",children:(0,n.jsx)(s.In,{icon:"solar:arrow-right-linear",width:16})}),(0,n.jsx)("td",{className:"py-4 px-6 font-medium text-neutral-900",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(b.A,{token:d}),d.symbol]})}),(0,n.jsx)("td",{className:"py-4 px-6 text-neutral-600 font-mono text-right",children:l(e.amountOut,g.NX[d.symbol]??g.xS)}),(0,n.jsxs)("td",{className:"py-4 px-6 text-neutral-500 text-right font-mono",children:["#",e.blockNumber.toString()]})]},i)})})]})})})]})}var w=r(7620),j=r(75665),v=r(30902);function N(e,t,r,n=0){if(0===e)return{treeLevels:[]};let s=Math.max(2,Math.pow(2,Math.ceil(Math.log2(Math.max(e,1))))),a=Math.log2(s),l=[];for(let n=0;n<s;n++){let s;s=n>=e?"unused":n<t?"verified":null!==r&&n===r?"proving":"pending",l.push({id:`leaf-${n}`,status:s,label:n<e?`Tx ${n+1}`:"Pad"})}let i=[l];for(let e=0;e<a;e++){let t=i[e],r=t.length/2,s=e===a-1,l=[];for(let a=0;a<r;a++){let r="unused"===t[2*a].status&&"unused"===t[2*a+1].status;l.push({id:s?"root":`int-${e}-${a}`,status:function(e,t,r){if(r)return"unused";if("complete"===n)return"verified";if("number"==typeof n)return e<n?"verified":"pending";let{level:s,nodeIndex:a}=n;return e<s?"verified":e>s?"pending":t<a?"verified":t===a?"proving":"pending"}(e,a,!s&&r),label:s?"Root":void 0})}i.push(l)}return{treeLevels:i}}var y=r(86141).Buffer;let S={};for(let[e,t]of[["0x20a756258e69c579300e3267f1316ca5fbace71ba5768928aa9550eb3d4cf34c","USDC"],["0x2ffbd5c387cc06ccf6e14043b92932566010680766db9725ff1be8c0e825a5c4","wETH"],["0x128f722ad9de7c9df207efd0d0c003625e5c5510d17906a33b88f6a722e2cf4d","wZEC"],["0x17dde4c4334840f164214386e1ef489418b6c5b0463c7ea7ab271eb4d8be2833","wAZTEC"]])e&&(S[e.toLowerCase()]=v.xZ[t]);function k(e){return S[e.toLowerCase()]??{symbol:e.slice(0,10),color:"bg-gray-100"}}function C(e,t=6){let r=10n**BigInt(t),n=e/r,s=(e%r).toString().padStart(t,"0").replace(/0+$/,"");return s?`${n}.${s}`:n.toString()}
1let I=10n**13n;function P(e){let t=e<0n?-e:e,r=(t%I).toString().padStart(13,"0").slice(0,2);return`${e>=0n?"+":"-"}$${(t/I).toLocaleString()}.${r}`}function $(){return{status:"idle",totalEvents:0,currentSwap:0,totalSwaps:0,statusText:"Ready to generate proof",progress:0,pnl:null,tax:null,merkleRoot:null,blockNumber:null,pnlProof:null,taxProof:null,swaps:[],treeLevels:[],error:null}}var T=r(19449);function E(){let{state:e,startProving:t,downloadProof:s,resolveToken:l,formatAmount:o,formatPnl:c}=function(){let{wallet:e,address:t}=(0,j.k)(),[n,s]=(0,w.useState)($()),a=(0,w.useRef)(!1),l=(0,w.useCallback)(async()=>{if(e&&t){a.current=!1,s({...$(),status:"discovering",statusText:"Discovering encrypted swap events...",progress:5});try{let n,{AztecAddress:l}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(2048)]).then(r.bind(r,9667)),i=l.fromString(t),o=["0x06b88eadc3c6c374652da35392c6829946f509e722a80f7d49012d7e40e9a39c","0x2c3f72942b0b3f81a33866600736ef339bea2c852a21a3cc74bf6cd40c7ed179","0x1fdade1dd6384de39c1c795af78bf7ea383cbafb76c5e17828723be7123b7ce6"].filter(Boolean).map(e=>l.fromString(e)),{secrets:c,ivskM:d,completeAddress:u}=await e.getAuditProofInputs(i,o);if(a.current)return;s(e=>({...e,statusText:"Fetching events from chain...",progress:10}));let{serializeExportedTaggingSecrets:x}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(3710)]).then(r.bind(r,93710)),m=x(c),f=await fetch("/api/audit/events",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(m)});if(!f.ok)throw Error(`Event retrieval failed: ${f.statusText}`);let p=(await f.json()).events;if(0===p.length)return void s(e=>({...e,status:"complete",statusText:"No swap events found",progress:100,totalEvents:0}));let b=p.length;s(e=>({...e,statusText:`Found ${b} events. Decrypting...`,progress:12}));let{decryptLog:g}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(9290)]).then(r.bind(r,79290)),h=[];for(let e of p){let t=await g(y.from(e.ciphertext,"hex"),u,d);t&&t.length>=6&&h.push({tokenIn:t[2].toString(),tokenOut:t[3].toString(),amountIn:t[4].toBigInt(),amountOut:t[5].toBigInt(),blockNumber:BigInt(e.blockNumber)})}let w=N(b,0,null);if(s(e=>({...e,totalEvents:b,totalSwaps:b,swaps:h,statusText:`Found ${b} swap events. Loading circuits...`,progress:15,...w})),a.current)return;let[j,v,S,k]=await Promise.all([fetch("/circuits/individual_swap.json").then(e=>e.json()),fetch("/circuits/swap_summary_tree.json").then(e=>e.json()),fetch("/circuits/capital_gains_tax.json").then(e=>e.json()),fetch("/circuits/vkeys.json").then(e=>e.json())]);if(s(e=>({...e,statusText:"Initializing proof engine...",progress:20})),a.current)return;let{Barretenberg:C}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703)]).then(r.bind(r,34703)),I=navigator.hardwareConcurrency||1,P=await C.new({threads:I});await P.initSRSChonk(2097152);let{SwapProver:$}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(8322),r.e(7097)]).then(r.bind(r,7097)),{LotStateTree:T}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(3091)]).then(r.bind(r,53091)),{Fr:E}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(4027)]).then(r.bind(r,36408)),{PriceFeedContract:A}=await Promise.all([r.e(5355),r.e(1484),r.e(4751),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(9188),r.e(5736),r.e(3531),r.e(9447)]).then(r.bind(r,59447)),L="https://aztec-devnet-v4.mach34.space";if(L){let{createAztecNodeClient:e}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(9188),r.e(970),r.e(7792)]).then(r.bind(r,90970));n=e(L)}let U=new $({bb:P,circuit:j,recipientCompleteAddress:u,ivskM:d,node:e.getNode(),archivalNode:n}),Z=new T,D="0x20a756258e69c579300e3267f1316ca5fbace71ba5768928aa9550eb3d4cf34c";if(D){let e=E.fromString(D);await Z.setLots(e,[{amount:100000n*10n**6n,costPerUnit:10000n}],1)}let R="0x1a2b16e9ddcc859a7c34235fc1427febbcd5ca7945e605ed9493858e0dc32698",M=R?E.fromString(R):E.ZERO,z=A.storage.assets.slot;if(a.current)return;let O=p.map(e=>({encryptedLog:y.from(e.ciphertext,"hex"),blockNumber:BigInt(e.blockNumber)}));s(e=>({...e,status:"proving",statusText:`Proving swap 1/${b}...`,progress:25}));let{SwapProofTree:_}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(8322),r.e(8741),r.e(3387)]).then(r.bind(r,8741)),{TaxProver:B}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(8322),r.e(8741),r.e(7155)]).then(r.bind(r,23637)),F=new _({bb:P,summaryCircuit:v,swapProver:U,vkeys:k}),H=await F.prove(O,Z,M,z,(e,t,r,n)=>{if(!a.current){if("swap"===e){let e=25+t/r*45,n=N(b,t-1,t-1);s(s=>({...s,status:"proving",currentSwap:t,statusText:`Proving swap ${t}/${r}...`,progress:Math.round(e),...n}))}else if("aggregate"===e&&n){let e=70+(t+1)/Math.max(r,1)*15,a=N(b,b,null,{level:n.level,no
1deIndex:n.nodeIndex});s(t=>({...t,status:"aggregating",statusText:`Aggregating proofs (level ${n.level+1}, node ${n.nodeIndex+1}/${n.nodesInLevel})...`,progress:Math.round(e),...a}))}}});if(a.current)return;let G={type:"pnl",proof:"0x"+y.from(H.proof).toString("hex"),publicInputs:{root:H.publicInputs.root,pnl:H.publicInputs.pnl.toString(),remainingLotStateRoot:H.publicInputs.remainingLotStateRoot,initialLotStateRoot:H.publicInputs.initialLotStateRoot,priceFeedAddress:H.publicInputs.priceFeedAddress,blockNumber:H.publicInputs.blockNumber.toString()}},K=[...N(b,b,null,"complete").treeLevels],W=K[K.length-1];K[K.length-1]=[{...W[0],status:"proving"}],s(e=>({...e,status:"taxing",statusText:"Computing capital gains tax...",progress:88,treeLevels:K}));let X=new B(P,S,k.summary),J=await X.prove(H);if(a.current)return;let V={type:"tax",proof:"0x"+y.from(J.proof).toString("hex"),publicInputs:{root:J.publicInputs.root,pnl:J.publicInputs.pnl.toString(),tax:J.publicInputs.tax.toString(),remainingLotStateRoot:J.publicInputs.remainingLotStateRoot,initialLotStateRoot:J.publicInputs.initialLotStateRoot,priceFeedAddress:J.publicInputs.priceFeedAddress,blockNumber:J.publicInputs.blockNumber.toString()}},Y=N(b,b,null,"complete");s(e=>({...e,status:"complete",currentSwap:b,statusText:"Proof complete!",progress:100,pnl:J.publicInputs.pnl,tax:J.publicInputs.tax,merkleRoot:J.publicInputs.root,blockNumber:J.publicInputs.blockNumber,pnlProof:G,taxProof:V,...Y,error:null})),P.destroy()}catch(e){console.error("Prove flow error:",e),s(t=>({...t,status:"error",statusText:`Error: ${e.message??e}`,error:e.message??String(e)}))}}},[e,t]),i=(0,w.useCallback)(()=>{a.current=!0,s($())},[]),o=(0,w.useCallback)(e=>{let t="pnl"===e?n.pnlProof:n.taxProof;if(!t)return;let r=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),s=URL.createObjectURL(r),a=document.createElement("a");a.href=s,a.download=`${e}-proof.json`,a.click(),URL.revokeObjectURL(s)},[n.pnlProof,n.taxProof]);return{state:n,startProving:l,reset:i,downloadProof:o,resolveToken:k,formatAmou
1nt:C,formatPnl:P}}();return(0,n.jsx)(T.A,{children:(0,n.jsxs)("main",{className:"flex-grow max-w-6xl mx-auto px-6 py-12 w-full",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12",children:[(0,n.jsx)(a,{state:e,formatPnl:c}),(0,n.jsx)(i,{state:e,onGenerate:t,onDownload:s})]}),(0,n.jsx)(x,{levels:e.treeLevels}),(0,n.jsx)(h,{swaps:e.swaps,status:e.status,currentSwap:e.currentSwap,resolveToken:l,formatAmount:o})]})})}},84765:(e,t,r)=>{"use strict";r.d(t,{AztecWalletProvider:()=>l,m:()=>a});var n=r(54568),s=r(7620);let a=(0,s.createContext)(null);function l({children:e}){let t=(0,s.useRef)(null),[l,i]=(0,s.useState)(null),[o,c]=(0,s.useState)([]),[d,u]=(0,s.useState)("disconnected"),[x,m]=(0,s.useState)(null),f=(0,s.useCallback)(async()=>{let{EmbeddedAuditableWallet:e}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(6141),r.e(9188),r.e(5736),r.e(3531),r.e(8322),r.e(970),r.e(2969),r.e(8777),r.e(1046)]).then(r.bind(r,67303));return t.current||(t.current=await e.initialize("https://rpc.testnet.aztec-labs.com/")),t.current},[]),p=(0,s.useCallback)(async()=>{if("connecting"!==d){u("connecting"),m(null);try{let e=await f(),[t]=await Promise.all([e.connectAllAccounts(),e.registerDeployedContracts().catch(e=>console.warn("Contract registration failed:",e))]),{active:r,all:n}=t;c(n.map(e=>e.toString())),r?(i(r.toString()),u("connected")):u("no_account")}catch(e){m(e instanceof Error?e.message:"Failed to connect wallet"),u("error")}}},[d,f]),b=(0,s.useCallback)(async()=>{if("creating"!==d){u("creating"),m(null);try{let e=await f(),t=(await e.createAccountAndConnect()).toString();
1i(t),c(e=>[...e,t]),u("connected")}catch(e){m(e instanceof Error?e.message:"Failed to create account"),u("error")}}},[d,f]),g=(0,s.useCallback)(async e=>{if(!t.current)return;let{AztecAddress:n}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(6141),r.e(9667)]).then(r.bind(r,9667));t.current.switchAccount(n.fromString(e)),i(e)},[]),h=(0,s.useCallback)(async e=>{if(!t.current)return;let{AztecAddress:n}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(6141),r.e(9667)]).then(r.bind(r,9667));t.current.removeAccount(n.fromString(e)),c(t.current.getAccountAddresses().map(e=>e.toString()));let s=t.current.getConnectedAccount();s?i(s.toString()):(i(null),u("no_account"))},[]),w=(0,s.useCallback)(()=>{t.current?.disconnect(),t.current=null,i(null),c([]),u("disconnected"),m(null)},[]),j=(0,s.useCallback)(e=>t.current?.isDemoAccount(e)??!1,[]),v=(0,s.useCallback)(async()=>{let{EmbeddedAuditableWallet:e}=await Promise.all([r.e(5355),r.e(1484),r.e(6220),r.e(4703),r.e(4082),r.e(1106),r.e(9046),r.e(7304),r.e(7132),r.e(278),r.e(6141),r.e(9188),r.e(5736),r.e(3531),r.e(8322),r.e(970),r.e(2969),r.e(8777),r.e(1046)]).then(r.bind(r,67303));e.clearAllSavedAccounts(),t.current=null,i(null),c([]),u("disconnected"),m(null)},[]);return(0,n.jsx)(a.Provider,{value:{wallet:t.current,address:l,accounts:o,status:d,error:x,connect:p,createAccount:b,switchAccount:g,removeAccount:h,disconnect:w,clearAllSavedAccounts:v,isDemoAccount:j},children:e})}}},e=>{e.O(0,[6141,6030,587,1968,7358],()=>e(e.s=61599)),_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.