conflux-devkit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -0
- package/dist/cli.js +16338 -0
- package/package.json +55 -0
- package/ui/out/404/index.html +1 -0
- package/ui/out/404.html +1 -0
- package/ui/out/_next/static/--YsNpX1nEj74gOnGiYDR/_buildManifest.js +1 -0
- package/ui/out/_next/static/--YsNpX1nEj74gOnGiYDR/_ssgManifest.js +1 -0
- package/ui/out/_next/static/-7MZn09F75tC02XxCAzYQ/_buildManifest.js +1 -0
- package/ui/out/_next/static/-7MZn09F75tC02XxCAzYQ/_ssgManifest.js +1 -0
- package/ui/out/_next/static/-Yup9TU2qbfFuEoVK7cV3/_buildManifest.js +1 -0
- package/ui/out/_next/static/-Yup9TU2qbfFuEoVK7cV3/_ssgManifest.js +1 -0
- package/ui/out/_next/static/2FNwKfitLrla-BD4Pvi7U/_buildManifest.js +1 -0
- package/ui/out/_next/static/2FNwKfitLrla-BD4Pvi7U/_ssgManifest.js +1 -0
- package/ui/out/_next/static/3dg2q5Zn_zf7tMeBD4-2x/_buildManifest.js +1 -0
- package/ui/out/_next/static/3dg2q5Zn_zf7tMeBD4-2x/_ssgManifest.js +1 -0
- package/ui/out/_next/static/EMBrL2fIteEXHVOa9QqbR/_buildManifest.js +1 -0
- package/ui/out/_next/static/EMBrL2fIteEXHVOa9QqbR/_ssgManifest.js +1 -0
- package/ui/out/_next/static/HC9l66u-S82fZ45n1NJvV/_buildManifest.js +1 -0
- package/ui/out/_next/static/HC9l66u-S82fZ45n1NJvV/_ssgManifest.js +1 -0
- package/ui/out/_next/static/JDizq7Hn5WLnElAxCtqyg/_buildManifest.js +1 -0
- package/ui/out/_next/static/JDizq7Hn5WLnElAxCtqyg/_ssgManifest.js +1 -0
- package/ui/out/_next/static/KVufTmdF91v3IsRvyub2i/_buildManifest.js +1 -0
- package/ui/out/_next/static/KVufTmdF91v3IsRvyub2i/_ssgManifest.js +1 -0
- package/ui/out/_next/static/UVWp8ZgmXIqxga6tJZU2j/_buildManifest.js +1 -0
- package/ui/out/_next/static/UVWp8ZgmXIqxga6tJZU2j/_ssgManifest.js +1 -0
- package/ui/out/_next/static/WVZ0izyd9YpKZhSNF1OSe/_buildManifest.js +1 -0
- package/ui/out/_next/static/WVZ0izyd9YpKZhSNF1OSe/_ssgManifest.js +1 -0
- package/ui/out/_next/static/_jTgcoBsv_xqKZx36-jrD/_buildManifest.js +1 -0
- package/ui/out/_next/static/_jTgcoBsv_xqKZx36-jrD/_ssgManifest.js +1 -0
- package/ui/out/_next/static/_tUKGLiPpF-Ioygkq7-R9/_buildManifest.js +1 -0
- package/ui/out/_next/static/_tUKGLiPpF-Ioygkq7-R9/_ssgManifest.js +1 -0
- package/ui/out/_next/static/chunks/205-997c9580ac2ccb04.js +1 -0
- package/ui/out/_next/static/chunks/238-baf384d341a98f9f.js +1 -0
- package/ui/out/_next/static/chunks/363-11ecfe8307834c37.js +1 -0
- package/ui/out/_next/static/chunks/363-fd3f659dc66a2545.js +1 -0
- package/ui/out/_next/static/chunks/383-30e544e3db85d4b4.js +1 -0
- package/ui/out/_next/static/chunks/396-0d45f2627ca2432c.js +1 -0
- package/ui/out/_next/static/chunks/396-de3171781a3c5f52.js +1 -0
- package/ui/out/_next/static/chunks/476-1a499832716820dd.js +1 -0
- package/ui/out/_next/static/chunks/5b8f0dd8-7fc232be3e483640.js +1 -0
- package/ui/out/_next/static/chunks/5b8f0dd8-f9bbf8f44d8e6302.js +1 -0
- package/ui/out/_next/static/chunks/606-d510a7806cc50e18.js +1 -0
- package/ui/out/_next/static/chunks/628-ae8f2280d891101c.js +1 -0
- package/ui/out/_next/static/chunks/69-a23845cfa4a23071.js +1 -0
- package/ui/out/_next/static/chunks/706-142eb06ca4e1b468.js +1 -0
- package/ui/out/_next/static/chunks/749-27e561f3f17b1ad3.js +2 -0
- package/ui/out/_next/static/chunks/749-bd8c206e8e58f8b0.js +2 -0
- package/ui/out/_next/static/chunks/781-7af4662532da98ca.js +1 -0
- package/ui/out/_next/static/chunks/815-ab30cec2ff88e700.js +1 -0
- package/ui/out/_next/static/chunks/826-c38d836f8f2bac38.js +1 -0
- package/ui/out/_next/static/chunks/903-2887fe814dfa6d5e.js +1 -0
- package/ui/out/_next/static/chunks/app/_not-found/page-1a3d8ff7bd6fafe6.js +1 -0
- package/ui/out/_next/static/chunks/app/_not-found/page-fe94df087cbbeedb.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-21a02cc8bbbce9cf.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-2bf2eeddfcc46fd2.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-4fb77d9b03c79ef0.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-840e013892222293.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-8828d6c27ee45d5e.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-a5a4d066c57c6eba.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-cd6edb16de77e73a.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-ce44f544affcbb2e.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-f26a4c8967b60c31.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-fc53feb7e5bf6a0b.js +1 -0
- package/ui/out/_next/static/chunks/app/accounts/page-fe5a9daa4d22e115.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-091eba53f5dcb62b.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-265c4f26532b42ce.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-26c527bf8b829de6.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-53e2d2d715f76290.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-56d74025e6315a3d.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-844c9f55a6ec9218.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-88416cc33eabdddb.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-9361399f80e19ab7.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-afebd14c1ae73ec9.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-b0f74db982762c7e.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-d88227b11f5ac4f6.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-e454dad9b03f36df.js +1 -0
- package/ui/out/_next/static/chunks/app/contracts/page-f269686063be5d4b.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-0bf0ed51d0d1d3e8.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-56f011c6a6b2930f.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-7422dc714ea7b763.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-88938a963d68eb45.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-a1d424de4fc1d283.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-add77f8e78dbfbf5.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-c087511efc77c1ef.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-eaaaddaebabc1e84.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-ecbbc3f527378bf4.js +1 -0
- package/ui/out/_next/static/chunks/app/layout-f8c5fec65e6ca0ff.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-14579efdb2e8f6c3.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-1e273a4949e2b650.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-2d151bdd475474f6.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-43cfe0d01f696e96.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-4ab3daab428e05f1.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-64c88d55a5788e20.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-79e2f952fc54ff89.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-8305d73847b829c9.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-ab0458f12921230c.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-ac2a555e62327efe.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-bb3068075a8088dd.js +1 -0
- package/ui/out/_next/static/chunks/app/mining/page-d4bad0ff79dd463a.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-3d5fbcf1eb37e0c5.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-4b692d29a3e609a8.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-5e33fbeb3a40de20.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-62a4488ea3bc2526.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-97cebccc451eb5c6.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-a50ebf9988b322b5.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-d7c0ceaa242f38f9.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-e152fafa7a4d7361.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-eea297c1ae180bda.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-f3c51db982b5a388.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-f51d9ab619db1c20.js +1 -0
- package/ui/out/_next/static/chunks/app/network/page-f6b4c10c7d87957f.js +1 -0
- package/ui/out/_next/static/chunks/app/page-165b6a1747a64947.js +1 -0
- package/ui/out/_next/static/chunks/app/page-348c96e8d45c2559.js +1 -0
- package/ui/out/_next/static/chunks/app/page-3632f4f09f69c905.js +1 -0
- package/ui/out/_next/static/chunks/app/page-36afbe5e1cb8094f.js +1 -0
- package/ui/out/_next/static/chunks/app/page-557bd6270c5ad579.js +1 -0
- package/ui/out/_next/static/chunks/app/page-6d79f31ac0288bac.js +1 -0
- package/ui/out/_next/static/chunks/app/page-71fcaf2853c53e30.js +1 -0
- package/ui/out/_next/static/chunks/app/page-90d8520902c1a7b0.js +1 -0
- package/ui/out/_next/static/chunks/app/page-c430d30cb894c926.js +1 -0
- package/ui/out/_next/static/chunks/app/page-ce0f985468520dbc.js +1 -0
- package/ui/out/_next/static/chunks/app/page-f0dced734181e611.js +1 -0
- package/ui/out/_next/static/chunks/app/page-f27633bfbc515249.js +1 -0
- package/ui/out/_next/static/chunks/app/page-f7be59ea4e13f436.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-11fb46a5f4a8b0be.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-26003843604c7c8c.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-7041ba96cf94b9d6.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-716e9207662cbb13.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-74cdd3297d391701.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-766c3286d7fc1fbb.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-a3e3f3f091deed13.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-fb7030a6672345f4.js +1 -0
- package/ui/out/_next/static/chunks/app/wallet/page-feeafe9afcd3702d.js +1 -0
- package/ui/out/_next/static/chunks/framework-bef83a85c94ff7de.js +1 -0
- package/ui/out/_next/static/chunks/main-764c1d152dd64cdb.js +1 -0
- package/ui/out/_next/static/chunks/main-app-565ce517a559065d.js +1 -0
- package/ui/out/_next/static/chunks/pages/_app-32ee63fa91347547.js +1 -0
- package/ui/out/_next/static/chunks/pages/_error-79ee453ce9bad74d.js +1 -0
- package/ui/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/ui/out/_next/static/chunks/webpack-ea02740f160b546a.js +1 -0
- package/ui/out/_next/static/css/0f4a493f8c2c55db.css +3 -0
- package/ui/out/_next/static/css/4169c0d861da624d.css +3 -0
- package/ui/out/_next/static/css/42c642225833b63d.css +3 -0
- package/ui/out/_next/static/css/4ec6b37afd49be73.css +3 -0
- package/ui/out/_next/static/css/6a8f3e28ef1137c2.css +3 -0
- package/ui/out/_next/static/css/6bbaea3800a74df9.css +3 -0
- package/ui/out/_next/static/css/73f87001fc8b2a52.css +3 -0
- package/ui/out/_next/static/css/90ccf9db21744740.css +3 -0
- package/ui/out/_next/static/css/9f0d4e440a0f0806.css +3 -0
- package/ui/out/_next/static/css/b1a2c26b7bd10f8d.css +3 -0
- package/ui/out/_next/static/css/c97b9630f605a98b.css +3 -0
- package/ui/out/_next/static/css/e5751e31c7620a6e.css +3 -0
- package/ui/out/_next/static/ezlluEQnUi2an273EFR3C/_buildManifest.js +1 -0
- package/ui/out/_next/static/ezlluEQnUi2an273EFR3C/_ssgManifest.js +1 -0
- package/ui/out/_next/static/ghzWYfWuW8Y8XavA7qfLx/_buildManifest.js +1 -0
- package/ui/out/_next/static/ghzWYfWuW8Y8XavA7qfLx/_ssgManifest.js +1 -0
- package/ui/out/_next/static/hzvSbCbk7BhWq0LE5xqx1/_buildManifest.js +1 -0
- package/ui/out/_next/static/hzvSbCbk7BhWq0LE5xqx1/_ssgManifest.js +1 -0
- package/ui/out/_next/static/p4x_NRy3wdFgXa-RI9_BQ/_buildManifest.js +1 -0
- package/ui/out/_next/static/p4x_NRy3wdFgXa-RI9_BQ/_ssgManifest.js +1 -0
- package/ui/out/_next/static/uKnkegMpJr2nHM4qD8J3D/_buildManifest.js +1 -0
- package/ui/out/_next/static/uKnkegMpJr2nHM4qD8J3D/_ssgManifest.js +1 -0
- package/ui/out/_next/static/vAN91b7edxmzrsDueacJ6/_buildManifest.js +1 -0
- package/ui/out/_next/static/vAN91b7edxmzrsDueacJ6/_ssgManifest.js +1 -0
- package/ui/out/accounts/index.html +1 -0
- package/ui/out/accounts/index.txt +9 -0
- package/ui/out/contracts/index.html +1 -0
- package/ui/out/contracts/index.txt +9 -0
- package/ui/out/index.html +1 -0
- package/ui/out/index.txt +9 -0
- package/ui/out/mining/index.html +1 -0
- package/ui/out/mining/index.txt +9 -0
- package/ui/out/network/index.html +1 -0
- package/ui/out/network/index.txt +9 -0
- package/ui/out/wallet/index.html +1 -0
- package/ui/out/wallet/index.txt +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{1134:function(e,t,s){Promise.resolve().then(s.bind(s,8375))},8375:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return M}});var a=s(5853),n=s(8990),r=s(4852),l=s(6632),i=s(9928),c=s(3264),d=s(3035);let o=(0,d.Z)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]),u=(0,d.Z)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var x=s(758),m=s(5710),h=s(5175),p=s(9924);let f=(0,d.Z)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var v=s(2846),g=s(8701),y=s(3737),j=s(6444),b=s(7201),N=s(3948),w=s(6804),k=s(4254),C=s(8144),S=s(3634),P=s(3368),Z=s(5570),I=s(2566),R=s(9510);function q(e){return!e||e.length<14?e||"":"".concat(e.slice(0,6),"...").concat(e.slice(-4))}function A(e){let{text:t,small:s}=e,[n,r]=(0,k.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded text-slate-500 hover:text-slate-300 ".concat(s?"p-0.5":"ml-1.5 px-1.5 py-1 btn-secondary"),onClick:async()=>{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),1600)},children:n?(0,a.jsx)(i.Z,{className:s?"h-3 w-3 text-green-400":"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(c.Z,{className:s?"h-3 w-3":"h-3.5 w-3.5"})})}function E(){let{data:e}=(0,n.a)({queryKey:["settings"],queryFn:C.pJ.get,staleTime:3e4}),[t,s]=(0,k.useState)(!1);if(!e)return null;let r=!e.isPublic||e.authEnabled;return(0,a.jsxs)("div",{className:"card border ".concat(r?"border-[#2a3147]":"border-yellow-800"),children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between",onClick:()=>s(e=>!e),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[e.isPublic&&!e.authEnabled?(0,a.jsx)(o,{className:"h-4 w-4 text-yellow-400"}):(0,a.jsx)(u,{className:"h-4 w-4 text-green-400"}),(0,a.jsx)("span",{className:"text-sm font-medium text-slate-300",children:"Security"}),e.isPublic&&!e.authEnabled&&(0,a.jsx)("span",{className:"rounded bg-yellow-900/50 px-1.5 py-0.5 text-[10px] text-yellow-400",children:"exposed without auth"})]}),t?(0,a.jsx)(x.Z,{className:"h-4 w-4 text-slate-500"}):(0,a.jsx)(m.Z,{className:"h-4 w-4 text-slate-500"})]}),t&&(0,a.jsxs)("div",{className:"mt-3 space-y-3 border-t border-[#2a3147] pt-3 text-xs",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:[["Bind address","".concat(e.host,":").concat(e.port)],["Public",e.isPublic?"Yes":"No (localhost)"],["API auth",e.authEnabled?"✓ Enabled":"✗ Disabled"],["Rate limit","".concat(e.rateLimit.maxRequests," req / min")],["CORS",Array.isArray(e.corsOrigins)?e.corsOrigins.join(", ")||"none":e.corsOrigins]].map(t=>{let[s,n]=t;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-slate-500",children:s}),(0,a.jsx)("div",{className:"mt-0.5 font-medium ".concat("API auth"===s&&!e.authEnabled&&e.isPublic?"text-yellow-400":"text-slate-200"),children:n})]},s)})}),e.isPublic&&!e.authEnabled&&(0,a.jsxs)("div",{className:"rounded border border-yellow-800 bg-yellow-950/40 px-3 py-2 text-yellow-400",children:[(0,a.jsx)("p",{className:"font-semibold",children:"⚠ Running on a public interface without auth"}),(0,a.jsxs)("p",{className:"mt-1 text-yellow-500",children:["Anyone who can reach this host can control the node and read private keys. Restart with"," ",(0,a.jsx)("code",{className:"rounded bg-yellow-900/60 px-1",children:"--api-key <secret>"})," ","to enable Bearer token auth."]})]}),(0,a.jsxs)("div",{className:"rounded border border-[#2a3147] bg-[#0e1117] px-3 py-2 text-slate-400",children:[(0,a.jsx)("p",{className:"font-semibold text-slate-300",children:"Public-host hardening checklist"}),(0,a.jsxs)("ul",{className:"mt-1 list-inside list-disc space-y-0.5 text-slate-500",children:[(0,a.jsxs)("li",{children:["Pass"," ",(0,a.jsx)("code",{className:"text-slate-400",children:"--api-key <secret>"})," ","on startup"]}),(0,a.jsxs)("li",{children:["Restrict ",(0,a.jsx)("code",{className:"text-slate-400",children:"--cors-origin"})," ","to your frontend origin"]}),(0,a.jsx)("li",{children:"Put a TLS-terminating reverse proxy (nginx/caddy) in front"}),(0,a.jsxs)("li",{children:["Limit firewall ingress to port ",e.port," from known IPs"]}),(0,a.jsx)("li",{children:"Never expose a wallet that holds real funds"})]})]})]})]})}function F(e){let{onClose:t}=e,s=(0,r.NL)(),[n,i]=(0,k.useState)(""),[c,d]=(0,k.useState)(""),[o,u]=(0,k.useState)(""),x=(0,l.D)({mutationFn:()=>C.SX.fund(n,c||void 0),onSuccess:e=>{u("✓ tx: ".concat(e.txHash)),s.invalidateQueries({queryKey:["accounts"]})},onError:e=>u("✗ ".concat(e.message))}),m=n.trim().toLowerCase().startsWith("0x")?"EVM (eSpace)":n.trim()?"Core Space":null;return(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4 backdrop-blur-sm",children:(0,a.jsxs)(Z.Zb,{className:"w-full max-w-md shadow-2xl border-cfx-500/20",children:[(0,a.jsxs)(Z.Ol,{children:[(0,a.jsx)(Z.ll,{children:"Fund Address"}),(0,a.jsx)(Z.SZ,{children:"Send CFX from faucet to address."})]}),(0,a.jsxs)(Z.aY,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(R._,{children:["Address",m&&(0,a.jsxs)("span",{className:"ml-2 text-xs text-cfx-400",children:["— detected: ",m]})]}),(0,a.jsx)(I.I,{value:n,onChange:e=>i(e.target.value),placeholder:"0x… or cfx:…"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R._,{children:"Amount (optional)"}),(0,a.jsx)(I.I,{value:c,onChange:e=>d(e.target.value),placeholder:"1000"})]}),o&&(0,a.jsx)("p",{className:"text-sm text-cfx-300",children:o})]}),(0,a.jsxs)(Z.eW,{className:"flex justify-end gap-2 pt-2",children:[(0,a.jsx)(P.z,{variant:"outline",onClick:t,children:"Close"}),(0,a.jsx)(P.z,{disabled:!n||x.isPending,onClick:()=>x.mutate(),children:x.isPending?"Sending…":"Fund"})]})]})})}function M(){var e,t,s,i,c,d,o,u,M,W,z,D,_;let K=(0,r.NL)(),[T,Q]=(0,k.useState)(null),[L,V]=(0,k.useState)(null),[O,X]=(0,k.useState)(""),[B,U]=(0,k.useState)(!1),[H,Y]=(0,k.useState)(!1),[J,G]=(0,k.useState)(!1),[$,ee]=(0,k.useState)("1"),[et,es]=(0,k.useState)("1000"),[ea,en]=(0,k.useState)(""),[er,el]=(0,k.useState)(!1),{data:ei}=(0,n.a)({queryKey:["node","status"],queryFn:C.N9.status}),{data:ec=[]}=(0,n.a)({queryKey:["keystore","wallets"],queryFn:C.SC.wallets,refetchInterval:5e3}),{data:ed}=(0,n.a)({queryKey:["network","config"],queryFn:C.fA.config}),eo=(null===(e=null!=T?T:ei)||void 0===e?void 0:e.server)==="running",{data:eu=[],isLoading:ex}=(0,n.a)({queryKey:["accounts"],queryFn:C.SX.list,enabled:eo,refetchInterval:!!eo&&8e3}),{data:em}=(0,n.a)({queryKey:["accounts","faucet"],queryFn:C.SX.faucet,enabled:eo}),{data:eh}=(0,n.a)({queryKey:["mining","status"],queryFn:C.mI.status,enabled:eo,refetchInterval:!!eo&&3e3});(0,k.useEffect)(()=>{let e=(0,S.h)(),t=e=>{Q(e),K.setQueryData(["node","status"],e)};return e.on("node:status",t),()=>{e.off("node:status",t)}},[K]),(0,k.useEffect)(()=>{ed&&!L&&V({coreRpcPort:String(ed.coreRpcPort),evmRpcPort:String(ed.evmRpcPort),wsPort:String(ed.wsPort),evmWsPort:String(ed.evmWsPort),chainId:String(ed.chainId),evmChainId:String(ed.evmChainId)})},[ed,L]),(0,k.useEffect)(()=>{(null==eh?void 0:eh.isRunning)&&void 0!==eh.interval&&es(String(eh.interval))},[null==eh?void 0:eh.isRunning,null==eh?void 0:eh.interval]);let ep=(0,l.D)({mutationFn:C.N9.start,onSuccess:()=>K.invalidateQueries({queryKey:["node"]})}),ef=(0,l.D)({mutationFn:C.N9.stop,onSuccess:()=>K.invalidateQueries({queryKey:["node"]})}),ev=(0,l.D)({mutationFn:C.N9.restart,onSuccess:()=>K.invalidateQueries({queryKey:["node"]})}),eg=(0,l.D)({mutationFn:C.N9.restartWipe,onSuccess:()=>{K.invalidateQueries({queryKey:["node"]}),K.invalidateQueries({queryKey:["accounts"]}),K.invalidateQueries({queryKey:["mining"]})}}),ey=(0,l.D)({mutationFn:C.N9.wipe,onSuccess:()=>{K.invalidateQueries({queryKey:["node"]}),K.invalidateQueries({queryKey:["accounts"]}),K.invalidateQueries({queryKey:["contracts","deployed"]}),K.invalidateQueries({queryKey:["mining"]})}}),ej=(0,l.D)({mutationFn:C.SC.activateWallet,onSuccess:()=>K.invalidateQueries({queryKey:["keystore","wallets"]})}),eb=(0,l.D)({mutationFn:e=>C.fA.updateConfig({coreRpcPort:Number(e.coreRpcPort),evmRpcPort:Number(e.evmRpcPort),wsPort:Number(e.wsPort),evmWsPort:Number(e.evmWsPort),chainId:Number(e.chainId),evmChainId:Number(e.evmChainId)}),onSuccess:()=>{X("✓ Saved"),setTimeout(()=>X(""),2500),K.invalidateQueries({queryKey:["network"]})},onError:e=>X("✗ ".concat(e.message))}),eN=(0,l.D)({mutationFn:()=>C.mI.mine(Number($)),onSuccess:e=>{en("✓ Mined ".concat(e.mined," block(s)")),K.invalidateQueries({queryKey:["mining"]})},onError:e=>en("✗ ".concat(e.message))}),ew=(0,l.D)({mutationFn:()=>C.mI.start(Number(et)),onSuccess:()=>K.invalidateQueries({queryKey:["mining"]})}),ek=(0,l.D)({mutationFn:C.mI.stop,onSuccess:()=>K.invalidateQueries({queryKey:["mining"]})}),eC=null!=T?T:ei,eS=null!==(t=null==eC?void 0:eC.server)&&void 0!==t?t:"stopped",eP="starting"===eS||"stopping"===eS||ep.isPending||ef.isPending||ev.isPending||eg.isPending||ey.isPending,eZ=eo?"status-dot-green":eP?"status-dot-yellow":"status-dot-red",eI=ep.isPending?"Starting…":ef.isPending?"Stopping…":ev.isPending||eg.isPending?"Restarting…":ey.isPending?"Wiping…":"starting"===eS?"Starting…":"stopping"===eS?"Stopping…":"running"===eS?"Running":"Stopped",eR=ec.find(e=>e.isActive),eq=null==eC?void 0:eC.rpcUrls,eA=J?eu:eu.slice(0,5),eE=eN.isPending||ew.isPending||ek.isPending;async function eF(){try{await ek.mutateAsync(),ew.mutate()}catch(e){}}return(0,a.jsxs)("div",{className:"space-y-6",children:[H&&(0,a.jsx)(F,{onClose:()=>Y(!1)}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Dashboard"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Local Conflux development node"})]}),(0,a.jsx)(Z.Zb,{className:"border-slate-800 bg-slate-900/40",children:(0,a.jsxs)(Z.aY,{className:"p-5 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("span",{className:"relative flex h-3.5 w-3.5 ".concat("status-dot-green"===eZ?"bg-green-500 shadow-[0_0_12px_rgba(34,197,94,0.6)]":"status-dot-yellow"===eZ?"bg-yellow-500 shadow-[0_0_12px_rgba(234,179,8,0.6)]":"bg-red-500 shadow-[0_0_12px_rgba(239,68,68,0.6)]"," rounded-full")}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-base font-semibold text-white tracking-wide",children:eI}),eo&&(null==eC?void 0:eC.epochNumber)!==void 0&&(0,a.jsxs)("div",{className:"text-xs font-medium text-cfx-400 mt-0.5",children:["Epoch #",eC.epochNumber]})]})]}),(0,a.jsx)("div",{className:"flex gap-2.5",children:eo?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(P.z,{variant:"secondary",disabled:eP,onClick:()=>ev.mutate(),children:[(0,a.jsx)(f,{className:"mr-2 h-4 w-4"})," Restart"]}),(0,a.jsx)(P.z,{variant:"destructive",disabled:eP,title:"Wipe this wallet's data directory and restart from block 0",onClick:()=>{confirm("Wipe all chain data for this wallet and restart from block 0?")&&eg.mutate()},children:(0,a.jsx)(p.Z,{className:"h-4 w-4"})}),(0,a.jsxs)(P.z,{variant:"destructive",disabled:eP,onClick:()=>ef.mutate(),children:[(0,a.jsx)(v.Z,{className:"mr-2 h-4 w-4"})," Stop"]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(P.z,{className:"bg-green-600 hover:bg-green-500 text-white shadow shadow-green-900/20",disabled:eP,onClick:()=>ep.mutate(),children:[(0,a.jsx)(h.Z,{className:"mr-2 h-4 w-4"})," Start Node"]}),(0,a.jsxs)(P.z,{variant:"destructive",disabled:eP,title:"Delete all chain data for this wallet (cannot be undone)",onClick:()=>{confirm("Wipe all chain data for this wallet? This cannot be undone.")&&ey.mutate()},children:[(0,a.jsx)(p.Z,{className:"mr-2 h-4 w-4"})," Wipe Data"]})]})})]}),eo&&eq&&(0,a.jsxs)("div",{className:"border-t border-[#2a3147] pt-3",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between text-xs font-medium uppercase tracking-wider text-slate-500 hover:text-slate-300 transition-colors",onClick:()=>el(e=>!e),children:[(0,a.jsx)("span",{children:"RPC Endpoints"}),er?(0,a.jsx)(x.Z,{className:"h-3.5 w-3.5"}):(0,a.jsx)(m.Z,{className:"h-3.5 w-3.5"})]}),er&&(0,a.jsxs)("div",{className:"mt-3 space-y-2",children:[[["Core RPC",eq.core],["EVM / ETH RPC",eq.evm],["Core WebSocket",null!==(s=eq.coreWs)&&void 0!==s?s:eq.ws],["EVM WebSocket",null!==(i=eq.evmWs)&&void 0!==i?i:""]].filter(e=>{let[,t]=e;return t}).map(e=>{let[t,s]=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"w-32 text-xs text-slate-500",children:t}),(0,a.jsxs)("div",{className:"flex flex-1 items-center overflow-hidden",children:[(0,a.jsx)("code",{className:"flex-1 truncate rounded bg-[#0e1117] px-2 py-1 text-xs text-blue-300",children:s}),(0,a.jsx)(A,{text:s})]})]},t)}),L&&(0,a.jsxs)("div",{className:"flex gap-8 border-t border-[#2a3147] pt-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] text-slate-500",children:"Core Chain ID"}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{className:"text-xs text-slate-300",children:L.chainId}),(0,a.jsx)(A,{text:L.chainId,small:!0})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] text-slate-500",children:"EVM Chain ID"}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{className:"text-xs text-slate-300",children:L.evmChainId}),(0,a.jsx)(A,{text:L.evmChainId,small:!0})]})]})]})]})]}),!eo&&ec.length>0&&(0,a.jsxs)("div",{className:"border-t border-[#2a3147] pt-4",children:[(0,a.jsxs)("label",{className:"label flex items-center gap-1.5",children:[(0,a.jsx)(g.Z,{className:"h-3.5 w-3.5"})," Wallet"]}),1===ec.length?(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,a.jsx)("code",{className:"text-xs text-blue-300",children:null!==(c=null==eR?void 0:eR.label)&&void 0!==c?c:ec[0].label}),(0,a.jsx)("span",{className:"rounded bg-blue-600/20 px-1.5 py-0.5 text-[10px] text-blue-400",children:"active"})]}):(0,a.jsx)("select",{className:"input mt-1 w-full max-w-xs",value:null!==(d=null==eR?void 0:eR.id)&&void 0!==d?d:"",onChange:e=>ej.mutate(e.target.value),disabled:ej.isPending,children:ec.map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.label,e.isActive?" (active)":""]},e.id))})]}),!eo&&L&&(0,a.jsxs)("div",{className:"border-t border-slate-800 pt-6 mt-4",children:[(0,a.jsx)("h3",{className:"mb-4 text-sm font-semibold text-slate-200",children:"Network Configuration"}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3",children:[["Core RPC Port","coreRpcPort"],["EVM RPC Port","evmRpcPort"],["Core WS Port","wsPort"],["EVM WS Port","evmWsPort"],["Core Chain ID","chainId"],["EVM Chain ID","evmChainId"]].map(e=>{var t;let[s,n]=e;return(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(R._,{children:s}),(0,a.jsx)(I.I,{type:"number",value:null!==(t=L[n])&&void 0!==t?t:"",onChange:e=>V(t=>t?{...t,[n]:e.target.value}:t)})]},n)})}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)(P.z,{disabled:eb.isPending||eP,onClick:()=>L&&eb.mutate(L),children:[(0,a.jsx)(y.Z,{className:"mr-2 h-4 w-4"}),eb.isPending?"Saving…":"Save Config"]}),O&&(0,a.jsx)("span",{className:"text-sm font-medium ".concat(O.startsWith("✓")?"text-green-400":"text-red-400"),children:O})]})]})]})]})}),eo&&(0,a.jsx)(Z.Zb,{children:(0,a.jsxs)(Z.aY,{className:"p-4 sm:p-6",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-4",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-slate-300 shrink-0",children:"Mining"}),(0,a.jsxs)("span",{className:"rounded-md bg-slate-950 border border-slate-800 px-3 py-1 text-sm font-semibold tabular-nums text-white shrink-0 shadow-inner",children:[(null!==(o=null==eh?void 0:eh.blocksMined)&&void 0!==o?o:0).toLocaleString(),(0,a.jsx)("span",{className:"ml-1.5 text-xs font-normal text-slate-400",children:"blocks"})]}),(0,a.jsx)("div",{className:"flex-1"}),(null==eh?void 0:eh.isRunning)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(R._,{className:"text-xs text-slate-500 shrink-0",children:"Interval (ms)"}),(0,a.jsx)(I.I,{className:"w-24 shrink-0 h-9",type:"number",min:"100",value:et,onChange:e=>es(e.target.value)}),Number(et)!==(null!==(u=eh.interval)&&void 0!==u?u:0)&&(0,a.jsx)(P.z,{variant:"secondary",size:"sm",className:"shrink-0",disabled:eE,onClick:eF,children:"Apply"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(R._,{className:"text-xs text-slate-500 shrink-0",children:"Blocks"}),(0,a.jsx)(I.I,{className:"w-20 shrink-0 h-9",type:"number",min:"1",max:"1000",value:$,onChange:e=>ee(e.target.value)}),(0,a.jsxs)(P.z,{size:"sm",className:"shrink-0",disabled:eE,onClick:()=>eN.mutate(),children:[(0,a.jsx)(j.Z,{className:"mr-1.5 h-3.5 w-3.5"}),eN.isPending?"Mining…":"Mine"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0 border-l border-slate-800 pl-4 ml-1",children:[(0,a.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider ".concat((null==eh?void 0:eh.isRunning)?"text-cfx-400":"text-slate-500"),children:"Auto"}),(0,a.jsx)("button",{type:"button",disabled:eE,className:"relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-cfx-500 focus:ring-offset-2 focus:ring-offset-slate-950 ".concat((null==eh?void 0:eh.isRunning)?"bg-cfx-500":"bg-slate-700"),onClick:()=>(null==eh?void 0:eh.isRunning)?ek.mutate():ew.mutate(),title:(null==eh?void 0:eh.isRunning)?"Stop auto-mining":"Start auto-mining",children:(0,a.jsx)("span",{className:"inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ".concat((null==eh?void 0:eh.isRunning)?"translate-x-6":"translate-x-1")})})]})]}),(ea||ew.error||ek.error)&&(0,a.jsx)("p",{className:"mt-3 text-sm font-medium ".concat((null==ea?void 0:ea.startsWith("✓"))?"text-green-400":"text-red-400"),children:ea||String(null!==(M=ew.error)&&void 0!==M?M:ek.error)})]})}),eo&&(0,a.jsxs)(Z.Zb,{className:"border-cfx-500/10",children:[(0,a.jsxs)(Z.Ol,{children:[(0,a.jsx)(Z.ll,{className:"text-lg",children:"Accounts"}),(0,a.jsx)(Z.SZ,{children:"Development accounts derived from mnemonic."})]}),(0,a.jsxs)(Z.aY,{className:"space-y-6",children:[em&&(0,a.jsx)("div",{className:"rounded-xl border border-cfx-500/30 bg-cfx-900/10 p-5 shadow-inner",children:(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wider text-cfx-400",children:"Faucet Account (Node Admin)"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("code",{className:"text-sm font-medium text-slate-200",children:q(em.coreAddress)}),(0,a.jsx)(A,{text:em.coreAddress})]}),(0,a.jsxs)("div",{className:"mt-1.5 text-xl font-semibold text-white",children:[em.coreBalance," ",(0,a.jsx)("span",{className:"text-sm font-normal text-slate-400",children:"CFX"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 gap-3",children:[(0,a.jsxs)(P.z,{variant:"outline",className:"border-cfx-500/30 text-cfx-200 hover:bg-cfx-900/30 hover:text-white",title:"Toggle private key visibility",onClick:()=>U(e=>!e),children:[B?(0,a.jsx)(b.Z,{className:"mr-2 h-4 w-4"}):(0,a.jsx)(N.Z,{className:"mr-2 h-4 w-4"}),"Keys"]}),(0,a.jsxs)(P.z,{className:"bg-cfx-600 hover:bg-cfx-500 text-white shadow-lg shadow-cfx-500/20",onClick:()=>Y(!0),children:[(0,a.jsx)(w.Z,{className:"mr-2 h-4 w-4"})," Fund Address"]})]})]})}),ex?(0,a.jsx)("p",{className:"text-sm text-slate-500 py-4 text-center",children:"Loading accounts…"}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"overflow-x-auto rounded-xl border border-slate-800 shadow-sm",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{className:"bg-slate-900 text-xs font-semibold uppercase tracking-wider text-slate-400",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"px-4 py-3 text-left",children:"#"}),(0,a.jsx)("th",{className:"px-4 py-3 text-left",children:"Core Address"}),(0,a.jsx)("th",{className:"px-4 py-3 text-left",children:"eSpace Address"}),(0,a.jsx)("th",{className:"px-4 py-3 text-right",children:"Core CFX"}),(0,a.jsx)("th",{className:"px-4 py-3 text-right",children:"eSpace CFX"}),B&&(0,a.jsx)("th",{className:"px-4 py-3 text-left",children:"Private Key"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-slate-800 bg-slate-950",children:eA.map(e=>(0,a.jsxs)("tr",{className:"hover:bg-slate-900/50 transition-colors",children:[(0,a.jsx)("td",{className:"px-4 py-3 text-slate-500 font-medium",children:e.index}),(0,a.jsx)("td",{className:"px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("code",{className:"text-[13px] text-blue-300 font-medium whitespace-nowrap",children:q(e.coreAddress)}),(0,a.jsx)(A,{text:e.coreAddress,small:!0})]})}),(0,a.jsx)("td",{className:"px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("code",{className:"text-[13px] text-blue-300 font-medium whitespace-nowrap",children:q(e.evmAddress)}),(0,a.jsx)(A,{text:e.evmAddress,small:!0})]})}),(0,a.jsx)("td",{className:"px-4 py-3 text-right text-[13px] font-medium text-slate-200",children:e.coreBalance||"—"}),(0,a.jsx)("td",{className:"px-4 py-3 text-right text-[13px] font-medium text-slate-200",children:e.evmBalance||"—"}),B&&(0,a.jsx)("td",{className:"px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("code",{className:"text-[13px] text-slate-400 whitespace-nowrap",children:q(e.privateKey)}),(0,a.jsx)(A,{text:e.privateKey,small:!0})]})})]},e.index))})]})}),eu.length>5&&(0,a.jsx)(P.z,{variant:"secondary",className:"w-full",onClick:()=>G(e=>!e),children:J?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.Z,{className:"mr-2 h-4 w-4 focus:outline-none"}),"Show less"]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4 focus:outline-none"}),"Show all ",eu.length," accounts"]})})]})]})]}),(0,a.jsx)(E,{}),(ep.error||ef.error||ev.error||eg.error||ey.error)&&(0,a.jsx)("div",{className:"rounded-md border border-red-800 bg-red-950/50 px-4 py-2 text-sm text-red-400",children:String(null!==(_=null!==(D=null!==(z=null!==(W=ep.error)&&void 0!==W?W:ef.error)&&void 0!==z?z:ev.error)&&void 0!==D?D:eg.error)&&void 0!==_?_:ey.error)})]})}},3368:function(e,t,s){"use strict";s.d(t,{z:function(){return d}});var a=s(5853),n=s(4254),r=s(1145),l=s(5460),i=s(8337);let c=(0,l.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-cfx-500 text-white hover:bg-cfx-600",destructive:"bg-red-500 text-destructive-foreground hover:bg-red-500/90",outline:"border border-slate-700 bg-transparent hover:bg-slate-800 text-white",secondary:"bg-slate-800 text-slate-100 hover:bg-slate-700",ghost:"hover:bg-slate-800 hover:text-slate-100",link:"text-cfx-500 underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,t)=>{let{className:s,variant:n,size:l,asChild:d=!1,...o}=e,u=d?r.g7:"button";return(0,a.jsx)(u,{className:(0,i.cn)(c({variant:n,size:l,className:s})),ref:t,...o})});d.displayName="Button"},5570:function(e,t,s){"use strict";s.d(t,{Ol:function(){return i},SZ:function(){return d},Zb:function(){return l},aY:function(){return o},eW:function(){return u},ll:function(){return c}});var a=s(5853),n=s(4254),r=s(8337);let l=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,r.cn)("rounded-xl border border-slate-800 bg-slate-900/50 text-slate-100 shadow",s),...n})});l.displayName="Card";let i=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",s),...n})});i.displayName="CardHeader";let c=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("h3",{ref:t,className:(0,r.cn)("font-semibold leading-none tracking-tight",s),...n})});c.displayName="CardTitle";let d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("p",{ref:t,className:(0,r.cn)("text-sm text-slate-400",s),...n})});d.displayName="CardDescription";let o=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,r.cn)("p-6 pt-0",s),...n})});o.displayName="CardContent";let u=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,r.cn)("flex items-center p-6 pt-0",s),...n})});u.displayName="CardFooter"},2566:function(e,t,s){"use strict";s.d(t,{I:function(){return l}});var a=s(5853),n=s(4254),r=s(8337);let l=n.forwardRef((e,t)=>{let{className:s,type:n,...l}=e;return(0,a.jsx)("input",{type:n,className:(0,r.cn)("flex h-10 w-full rounded-md border border-slate-700 bg-slate-950 px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-slate-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cfx-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",s),ref:t,...l})});l.displayName="Input"},9510:function(e,t,s){"use strict";s.d(t,{_:function(){return d}});var a=s(5853),n=s(4254),r=s(5307),l=s(5460),i=s(8337);let c=(0,l.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-slate-300"),d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)(r.f,{ref:t,className:(0,i.cn)(c(),s),...n})});d.displayName=r.f.displayName},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return x},SC:function(){return v},SX:function(){return m},Vp:function(){return h},fA:function(){return f},mI:function(){return p},pJ:function(){return g}});var a,n=s(2608);let r="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function l(e,t,s){let a=await fetch("".concat(r).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let i=e=>l("GET",e),c=(e,t)=>l("POST",e,t),d=e=>l("DELETE",e),o=(e,t)=>l("PUT",e,t),u=(e,t)=>l("PATCH",e,t),x={status:()=>i("/node/status"),start:()=>c("/node/start"),stop:()=>c("/node/stop"),restart:()=>c("/node/restart"),restartWipe:()=>c("/node/restart-wipe"),wipe:()=>c("/node/wipe")},m={list:()=>i("/accounts"),faucet:()=>i("/accounts/faucet"),fund:(e,t,s)=>c("/accounts/fund",{address:e,amount:t,chain:s})},h={templates:()=>i("/contracts/templates"),template:e=>i("/contracts/templates/".concat(e)),compile:(e,t)=>c("/contracts/compile",{source:e,contractName:t}),deploy:e=>c("/contracts/deploy",e),deployed:e=>i("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>d("/contracts/deployed/".concat(e)),call:(e,t,s,a)=>c("/contracts/".concat(e,"/call"),{functionName:t,args:s,accountIndex:a})},p={status:()=>i("/mining/status"),mine:e=>c("/mining/mine",{blocks:e}),start:e=>c("/mining/start",{intervalMs:e}),stop:()=>c("/mining/stop")},f={config:()=>i("/network/config"),updateConfig:e=>o("/network/config",e),rpcUrls:()=>i("/network/rpc-urls")},v={status:()=>i("/keystore/status"),generate:()=>c("/keystore/generate"),setup:e=>c("/keystore/setup",e),unlock:e=>c("/keystore/unlock",{password:e}),lock:()=>c("/keystore/lock"),wallets:()=>i("/keystore/wallets"),addWallet:(e,t)=>c("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>c("/keystore/wallets/".concat(e,"/activate")),renameWallet:(e,t)=>u("/keystore/wallets/".concat(e),{label:t}),deleteWallet:e=>d("/keystore/wallets/".concat(e))},g={get:()=>i("/settings")}},3634:function(e,t,s){"use strict";s.d(t,{h:function(){return l}});var a=s(7903),n=s(2608);let r=null;function l(){if(!r){var e;let t=null!==(e=n.env.NEXT_PUBLIC_WS_URL)&&void 0!==e?e:"";r=(0,a.io)(t||void 0,{path:"/socket.io",reconnectionDelay:1e3,reconnectionDelayMax:5e3,reconnectionAttempts:Number.POSITIVE_INFINITY})}return r}},8337:function(e,t,s){"use strict";s.d(t,{cn:function(){return r}});var a=s(4685),n=s(4004);function r(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.m6)((0,a.W)(t))}},5710:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},758:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},6804:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Droplets",[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z",key:"1ptgy4"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97",key:"1sl1rz"}]])},7201:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},3948:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},5175:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},3737:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},2846:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},6444:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}},function(e){e.O(0,[363,69,781,285,749,744],function(){return e(e.s=1134)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{1134:function(e,t,s){Promise.resolve().then(s.bind(s,8172))},8172:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return h}});var n=s(5853),r=s(4852),a=s(8990),o=s(6632),c=s(4254),i=s(9928),l=s(3264),u=s(5175);let d=(0,s(3035).Z)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var m=s(2846),x=s(8144),p=s(3634);function f(e){let{text:t}=e,[s,r]=(0,c.useState)(!1),a=async()=>{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),1800)};return(0,n.jsx)("button",{type:"button",onClick:a,className:"btn-secondary ml-2 px-1.5 py-1",title:"Copy",children:s?(0,n.jsx)(i.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,n.jsx)(l.Z,{className:"h-3.5 w-3.5"})})}function h(){var e,t,s;let i=(0,r.NL)(),[l,h]=(0,c.useState)(null),{data:v}=(0,a.a)({queryKey:["node","status"],queryFn:x.N9.status});(0,c.useEffect)(()=>{let e=(0,p.h)(),t=e=>{h(e),i.setQueryData(["node","status"],e)};return e.on("node:status",t),()=>{e.off("node:status",t)}},[i]);let y=null!=l?l:v,N=(0,o.D)({mutationFn:x.N9.start,onSuccess:()=>i.invalidateQueries({queryKey:["node"]})}),b=(0,o.D)({mutationFn:x.N9.stop,onSuccess:()=>i.invalidateQueries({queryKey:["node"]})}),j=(0,o.D)({mutationFn:x.N9.restart,onSuccess:()=>i.invalidateQueries({queryKey:["node"]})}),k=(null==y?void 0:y.server)==="running",w=(null==y?void 0:y.server)==="starting"||(null==y?void 0:y.server)==="stopping"||N.isPending||b.isPending||j.isPending,g=k?"status-dot-green":w?"status-dot-yellow":"status-dot-red",C=null==y?void 0:y.rpcUrls;return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Dashboard"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Local Conflux development node"})]}),(0,n.jsxs)("div",{className:"card flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("span",{className:g}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-sm font-medium capitalize text-white",children:null!==(e=null==y?void 0:y.server)&&void 0!==e?e:"unknown"}),k&&(null==y?void 0:y.epochNumber)!==void 0&&(0,n.jsxs)("div",{className:"text-xs text-slate-400",children:["Epoch #",y.epochNumber]})]})]}),(0,n.jsx)("div",{className:"flex gap-2",children:k?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{type:"button",className:"btn-secondary",disabled:w,onClick:()=>j.mutate(),children:[(0,n.jsx)(d,{className:"h-4 w-4"})," Restart"]}),(0,n.jsxs)("button",{type:"button",className:"btn-danger",disabled:w,onClick:()=>b.mutate(),children:[(0,n.jsx)(m.Z,{className:"h-4 w-4"})," Stop"]})]}):(0,n.jsxs)("button",{type:"button",className:"btn-success",disabled:w,onClick:()=>N.mutate(),children:[(0,n.jsx)(u.Z,{className:"h-4 w-4"})," Start"]})})]}),C&&(0,n.jsxs)("div",{className:"card space-y-3",children:[(0,n.jsx)("h2",{className:"text-sm font-medium text-slate-300",children:"RPC Endpoints"}),[["Core RPC",C.core],["EVM / ETH RPC",C.evm],["WebSocket",C.ws]].map(e=>{let[t,s]=e;return(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"w-32 text-xs text-slate-500",children:t}),(0,n.jsxs)("div",{className:"flex flex-1 items-center overflow-hidden",children:[(0,n.jsx)("code",{className:"flex-1 truncate rounded bg-[#0e1117] px-2 py-1 text-xs text-blue-300",children:s}),(0,n.jsx)(f,{text:s})]})]},t)})]}),(N.error||b.error||j.error)&&(0,n.jsx)("div",{className:"rounded-md border border-red-800 bg-red-950/50 px-4 py-2 text-sm text-red-400",children:String(null!==(s=null!==(t=N.error)&&void 0!==t?t:b.error)&&void 0!==s?s:j.error)})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return d},SC:function(){return h},SX:function(){return m},Vp:function(){return x},fA:function(){return f},mI:function(){return p}});var n,r=s(2608);let a="".concat(null!==(n=r.env.NEXT_PUBLIC_API_URL)&&void 0!==n?n:"","/api");async function o(e,t,s){let n=await fetch("".concat(a).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!n.ok){var r;throw Error(null!==(r=(await n.json().catch(()=>({error:n.statusText}))).error)&&void 0!==r?r:n.statusText)}return n.json()}let c=e=>o("GET",e),i=(e,t)=>o("POST",e,t),l=(e,t)=>o("PUT",e,t),u=e=>o("DELETE",e),d={status:()=>c("/node/status"),start:()=>i("/node/start"),stop:()=>i("/node/stop"),restart:()=>i("/node/restart")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>i("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>i("/contracts/compile",{source:e,contractName:t}),deploy:e=>i("/contracts/deploy",e)},p={status:()=>c("/mining/status"),mine:e=>i("/mining/mine",{blocks:e}),start:e=>i("/mining/start",{intervalMs:e}),stop:()=>i("/mining/stop")},f={config:()=>c("/network/config"),updateConfig:e=>l("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},h={status:()=>c("/keystore/status"),generate:()=>i("/keystore/generate"),setup:e=>i("/keystore/setup",e),unlock:e=>i("/keystore/unlock",{password:e}),lock:()=>i("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>i("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>i("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>u("/keystore/wallets/".concat(e))}},3634:function(e,t,s){"use strict";s.d(t,{h:function(){return o}});var n=s(7903),r=s(2608);let a=null;function o(){if(!a){var e;let t=null!==(e=r.env.NEXT_PUBLIC_WS_URL)&&void 0!==e?e:"";a=(0,n.io)(t||void 0,{path:"/socket.io",reconnectionDelay:1e3,reconnectionDelayMax:5e3,reconnectionAttempts:Number.POSITIVE_INFINITY})}return a}},5175:function(e,t,s){"use strict";s.d(t,{Z:function(){return n}});let n=(0,s(3035).Z)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},2846:function(e,t,s){"use strict";s.d(t,{Z:function(){return n}});let n=(0,s(3035).Z)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])}},function(e){e.O(0,[363,238,285,749,744],function(){return e(e.s=1134)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,6519))},6519:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return b}});var a=s(5853),n=s(4852),l=s(6632),i=s(8990),c=s(4254),r=s(9928),o=s(3264),d=s(3035);let u=(0,d.Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),m=(0,d.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),x=(0,d.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),h=(0,d.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),y=(0,d.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),p=(0,d.Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var v=s(8144);function j(e){let{text:t}=e,[s,n]=(0,c.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(o.Z,{className:"h-3.5 w-3.5"})})}function k(e){let{onDone:t}=e,s=(0,n.NL)(),[i,r]=(0,c.useState)("generate"),[o,d]=(0,c.useState)(""),[m,x]=(0,c.useState)(""),[h,y]=(0,c.useState)("Default"),[p,k]=(0,c.useState)(""),[b,f]=(0,c.useState)(""),[N,g]=(0,c.useState)(""),w=(0,l.D)({mutationFn:v.SC.generate,onSuccess:e=>{d(e.mnemonic),x(e.mnemonic),r("confirm")}}),C=(0,l.D)({mutationFn:()=>{if(p&&p!==b)throw Error("Passwords do not match");return v.SC.setup({mnemonic:m,label:h||"Default",password:p||void 0})},onSuccess:()=>{s.invalidateQueries({queryKey:["keystore"]}),t()},onError:e=>g(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"text-sm text-slate-400",children:"Create or import a mnemonic to manage your dev accounts."}),"generate"===i?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:w.isPending,onClick:()=>w.mutate(),children:[(0,a.jsx)(u,{className:"h-4 w-4"}),"Generate Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>r("confirm"),children:"Import Existing"})]})}):(0,a.jsxs)(a.Fragment,{children:[o&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this safely!"}),(0,a.jsx)(j,{text:o})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed",children:o})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:m,onChange:e=>x(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:h,onChange:e=>y(e.target.value)})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:p,onChange:e=>k(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm Password"}),(0,a.jsx)("input",{className:"input",type:"password",value:b,onChange:e=>f(e.target.value)})]})]}),N&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:N}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>r("generate"),children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!m.trim()||C.isPending,onClick:()=>C.mutate(),children:C.isPending?"Setting up…":"Complete Setup"})]})]})]})}function b(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,o]=(0,c.useState)(""),[d,u]=(0,c.useState)(""),[j,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,i.a)({queryKey:["keystore","status"],queryFn:v.SC.status,refetchInterval:5e3}),{data:P=[]}=(0,i.a)({queryKey:["keystore","wallets"],queryFn:v.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),E=(0,l.D)({mutationFn:()=>v.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),o("")},onError:e=>u(e.message)}),q=(0,l.D)({mutationFn:v.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,l.D)({mutationFn:e=>v.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),F=(0,l.D)({mutationFn:e=>v.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,l.D)({mutationFn:()=>v.SC.addWallet(j,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(m,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:q.isPending,onClick:()=>q.mutate(),children:[(0,a.jsx)(x,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(h,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>o(e.target.value),onKeyDown:e=>"Enter"===e.key&&E.mutate()}),d&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:d}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||E.isPending,onClick:()=>E.mutate(),children:E.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:j,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!j.trim()||L.isPending,onClick:()=>L.mutate(),children:L.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:P.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(y,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:F.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&F.mutate(e.id)},children:(0,a.jsx)(p,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(k,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},8144:function(e,t,s){"use strict";async function a(e,t,s){let a=await fetch("".concat("/api").concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}s.d(t,{N9:function(){return r},SC:function(){return x},SX:function(){return o},Vp:function(){return d},fA:function(){return m},mI:function(){return u}});let n=e=>a("GET",e),l=(e,t)=>a("POST",e,t),i=(e,t)=>a("PUT",e,t),c=e=>a("DELETE",e),r={status:()=>n("/node/status"),start:()=>l("/node/start"),stop:()=>l("/node/stop"),restart:()=>l("/node/restart")},o={list:()=>n("/accounts"),faucet:()=>n("/accounts/faucet"),fund:(e,t,s)=>l("/accounts/fund",{address:e,amount:t,chain:s})},d={templates:()=>n("/contracts/templates"),template:e=>n("/contracts/templates/".concat(e)),compile:(e,t)=>l("/contracts/compile",{source:e,contractName:t}),deploy:e=>l("/contracts/deploy",e)},u={status:()=>n("/mining/status"),mine:e=>l("/mining/mine",{blocks:e}),start:e=>l("/mining/start",{intervalMs:e}),stop:()=>l("/mining/stop")},m={config:()=>n("/network/config"),updateConfig:e=>i("/network/config",e),rpcUrls:()=>n("/network/rpc-urls")},x={status:()=>n("/keystore/status"),generate:()=>l("/keystore/generate"),setup:e=>l("/keystore/setup",e),unlock:e=>l("/keystore/unlock",{password:e}),lock:()=>l("/keystore/lock"),wallets:()=>n("/keystore/wallets"),addWallet:(e,t)=>l("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>l("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>c("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])}},function(e){e.O(0,[383,815,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var x=s(9924),h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[w,g]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),Z=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>g(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),w&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:w}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||q.isPending,onClick:()=>q.mutate(),children:q.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:L.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&L.mutate(e.id)},children:(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[w,g]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>g(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(w||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:w||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),g("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=e=>i("DELETE",e),d=(e,t)=>i("PUT",e,t),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe"),wipe:()=>r("/node/wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e),deployed:e=>c("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>o("/contracts/deployed/".concat(e)),call:(e,t,s,a)=>r("/contracts/".concat(e,"/call"),{functionName:t,args:s,accountIndex:a})},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>d("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>o("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var x=s(9924),h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),Z=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||D.isPending,onClick:()=>D.mutate(),children:D.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:L.isPending,onClick:()=>L.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:q.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&q.mutate(e.id)},children:(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[g,w]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>w(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(g||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),w("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=(e,t)=>i("PUT",e,t),d=e=>i("DELETE",e),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e)},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>o("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>d("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var x=s(9924),h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),Z=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||q.isPending,onClick:()=>q.mutate(),children:q.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:L.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&L.mutate(e.id)},children:(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[g,w]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>w(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(g||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),w("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h},pJ:function(){return v}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=e=>i("DELETE",e),d=(e,t)=>i("PUT",e,t),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe"),wipe:()=>r("/node/wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e),deployed:e=>c("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>o("/contracts/deployed/".concat(e)),call:(e,t,s,a)=>r("/contracts/".concat(e,"/call"),{functionName:t,args:s,accountIndex:a})},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>d("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>o("/keystore/wallets/".concat(e))},v={get:()=>c("/settings")}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return v}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(3035);let d=(0,c.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),r=(0,c.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),o=(0,c.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),u=(0,c.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var m=s(9924),x=s(4254),h=s(4396),y=s(8144);function v(){let e=(0,n.NL)(),[t,s]=(0,x.useState)(!1),[c,v]=(0,x.useState)(""),[p,k]=(0,x.useState)(""),[b,j]=(0,x.useState)(""),[N,f]=(0,x.useState)(""),[w,g]=(0,x.useState)(""),[C,S]=(0,x.useState)(!1),[M,K]=(0,x.useState)(null),[q,Z]=(0,x.useState)(""),[D,P]=(0,x.useState)(""),{data:A}=(0,l.a)({queryKey:["keystore","status"],queryFn:y.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:y.SC.wallets,enabled:(null==A?void 0:A.initialized)&&!(null==A?void 0:A.locked)}),F=(0,i.D)({mutationFn:()=>y.SC.unlock(c),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),v("")},onError:e=>k(e.message)}),L=(0,i.D)({mutationFn:y.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),W=(0,i.D)({mutationFn:e=>y.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),Q=(0,i.D)({mutationFn:e=>y.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),_=(0,i.D)({mutationFn:()=>y.SC.addWallet(b,N||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),j(""),f(""),S(!1)},onError:e=>g(e.message)}),z=(0,i.D)({mutationFn:e=>y.SC.renameWallet(e,q),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),K(null),Z("")},onError:e=>P(e.message)});return(null==A?void 0:A.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==A?void 0:A.encryptionEnabled)&&((null==A?void 0:A.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:L.isPending,onClick:()=>L.mutate(),children:[(0,a.jsx)(r,{className:"h-4 w-4"})," Lock"]})),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==A?void 0:A.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:c,onChange:e=>v(e.target.value),onKeyDown:e=>"Enter"===e.key&&F.mutate()}),p&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:p}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!c||F.isPending,onClick:()=>F.mutate(),children:F.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:b,onChange:e=>j(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:N,onChange:e=>f(e.target.value),placeholder:"My wallet"})]}),w&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:w}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!b.trim()||_.isPending,onClick:()=>_.mutate(),children:_.isPending?"Adding…":"Add"})]})]}),(null==A?void 0:A.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-cfx-500/50 bg-cfx-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(u,{className:"h-4 w-4 shrink-0 text-cfx-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{M===e.id?K(null):(K(e.id),Z(e.label),P(""))},children:"Rename"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:W.isPending,onClick:()=>W.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:Q.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&Q.mutate(e.id)},children:(0,a.jsx)(m.Z,{className:"h-4 w-4"})})]})]}),M===e.id&&(0,a.jsxs)("div",{className:"card mt-2 mb-4 ml-6 space-y-3 border-slate-700 bg-slate-900/50 shadow-inner",children:[(0,a.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-slate-400",children:"Rename Wallet"}),(0,a.jsx)("input",{className:"input w-full max-w-sm",value:q,onChange:e=>Z(e.target.value),placeholder:"New wallet label",autoFocus:!0,onKeyDown:t=>"Enter"===t.key&&q.trim()&&z.mutate(e.id)}),D&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:D}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>K(null),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary bg-cfx-600 hover:bg-cfx-500",disabled:!q.trim()||q===e.label||z.isPending,onClick:()=>z.mutate(e.id),children:z.isPending?"Saving…":"Save"})]})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(h.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},6475:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},5061:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,69,396,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var x=s(9924),h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),Z=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||q.isPending,onClick:()=>q.mutate(),children:q.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:L.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&L.mutate(e.id)},children:(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[g,w]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>w(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(g||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),w("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=e=>i("DELETE",e),d=(e,t)=>i("PUT",e,t),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e),deployed:e=>c("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>o("/contracts/deployed/".concat(e)),call:(e,t,s,a)=>r("/contracts/".concat(e,"/call"),{functionName:t,args:s,accountIndex:a})},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>d("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>o("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(3035);let r=(0,c.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),o=(0,c.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),d=(0,c.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),u=(0,c.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var m=s(9924),x=s(4254),h=s(4396),p=s(8144);function y(){let e=(0,n.NL)(),[t,s]=(0,x.useState)(!1),[c,y]=(0,x.useState)(""),[v,k]=(0,x.useState)(""),[j,b]=(0,x.useState)(""),[f,N]=(0,x.useState)(""),[w,g]=(0,x.useState)(""),[C,S]=(0,x.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:p.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:p.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>p.SC.unlock(c),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>k(e.message)}),Z=(0,i.D)({mutationFn:p.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:e=>p.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>p.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:()=>p.SC.addWallet(j,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>g(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&((null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(r,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Lock"]})),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:c,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!c||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:j,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),w&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:w}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!j.trim()||q.isPending,onClick:()=>q.mutate(),children:q.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(u,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:L.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&L.mutate(e.id)},children:(0,a.jsx)(m.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(h.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(9928),c=s(3264),r=s(9754),o=s(4254),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,o.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(i.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,i=(0,n.NL)(),[c,m]=(0,o.useState)("choose"),[x,h]=(0,o.useState)(""),[p,y]=(0,o.useState)(""),[v,k]=(0,o.useState)("Default"),[j,b]=(0,o.useState)(""),[f,N]=(0,o.useState)(""),[w,g]=(0,o.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(j&&j!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:j||void 0})},onSuccess:()=>{i.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>g(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===c?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(r.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(r.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>k(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:j,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(w||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:w||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),g("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h},pJ:function(){return v}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=e=>i("DELETE",e),d=(e,t)=>i("PUT",e,t),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe"),wipe:()=>r("/node/wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e),deployed:e=>c("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>o("/contracts/deployed/".concat(e)),call:(e,t,s,a)=>r("/contracts/".concat(e,"/call"),{functionName:t,args:s,accountIndex:a})},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>d("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>o("/keystore/wallets/".concat(e))},v={get:()=>c("/settings")}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,2367))},2367:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),x=(0,r.Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),L=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),Z=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:L.isPending,onClick:()=>L.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||D.isPending,onClick:()=>D.mutate(),children:D.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:q.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&q.mutate(e.id)},children:(0,a.jsx)(x,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[g,w]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>w(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(g||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),w("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=(e,t)=>i("PUT",e,t),d=e=>i("DELETE",e),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e)},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>o("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>d("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[597],{8320:function(e,t,s){Promise.resolve().then(s.bind(s,9509))},9509:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var a=s(5853),n=s(4852),l=s(8990),i=s(6632),c=s(4254),r=s(3035);let o=(0,r.Z)("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]),d=(0,r.Z)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),u=(0,r.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),m=(0,r.Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var x=s(9924),h=s(8144),p=s(4396);function y(){let e=(0,n.NL)(),[t,s]=(0,c.useState)(!1),[r,y]=(0,c.useState)(""),[v,j]=(0,c.useState)(""),[k,b]=(0,c.useState)(""),[f,N]=(0,c.useState)(""),[g,w]=(0,c.useState)(""),[C,S]=(0,c.useState)(!1),{data:M}=(0,l.a)({queryKey:["keystore","status"],queryFn:h.SC.status,refetchInterval:5e3}),{data:E=[]}=(0,l.a)({queryKey:["keystore","wallets"],queryFn:h.SC.wallets,enabled:(null==M?void 0:M.initialized)&&!(null==M?void 0:M.locked)}),P=(0,i.D)({mutationFn:()=>h.SC.unlock(r),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),s(!1),y("")},onError:e=>j(e.message)}),Z=(0,i.D)({mutationFn:h.SC.lock,onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),D=(0,i.D)({mutationFn:e=>h.SC.activateWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),L=(0,i.D)({mutationFn:e=>h.SC.deleteWallet(e),onSuccess:()=>e.invalidateQueries({queryKey:["keystore"]})}),q=(0,i.D)({mutationFn:()=>h.SC.addWallet(k,f||void 0),onSuccess:()=>{e.invalidateQueries({queryKey:["keystore"]}),b(""),N(""),S(!1)},onError:e=>w(e.message)});return(null==M?void 0:M.initialized)?(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Manage developer mnemonics and keystores"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(null==M?void 0:M.encryptionEnabled)&&(0,a.jsx)(a.Fragment,{children:(null==M?void 0:M.locked)?(0,a.jsxs)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!0),children:[(0,a.jsx)(o,{className:"h-4 w-4"})," Unlock"]}):(0,a.jsxs)("button",{type:"button",className:"btn-secondary",disabled:Z.isPending,onClick:()=>Z.mutate(),children:[(0,a.jsx)(d,{className:"h-4 w-4"})," Lock"]})}),(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:null==M?void 0:M.locked,onClick:()=>S(e=>!e),children:[(0,a.jsx)(u,{className:"h-4 w-4"})," Add Wallet"]})]})]}),t&&(0,a.jsxs)("div",{className:"card max-w-sm space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Unlock Keystore"}),(0,a.jsx)("input",{className:"input",type:"password",placeholder:"Enter password",value:r,onChange:e=>y(e.target.value),onKeyDown:e=>"Enter"===e.key&&P.mutate()}),v&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:v}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!r||P.isPending,onClick:()=>P.mutate(),children:P.isPending?"Unlocking…":"Unlock"})]})]}),C&&(0,a.jsxs)("div",{className:"card max-w-lg space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-white",children:"Import Mnemonic"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic"}),(0,a.jsx)("textarea",{className:"input h-16 font-mono",value:k,onChange:e=>b(e.target.value),placeholder:"word1 word2 … word12"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Label"}),(0,a.jsx)("input",{className:"input",value:f,onChange:e=>N(e.target.value),placeholder:"My wallet"})]}),g&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>S(!1),children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!k.trim()||q.isPending,onClick:()=>q.mutate(),children:q.isPending?"Adding…":"Add"})]})]}),(null==M?void 0:M.locked)?(0,a.jsx)("div",{className:"card text-sm text-slate-400",children:"Keystore is locked. Unlock to manage wallets."}):(0,a.jsx)("div",{className:"space-y-2",children:E.map(e=>(0,a.jsxs)("div",{className:"card flex items-center justify-between ".concat(e.isActive?"border-blue-600/50 bg-blue-900/10":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[e.isActive&&(0,a.jsx)(m,{className:"h-4 w-4 shrink-0 text-blue-400"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-white",children:e.label}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:e.id})]})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-secondary",disabled:D.isPending,onClick:()=>D.mutate(e.id),children:"Activate"}),!e.isActive&&(0,a.jsx)("button",{type:"button",className:"btn-danger",disabled:L.isPending,onClick:()=>{confirm('Delete wallet "'.concat(e.label,'"?'))&&L.mutate(e.id)},children:(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})]},e.id))})]}):(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("h1",{className:"text-xl font-semibold text-white",children:"Wallet"})}),(0,a.jsx)(p.M,{onDone:()=>e.invalidateQueries({queryKey:["keystore"]})})]})}},4396:function(e,t,s){"use strict";s.d(t,{M:function(){return m}});var a=s(5853),n=s(4852),l=s(6632),i=s(4254),c=s(9928),r=s(3264),o=s(9754),d=s(8144);function u(e){let{text:t}=e,[s,n]=(0,i.useState)(!1);return(0,a.jsx)("button",{type:"button",title:"Copy",className:"rounded p-1 text-slate-500 hover:text-slate-300",onClick:async()=>{await navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),1500)},children:s?(0,a.jsx)(c.Z,{className:"h-3.5 w-3.5 text-green-400"}):(0,a.jsx)(r.Z,{className:"h-3.5 w-3.5"})})}function m(e){var t;let{onDone:s}=e,c=(0,n.NL)(),[r,m]=(0,i.useState)("choose"),[x,h]=(0,i.useState)(""),[p,y]=(0,i.useState)(""),[v,j]=(0,i.useState)("Default"),[k,b]=(0,i.useState)(""),[f,N]=(0,i.useState)(""),[g,w]=(0,i.useState)(""),C=(0,l.D)({mutationFn:d.SC.generate,onSuccess:e=>{h(e.mnemonic),y(e.mnemonic),m("confirm")}}),S=(0,l.D)({mutationFn:()=>{if(k&&k!==f)throw Error("Passwords do not match");return d.SC.setup({mnemonic:p.trim(),label:v.trim()||"Default",password:k||void 0})},onSuccess:()=>{c.invalidateQueries({queryKey:["keystore"]}),null==s||s()},onError:e=>w(e.message)});return(0,a.jsxs)("div",{className:"card max-w-lg space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-white",children:"First-time Setup"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Create or import a mnemonic to derive genesis accounts for your local Conflux node. The mnemonic is stored encrypted on disk."})]}),"choose"===r?(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("button",{type:"button",className:"btn-primary",disabled:C.isPending,onClick:()=>C.mutate(),children:[C.isPending?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Generate New Mnemonic"]}),(0,a.jsx)("span",{className:"self-center text-sm text-slate-500",children:"or"}),(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>m("confirm"),children:"Import Existing"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[x&&(0,a.jsxs)("div",{className:"rounded-md bg-[#0e1117] p-3",children:[(0,a.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Generated mnemonic — save this somewhere safe before continuing!"}),(0,a.jsx)(u,{text:x})]}),(0,a.jsx)("p",{className:"font-mono text-sm text-green-300 leading-relaxed break-all",children:x})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Mnemonic (12 or 24 words)"}),(0,a.jsx)("textarea",{className:"input h-20 font-mono",value:p,onChange:e=>y(e.target.value),placeholder:"word1 word2 word3 …"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Wallet Label"}),(0,a.jsx)("input",{className:"input",value:v,onChange:e=>j(e.target.value),placeholder:"Default"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Encrypt with password (optional)"}),(0,a.jsx)("input",{className:"input",type:"password",value:k,onChange:e=>b(e.target.value),placeholder:"Leave blank for no encryption"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"label",children:"Confirm password"}),(0,a.jsx)("input",{className:"input",type:"password",value:f,onChange:e=>N(e.target.value)})]})]}),(g||S.error)&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:g||(null===(t=S.error)||void 0===t?void 0:t.message)}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"button",className:"btn-secondary",onClick:()=>{m("choose"),h(""),y(""),w("")},children:"Back"}),(0,a.jsx)("button",{type:"button",className:"btn-primary",disabled:!p.trim()||S.isPending,onClick:()=>S.mutate(),children:S.isPending?"Setting up…":"Complete Setup"})]})]})]})}},8144:function(e,t,s){"use strict";s.d(t,{N9:function(){return u},SC:function(){return y},SX:function(){return m},Vp:function(){return x},fA:function(){return p},mI:function(){return h}});var a,n=s(2608);let l="".concat(null!==(a=n.env.NEXT_PUBLIC_API_URL)&&void 0!==a?a:"","/api");async function i(e,t,s){let a=await fetch("".concat(l).concat(t),{method:e,headers:s?{"Content-Type":"application/json"}:void 0,body:s?JSON.stringify(s):void 0});if(!a.ok){var n;throw Error(null!==(n=(await a.json().catch(()=>({error:a.statusText}))).error)&&void 0!==n?n:a.statusText)}return a.json()}let c=e=>i("GET",e),r=(e,t)=>i("POST",e,t),o=e=>i("DELETE",e),d=(e,t)=>i("PUT",e,t),u={status:()=>c("/node/status"),start:()=>r("/node/start"),stop:()=>r("/node/stop"),restart:()=>r("/node/restart"),restartWipe:()=>r("/node/restart-wipe")},m={list:()=>c("/accounts"),faucet:()=>c("/accounts/faucet"),fund:(e,t,s)=>r("/accounts/fund",{address:e,amount:t,chain:s})},x={templates:()=>c("/contracts/templates"),template:e=>c("/contracts/templates/".concat(e)),compile:(e,t)=>r("/contracts/compile",{source:e,contractName:t}),deploy:e=>r("/contracts/deploy",e),deployed:e=>c("/contracts/deployed".concat(e?"?chain=".concat(e):"")),deleteDeployed:e=>o("/contracts/deployed/".concat(e))},h={status:()=>c("/mining/status"),mine:e=>r("/mining/mine",{blocks:e}),start:e=>r("/mining/start",{intervalMs:e}),stop:()=>r("/mining/stop")},p={config:()=>c("/network/config"),updateConfig:e=>d("/network/config",e),rpcUrls:()=>c("/network/rpc-urls")},y={status:()=>c("/keystore/status"),generate:()=>r("/keystore/generate"),setup:e=>r("/keystore/setup",e),unlock:e=>r("/keystore/unlock",{password:e}),lock:()=>r("/keystore/lock"),wallets:()=>c("/keystore/wallets"),addWallet:(e,t)=>r("/keystore/wallets",{mnemonic:e,label:t}),activateWallet:e=>r("/keystore/wallets/".concat(e,"/activate")),deleteWallet:e=>o("/keystore/wallets/".concat(e))}},9928:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]])},3264:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},9754:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9924:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(3035).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},function(e){e.O(0,[363,285,749,744],function(){return e(e.s=8320)}),_N_E=e.O()}]);
|